今日はRailsで日本語と英語の出し分けを実装してました。Rails、多言語対応も安定の簡単さ。グリーみたいにアラビア語対応とかしなくていいから更に楽です。API)を見ながらちょいちょいと設定が済みました。基本的にはI18nというオブジェクトですべてハンドルしております。I18n.lでlocalize、I18n.tで翻訳をします。どのLocaleを利用するかはI18n.localeに格納されています。言語リソースはymlで用意する。config/locales/*.ymlというファイルを作るとRailsが自動的に読み込んでくれる。"こんにちわ世界"ちなみに階層化できるので、きれいにまとめましょう。Ippei".(ドット)でつなぎます。若干ハマったのが、なぜかjp.ymlという言語リソースファイルを追加したのに読んでくれていない。Railsがconfig/locales/から自動的にロードしてくれるのだが、残念ながらファイルを追加した時には動的に呼んでないらしい。ファイルに新しいKeyをアペンドした時は読んでくれるんだけど。このパラメータが起動時に作られるのだと思われる。"/Users/ippei/Rubymine.....また、application.rbからdefault_localeの変更やload_pathの追加をすることもできる。Inして任意の言語またはディレクトリを追加するだけ。:de問題はI18n.localeにどうやって任意の言語を入れてあげるか。やって言語を判別するか。大まかに以下の方法があると思います。組み合わせて使ったりもします。グリーはAccept-Languageだったはず。StringとAccept-Languageで実装しました。Stringで渡されたパラメーターをI18n.localeに設定するようにします。I18n.default_localeendこれだけだと画面遷移時にlocaleが引き継がれないので、以下のmethodをoverrideして常にlocaleパラメータを渡すようにします。}endお次はAccept-Languageの実装です。残念ながらRails自体にはAccept-LanguageをParseする機能はないようなので、http_accept_languageというGemを使いました。Gemfileに以下を追加します。2.0.0"そうするとこんな感じで準備したLocaleに対応する言語を返してくれます。Controllerはこんな感じになりました。end後はja.ymlとen.ymlにひたすらリソースを追加して、Templateにせこせこと以下の文字を馬鹿みたいに埋め込み続けるだけの簡単なお仕事です。Labというイギリスのケンブリッジにあるスタートアップ企業でプロジェクトマネジメントやシステム設計から開発までしています。2007年に新卒でJPモルガン証券に入社し債券リサーチやリスク管理システムの開発に携わる。2012年4月からグリーでSNSアプリやMessengerアプリの開発に従事。2013年8月より現職。