【问题标题】:rails i18n adjectivesrails i18n 形容词
【发布时间】:2013-09-13 11:56:59
【问题描述】:

我目前在 rails i18n 中遇到了一个小但并不罕见的问题(希望我没有使用错误的搜索词...)

在标准的 Rails crud 应用程序中,您通常具有“合同”、“组”等模型。 到目前为止,如果你想要一个用于“新组”或“新合同”的按钮,这在英语中很简单,因为它基本上总是像“new”+model_name 这样的东西。

不幸的是,像德语这样的语言对计算机不太友好:)

“new contract”翻译成“neuer vertrag”,而“new group”翻译成“neue gruppe”(注意形容词的变化)。 所以,这次复数没有问题,但形容词的变化。 对于这种情况,是否有任何 rails i18n 支持? 不想使用丑陋的 i18n 连接 :)

非常感谢!

【问题讨论】:

  • 只是说,我在法语中发生了同样的事情,但我还没有找到方法。 “新派派对”...... dah!

标签: ruby-on-rails internationalization


【解决方案1】:

只是为了正确理解您的问题,您不想将“新”翻译成德语吗?

有什么问题:

en:
  new_contract: New contract
  new_group: New group

de:
  new_contract: Neuer Vertrag
  new_group: Neue Gruppe

这是执行此操作的标准方法,我认为干燥“新”没有任何优势。你从那里的上下文中删除了一些东西。顺便提一句。 很多语言都有这个问题。一个形容词不可能只翻译一次然后重复使用,因为它属于另一个词(不能站在它自己的上下文中)。

我肯定会采用上述方法。

【讨论】:

  • 谢谢,似乎是唯一的解决方案 :) 我做这样的事情的最初原因是因为我做了一些可能对几个模型相同的部分,所以我可以通过把像 t(:new) + t($model.human_name...) 这样的东西。但这应该通过将一些额外的变量传递给部分来工作 - 它不是那么“干净”......
  • 是的,通常看起来你可以干掉任何东西,但是一旦你不得不采取变通办法让它变干,这通常是不值得的。一些重复是可以的(至少我发现了什么)
猜你喜欢
  • 1970-01-01
  • 2014-08-17
  • 2017-12-17
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 2014-07-23
  • 1970-01-01
  • 2012-05-12
相关资源
最近更新 更多