2016-08-02 2 views
0

英語でアプリケーションをコーディングした後、言語ファイル(pt-BR.yml)、 'config/application.rb'(デフォルトをpt-BRに設定)、 'inflections.rb'私の現地の言語でエラーメッセージがあります。i18nがRailsでモデルを複数化するのを防ぐには?

しかし、Railsは論理が複数形になっていないため、モデルが見つからないようになりました。

モデルとコントローラでローカルデフォルト言語を使用しないようにする方法はありますか? または、より良いコーディング方法がありますか?おかげさまで

答えて

0

デフォルトのlangを変換するのではなく、inflections.rbを設定できます。あなたはそのようにそれを行うことができます:それは彼の宝石のように見えますhttps://davidcel.is/posts/edge-rails-a-multilingual-inflector/

から取ら

ActiveSupport::Inflector.inflections(:es) do |inflect| 


inflect.plural(/$/, 's') 
    inflect.plural(/([^aeéiou])$/i, '\1es') 
    inflect.plural(/([aeiou]s)$/i, '\1') 
    inflect.plural(/z$/i, 'ces') 
    inflect.plural(/á([sn])$/i, 'a\1es') 
    inflect.plural(/é([sn])$/i, 'e\1es') 
    inflect.plural(/í([sn])$/i, 'i\1es') 
    inflect.plural(/ó([sn])$/i, 'o\1es') 
    inflect.plural(/ú([sn])$/i, 'u\1es') 

    inflect.singular(/s$/, '') 
    inflect.singular(/es$/, '') 

    inflect.irregular('el', 'los') 
end 

コードもPT-BR https://github.com/davidcelis/inflectionsをサポートしています。私は個人的にそれを試していないが、それは正気に見える。

+0

ありがとうございました!モデル言語の選択方法はまだ分かっていませんが、複数の言語で使用するのに役立ちました。 –

関連する問題