2011-11-02 15 views
5

¿Puede alguien dar un ejemplo sobre cómo usar formularios plurales en un archivo de traducción Yaml para Rails i18n API? Básicamente, se trata de pasar de una aplicación basada en gettext a Rails.Un ejemplo para formas plurales en un archivo de traducción Yaml para Rails i18n API

Las formas plurales para a18n en Rails se documenta aquí http://guides.rubyonrails.org/i18n.html#pluralization pero con detalles limitados.

decir, por ejemplo que tienen esta muestra de un gettext .po archivo que utiliza formas plurales:

msgid "found %d fatal error" 
msgid_plural "found %d fatal errors" 
msgstr[0] "s'ha trobat %d error fatal" 
msgstr[1] "s'han trobat %d errors fatals" 

¿Cómo se vería eso en un archivo .yml para la API i18n rieles. Entiendo que Rails i18n utiliza claves de identificación únicas en lugar de los mensajes en sí mismos para las claves de traducción, así que digamos que la clave para los mensajes en plural es found_x_fatal_error.

La otra cosa es la forma plural fórmula de selección, ¿hacia dónde va en el archivo .yml y ¿cómo se ve - digamos por ejemplo tenemos esta fórmula de selección de un gettext .po encabezado del archivo:

Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1; 

¿Cómo se vería en el archivo YAML?

+0

creo que este hilo podría ayudarle a: http://stackoverflow.com/questions/6166064/i18n-pluralization – Frost

Respuesta

14

Puede configurar más opciones:

error_msg: 
    zero: none 
    one: 1 error 
    other: %{count} errors 

t('error_msg', :count => 15) 
=> 15 errors 

Dependiendo de la versión de I18n Será {{count}} o% {count} en el archivo yml. Una explicación más detallada se puede encontrar aquí:

http://guides.rubyonrails.org/i18n.html#pluralization

Cuestiones relacionadas