2

i18n 機能で require-handlebars-plugin を使用しようとしています。

しかし、ブラウザの言語を変更しても、デフォルトのファイル「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

2 番目の質問への回答:

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 に答える