3

JavaScript で i18n を処理する現在のベスト プラクティスは何ですか?

PHP/Rails/etc を使用してすべての i18n 文字列を出力することに関するいくつかの提案を聞いたことがあります。数千の var の書式設定された JavaScript ファイルに変換されますが、それはあまりにも大まかな解決策に思えます。さらに、特定のページに読み込まれる JS ファイルに実際に必要な i18n 文字列を検出する方法が必要ですが、今のところこれを実装する方法がわかりません。

I18n 文字列のキャリアとして整形式の JSON を使用して、バックエンドとフロントエンドの間にある種の API を設定することに関するいくつかの提案を聞いたことがありますが、それでも不要な冗長文字列の問題は解決しません。

現在、JavaScript の i18n に関するベスト プラクティスは何ですか?可能であれば、特定のページで実際に必要な文字列のみを検出して送信するためのソリューションもありますか?

4

2 に答える 2

2

「ベスト プラクティス」は、アプリケーションの構築方法によって異なります。2 つの例:

  • シングルページアプリ。もちろん、アプリケーション全体に必要なすべての文字列を一度にロードしたいでしょう。常に新しい文字列を取得するのは時間とリソースの無駄になるからです。
  • JS ベースのコンテンツを含むページ。JS をリロードし続ける場合は、文字列の量を可能な限り減らし、AJAX 呼び出しを回避するために HTML に i18n dict 全体を統合することをお勧めします。

いずれにせよ、クライアントに送信される文字列の量を最小限に抑える必要があります。多くのアプローチがありますが、私のお気に入りはコンパイル済みのテンプレート (Twitter の Hogan.js を使用した Mustache が好きです) を i18n 拡張と共に使用することです。文字列。

絶対にやりたくないことは、既に翻訳があるかどうかをチェックし、ない場合はサーバーに問い合わせる関数を作成することです。これにより、すべてが非常に遅くなり、それは望ましくありません。すべての翻訳をプリロードするか、それらの部分を翻訳しないでください。

于 2013-04-11T23:55:12.663 に答える