【问题标题】:i18next Displayed key instead of value, TVOs, jsi18next 显示键而不是值,TVO,js
【发布时间】:2016-11-23 10:48:41
【问题描述】:

我和这个有类似的问题,但我做了他们写的所有事情,但仍然有问题i18next Displayed key instead of value

我在 /locales/en/ 中有 translation.json 文件

  {
    "Ustawienia"    :   "Settings",
    "O aplikacji"   :   "About Application"
   }

在 application.js 中

function launchApp(options) {
    var javascriptFiles = [
        `${options.BASEURL}js/i18next.min.js`,
        `${options.BASEURL}js/i18next-xhr-backend.min.js`,
        `${options.BASEURL}templates/MainTemplate.js`,
];
evaluateScripts(javascriptFiles, function(success) {
        if(success) {

            i18next.use(i18nextXHRBackend);
            i18next.init({
                lng: userLanguage,
                debug: true,
                fallbackLng: false,
                keySeparator: false,
                nsSeparator: false,
                useLocalStorage: true ,
                useDataAttrOptions:true,

                //resGetPath :  '/locales/{{lng}}/{{ns}}.json',
                backend: {
                    loadPath: options.BASEURL + '/locales/{{lng}}/{{ns}}.json'

                },


            }, (err, t) => {
  // initialized and ready to go!


                    });

            var doc = new MainTemplate().getTemplate();
            doc.addEventListener("select", handleMainNavigationClick);
            mainDocument = doc;
            navigationDocument.pushDocument(doc);
            setTimeout(dismissModalView, 2000);
        }

当我想在模板中使用 i18next.t 时

<title>${i18next.t("Ustawienia")}</title>

它显示键(Ustawienia)而不是值(设置)您对我缺少什么有什么建议吗?

【问题讨论】:

    标签: javascript tvos i18next


    【解决方案1】:

    我相信你的问题可能是你初始化mainDocument的地方。未使用来自 i18next.init() 的回调,但 that 是您确定它实际上 初始化的地方。你的代码应该是这样的

    if(success) {
    
        i18next.use(i18nextXHRBackend);
        i18next.init({
            lng: userLanguage,
            debug: true,
            fallbackLng: false,
            keySeparator: false,
            nsSeparator: false,
            useLocalStorage: true ,
            useDataAttrOptions:true,
            backend: {
                loadPath: options.BASEURL + '/locales/{{lng}}/{{ns}}.json'
    
            },
        }, (err, t) => {
            // initialized and ready to go!
            // this is where initialisation-dependent code should go
    
            // additionally check if there was an error initialising i18next
            if (err === undefined) {
                var doc = new MainTemplate().getTemplate();
                doc.addEventListener("select", handleMainNavigationClick);
                mainDocument = doc;
                navigationDocument.pushDocument(doc);
                setTimeout(dismissModalView, 2000);
            } else {
                // there was an error, handle it
            }
        });
    
    }
    

    【讨论】:

      猜你喜欢
      • 2013-08-18
      • 2023-01-29
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多