【发布时间】:2014-11-12 18:06:35
【问题描述】:
当我使用默认的 WEBrick 服务器运行我的应用程序并从子域设置区域设置时,i18n 可以完美地用于“en”和“ja”。
但是,当我使用 Nginx 和 Unicorn 运行我的应用程序时,i18n 无法像在 WEBrick 中那样工作。
我写下面的代码来设置子域的语言环境;
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
if request.host.starts_with? "en."
I18n.locale = "en"
else
I18n.locale = "ja"
end
end
我在这里错过了什么?
我对 unicorn 和 nginx 的设置几乎是默认设置,除了我在 nginx.conf 中将应用名称或 proxy_pass 更改为 app。
谁能教我如何让 i18n 工作吗?我整天都在堆栈......
请原谅我糟糕的英语水平...
提前谢谢您。
【问题讨论】:
-
看看你的
application.rb文件,你会发现一些区域设置,比如config.i18n.default_locale = :en。
标签: ruby-on-rails internationalization nginx unicorn