【发布时间】:2012-09-21 18:12:04
【问题描述】:
我的 Ruby On Rails 3 应用程序中的日期翻译有一个奇怪的问题,我真的不明白为什么......
这是我的en.yml 和fr.yml:
fr:
date:
formats:
default: "%d/%m/%Y"
short: "%e %b"
long: "%e %B %Y"
time:
formats:
default: "%d %B %Y %H:%M:%S"
short: "%d %b %H:%M"
long: "%A %d %B %Y %H:%M"
am: 'am'
pm: 'pm'
en:
date:
formats:
default: "%Y-%m-%d"
long: "%B %d, %Y"
short: "%b %d"
time:
am: am
formats:
default: ! '%a, %d %b %Y %H:%M:%S %z'
long: ! '%B %d, %Y %H:%M'
short: ! '%d %b %H:%M'
pm: pm
这不是特定于特定视图,而是例如在我的一个视图中:
<td><%=l job_application.created_at, :format => :default %></td>
我得到了那些奇怪的输出:
With locale = :en
=> t, 30 o 2012 18:09:33 +0000
With locale = :fr
=> 30 o 2012 18:09:33
这些错误的“格式”从何而来?
我使用的是 Rails 3.2.8(使用 Postgresql / gem pg),与 I18n 相关的所有内容都可以正常工作,日期除外。
感谢您的帮助!
【问题讨论】:
-
是的,我也有...(更新后)
-
输出匹配格式字符串的次数,除了字符串部分被截断为一个字符?知道
o来自哪里吗?格式化的版本应该是什么? -
不完全是,单个字符并不总是月份或日期名称的第一个字母。例如:Mon, 01 Oct 2012 17:11:55 UTC +00:00 将被翻译成:“01 n 2012 17:11:55”
-
如果您手动将这些格式与
strftime一起使用会怎样? -
它与 strftime 配合得很好......
标签: ruby-on-rails ruby-on-rails-3 date localization internationalization