先日の勉強会議事録の「 Railsの国際化セッション 」[1]について、 GetTextのむとうさんから御意見 [2]を頂いた。
えーと、早く言えばむとうさんのおっしゃる通り。
文言だけ翻訳してもらう、というスタイル……多くのGUIアプリはこれで十分なはずです[2]
テンプレートの差し替えは「分離した各テンプレート間で修正を同期する問題」[1]、「本当に骨の折れる作業」[2]が発生するので、しなくても済むならやめましょう。ロケール別のテンプレートはDRYじゃない。DRYじゃないものを同期するのは厄介。DRYでいきましょう。
セッションでも議事録でも「修正を同期する問題」と一言述べたただけで、ちょっとデメリットの説明が足りなかったかなと思うので、改めて強調する次第。
それでも、ここまで言っても、どうしてもテンプレートの差し替えをしたいケースがあるかもしれない。というか、うちの会社がそうだ。でも、むとうさんに言われてみて落ち着いて考えてみると次のような背景があった。
- 多国籍企業のB2Cサイト故、国別にいろんな配慮が必要だったり、社内でうにゅうにゅとかも
- そんなこんなで、全然対応関係のとれない文言がたくさん
- 文言どころかHTMLのtree自体が違う
- 翻訳担当者と密に連携できてる
- どの言語も、開発者のうち誰か1人はなんとなく読める(es-ESの知識でpo-BRを推量するとかもあるけどね)
うーみゅ。とても一般化はできないね。どうもこの辺に無自覚で、デメリットの見積もりが甘かったかも。
だから、選択肢を増やす意味で
次のRuby-GetText-Packageではこの機能を導入しちゃおうかしら。ライブラリとしてはどちらの機能も提供する、というのはアリだよね。[2]
には賛成するものの、一般論としては私もテンプレート差し替えはお薦めしない。あとはケースバイケースの判断ということで。