如何使用I18n.localize的语言环境结构?

Num*_*ers 2 yaml locale ruby-on-rails rails-i18n ruby-on-rails-4

在所提供的区域结构的I18n宝石可以看起来像下面:

de:
  date:
    abbr_day_names:
    - So
    - Mo
    - Di
    - Mi
    - Do
    - Fr
    - Sa
Run Code Online (Sandbox Code Playgroud)

但是尝试输出指南描述的那天不起作用,似乎它format:在本地区中寻找a 也是如此?

I18n.locale = :de
l(Date.current, format: :abbr_day_names)
Run Code Online (Sandbox Code Playgroud)

"I18n :: MissingTranslationData:翻译缺失:de.date.formats.abbr_day_names"

MrY*_*iji 6

这是你应该怎么做(法语使用):

  date:
    abbr_day_names: [Dim, Lun, Mar, Mer, Jeu, Ven, Sam]
    abbr_month_names: [~, Jan, Fév, Mar, Avr, Mai, Jun, Jul, Août, Sep, Oct, Nov, Déc]
    day_names: [Dimanche, Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi]
    formats:
      day_month: "%b %d"
      default: "%Y-%m-%d"
      hour: "%H:%M"
      long: "%A %d %B %Y"
      long_month: "%d %B %Y"
      month_abbr: "%d %b %Y"
Run Code Online (Sandbox Code Playgroud)

所以在date.abbr_day_names你定义缩写的日期名称,相同的date.abbr_months_names.然后,您可以设置位于的自定义格式date.formats.name_of_your_format


在您看来,您将以这种方式使用它:

l(Date.current, format: :long)
# OR
l(Date.current, format: :month_abbr)
# etc.
Run Code Online (Sandbox Code Playgroud)

它的工作原理datetime.formatstime.formats.


以下是en-US.yml日期/时间格式的常见文件示例:https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/en-US.yml

我找不到有关i18n本地化系统中可用的每个通配符的完整文档.如果有人知道从哪里得到它,您的意见将非常感谢!