2008-12-12
■ [rails] Rails 2.2のI18nクラスを試してみた
(注:Railsは詳しくないので間違ったこと書いてるかもしれません)
Rails 2.2系がリリースされたので、いまRailsをインストールするとデフォルトでI18nクラスが使えるようになっている。
使い方は、config/locales/*.ymlとかに
ja-JP: hello: world: こんにちは世界 en: hello: world: Hello, World!
と書いておくと、「t("hello.world")」が現在のロケール(I18n.locale)に応じた文字列を返してくれる、みたいな感じ。
詳細は以下の参考リンクをどうぞ。
- Rails I18n
- とりあえずこれを上から順にやればいいと思う。
- iain.nl - Translating ActiveRecord
- サンプルコードを「LOLCATS語」にローカライズする例。
- func09 - Rails2.2の新機能i18nを使ってみる
- 真ん中へんにエラーメッセージの翻訳例が載っている。
- Rails2.2のI18Nを試してみた - yuum3のお仕事日記
- Railsをローカライズする - デモ アプリケーション
感想
現在主流であるRuby-GetText-Packageと比べると、 「英語」と「日本語」と「キーとなる文字列」の3つを書かないといけないのはめんどい。翻訳がなかったら英語にフォールバックしてほしい。 「全ての言語を平等に扱わないと!」みたいな意識からこういう仕様になってるのかなぁ。
確かに5カ国語とか多言語に翻訳するなら手間はそんなに変わらないんだけど(4→5)、非英語圏の開発者にとっては 母国語と英語の2カ国語に翻訳するという用途がメインなんだから(2→3)、手間が1.5倍になってめんどい感が大きい。
まあ規模の小さいアプリならそこまででもないし、プラグイン入れなくてもとりあえずローカライズできるっていうのは良いですね。
■ [esobook] 本の値段設定とか
書籍の値段って、必ずしもページ数に比例しない。いったいどういう基準で値段を付けてるんだろう、と思ってたんだけど、 実は意外と単純なルールだった。
要するに、「利益が最大になるよう」な値段を、出版社が勘と経験から推測して決めるらしい。 入門書のように読者層が広い(と期待できる)ものは多少安くして多く売る方針で。 専門書のように売り上げ冊数が少なそうなものは高めになるようだ。