【问题标题】:I18n localization time format for spanish translation西班牙语翻译的 I18n 本地化时间格式
【发布时间】:2017-12-27 08:39:24
【问题描述】:

我正在使用 I18n 对 Rails 应用程序进行本地化,我遇到了一种涉及使用 I18n 进行时间格式的情况。

日期和时间格式显示如下:"Tuesday, July 11, 2017" 表示时间:2017-07-11 12:30:00 +0530

为了进行本地化,我使用en.ymles.yml 两种时间格式,如下所示:

 en:
  time:
   formats:
     long: '%A, %B %d, %Y'
     short: '%b %d, %Y'

在模型中我使用I18n.l(raw_date.to_time, format: :long),这对英语效果很好,结果为"Tuesday, July 11, 2017",但对于西班牙语,它的返回如下:"a, t 11, 2017"

西班牙语获得与英语相同结果的日期时间格式是什么。任何帮助将不胜感激:)

【问题讨论】:

    标签: ruby-on-rails ruby rails-i18n time-format


    【解决方案1】:

    查看rails-i18n spanish file,我提取了他们的一些翻译,一切似乎都按预期工作(在添加这些翻译之前我看到了同样的问题)。

    config/locales/es.yml

    es:
      date:
        day_names:
          - domingo
          - lunes
          - martes
          - miércoles
          - jueves
          - viernes
          - sábado
        month_names:
          -
          - enero
          - febrero
          - marzo
          - abril
          - mayo
          - junio
          - julio
          - agosto
          - septiembre
          - octubre
          - noviembre
          - diciembre
      time:
        formats:
          long: '%A, %B %d, %Y'
          short: '%b %d, %Y'
    

    然后在控制台中:

    I18n.locale = :es
    I18n.l(Date.today.to_time, format: :long) # => "viernes, julio 21, 2017"
    

    如果您使用内置的东西进行大量翻译,我建议您查看他们文件的其余部分(或者甚至提取整个文件)。

    注意事项:

    • 我不会说西班牙语,所以我只是假设他们的文件没问题
    • 如果您使用不同的格式,您可能需要大量其他日期翻译

    【讨论】:

    • 感谢您的回答,我在 es.yml 中缺少日期、days_name 和months_name。我添加后它就起作用了。
    猜你喜欢
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 2014-01-14
    • 2017-10-26
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多