いまの会社では「US 市場で勝とう!」という思いが強く、海外にも拠点を作っている。会社に JOIN してくる人たちも国際色豊かになっていて、全員が日本語を理解する訳ではない。そういう中で Crowi を使っているのだけど、残念ながら Crowi には日本語で書かれた UI が多い。おそらく彼ら彼女らには使いにくいだろう。
「US で勝つ」ためには、そういう「些細な使いにくさ」が邪魔をしちゃダメだなと思って、少し前からメッセージの国際化手段を考えていた。でも、別の機能の実装もしていて、なかなか時間が取れなかったのだけど、ようやくその「別の機能」の実装に目処がついて、国際化対応をマジメに考えた。
「node i18n」あたりで検索して、良さそうなライブラリを探したところ、i18next にたどり着いた。
サイトにはイマドキっぽいライブラリのアイコン画像も並んでいるし、GitHub リポジトリの Star の数もかなりある。commit も継続的にあるし、これなら大丈夫かなと思って選択してみた。
そして作ってみた pull request がこれ。
ユーザーが日々触る部分の UI は国際化したつもり。言語の切り替えはブラウザの言語設定に依存していて、変更用の UI は今のところ存在していない。
あとは管理者系の UI と React コンポーネント部分の UI の国際化かな。React 部分は英語でのメッセージが多いので、ここは逆に日本語化もしたいところ。