2015-02-25 6 views
1

Я порождающие дней, как это:дней не переведены на языке по умолчанию

(1..days_in_month(year, month)).each do |day| 
    calendar << Day.new(day, day_from_date(format_day(day), month, year)) 
end 

И тогда я достигаю их имена в шоу-странице:

<% @calendar.each_with_index do |d, i| %>  
    <tr> 
    <td><%= d.name %></td> 
<% end %> 

дней на английском языке, несмотря на наличие установите язык по умолчанию на французском языке.

application.rb

config.i18n.default_locale = :fr 

конфигурации/локали/fr.yml

fr: 
    date: 
    abbr_day_names: 
    - dim 
    - lun 
    - mar 
    - mer 
    - jeu 
    - ven 
    etc. 

Консоль вывода:

2.1.5 :001 > I18n.locale 
=> :fr 

Почему не те дни, переведенные в Французский?

EDIT:

Поскольку это проект, который я должен был взять на себя, я пытался искать документацию для Day класса. Я нашел страницу документации local, в которой объясняется, что Day «представляет день как число и имя». Похоже, что это не официальная документация.

+0

Вы должны использовать 'I18n.localize' для перевода дат (shortcut' l', как и 't' и' translate'). Что-то вроде '<% = l (your_date)%>' – MrYoshiji

+0

Я получаю следующую ошибку: 'Объект должен быть объектом Date, DateTime или Time. # given.' Я не понимаю эту ошибку, потому что моя переменная состоит только из 'Days'. –

+0

Является ли 'Day' пользовательским классом, который вы создаете сами? Если нет, можете ли вы связать мне документацию об этом? Я не могу найти его онлайн:/ – MrYoshiji

ответ

1

Вы можете в конечном итоге перевести названия дней недели, как это:

<% @calendar.each_with_index do |d, i| %>  
    <tr> 
    <td><%= t('date.abbr_day_names')[d.number] %></td> 
<% end %> 

Это означает, что атрибут number из Day записей представляют собой «день индекс» в 7 дней в неделю.

+0

Ну, да, но было бы лучше иметь «дневной индекс» в данном месяце. Здесь у меня только «понедельник, вторник, [...], суббота», а остальное не появляется. И это те же дни за каждый месяц, что явно неверно. Это был хороший идеал! Однако я уверен, что найду решение проблемы с вашим решением. Я обновляю тему как можно скорее. –

+0

Атрибут 'number' содержит номер дня в месяце? Как сегодня будет «День @ номер = 25 @ имя = среда»? Где вы храните месяц? – MrYoshiji

+0

Да, да. Месяц хранится в другой переменной, не зависящей от 'Days'. –

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

  • Нет связанных вопросов^_^