反応アプリでi18nのICU標準を使用したい。 http://userguide.icu-project.org/locale/localizing)のような言語ファイルを保存したい#TOC-.txt-resource-bundles :
de {
key1 { "Deutsche Sprache "
"schwere Sprache" }
key2 { "Düsseldorf" }
}
このライブラリを見つけました http://formatjs.io/react/ 。 http://formatjs.io/ ICUをサポートしていますが、言語ファイルをアプリに接続する方法の良い例が見つかりません。
私は彼らのチュートリアルを行っていましたが、コンポーネント<FormattedMessage>
を使用できるようです。だから例えば.
var intlData = {
"locales": "en-US",
"messages": {
"photos": "{name} took {numPhotos, plural,\n =0 {no photos}\n =1 {one photo}\n other {# photos}\n} on {takenDate, date, long}.\n"
}
};
React.render(
<Component {...intlData} />,
document.getElementById('example')
);
それからいくつかのコンポーネントで私は持っています
...
render: function () {
return (
<p>
<FormattedMessage
message={this.getIntlMessage('photos')}
name="Annie"
numPhotos={1000}
takenDate={Date.now()} />
</p>
);
}
私の最大の問題は、私の言語ファイルをどのように変換するかです。
en-US {
photos { "{name} took {numPhotos, plural,\n =0 {no photos}\n =1 {one photo}\n other {# photos}\n} on {takenDate, date, long}.\n" }
}
フォーマットに:
var intlData = {
"locales": "en-US",
"messages": {
"photos": "{name} took {numPhotos, plural,\n =0 {no photos}\n =1 {one photo}\n other {# photos}\n} on {takenDate, date, long}.\n"
}
};
パーサー/コンバーターはありますか?
このリポジトリを確認する必要があります https://github.com/gpbl/isomorphic5 。 intlサブディレクトリには、さまざまな言語の入力ファイルがあります。
また、どのタイプの構文解析を採用しているかを確認できます。お役に立てれば。