導入react-i18next は、
インストール
構成 国際化関連の設定を保存するために、
ja.js で { 「ヘッダー」: { "登録":"登録", "signin":"サインイン", "ホーム": "ホーム" }, 「フッター」: { 「詳細」: 「React のすべての権利は留保されています」 }, "家": { "hot_recommended": "ホットなおすすめ", "new_arrival": "新着", "joint_venture": "ジョイントベンチャー" } } .js は、 { 「ヘッダー」: { "登録":"登録", "signin":"ログイン", "ホーム": "ホーム" }, 「フッター」: { 「詳細」: 「著作権 @ React」 }, "家": { "hot_recommended": "ホットなおすすめ", "new_arrival": "新着", "joint_venture": "ジョイントベンチャー" } } config.ts 'i18next' から i18n をインポートします。 'react-i18next' から { initReactI18next } をインポートします。 './en.json' から translation_en をインポートします。 './zh.json' から translation_zh をインポートします。 定数リソース = { ja: 翻訳: 翻訳: translation_en, }, ja: { 翻訳: translation_zh, }, }; i18n.use(initReactI18next).init({ リソース、 長さ: 'zh', 補間: エスケープ値: false、 }, }); デフォルトの i18n をエクスポートします。 使用参照プロファイル
'react' から React をインポートします。 'react-dom' から ReactDOM をインポートします。 './index.css' をインポートします。 './App' から App をインポートします。 import './i18n/config'; // 設定ファイルを参照 ReactDOM.render( <React.StrictMode> <アプリ /> </React.StrictMode>, ドキュメント.getElementById('ルート') ); コンポーネントでの使用方法1 クラスコンポーネントの 'react' から React をインポートします。 './Home.module.css' からスタイルをインポートします。 //HOC高階関数withTranslationとi18n ts型定義WithTranslationを導入する 「react-i18next」から{withTranslation, WithTranslation}をインポートします。 クラス HomeComponent は React.Component<WithTranslation> を拡張します { 与える() { 定数 t は、 this.props に代入されます。 戻る <> <h1>{t('header.home')}</h1> <ul> <li>{t('home.hot_recommended')}</li> <li>{t('home.new_arrival')}</li> <li>{t('home.joint_venture')}</li> </ul> </> } } export const Home = withTranslation()(HomeComponent); // withTranslation高階関数を使用して言語設定のデータ注入を完了します 方法2 関数コンポーネントの 'react' から React をインポートします。 'react-i18next' から {useTranslation, Trans} をインポートします。 エクスポートconstホーム: React.FC = () => { const { t } = useTranslation() 戻る ( <div> <h1>{t('header.home')}</h1> <ul> <li>{t('home.hot_recommended')}</li> もう一つの方法があります */ <li><Trans>home.new_arrival</Trans></li> </ul> </div> ); }; 言語を切り替える 'i18next' から i18n をインポートします。 定数changeLanguage= (val) => { i18n.changeLanguage(val); // valパラメータの値は'en'または'zh'です }; または 'react' から React をインポートします。 'react-i18next' から {useTranslation} をインポートします。 エクスポートconstホーム: React.FC = () => { const { t, i18n } = useTranslation() 戻る ( <button onClick={()=>i18n.changeLanguage(i18n.language=='en'?'zh':'en')}>{i18n.language=='en'?'zh':'en'}</button> ); }; React 国際化 react-i18next に関するこの記事はこれで終わりです。React 国際化 react-i18next に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 純粋なCSSで立体的な画像配置効果を実現するサンプルコード
>>: Nginx+tomcat ロードバランシングクラスタの実装方法
mysql 5.7.19 winx64解凍版のインストールチュートリアルを収録しました。具体的な内容...
最近、社内に Hadoop テスト クラスターを構築したいので、docker を使用して Hadoo...
1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...
Docker は、あらゆるアプリケーション用の軽量でポータブルな自己完結型コンテナーを簡単に作成で...
CentOS でカーネル モジュールを自動的にロードするには、/etc/sysconfig/modu...
実は、最近はウェブデザインについてよく耳にするようになりました。インターネット業界は今とても発展して...
この例では、デバッグ用の MySQL データベースをダウンロードしてインストールする必要があります。...
現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...
UI デザインにおける多くの概念は言葉で言えば似ているように見えるかもしれませんが、実際には大きく異...
序文Linux のファイル権限管理はとにかく素晴らしいです。SUID、SGID、SBIT の機能を確...
目次概要ブロブBlob の動作BLOB ダウンロード ファイルブロブ画像のローカル表示BLOB ファ...
導入から始めず、いきなり本題に入りましょう。通常の背景ぼかし効果は次のとおりです。 プロパティを使用...
背景: Linux サーバーのファイルのアップロードとダウンロード。 XShell+Xftp インス...
序文トップメニューを作成する場合、ポップアップのセカンダリメニューを作成する必要があります。 以前の...
ウェブサイトにとって、これは最も基本的な機能です。それでは、登録プロセスに含まれる手順を見てみましょ...