ホームページ  >  に質問  >  本文

JavaScript - js ファイルで複数の言語 (i18n) をエレガントに構成する方法、アイデアについて話し合ってください。

情報を検索したところ、異なる言語のほとんどの js ファイルが個別に作成され、ユーザーのロケールに応じて対応する js ファイルが読み込まれることがわかりました。

ただし、使用シナリオの制限により、js ファイルで完了することが最善です。現在 3 つの言語 (中国語、日本語、英語) をサポートする予定ですが、テキストを出力する場所が多く、おそらく数百行になり、変数が途中で結合されることがよくあります。

使用シナリオの例:

リーリー

今、私には 2 つのアイデアがあります。1 つは、言語テキストを変数に保存することです。もう 1 つは、テキストを配列形式で所定の場所に書き込み、添え字を使用してそれを呼び出すことです。

アイデア 1:

リーリー

アイデア 2:

リーリー

実際には、最初の方法の方が形式的には洗練されていますが、私は個人的には 2 番目の方法を好みます。主な理由は、コードを見ればここに何が書かれているかがわかるからです。変数名で内容を判断する方が面倒です(主にエントリが多すぎるためです。実際に使用するには変数名を意味的に処理する必要がありますが、内容を簡潔かつ正確に記述できるケースは多くありません)。

他にアイデアや解決策はありますか?

漂亮男人漂亮男人2662日前1113

全員に返信(3)返信します

  • 天蓬老师

    天蓬老师2017-07-05 10:50:33

    テキストをすべて翻訳したいと思うかもしれませんが、文法構造の問題により、変数の場所が不明であり、それを解決する方法がわかりません。
    アイデアの点では、実際には、テンプレートレンダリングのアイデア
    例えてみましょう

    リーリー

    返事
    0
  • 迷茫

    迷茫2017-07-05 10:50:33

    これが好きですか?

    リーリー

    返事
    0
  • typecho

    typecho2017-07-05 10:50:33

    あなたの問題は i18n/L10n の範囲内にあります。おそらく次のようなものを見つけることができます

    • jQuery.i18n

    • JavaScript I18n および L10n
      国際化およびローカリゼーション JavaScript ライブラリ。最初のライブラリはウィキメディアによって作成され、非常に参考になります。

    その他の基本的な i18n/L10n コンテンツとライブラリ、お見逃しなく

    • 簡体字中国語の言語テーブルなどの Unicode CLDR

    • ICU図書館

    私は中国における i18n/L10n の開発に非常に興味があり、一緒に学び、成長していきます。

    返事
    0
  • キャンセル返事