I18n gem中提供的区域设置结构可能类似于following:
de:
date:
abbr_day_names:
- So
- Mo
- Di
- Mi
- Do
- Fr
- Sa
但是尝试输出described in the guides这一天并不起作用,看起来它似乎在语言环境中寻找format:
?
I18n.locale = :de
l(Date.current, format: :abbr_day_names)
" I18n :: MissingTranslationData:缺少翻译:de.date.formats.abbr_day_names"
答案 0 :(得分: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"
因此,在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.
它与datetime.formats
和time.formats
的作用相同。
以下是日期/时间格式的常见en-US.yml
文件示例:https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/en-US.yml
我找不到有关i18n本地化系统中可用的每个通配符的完整文档。如果有人知道从哪里获得它,您的意见将非常感谢!