2017-05-29 5 views
1

私が作業しているアプリケーションでローカリゼーションを提供するには、角度変換を使用する必要があります。Angular Translateを使用する方法角度結合を持つ文字列を翻訳するには?

私はこのようなものがあります。今

<p class="md-caption" translate="vm_stats_score"></p> 

を、私は角度のニーズを翻訳IDにこれを割り当てたいが、私は

$translateProvider.translations('en', { 
    vm_stats_score: 'Today from {{::vm.stats.votes}} votes' 
}); 

を行うたびそれは、その値が含まれていません。私はそれにバインドしたい。

これを行う正しい方法は何ですか?

答えて

2

thisによると、次の操作を実行できます。

<p class="md-caption" translate="vm_stats_score" translate-compile translate-values="{'votes': vm.stats.votes}"></p> 

これは、あなたがtranslate-values経由<p>に渡す値を追加します。

例からわかるように、私は一度限りのバインディングでは動作しませんでした。つまり、文字列定義を次のように変更する必要があります。

$translateProvider.translations('en', { 
    vm_stats_score: 'Today from {{vm.stats.votes}} votes' 
}); 
+2

はい!値を変換することはそのトリックです。そして、一度だけバインドすることは、この 'vm_stats_score: '今日{{:: count}} votes''から、私のhtmlでは' translate-values = "{count:vm.stats.votes}" 'のように行うことができます。ありがとう! – Darko

1

あなたはそれを直接バインドすることはできませんが、別の方法があります:

:あなたの html

{ 
    "vm_stats_score": 'Today from {{votes}} votes' 
} 

は次のように、値を渡しますようにあなたの翻訳ファイルで

は、入力用の変数を作ります

<p class="md-caption" translate="vm_stats_score" translate-values="{ votes: vm.stats.votes"></p> 

Example plunkerRead more on doc.

+2

translate-votesがそれをしました。どうもありがとう! – Darko

関連する問題