2012-03-14 32 views
6

Tôi đang phát triển ứng dụng Rails theo lời khuyên của Hướng dẫn Rails để tạo cây thư mục và tệp với bản dịch. cây thư mục của tôi là tương tự như sau:I18n trong Rails 3 với không gian tên quản trị

|-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 

Nội dung trong config/miền địa phương/views/sách/en.yml là tương tự như sau:

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

A trong bên trong app/views/sách mẫu /index.html.erb như thế này (lưu ý dấu chấm):

<%= t '.title' %> 

Khi tôi không có không gian tên bản dịch của tôi trong quan điểm làm việc tốt nhưng với không gian tên "admin" mà tôi sử dụng trong backend của tôi nó không hoạt động . Bất cứ ai biết vấn đề là gì?

Trả lời

-1

Bạn chỉ nên cần phải sử dụng: điều hành phạm vi như tài liệu ở đây http://guides.rubyonrails.org/i18n.html#looking-up-translations

(Tôi không chắc chắn lý do tại sao bạn đang sử dụng <%= t '.title' %> với dấu chấm - bạn có nên sử dụng một chuỗi đại diện cho tên trường (<%= t 'title' %>) hoặc một biểu tượng (<%= t :title %>).)

2

tôi đang sử dụng <%= t '.title' %> vì tôi đang sử dụng “Lazy” Lookuphttp://guides.rubyonrails.org/i18n.html#lazy-lookup.

Đường ray thực hiện một cách thuận tiện để tra cứu ngôn ngữ bên trong chế độ xem. Khi bạn có từ điển sau:

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

bạn có thể tìm kiếm các giá trị books.index.title bên trong app/views/sách/mẫu index.html.erb như thế này (lưu ý dấu chấm):

<%= t '.title' %> 
0

bạn chỉ cần bao gồm các không gian tên trong yaml của bạn cũng như:

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

Sau đó, bạn truy cập vào các chuỗi với <%= t '.title' %> theo quan điểm của bạn. Tôi vừa thử nghiệm điều này với Rails 4.0.x

Các vấn đề liên quan