私は Web アプリケーションを開発していますが、次の国際化の「問題」を解決する方法についてアドバイスが必要です。
私はGrails 2.2.0
一緒Ember.js
に使用しますHandlebars.js
が、フロントエンド(前述のフレームワークを使用してJavaScriptを介して実現されます)は、全体をコンパイルSass
するためのスタイリング用のファイルを含むプロジェクトに存在します。Grunt.js
この「フロントエンド プロジェクト」内で、オンデマンドでhandlebars
配信したいテンプレートを作成します。テンプレートGrails
の全文はGrails
、ログインしているユーザーのロケールに従ってサーバー側 ( ) を介して国際化されます。したがって、ワークフローは次のようになります。
クライアント (JS) -> リクエスト バックエンド (Grails)
バックエンドコントローラーは、ユーザーがこのメソッドにアクセスする権限を持っているかどうかを確認し、ユーザーのセットを確認し、適切なファイルを使用して適切な (ハンドルバー) を
locale
プリコンパイルし、必要なものをフェッチして、値を含むオブジェクトを返します。template
i18n
data
JSON
data
tmpl
クライアント (JS) に対するバックエンド (Grails) の応答
クライアントはテンプレートを受け取り、可能であればそれをキャッシュし、指定されたデータセットでコンパイルして配置します
この問題に適切なGrails
プラグインはありますか? Grails Plugin ページで「handlebars」を検索すると、3 つの一致が得られます。
- ハンドルバー プラグイン
- ハンドルバー リソース プラグイン
- EmberJS テンプレート プリコンパイラ プラグイン
それらすべてのドキュメントを読みましたが、このプラグインのいずれかが探しているものに使用できるかどうかはまだわかりません. 私がこのようにしたい理由はi18n
、クライアント自体に送信したくない少なくとも12の異なる言語の非常に大きな(つまり非常に大きな)ファイルがあるためです...
誰かが同じ問題/問題/課題を抱えていて、このトピックに関する情報を提供してもらえますか? または、私のアプローチは完全にナンセンスであり、別の方法を試す必要がありますか?