In Rails i18n erfahren Sie, wie Sie mit einem der folgenden Schlüssel alle Werte für einen bestimmten Schlüssel erhalten:
%Vor%Erhalte alle Schlüssel
Ich muss in der Lage sein, einen bestimmten Abschnitt zu erhalten, um zum Beispiel nur alles unter "home"
zurückzugeben %Vor% Der Rückgabewert von I18n.backend.send(:translations)
ist nur ein Hash, so dass Sie auf eine Teilmenge zugreifen können, indem Sie einfach die entsprechenden Schlüssel übergeben.
z.B. wenn du hast:
%Vor% Dann können Sie die Untermenge des Hashs unter bar
mit:
Das Standard-I18n-Backend ist I18n::Backend::Simple
, wodurch Ihnen die Übersetzungen nicht zur Verfügung stehen. ( I18.backend.translations
ist eine geschützte Methode.)
Dies ist im Allgemeinen keine gute Idee, aber wenn Sie diese Information wirklich benötigen und die Datei nicht analysieren können, können Sie die Backend-Klasse erweitern.
%Vor% Sie können dann I18n.backend.translations_store
aufrufen, um die geparsten Übersetzungen zu erhalten. Sie sollten sich wahrscheinlich nicht auf eine langfristige Strategie verlassen, aber Sie erhalten die Informationen, die Sie gerade brauchen.
Tags und Links ruby-on-rails-3 rails-i18n key-value key