2017-09-12 35 views
0

私のウェブサイトでi18next翻訳を実装しようとしていますが、成功することはできません。i18next translator missingKey en翻訳

i18next.init({ 
    debug: true, 
    lng: 'en', 
    resources: { 
     en: { 
      translation: { 
       opt: { 
        page_title: 'Orders' 
       }, 
      } 
     }, 
     ru: { 
      translation: { 
       opt: { 
        page_title: 'Заказы' 
       }, 
      } 
     } 
    }, function(err, t) { 
     jqueryI18next.init(i18next, $); 
    }); 

名前付き変数のセットが必要な私のシステムのいくつかの部分には語彙があります。

i18next.addResources('en', 'desktop', { 
    'Авиа'       : 'Avia', 
    'Ж/Д'       : 'Train', 
    'Произвольная услуга'   : 'Custom Service', 

    'Текущий баланс'    : 'Current balance', 
    'Оборот за предыдущий месяц' : 'Turnover for the previous month', 
    'Оборот за текущий месяц'  : 'Turnover for the current month', 
    'Общий оборот'     : 'Total turnover', 
}); 

i18next.loadNamespaces('desktop'); 

次方程式とは、成功はありません:私は、各変換操作のためのエラーを取得しています

var fincanceDict = { 
    company_balance     : $.t('Текущий баланс'), 
    company_turnover_prev_month  : $.t('Оборот за предыдущий месяц'), 
    company_turnover_current_month : $.t('Оборот за текущий месяц'), 
    company_turnover_full   : $.t('Общий оборот') 
} 

i18next.js?v=e988b1:142 i18next::translator: missingKey en translation Текущий баланс Текущий баланс 
i18next.js?v=e988b1:142 i18next::translator: missingKey en translation Оборот за предыдущий месяц Оборот за предыдущий месяц 
i18next.js?v=e988b1:142 i18next::translator: missingKey en translation Оборот за текущий месяц Оборот за текущий месяц 
i18next.js?v=e988b1:142 i18next::translator: missingKey en translation Общий оборот Общий оборот 

私は私のi18next.translator.resourceStore.dataをチェックすると、私は初期取得しますが、語彙en & ruの言語オブジェクトtranslationを持つ子供子どもは、拡張子なしのネストされたキーと値のペアを所有しています私はしました。

私は何かが欠けていると記入して、namespacedefaultに変更してからdesktopに戻っても助けられません。

答えて

0

私は周りにグーグルであり、説明なしで私の問題を解決する何かを見つけました。私は私の問題を解決する方法であること

i18next.t('namespace:key')

または

$.t('namespace:key')

:私は機能i18next.t/$.t内の名前空間の値を使用する必要があります

$.t('desktop:Текущий баланс') 

私が何を思っていたi18next.loadNamespaces私が翻訳を設定する必要があった場合、機能はしました毎回を手動で入力してください。

1

loadNamespace - >バックエンド(例えばXHR-バックエンド。)を介して名前空間をロードします:https://www.i18next.com/api.html#loadnamespaces

翻訳はあなたがtの関数でそれを付加することなく、その中での翻訳にアクセスすることができる理由のデフォルトの名前空間です。 https://www.i18next.com/configuration-options.html#languages-namespaces-resources

あなたは

const desktopT = i18next.getFixedT(null, 'desktop'); 
desktopT('Текущий баланс'); 
"fixedT" 関数を作成することができます
関連する問題