5

私はこのコードコードを持っています

<ng-pluralize count="comment.Comment.like_count"
    when="{'0': {{'LIKES_LIKE' | translate}},
        'one': {{'LIKES_LIKE' | translate}},
    'other': '{{'LIKES_LIKES' | translate}}}">
</ng-pluralize>

しかし、ng-pluralizeディレクティブが解析された言語文字列を受け取るように、翻訳フィルターによって好きな文字列を実際に解析するように文字列をフォーマットする方法がわかりません。

エラーメッセージは次のとおりです。

エラー: [$parse:lexerr] レクサー エラー: 列 107 ~ 123 の引用符が終了していません [' | [{'0': {{'LIKES_LIKE' | translate}}}] 式 [{'0': {{'LIKES_LIKE' | 翻訳}}、「1」: {{'LIKES_LIKE' | 翻訳}}, 'その他': '{{'LIKES_LIKE' | 翻訳}}}]。

私は自分が何を意味するかをよく知っていますが、それを機能させる方法がわかりません。何か案は?

4

2 に答える 2

21

私は同じ答えを探していて、この解決策を思いつきました。翻訳キーの引用符を " ; でエスケープします。

<ng-pluralize count="comment.Comment.like_count"
    when="{'0': '{{&quot;LIKES_LIKE&quot; | translate}}',
        'one': '{{&quot;LIKES_LIKE&quot; | translate}}',
        'other': '{{&quot;LIKES_LIKES&quot; | translate}}'}">
</ng-pluralize>

または ng-int 値オブジェクトを使用します (コントローラーでこれらの値を定義することもできます)

<ng-pluralize count="comment.Comment.like_count"
    ng-init="likes_like='LIKES_LIKE'; likes_likes='LIKES_LIKE'"
    when="{'0': '{{likes_like | translate}}',
        'one': '{{likes_like | translate}}',
        'other': '{{likes_likes | translate}}'}">
</ng-pluralize>

カウント値の補間には、使用できます

<ng-pluralize count="comment.Comment.like_count"
    when="{'0': '{{LIKES_LIKE | translate}}',
        'one': '{{LIKES_LIKE | translate}}',
        'other': '{{LIKES_LIKES | translate:{count : comment.Comment.like_count} }}'}">
</ng-pluralize>

LIKES_LIKES = "{{count}} いいね"

http://plnkr.co/edit/TdBPfhqMGuxtWDg28lAV?p=preview

于 2015-03-23T19:08:46.230 に答える
2

ここでの最初の引用は終了していないようです:'{{'LIKES_LIKES'

削除することを提案します。

于 2015-03-01T17:36:23.950 に答える