アプリで Ember i18n を使用しています。また、コントローラーで翻訳文字列を使用したいと考えています (ほとんどの場合、アラートまたは確認メッセージで)。これはどのように行うことができますか?
http://jsfiddle.net/cyclomarc/36VS3/2/を参照
ボタンをクリックすると、「T1005」ではなく「情報」が警告されます...
<script type="text/x-handlebars">
{{t T1005}}<br>
<button {{action 'clickMe' content}}>{{t T1005}} - Click me</button>
</script>
CLDR.defaultLanguage = 'en';
App.ApplicationController = Ember.Controller.extend({
clickMe: function(){
alert('T1005');
}
})
可能な回避策は、アラートを使用しなくなり、確認して、たとえばブートストラップの代替手段に置き換えることであることを知っています。ただし、特定のケースでは、Javascript で文字列を処理したい場合があると想像できます (たとえば、jQuery などを介して特定のラベルを更新するなど)。
コントローラーで i18n 文字列を使用する方法についてのアイデアは役に立ちます。i18n ライブラリの使用は、アプリケーションのすべての側面を翻訳できる場合にのみ役立ちます...