我尝试使用带有i18n功能的require-handlebars-plugin。
但是,即使我更改了浏览器语言,也要尝试加载默认文件“ en_us.json ”。
我可以在require js config中设置 locale 值,以“强制”加载正确的文件。但我不认为这是“如何使用它”的好方法。
define({
name: 'The Handle of the Bars',
require: {
paths: {
handlebars: 'components/require-handlebars-plugin/Handlebars',
hbs: 'components/require-handlebars-plugin/hbs',
i18nprecompile: 'components/require-handlebars-plugin/hbs/i18nprecompile',
json2: 'components/require-handlebars-plugin/hbs/json2'
},
// locale: (navigator.language.substring(0, 2) === 'en') ? 'en' : 'fr',
hbs: {
disableI18n : false,
disableHelpers: true,
templateExtension: 'hbs'
}
},
我错过了什么? :)
哦,我还有一个问题:
如果找不到语言,是否可以设置默认值?
例如,如果浏览器语言设置为“de”,但我的应用程序只有 en 和 fr 翻译。
答案 0 :(得分:0)
回答第二个问题:
var availableLocales = ['en', 'fr'];
var browserLocale = navigator.language.substring(0, 2);
var locale = availableLocales.indexOf(browserLocale) >= 0 browserLocale : 'en'; // 'en' is default locale