react-intelを使うとサイトの多言語化がいいかんじにできます。 ただ、reduxの処理内に書いたテキストを翻訳するためのAPIとかはありません。redux向けに作られたものではないので当然ですよね。 reducerに言語設定を入れる とりあえずredux内で扱えるようにデータを入れましょう。まずはアクションを作ります。 export function updateLanguage(lang = 'ja') { return { type: 'UPDATE_LANG', lang, }; } 続いてreducerを用意します export function lang(state = 'ja', action) { switch (action.type) { case 'UPDATE_LANG': return action.lang; default: return state;
サービスを海外展開したい場合、国際化対応を行う必要性がある。これをi18n対応と呼ぶ。Reactでフロントエンドを構築する場合、i18nのための多くのライブラリがあるが、yahoo製の react-intl が実質デファクトスタンダードだ。react-intlを実際に使っている例として、スター14000超えのReactボイラープレートであるreact-boilerplate やSNSの マストドン がある。 しかし、実際にreact-intlを使うとidの管理が非常に面倒であることがわかる(他すべてのi18nライブラリも同様だが)。react-boilerplateを参考にidの管理を見てみる。 まず、react-boilerplateでは、ディレクトリベースでコンポーネントを管理している。その中で、messages.jsにdefineMessagesを使いidとデフォルトメッセージを定義
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く