続・Railsのエラーメッセージを日本語化する
前回はRailsのi18n対応を利用したgem、
「amatsuda-i18n_generators」について書いたわけですが、
その後継続して見ていくと、やはり違和感が
システムメッセージはきれいに日本語化されているのですが、
テーブルの項目名が半端に日本語化されているというか、
妙に機械翻訳っぽいというか・・・
項目名まで日本語化されるだけでもすごいのですが、
あまり半端に日本語化されると、妙な誤解を招きかねません
ということで、生成されたファイルをチェックしたところ、
以下の二つが作られていました
config/locales/ja.yml config/locales/translation_ja.yml
同じディレクトリに「en.yml」があることからもわかるように、
このディレクトリに言語ファイルを置くことで、
Railsがそれを「辞書」として認識する・・・と
・・・ということが、実はenvironment.rbに書いてあったりΣ(゚Д゚)ガーン
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')] config.i18n.default_locale = :ja
まさにそのまんまですな
しかし、これで日本語化されるのはシステムメッセージであって、
データ項目の辞書に当たるのが「translation_ja.yml」の方になります
おそらくですが、generetorを走らせたときに、
modelに定義されたクラスの項目をDBから取得し、
それを機械的に翻訳していると思われます
自動翻訳なので、笑える訳がかなりありますが、
さすがにそのままってわけにいかないので、
このファイルを編集する必要はありそうです
逆を言えば、一般名詞をRails式に組み合わせていれば、
自動翻訳でもそんなに外した訳にはならない気がします
このあたりも「Railsっぽさ」を要求されるところですかね
あと、テーブル定義のコメント部分を
訳語にあてる仕組みなんてのがあるといいのかもしれません
ER図のツールでSQLを作ってるケースだと、
項目の日本語名をコメントに入れていたりしますからね
・・・まあ、今のシステムは入ってないのですが・・・Σ(・ω・ノ)ノ
それに、本来はmigrationでテーブルを作っているはずですし、
コメントをわざわざ書いているケースはほとんどないのではないかと
・・・多少脱線しましたが、
「amatsuda-i18n_generators」が便利なのは間違いないので、
ガンガン使っていきましょう(`・ω・´) b