私は常にactiverecord.errors.models.user.attributes.name.blank
のようなものを私のアプリケーションのすべての言語で翻訳することを忘れています。誰に翻訳が欠けているのかを把握するためのアドバイスはありますか?ActiveRecordのi18n検証メッセージを追跡する最善の方法は何ですか?
答えて
テスト環境では、できることはI18n.config.exception_handler = :raise_i18n_exception
と設定されています。それはすべてをキャッチしませんが、それは何よりも簡単で簡単です。
(設定/環境では/それだけでI18n.exception_handler = :raise_i18n_exception
だろうtest.rb)
Gettextは翻訳では事実上の標準です。その非常に機能豊富で率直に私はホイールを再開発しようとするアプリが嫌い。それで、私はいつもgettext-rails(またはfastgettext)プラグインに切り替えます。
それはモデルでうまく動作:http://www.yotabanana.com/hiki/ruby-gettext-howto-rails.html#Models
そして...それはあなたの問題を解決します。 Gettextは翻訳されていない文字列を追跡するのに役立ちます。あなたに叫ぶように設定したり、翻訳されていない文字列を返すように設定できます(デフォルト)。
申し訳ありませんが、プロジェクトは非常に古くなっているようです...多くの人がRailsのI18nがその機能を置き換えたと言います。 –
古くなったgettext?!? gettextを置き換えましたか?それは真実ではありません:https://github.com/grosser/fast_gettextと詳細はこちら:http://ruby-i18n.org/wiki – lzap
ああ!申し訳ありません、https://github.com/mutoh/gettext_railsを見ていました - 私はfast_gettextをチェックアウトします。 –
あなたは、キーが欠落している翻訳のキーのために少しのWeb管理コンソールを(追加して、あなたを示しtranslateプラグインを確認することができますし、どこに)。
これはおそらく少し古くなっていますが、Rails 2で動作し、いくつかの設定問題を修正する(またはすでにそこで利用可能なプルリクエストをピックアップしている)場合は、3で動作します。
いつか私はすべてのアプリで共通の翻訳をすべて共有する簡単な方法を考えていました。このrailscasts episodeは私にそれをする方法のアイデアを与えました。
簡潔に言えば、異なる翻訳バックエンドをチェーンすることができ、i18n gemはそれらを定義された順序で使用するため、私はRedisバックエンド*を使用してすべての共通翻訳(AR検証メッセージなど)を保存し、 i18nを必要とする私のすべてのアプリのフォールバックバックエンド。
このアプローチでは、別の視点から問題を解決することができます。翻訳を一度書き、永遠にそれらを共有します。さらに、欠落している翻訳を見つけたときはいつでも、共有バックエンドを使用するすべてのアプリケーションで修正されます。
私はこれを行う時間がなかったので、まだ実装していませんでしたが、私の考えは、翻訳を管理し、railscastに示された方法を使ってそれらを共有するために、translate interfaceのようなことをすることでした。
希望すると、これが役立ちます。
* Redisなどの永続的なネットワークキーストアがあれば、そのタスクで問題ありません。
- 1. WCFで認証する最善の方法は何ですか?
- 2. 不定期のオブジェクトを追加して追跡する最善の方法は何ですか?
- 3. myqlの変更を追跡する最善の方法
- 4. nodejでオンラインになっているユーザーを追跡する最善の方法は何ですか?
- 5. Railsでrestful_authenticationプラグインを使用して匿名ユーザーを追跡する最善の方法は何ですか?
- 6. 複数のGithubリポジトリを組み合わせて追跡する最善の方法は何ですか?
- 7. Express APIを認証する最善の方法は何ですか?
- 8. フィールドレベルの検証がある場合にモーダルフォームのキャンセルを許可する最善の方法は何ですか?
- 9. WinFormsの電子メールアドレスを検証する最善の方法
- 10. 移動中の車内でAndroid携帯を追跡する最善の方法
- 11. Swiftの引数検証エラーを伝播する最善の方法は何ですか?
- 12. Javaで検証情報を定義する最善の方法は何ですか?
- 13. Windowsにアプリケーションを追加する最善の方法は何ですか?
- 14. bash - 検索結果を数える最善の方法は何ですか?
- 15. VCLファイルをデバッグする最善の方法は何ですか?
- 16. ビューモデルを構築する最善の方法は何ですか?
- 17. NSMutableArrayをシャッフルする最善の方法は何ですか?
- 18. オブジェクトを解決する最善の方法は何ですか?
- 19. データフレームを回避する最善の方法は何ですか?
- 20. サブスクライバシステムを実行する最善の方法は何ですか?
- 21. ナイトモードをサポートする最善の方法は何ですか?
- 22. ボルトで検証メッセージを追加する方法は?
- 23. C++でキャストする最善の方法は何ですか?
- 24. キーでPHPで何かをハッシュする最善の方法は何ですか?
- 25. WPF(データバインディングあり)でフォームの検証を行う最善の方法は何ですか?
- 26. EmberJS - ユーザーサインイン - アプローチする最善の方法は何ですか?
- 27. ActiveRecordのコンポジットキーでモデルを検証する方法は?
- 28. 順序付けられたsmalldatetime列を追跡する最善の方法
- 29. リストを入れて検証を追加する最善の方法はnullを返しますか?
- 30. RailsでI18nを使用するActiveRecord Vaildationメッセージ
すべての回答は非常に役に立ちました!しかし、これは私の質問に最も直接的に答えました。皆さんありがとう! –