2

我尝试将 require-handlebars-plugin 与 i18n 功能一起使用。

但是,即使我更改了浏览器语言,也需要尝试加载默认文件“ en_us.json ”。

我可以在 require js config 中设置一个语言环境值来“强制”加载正确的文件。但我认为这不是“如何使用它”的好方法。

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”,但我的应用程序只有enfr翻译。

4

1 回答 1

0

回答第二个问题:

var availableLocales = ['en', 'fr'];
var browserLocale = navigator.language.substring(0, 2);
var locale = availableLocales.indexOf(browserLocale) >= 0 browserLocale : 'en'; // 'en' is default locale
于 2013-09-02T08:41:46.037 回答