【问题标题】:Big locale files in rails, is it ok?Rails 中的大语言环境文件,可以吗?
【发布时间】:2014-05-21 21:12:50
【问题描述】:

我无法真的在互联网上找到此问题的答案。我目前正在 Rails 中开发一个相对较大的 Web 应用程序。而且我的语言环境文件正在迅速增长。

我的问题是,如果我的语言环境文件变得非常大,这有关系吗?如果没关系,Rails 是如何处理这个问题的?如果是这样,什么是解决这个问题的好方法?我在 Rails 文档中发现,您可以将文件分别命名为它们的语言,例如index.en.html.erb。但这意味着当必须进行更改时,我必须单独编辑每种语言的每个视图。

谢谢!

【问题讨论】:

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


    【解决方案1】:

    区域设置在服务器启动时加载到内存中(不是在每个请求上)。 Rails 在内部将所有语言环境作为一个大的嵌套哈希处理。因此,Rails 不关心是否有一个大的或许多小的语言环境文件。

    您需要考虑的事项:什么对您有效。曾经我不得不使用具有约 5000 个语言环境的应用程序。我很高兴将它们组织到每种语言的一个文件夹中并拆分为多个文件:每个模型或控制器一个。地点安排得很清楚,很容易找到。后来我们使用网络服务来维护语言环境 (webtranslateit.com),这在与外部(非技术)翻译人员合作时也有很大帮助。

    【讨论】:

      【解决方案2】:

      您可以尝试将您的语言环境文件分解为单独的文件。更多信息:

      http://guides.rubyonrails.org/i18n.html#organization-of-locale-files

      【讨论】:

      • 我确实看到了,但是当您在下面查看 application.rb 中的设置方式时,看起来它仍然是一次加载的。因此,如果我没记错的话,好处只是它没有存储在单个文件中。
      • 您是否担心每次请求都必须读取整个文件?
      • 不是文件本身,我担心加载了很多翻译,而视图不需要它们。
      • 我相信翻译是在服务器开始生产时加载到内存中的,并不是每次请求时都加载。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多