Ruby on rails Rails 3的Locales目录结构

Ruby on rails Rails 3的Locales目录结构,ruby-on-rails,ruby-on-rails-3,internationalization,Ruby On Rails,Ruby On Rails 3,Internationalization,因此,我看到Rails3中建议的区域设置结构(国际化)基于模型和视图目录中使用的类似文件分离(请参见页面上的3.4区域设置文件组织) 我有两个问题: 1) 对于控制器中使用的通知(例如,重定向期间“您的记录已成功添加”),是否打算在区域设置下也有一个控制器目录?或者我应该只使用根区域设置目录中的默认en.yml文件,并具有类似以下内容: en: notices: create_success: "Your record was added successfully." upd

因此,我看到Rails3中建议的区域设置结构(国际化)基于模型和视图目录中使用的类似文件分离(请参见页面上的3.4区域设置文件组织)

我有两个问题:

1) 对于控制器中使用的通知(例如,重定向期间“您的记录已成功添加”),是否打算在区域设置下也有一个控制器目录?或者我应该只使用根区域设置目录中的默认en.yml文件,并具有类似以下内容:

en:
  notices:
    create_success: "Your record was added successfully."
    update_success: "Your record was updated successfully."
这样,所有通知都在同一个文件中


2) 基于某种程度上的便利性考虑,我实际上更喜欢将所有翻译放在一个文件中,因为这样更容易/更快地处理和查找,然后可能会共享更多的项目。是否有某种原因使它们在与模型和视图类似的目录结构中分开这可能是由于文件的性能和加载造成的吗?

如果有一个单独的闪存消息目录,并且对您来说这似乎是合理的,那么就使用它。指南中给出的示例正如它所说的,是示例。以任何对你有意义的方式组织他们


将所有内容保存在一个文件中也是如此。它会起到同样的作用,它建议考虑打破它的唯一原因是因为它会变得难以管理。但如果你想这样做,那就这样做吧!:)如果您改变主意,您可以随时将其拆分。

同意,但页面加载对性能有影响吗?i、 例如,是加载并缓存所有语言环境文件还是根据使用情况单独加载?默认的I18n内存存储在应用程序初始化时加载所有文件,因此不会影响页面加载。我怀疑这两个选项之间的性能是否会有明显的差异,但我还没有运行任何基准测试。如果您对此感到担心,请运行一些测试或切换到;对我上面的一些示例使用模型范围,因为它们确实与模型相关;并为不适合模型和视图的所有其他对象创建“通用”范围。谢谢你的帮助。