Ich versuche, einige Zähler der Elemente nach der Grammatik der Sprache zu übersetzen. Ich habe mit einem Problem konfrontiert, das doc über Pluralformen sagt und sie sind für jede Sprache unterschiedlich. Ich habe erwartet, dass rules sind bereits innerhalb I18n
und was ich tun muss, ist nur füllen Übersetzungen. Aber wenn ich den Code von pluralize
Methode bei i18n/backend/base.rb
lesenRails Plural Regeln für Übersetzungen
def pluralize(locale, entry, count)
return entry unless entry.is_a?(Hash) && count
key = :zero if count == 0 && entry.has_key?(:zero)
key ||= count == 1 ? :one : :other
raise InvalidPluralizationData.new(entry, count) unless entry.has_key?(key)
entry[key]
end
fand ich, dass es nur en
unterstützt. Zum Beispiel arbeite ich jetzt an arabischer Übersetzung.
I18n.backend.store_translations :ar, path: { one: 'one', two: 'two', other: 'other', many: 'many', few: 'few'}
Hier füllte ich Übersetzung Backend und ich erwarte, dass, wenn ich 11 count
Option passieren dann erhalte ich :many
Übersetzung, wie durch die Sprache Plural Regeln festgelegt.
I18n.t :path, count: 11, locale: :ar #should return 'many'
Muss ich diese Regeln selbst angeben? Dann wo? Oder muss ich etwas swizzle?
Mögliche Duplikate von [i18n Pluralisierung] (http://stackoverflow.com/questions/6166064/i18n-pluralization) – rene