2012-03-02 15 views
7

मैं CSS3 और jQuery के साथ एक HTML5 एप्लिकेशन विकसित कर रहा हूं।मल्टी-भाषा HTML5 एप्लिकेशन

मेरे पास कुछ पाठ है जो मैं उपयोगकर्ता भाषा में दिखाना चाहता हूं। क्या आप जानते हैं कि मैं यह कैसे कर सकता हूं?

यह एप्लिकेशन ब्लैकबेरी प्लेबुक और अन्य मोबाइल उपकरणों पर चलाएगा।

मैं कैसे उपयोगकर्ता ओएस भाषा प्राप्त करने के लिए पता नहीं है, या जहां मैं अपने स्थानीयकरण तार, आदि

कोई सुराग लगाना चाहिए?

उत्तर

0

मैं जावास्क्रिप्ट का उपयोग कर ब्राउज़र भाषा का पता लगाने की कोशिश करने का सुझाव दूंगा। मुझे एचटीएमएल का उपयोग करके इसका पता लगाने का सीधा तरीका नहीं दिख रहा है।

Is there anyway to detect OS language using javascript?

4

मैं (प्रत्येक समर्थित भाषा के लिए 1) जे एस फ़ाइलों में मेरी स्थानीय स्ट्रिंग की दुकान:

यह लिंक है जिसे मुद्दे को संबोधित है। पूर्व। :

स्ट्रिंग-en.js:

MyApp.STR = {"Hi":"Hi","By":"By", etc.}; 

स्ट्रिंग-fr.js:

MyApp.STR = {"Hi":"Salut","By":"Par", etc.}; 

और स्टार्टअप पर, मैं नाविक की भाषा के बारे में सही फ़ाइल लोड:

loadLocalizedString: function(langParam/*optional*/) { 
    var language = window.navigator.language, lang; 
    console.log('loadLocalizedString with Navigator Language: ' + language); 
    if (!langParam) { 
     //Try to guess the best suited language 
     if(language) { 
      lang = language.substring(0,2); 
     } else { 
      lang = 'en'; 
     } 
     if($.inArray(lang, this.SUPPORTED_LANGUAGE) <= -1) { 
      lang = 'en';//If the language is not available : english by default 
     } 
    } else { 
     lang = langParam; 
    } 

    console.log('language: ' + lang); 

    this.loadString('lib/string-'+lang+'.js'); 
}, 
    SUPPORTED_LANGUAGE : ["en", "fr", "es", "it"], 
loadString:function(fileName) { 
    try { 
     $.ajaxSetup({async: false}); 
     $.getScript(fileName);//We don't use the async callback, because we need the translation in the next method 
     $.ajaxSetup({async: true}); 

    } catch (e) { 
     console.error('Error while loading : ' + fileName); 
    } 

} 

और ऐप में स्थानीय स्ट्रिंग का उपयोग करने के लिए:

html = MyApp.STR.Hi+' '+userName+' !';