Reactでi18n

個人開発してるPJでi18n対応してみた。っていうか今してるところ。

i18n対応は以下2つが候補らしい。

https://github.com/formatjs/react-intl

https://github.com/i18next/react-i18next

react-intlの方がスター数が多く、npmトレンド上もダブルスコアに近い形になっているが、 以下の記事からreact-i18nextの方が楽そうだったのでこちらを使う。 ダブルスコアって言ってもreact-i18nextも十分使われてるしね。

qiita.com

入れてみた感想

useTranslation

普通にhooks提供されていて慣れていない自分の時代遅れ感に震えた。

自動抽出

"コンポーネントのkeyを自動抽出"が素晴らしく便利。

まずt('XXX')の形で記載しておけば、辞書ファイルに該当の記載がなくても、XXXの形で表示してくれる。 さらにbabel-plugin-i18next-extractを入れて設定すれば(詳細は上記記事参照)、 コマンド1発で辞書ファイルを更新できる。

i18nの対象が出るたびにいちいち辞書を更新しなくて済むなんて、 なんて素晴らしいんだ。。。 これはレギュラー確定ですわ。

しかしまぁ割と中身理解してないかも。コピペonlyとは言わないけれども。 折を見て理解していきたいところ。