多语言javascript应用程序有哪些不同的方法

| 我想知道有什么不同,哪种是设置一些多语言javascript应用程序的最佳方法。我想将所有使用过的字符串放在一个文件中,以便以后轻松更改字符串或添加更多语言。 谢谢!     
已邀请:
您可以简单地创建一个大对象树:
var languages = {
   english:{
      Save:\"Save\"
   },
   german:{
      Save:\"Speichern\"
   }
};
在您的应用中:
var l = languages.german;
alert(l.Save); //Alerts \"Speicher\"
该系统的好处是您可以使子对象将某些值组合在一起。     
无论您做什么,最重要的是将代码和文本分开。 如果代码和文本混合在一起,将无法进行维护,您将很快放弃它。 可翻译的文本必须易于扫描,以便翻译人员只能翻译文本。然后,您应该能够方便地插入翻译。 我们使用包含字符串映射的JS文件。我们有一个简单的Python脚本,可以从中提取可翻译的字符串。相同的脚本还将构建包含相同标签和转换后字符串的输出JS文件。 结果是: 当应用程序发展时, 轻松添加新字符串。 脚本自动查找新字符串 我们可以翻译它们。 完成的翻译返回到JS文件 无需人工。     
我喜欢使用\“语言字典数组\”,您可以使用JSON或简单数组来完成。 这很容易实现:
var lang = 0 //0 = english, 1=french

var phrases=[]
phrases[\'cancel\'] = \"cancel,annuler\".split(\",\")

alert(phrases[\'cancel\'][lang])
    
这是我根据此问题的可接受答案汇总的用于处理语言翻译的功能:
/**
 Core script to handle language translations
 **/
var Language = function() {

    var activeLanguage = \'en\';

    var languagePack = {

        \'en\': {
            \'hello-world\': \'Hello World\',
            \'show-variants\': \'Show Variants\',
            \'hide-variants\': \'Hide Variants\'
        },
        \'fr\': {
            \'hello-world\': \'Bonjour World\',
            \'show-variants\': \'représentent des variantes\',
            \'hide-variants\': \'masquer variantes\'
        }

    }
    var translate = function(key, language)
    {
        if (typeof languagePack[language] == \'undefined\')
        {
            return;
        }else {
            return languagePack[language][key];
        }
    };

    return {
        init: function(language)
        {
            activeLanguage = language;
        },
        getString: function(key, defaultText)
        {
            var text = translate(key, activeLanguage);
            if (typeof(text) === \'undefined\' || text.length == 0 ||  text == null)
            {
                text = defaultText;
            }
            return text;
        }


    }


}();
然后使用通用页面代码对其进行初始化,其中
${language.language}
是用于从服务器端配置设置语言的jsp代码。
<script type=\"text/javascript\">
jQuery(document).ready(function() {
        Language.init(\'${language.language}\');

    });
</script>
然后,每当您需要消息时使用
Language.getString(\'hello-world\', \'Hi World\');
    

要回复问题请先登录注册