複数の言語のサポートを Web アプリに追加することにしました。
フロントエンドでのテンプレート作成にはハンドルバーを使用し、バックエンドでのテンプレート作成には Node + Jade を使用します。
データベースに保存されていない文字列 (UI の一部であるすべての文字列) の場合、推奨される方法はありますか? (文字列をフロントエンドまたはバックエンドのどちらのテンプレートに追加しても違いはありますか?)。
複数の言語のサポートを Web アプリに追加することにしました。
フロントエンドでのテンプレート作成にはハンドルバーを使用し、バックエンドでのテンプレート作成には Node + Jade を使用します。
データベースに保存されていない文字列 (UI の一部であるすべての文字列) の場合、推奨される方法はありますか? (文字列をフロントエンドまたはバックエンドのどちらのテンプレートに追加しても違いはありますか?)。
JavaScript ベースのローカリゼーションで私が採用した 1 つのアプローチは、ファイルのコレクション (言語ごとに 1 つのファイル) を作成することです。各ファイルには、ローカリゼーションを提供するためにクライアント側またはノードでロードできる言語オブジェクトが含まれています。言語に基づいて必要なファイルをロードするだけです。
これは簡単な例です:
var localization = {
stringkey1: 'Some string value',
stringkey2: 'Some other value',
// etc.
}
多くの文字列を含む大規模なアプリケーションを使用している場合は、過度に大きなオブジェクトを操作する必要がないように、ローカリゼーションをさらに分割することをお勧めします。
このアプローチの良い点は、サーバー側とクライアント側の両方で同じローカリゼーション ライブラリを変更せずに使用できることです。