コンテンツを更新する
ブレイクダンス
- データは第1レベルのチェーンに接続されなくなり、チェーンから取得する必要があります(この種の直接使用シナリオも少なくなります)
- constの値がi18n.button.submitを=。 + const値= i18n.chain.button.submit;
- 下線
_
を削除し、組み込みメソッドを調整して最初のレベルのチェーンに戻します
- I18N ._ローカル( 'ZH');。 + i18n.local( 'zh');
- 削除
useI18n
、変更してインスタンスからチェーンを取得します
機能アプリ:FC =()=> { - useI18n(I18N)。 + const chain = i18n.use(); <div> {chain.button.submit} </ div>を返します。 }
- 高レベルのコンポーネント
I18nProvider
を削除し 、インスタンスからホックを取得するように変更します
class App extends Component { render(){ + const {chain} = this.props; - <div> {i18n.button.submit} </ div>を返します。+ return <div> {chain.button.submit} </ div>; } } -デフォルトのI18nProvider(i18n)(App);をエクスポートします。+デフォルトのi18n.hoc(App);をエクスポートします。
特徴
- それら
translate
とt
一致する新しいメソッドが、文字列テンプレートの変換に使用されます - 新しい文字列テンプレート生成ツール
//これは、直接文字列を書き込むと同じですが、ここでは、プロンプトで のconstキー= I18N。リテラル。ボタン。提出; //キー===「button.submit」 //あなたが実際のデータを取得するための変換方法を使用することができます constの値を= I18N。変換(キー); //値=== '送信'
------------------------------------
前書き
国際化と言えば、一年中コピーアンドペーストの複製になっていますか?t('home:submit')
t('common:something:success')
このような ヒントはありません。開発効率が低いだけでなく、キーボードが間違った文字をすばやく入力しやすいことを覚えておく必要があります。ポイントは、この種のエラーをほとんど見つけることができないということです。
ヒント付きのコードが好きです。それを使用してtypescript
、連鎖操作を使用し、すべてのヒントを備えたi18nコンポーネントを発明しました。i18n.common.something.success
このよう に、コードを自動的に完了して、間違いがないことを確認できます。
互換性
IE | 縁 | クロム | Firefox | サファリ | ノード |
---|---|---|---|---|---|
9歳以上 | 12歳以上 | 5歳以上 | 4歳以上 | 5歳以上 | * |