2012-01-18 9 views
1

私が構築しているプロジェクトでGlobalize3を使ってモデルを翻訳したいと考えていました。Globalize3の同じ文字列に重複する翻訳が必要ですか?

class Post < ActiveRecord::Base 
    translates :title, :body 
end 

タイトルがタイトルがすでに翻訳さと同じであっても、複数回に翻訳されなければならないという意味で、他の記事から完全に独立して次のようになります。しかし、それはそれぞれのモデルのように見える、それを試して、同様Postが言います1。私。システムはすでにそれがすべきであることをすでに知っています。

多くの場合、文字列は一意であるため、これは問題ではありませんが、色属性を持つ車のモデルを想像してください。システムに同じ色の何百台もの車がある場合は、色を何度も変換する必要がありますか?私はちょうど一度翻訳したいと思うし、文字列が同じ場合はすべて同じ翻訳を使用することができます。

私は何か誤解したことがありますか、これは本当にどのようにGlobalize3が動作していますか?そうであれば、ブログのように、文字列がユニークであるときにほとんどフィットするように思えます。

もう1つ必要なものはありますか?

ありがとうございました!

答えて

2

本質的には、各モデルレコードの属性が変換レコードに変換されて保存されるということです。

テーブルを正規化することで問題が解決できるため、色はモデルそのものになり、それを翻訳します。

私はそれをやっていないだろうし、私はあなたのシナリオのための宝石を知らない。代わりに次のようにします:

代わりにRGB値を保存し、コントローラーで色名に変換します。それから、Railsのi18nモジュールを使ってそれを翻訳することができます。

またはこれらの変化は、あなたがt("color.#{car.color.parameterize}")のように、国際化キーとして色名を使用し、en.ymlで、それはあなたが簡単に避けることができない問題だ

en: 
    color: 
    dark-blue: 'Dark Blue' 
0

持っている文字列の場合あなたはlulalala(その情報をモデル化する)によって提案された解決策と一緒に行くことができる "標準"です。

私は同様の問題がありました(Railsではなく同じです)、重複したコンテンツの翻訳を定期的かつ自動的にコピーするタスクで "修正"しました。

関連する問題