2012-03-14 15 views
6

Estoy desarrollando una aplicación de Rails siguiendo los consejos de Rails Guides para crear el árbol de carpetas y los archivos con las traducciones. Mi árbol de carpetas es similar a esto:I18n en Rails 3 con un espacio de nombres de administrador

|-defaults 
|---es.rb 
|---en.rb 
|-models 
|---book 
|-----es.rb 
|-----en.rb 
|-views 
|---defaults 
|-----es.rb 
|-----en.rb 
|---books 
|-----es.rb 
|-----en.rb 
|---users 
|-----es.rb 
|-----en.rb 
|---navigation 
|-----es.rb 
|-----en.rb 

El contenido en config/lugares/views/libros/en.yml es similar a esto:

es: 
books: 
    index: 
    title: "Título" 

A en el interior app/views/libros /index.html.erb plantilla como esta (tenga en cuenta el punto):

<%= t '.title' %> 

Cuando tengo ningún espacio de nombres de mis traducciones en vistas funcionan bien, pero con el espacio de nombres "admin" que yo uso en mi backend no funciona . Alguien sabe cual es el problema?

Respuesta

-1

Sólo es necesario usar el: operador de alcance tal como se documenta aquí http://guides.rubyonrails.org/i18n.html#looking-up-translations

(no estoy seguro de por qué estás usando el <%= t '.title' %> con el punto - usted debe utilizar una cadena que representa el nombre del campo (<%= t 'title' %>) o un símbolo (<%= t :title %>).)

2

estoy usando <%= t '.title' %> porque estoy utilizando “perezosa” búsquedahttp://guides.rubyonrails.org/i18n.html#lazy-lookup.

Rails implementa una forma conveniente de buscar la configuración regional dentro de las vistas. Cuando se tiene el siguiente diccionario:

es: 
    books: 
    index: 
     title: "Título" 

puede buscar el valor books.index.title dentro app/views/libros/plantilla index.html.erb como esto (tenga en cuenta el punto):

<%= t '.title' %> 
0

Sólo tiene que incluir el espacio de nombres en su yaml así:

es: 
    admin: 
    books: 
     index: 
     title: "Título" 

a continuación, se accede a la cadena con <%= t '.title' %> en su opinión. Acabo de probar esto con Rails 4.0.x

Cuestiones relacionadas