私の ember アプリケーションでは、さまざまな言語をサポートしています。私はこのようにしています:
これは次の一部ですindex.html
。
<script src="scripts/vendor/ember.js"></script>
<script src="scripts/vendor/ember-i18n.js"></script>
...
<script>window.mynamespace = {};</script>
<script src="scripts/languages/en.js"></script>
<script src="scripts/ember_application.js"></script>
私はember-i18nlanguages/es.js
で期待されるように翻訳オブジェクトを設定します:
var lang = {
key1 : 'Translation1',
...
};
window.mynamespace.lang = lang;
そして今、私の Ember アプリケーションでは、次のことができます。
Ember.I18n.translations = window.mynamespace.lang;
var App = Ember.Application.createWithMixins({...});
3 つの質問があります。
- 多言語ページを提供するための別のアプローチはありますか? 特に の使用はあまり好きではあり
window.mynamespace
ませんが、ember アプリケーションを作成する前にこれらの設定を共有する方法がわかりません。 - たとえば、ブラウザの言語設定
scripts/languages/es.js
に基づいて(HTTP 要求に含まれる)、別の言語ファイルを提供するにはどうすればよいですか? - そして、これはもっと難しいです: データベースの設定 (アプリケーションのユーザー プロファイルに属している) に応じて、どのように異なる言語ファイルを提供できますか? この設定は、HTTP リクエストに含まれる *language Preferences 設定を上書きします。