1

L20Nは私の ReactJS プロジェクトでセットアップされており、そのイベントが発生getSyncしたcontext readyに を呼び出しています (うまくいくはずです)。ただし、他のエンティティ値と変数展開を含む予想される文字列ではなく、生のエンティティ文字列を取得します。

私が得る文字列は次のようになります。

{{$user.name}} - {{appName}}

しかし、もちろん、私は次のようなものを期待しています:

Ben Taylor - My Cool App

この plunker で問題を再現しようとしました。残念ながら、それはうまくいきます!実行すると、アラート ボックスに予想される L20N 拡張文字列が表示されます。

Entity 値がそのまま返される原因は何ですか? 有効なものcontextがあり、インスペクターにエラーがないため、すべてが正常に構成されているようです。L20Nを壊している私がやっている他の何かとの相互作用があるかどうか疑問に思っています。どんなアイデアでも大歓迎です!

私が取り組んでいるアプリを含めることはできませんが、言うまでもなく、もっと可動部分があります。このテンプレートを元にしたReactアプリです。

4

1 に答える 1

2

.l20nファイル (以前は として知られていた拡張子)に何らかのエラーがある場合.lolgetSync呼び出しは生の文字列値を返します。私の場合、エラーはL20n 辞書のキーを引用することでした。

context次のようなデータがある場合{ user: { type: "Awesome" } }、次は機能せずgetSync、 forを呼び出すとuseTheShout未処理の文字列値 ( text を含む{{shout}})が返されます。

<shout[$user.type] {
    "Awesome": "HEY AWESOME USER!",
    "Loser": "i can't be bothered to shout at you loser..."
}>
<useTheShout "I'm gonna shout the following: {{shout}}">

次のように、辞書のキー名から引用符を削除すると、これが機能します。

<shout[$user.type] {
    Awesome: "HEY AWESOME USER!",
    Loser: "i can't be bothered to shout at you loser..."
}>
<useTheShout "I'm gonna shout the following: {{shout}}">

error更新:およびwarning イベント エミッターを使用してログを記録することで、この問題を回避できます。

于 2015-01-02T22:09:26.940 に答える