joppotjoppotコピペで絶対動く。TweetPocket概要みなさんこんにちはcandleです。最近では海外展開も視野に入れたwebアプリケーションの開発が行われることが多くなってきているような気がします。なってくると、webアプリケーションの国際化ですが、一般にrailsの言語切り替えはサブドメインかURLの先頭に言語指定を入れる方法がとられます。今回はサブドメインの方法を見ていきましょう。適当なrailsアプリケーションがある。LINKi18nの基本設定i18nを設定する場合は何をdefault言語とするかが大事になります。一般的には英語をデフォルト言語にして、日本語はサブドメインにする方法がよいかと思います。config/application.rbを開いて、以下を記述します。'*.{rb,yml}').to_s]タイムゾーンをアメリカにします。デフォルトの言語は英語にします。使用できる言語の設定でjaを加えます。他言語用の言語ファイルを読み込む設定を最後に記述します。hostsでサブドメインを設定するもしかするとwebrickの設定とかでサブドメインができるのかもしれないのですが、それよりも簡単に、hostsファイルにサブドメインを設定する方が早いと思います。/etc/hostsをエディタで開いて、以下を記述します。ja.localhost保存しましょう。http://ja.localhost:3000にアクセスできるようになりました。サブドメインをi18nのlocalesにする設定サブドメインで言語指定をしてもrails側でそれを処理してi18nに設定しなければ、ただのサブドメインなので、設定します。このサイトの内容を参考にさせて頂きました。http://ruby-rails.hatenadiary.com/entry/20150226/1424937175app/controllers/application_controller.rbを開きます。endプログラムの説明としてはextra_locale_from_tldはrequestからサブドメインんだけを取り出し、その名前がi18nで定義されていれば、サブドメインを返して、定義されていなければ、nilを返します。無ければ、デフォルト言語を設定します。yamlを用意する他言語用のyamlファイルを用意します。一般に以下のようにします。controllerのindexアクションに任意の文字列を表示したい場合はconfig/locales/views/items/ja.ymlを作成し中身を以下のようにします。アイテム一覧そしたら、app/views/items/index.html.erbを開いて、以下を記述すれば表示されます。%&gt;同様に、en.ymlを用意すれば、localesがenの時はenが表示されます。実際にアクセスするhtpp://ja.localhost:3000これで日本語が表示されます。まとめローカルでサブドメインを使って、i18nをやってみました。コメントをキャンセルメールアドレスが公開されることはありません。みなさんこんにちはcandleです。皆さんこんにちはcandleです。みなさんこんにちはcandleです。みなさんこんにちはcandleです。みなさんこんにちはcandleです。みなさんこんにちはcandleです。みなさんこんにちはcandleです。みなさんこんにちはcandleです。みなさんこんにちはcandleです。みなさんこんにちはcandleです。プロフィールベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。railsのwebrickでi18nの言語切り分けをサブドメインで設定するコピペで絶対動く。