2016-12-20 7 views
0

У меня есть приложение Rails 2.2.2, которое использует I18n v0.6.0.Перевод имени дня (I18n) не работает

У меня есть конфигурационный/локали/файл da.yml с таким содержимым:

--- 
da: 
    date: 
    abbr_day_names: 
    - søn 
    - man 
    - tir 
    - ons 
    - tor 
    - fre 
    - lør 
    abbr_month_names: 
    - 
    - jan 
    - feb 
    - mar 
    - apr 
    - maj 
    - jun 
    - jul 
    - aug 
    - sep 
    - okt 
    - nov 
    - dec 
    day_names: 
    - søndag 
    - mandag 
    - tirsdag 
    - onsdag 
    - torsdag 
    - fredag 
    - lørdag 
    formats: 
     default: "%d.%m.%Y" 
     long: "%e. %B %Y" 
     short: "%e. %b %Y" 
    month_names: 
    - 
    - januar 
    - februar 
    - marts 
    - april 
    - maj 
    - juni 
    - juli 
    - august 
    - september 
    - oktober 
    - november 
    - december 

Итак, я затем вдаваясь в консоль и делать

I18n.locale = "da" 
=> "da" 
60.days.ago.strftime("%a %A %d %b %B %Y") 
=> "Fri Friday 21 Oct October 2016" 

Я бы ожидать получить

=> "Fre Fredag 21 Okt Oktober 2016" 

это выглядит как I18n знает о переводе, как я могу это сделать:

I18n.translate("date.day_names") 
=> ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"] 

Но это просто не работает в strftime.

Я что-то не понимаю?

ответ

1

Посмотрите на this post.

I18n.localize (some_date,: Формат => '% в% А% d% B% B% Y')

+0

Ах да, что работает, спасибо: 'I18n.localize (60.days.ago,: format => "% a% A% d% b% B% Y") => "fre fredag ​​21 окт октябрь 2016 года". Наша кодовая база полна strftimes, поэтому я думаю, что я буду обезглавливать strftime, чтобы вызвать I18n.localize. Похоже, strftime заглащает итоговую строку. Благодаря! –