月份在Rails I18n中命名变形

kle*_*lew 7 localization ruby-on-rails date inflection

我想在波兰语中使用不同的月份名称.例如现在它的工作原理如下:

>> I18n.l Time.now, :format => "%e %B"
=> "14 stycze?"
Run Code Online (Sandbox Code Playgroud)

但我想指定另一种月份格式:

>> I18n.l Time.now, :format => "%e %Q"
=> "14 stycznia"
Run Code Online (Sandbox Code Playgroud)

翻译的月份名称在我的pl.yml文件中pl.date.month_names.我不想改变它.我可以添加pl.date.another_month_names其他情况,但我不知道如何I18n.l使用它的方法.

那么我该如何实现呢?其他解决方案(助手,定制方法等)也是受欢迎的.

ero*_*tte 6

我在德语翻译中遇到了类似的奇怪月份名称的问题。我必须在 locale.yml 中配置月份名称,现在它按预期工作:

de:
  defaults: &defaults
    month_names:
      [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
    formats:
       default: "%d. %B %Y"
       short: "%d.%m.%Y"
  date:
    <<: *defaults
  time:
    <<: *defaults
Run Code Online (Sandbox Code Playgroud)


kle*_*lew 5

由于没有人回答我的问题,我找到了一个解决方案

我刚刚创建了另一个翻译,alt_pl.yml我添加了自定义月份名称,然后:

>> I18n.l Time.now, :format => "%e %Q", :locale => :alt_pl
=> "15 stycznia"
Run Code Online (Sandbox Code Playgroud)