我在Ruby 1.9.2上运行了一个Rails 3.2.3站点。我使用rails-i18n gem进行翻译,并将国际化设置设置为荷兰语翻译:
config.i18n.available_locales = :nl
config.i18n.default_locale = :nl
我还将翻译文件添加到我的语言环境地图中,甚至不需要。
当我在本地运行站点时,在开发或生产模式下,所有翻译都会正确处理,包括错误消息。但是,当我将站点部署到我的服务器(托管在Webfaction上,使用nginx)时,它不会使用翻译来显示错误消息;它们仍然以英文显示。
我确实重启了服务器,我做了预编译,只需从服务器上的github中拉出来“部署”。
为了让网站使用erros的荷兰语翻译,还有什么我应该做的吗?
答案 0 :(得分:2)
rails-i18n gem包含自己的翻译文件 - 您的生产环境是否可能没有使用相同的gemset?
在这种情况下,解决方案是生产服务器上的bundle update
。
或者你也可以
将所需的翻译文件复制到config / locales(荷兰文件在这里:https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/nl.yml)。
使用类似Locale的内容来管理您的翻译依赖项。
答案 1 :(得分:1)
根据要求,我对该问题的评论:
愚蠢的问题,我知道你说你已经有了它的工作 本地生产模式,但文件是什么
config.i18n.available_locales = :nl
等?在config\environments\development.rb
?它也在config\environments\production.rb
?
通常很容易忘记你在一个环境中设置了一个选项而在另一个环境中设置了选项。