【问题标题】:ROR: i18n best practices for large translation dictionariesROR:大型翻译词典的 i18n 最佳实践
【发布时间】:2010-09-10 15:54:47
【问题描述】:
  • 在国际化 Rails 应用程序时,在字典文件中组织/确定翻译范围的最佳做法是什么?
  • 在什么情况下应该使用变量插值?
  • 每个短语都应该是它的条目吗?
  • 有没有人参加过 dhh 的演讲,能对 37signals 如何破坏他们的字典文件有所了解?

在使用 i18n gem 一个半月后,我们的 en.yml 文件变得巨大。使用范围界定有什么好处吗?我们希望字典更易于翻译并保持字典 DRY,但希望考虑不同的时态并仍然利用我们有 “您确定要删除此对象吗?”的情况, “您确定要将其标记为已完成吗?” As “您确定要{{verb}}这个{{noun}}吗?”

【问题讨论】:

  • 我重新命名并重新格式化,希望你不要介意。
  • 我完全不知道!谢谢大佬。我仍然是一个溢出菜鸟。

标签: ruby-on-rails ruby dictionary internationalization translation


【解决方案1】:

好吧,在我们的组织中,我们使用 Rails 建议的默认目录结构完全翻译了它

我们有我们的语言环境,然后我们有视图或模型 我们为每个视图和模型创建了翻译,并且效果很好。

例如,在 HomeController#show 我们使用:

t('.title')

它会在 views/home/{locale}.yml 中查找

{locale}:
  show:
    title:

它也适用于局部。 与上面的示例相同,但在“最新”部分中是

{locale}:
  latest:
    title:

不确定这是否正是您要找的,但希望对您有所帮助

【讨论】:

    【解决方案2】:

    一年前我遇到了同样的问题,结果我构建了t_t gem。它大大减少了翻译文件中的重复数量。有关更多详细信息,请查看cheatsheet - # Actions 部分将帮助您解决“您确定要{{verb}}这个{{noun}}吗?”

    更新:

    an example gist

    【讨论】:

    • 如果您要发布“使用我的图书馆”的答案,您的答案应该说明如何使用您的图书馆,而不仅仅是一个链接。
    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • 我创建了一个要点,展示了库如何处理这种情况 gist.github.com/jalkoby/7a29b2dfb325db7ff052
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    相关资源
    最近更新 更多