我们正在运行一个白色标签类型的网站,其中有几个网站从一个代码库运行。
我想让locales文件包含基于参数从不同文件夹加载的所有网站文本。
让我们说我们有这两个网站:
site1@example.com (site1)
site2@example.com (site2)
我们正在阅读主持人并从我们的网站模型中确定brand_name
。
所以在locales文件中我想从正确的文件夹中加载它们,即
config/locales/site1/**/*.yml
config/locales/site2/**/*.yml
我似乎无法动态地执行此操作。我可以手动对config/application.rb
文件进行更改,但它可以正常工作。但是,我希望能够确定要在application_controller.rb
我可以设置语言环境文件的路径,还是这样太晚了?
答案 0 :(得分:1)
你应该可以这样做:
application.rb中
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', request.host, *.{rb,yml}').to_s]
这只会在具有域名的文件夹中加载区域设置文件。如果用户访问site2.com,它将在config / locales / site2.com / *中加载文件.yml