昨日 Rails で Web アプリの改修をしていた際に多言語対応を行おうとしたが、言語ファイルが正常に認識されないという場面に遭遇した。
元々 I18n と I18n-js を利用して英語と日本語に対応していたのだが、今回韓国語を追加しようとしたところ、このように中途半端に翻訳が表示されてしまった。
この Web アプリは rails と react-rails を利用しており Rails 側の翻訳は問題なく表示されるが、React Component 内の翻訳がうまく読み込まれていないという現象だ。言語ファイルは en.yml からスクリプトで ko.yml に機械的に変換しており yml ファイルに問題はない。
このように言語ファイルに問題が無いにもかかわらず js 側で翻訳ファイルが正常に読み込まれない場合は、以下のコマンドを実行すると直る可能性がある。
rake tmp:cache:clear
rake i18n:js:export
コマンド実行後 rails s を起動すると正常に翻訳ファイルを読み込むことができた。
Sponsored Link