10

Rails i18n で、以下を使用して特定のキーのすべての値を取得する方法:

translations = I18n.backend.send(:translations)

すべての鍵を入手

たとえば、「ホーム」の下のすべてを返すだけなど、特定のセクションを取得できる必要があります

en:
  home:
    test: test
4

3 に答える 3

5

デフォルトのI18nバックエンドはI18n::Backend::Simpleです。これは翻訳を公開しません。(I18.backend.translations保護されたメソッドです。)

これは一般的には良い考えではありませんが、本当にこの情報が必要でファイルを解析できない場合は、バックエンドクラスを拡張できます。

class I18n::Backend::Simple
  def translations_store
    translations
  end
end

次に、を呼び出しI18n.backend.translations_storeて、解析された翻訳を取得できます。長期的な戦略としてこれに頼るべきではないかもしれませんが、今必要な情報が得られます。

于 2013-02-01T13:16:43.767 に答える