0

html/css/js を利用するアプリを開発しており、i18nextを使用して翻訳された文字列を表示します。

翻訳を表示するために、タグ内に属性を埋め込みます。例えば:

<a href="#top" id="agreement" data-i18n="text_agreement">利用規約</a><label for="checkbox2" data-i18n="text_agree">に同意する&lt;/label>

これに加えて、アプリは JavaScript ファイルを使用して文字列を翻訳に置き換えます。たとえば、上記のコードは次のものに対応します。

en: { translation: {
text_agreement: 'Agree to EULA'
} }

この変換方法は、HTML タグに対して機能します。私が知らないのは、js コード内で文字列を変換する方法です。たとえば、翻訳された文字列を表示するにはどうすればよいでしょうか。

element.alert('なまえを記入してください。');

助けていただければ幸いです。

4

1 に答える 1

2

初期化関数は、文字列を変換する関数を提供します。;)

この関数をウィンドウ オブジェクトに「置く」ことができるので、コードのどこでも使用できます。

i18n.init(function(t) { 
  window.t = t("Your string here");
});
// ... more code
// Now you can use window.t to translate
element.alert(window.t('Your string'));

ただし、これは非同期 (!) であることに注意してください。そのため、コンソールにt()未定義と表示されることがあります。

したがって、最初に i18next を初期化してから使用しますwindow.t();

ドキュメントもご覧ください: http://jamuhl.github.io/i18next/pages/doc_init.html

于 2013-06-12T15:02:18.363 に答える