1

私はEmber-I18nを使用している国際化された Ember.js アプリを作成しています。これはほとんどのシナリオで問題なく機能しますが、ここで言語文字列を検討してください。

'To do some action {{link}}'

{{link}}いくつかのリンクに置き換える必要がある場所。{{link}}の位置は言語によって異なる可能性があるため、翻訳文字列を分割することはできません。代わりに、そこにリンクを取得する方法を見つける必要があります。もちろん、これは次のような翻訳を含む別のテンプレートです。

<a {{action someAction}}>{{t click_here}}</a>

これまでにいくつかのことを試しました。カスタム ブロック ヘルパーを使用して、リンクのカスタム ビューを作成します。しかし、私はまだ何も機能していません。

これを行うための最良の方法は何ですか?つまり、レンダリングされたテンプレートを変数として取得して、Ember.js の別のテンプレートに挿入するにはどうすればよいでしょうか?

4

1 に答える 1

0

そのライブラリを使用してアプリケーションを変換することはありませんが、そのドキュメントから理解できるように、これは機能する可能性があります。

1) テンプレートのビューを次のように作成します。

var view = Em.View.create({
  templateName: "mytemplate",
  link: "http://emberjs.com",
});

2) Ember-I18n が提供するバインディングをテンプレートで使用します。

<a {{action someAction}}>{{t click_here linkBinding="view.link"}}</a>

翻訳文字列が「click_here」キーにあると仮定します。

詳細: https://github.com/jamesarosen/ember-i18n#bind-interpolated-values

于 2012-11-04T10:47:27.797 に答える