railsで英語と日本語対応のサービスを作ってみようと思い、I18nについて調べてみた。
まぁ、マニュアルは
ばっちりここに有る訳だけど。
localeの切り替えについて幾つか方法が例示されていて、パラメータに付けたくなかったので
ヘッダのAccept-Languageを見て切り替える方法にした。
マニュアルにある通り、以下のgemを導入。
そして、before_actionで実装しようかと思ったら、このgemがconcernも提供してくれていた。
という訳で、以下の一文をApplicationControllerに書くだけで出来た。
include HttpAcceptLanguage::AutoLocale
確認方法
日本語の場合
curl -v -H 'Accept-Language: ja-JP' http://localhost:3000
英語の場合
curl -v -H 'Accept-Language: en-US' http://localhost:3000
簡単。
やっぱりrailsって素晴らしい。
コメント