2013-10-11 3 views
9

Я довольно новый с рельсами также с рубином.Не могу я просто получить название дня I18n-ed?

Я просто хочу получить I18n.l имени дня или месяца, без целой даты или времени. Потому что у меня его нет.

Например, я просто хочу, чтобы интернационализация, например

= l Date::DAYNAMES[0] 

или

= l Date::MONTHNAME[0] 

Возможно ли это?

ответ

19

Вы можете получить доступ названия дней с:

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

и месяц имена с:

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

Или, другими словами, Date :: DAYNAMES [0] будет переведен на I18n.t (: "date.day_names") [0] –

0

AFAICT, эта информация не отображается непосредственно API Rails I18N. Вероятно, проще всего составить дату в месяц или рабочий день, в которой вы нуждаетесь, локализовать ее и извлечь нужную строку.

+0

Боюсь, что так ... Я считаю, что-то вроде этого, I18n.t «дата .abbr_day_names ", но я думаю, мне нужно сначала преобразовать в массив – raulricardo21

+0

' Date :: ABBR_DAYNAMES.map {| s | I18n.ts} 'может работать, если вы определили переводы для них ... –

+0

@Mark Reed, я действительно определил переводы, на самом деле я наткнулся на этот I18n.t (Date :: DAYNAMES [@ prod.start_day]), потому что он дал мне «перевод отсутствует» для элемента, и мне просто пришлось добавить файл yaml. Однако Date :: DAYNAMES.zip ((0..6) .map {| s | I18n.ts} возвращает только значения EN – Jerome

2

Я из Бразилии. В моих приложениях rails у меня есть pt-BR.yml внутри config/locales. Это как это:

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

Это же за месяц имена и т.д. ... В моем application.rb у меня есть

config.i18n.default_locale = 'pt-BR' 

Это дает мне переведенные имена. Прочтите I18N guide для получения дополнительной информации.

Смежные вопросы