2013-10-11 12 views

Trả lời

19

Bạn có thể truy cập vào tên ngày với:

I18n.t(:"date.day_names") 
#=> ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 

và tháng tên với:

I18n.t(:"date.month_names") 
#=> [nil, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] 
+0

Hoặc nói cách khác, Date :: DAYNAMES [0] sẽ được dịch sang I18n.t (: "date.day_names") [0] –

0

AFAICT, thông tin đó không được tiếp xúc trực tiếp bởi API I18N của Rails. Có lẽ dễ nhất để tạo nên một ngày trong tháng hoặc ngày trong tuần mà bạn cần, bản địa hoá nó và trích xuất chuỗi mong muốn.

+0

Tôi sợ như vậy ... Tôi tìm thấy một cái gì đó như thế này, I18n.t "ngày .abbr_day_names "nhưng tôi đoán tôi cần phải biến thành mảng đầu tiên – raulricardo21

+0

' Ngày :: ABBR_DAYNAMES.map {| s | I18n.ts} 'có thể hoạt động nếu bạn đã xác định bản dịch cho chúng ... –

+0

@Mark Reed, tôi đã xác định bản dịch, trên thực tế tôi đã tình cờ gặp I18n.t này (Ngày :: DAYNAMES [@ prod.start_day]) vì nó đã cho tôi "dịch mất tích" cho mục và tôi chỉ phải thêm vào tập tin yaml. Tuy nhiên Date :: DAYNAMES.zip ((0..6) .map {| s | I18n.ts} chỉ trả về các giá trị EN – Jerome

2

Tôi đến từ Braxin. Trong các ứng dụng đường ray của tôi, tôi có một pt-BR.yml bên trong config/locales. Đó là như thế này:

"pt-BR": 
    date:  
    day_names: 
     - Domingo 
     - Segunda 
     - Terça 
     - Quarta 
     - Quinta 
     - Sexta 
     - Sábado 

Đó là tương tự cho tên tháng, vv ... Trong application.rb của tôi, tôi có

config.i18n.default_locale = 'pt-BR' 

Đó mang lại cho tôi tên dịch. Đọc số I18N guide để biết thêm.

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