【问题标题】:Rails 3.1 I18n word declensionsRails 3.1 I18n 词变格
【发布时间】:2012-11-13 14:24:19
【问题描述】:

假设有一个名为“用户”的模型。我想使用表单助手为该用户创建/更新操作创建一个表单。在我的母语中,模型名称的变格会在这种情况下发生变化。

示例:
通用上下文中的模型名称应为“Пользовател*ь*”
表单上下文中的模型名称应为“by "Пользовател*я*"

我想强调的是,这个问题与复数无关,互联网上的许多文章都涵盖了复数。

【问题讨论】:

    标签: ruby-on-rails internationalization


    【解决方案1】:

    答案:

    我最终将以下内容添加到我的语言环境文件中:

    cs:
      helpers:
        submit:
          user:
            create: "Vytvořit Uživatele" # Create + Accusative form of User in Czech
            update: "Uložit Uživatele"   # Update + Accusative form of User in Czech
    

    这些是由简单的表单提取的,我不确定它们是由常规表单助手还是表单自动提取的。

    进一步的想法:

    到目前为止,当我将它存储在我的模型中时,我还没有弄清楚如何引用宾格形式:

    cs:
      models:
        user:
          one:"Uživatel"
          few:"Uživatelé"
          many:"Uživatelů"
          accusative:"Uživatele"
    

    这会使它变得很干燥,因为我不再需要一个由模型名称限定的助手:

    cs:
      helpers:
        submit:
          create: "Vytvořit <model.accusative>"
          update: "Uložit <model.accusative>"
    

    【讨论】:

    • 但是,此解决方案不能跨语言扩展,因为相同的语言结构可以由不同语言的不同情况控制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多