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も十分使われてるしね。
入れてみた感想
useTranslation
普通にhooks提供されていて慣れていない自分の時代遅れ感に震えた。
自動抽出
"コンポーネントのkeyを自動抽出"が素晴らしく便利。
まずt('XXX')の形で記載しておけば、辞書ファイルに該当の記載がなくても、XXXの形で表示してくれる。 さらにbabel-plugin-i18next-extractを入れて設定すれば(詳細は上記記事参照)、 コマンド1発で辞書ファイルを更新できる。
i18nの対象が出るたびにいちいち辞書を更新しなくて済むなんて、 なんて素晴らしいんだ。。。 これはレギュラー確定ですわ。
しかしまぁ割と中身理解してないかも。コピペonlyとは言わないけれども。 折を見て理解していきたいところ。