2010-08-31 26 views
11

config/locales/pl.yml tập tin của tôi (lấy mẫu từ here):Rails 2.3.5 i18n tháng/ngày tên dịch vấn đề

pl: 
    date: 
    day_names: [Niedziela, Poniedziałek, Wtorek, Środa, Czwartek, Piątek, Sobota] 
    month_names: [~, Styczeń, Luty, Marzec, Kwiecień, Maj, Czerwiec, Lipiec, Sierpień, Wrzesień, Październik, Listopad, Grudzień] 

Trong script/console:

I18n.locale = 'pl' 
=> "pl" 

Time.now.strftime("%A, %B") 
=> "Tuesday, August" 

Tại sao? Hay nói cách khác - làm thế nào tôi có thể nhận được tên tháng đã dịch? Tôi cũng sẽ lưu ý rằng tệp miền địa phương chắc chắn được đọc vì nó bao gồm một loạt các bản dịch khác, tất cả đều hoạt động.

Trả lời

17

Điều đó tùy thuộc vào phiên bản đường ray bạn đang sử dụng. Có một người trợ giúp để dịch điều đó, trên đường ray 3.0.0 (Tôi không biết phiên bản nào đã được cung cấp).

Trong một cái nhìn, bạn có thể viết

localize Time.now, :format => '%A, %B' 

trong kịch bản/giao diện điều khiển (hoặc đường ray console), hãy thử gõ:

controller.localize Time.now, :format => '%A, %B' 

và xem nếu nó hoạt động. Ngoài ra còn có các l helper (chữ thường L), mà là một viết tắt cho localize:

controller.l Time.now, :format => '%A, %B' 
+0

Cảm ơn! Đó là tất cả về việc sử dụng 'localize' thay vì helper' translate'. Btw, trong giao diện điều khiển (trong Rails 2.3) nó phải là 'helper.localize Time.now,: format =>"% B "', không phải 'controller.'. Và một bổ sung khác - bạn phải có các mục 'pl, time, formats' trong' pl.yml'. –

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