2

我有一个在 Ruby 1.9.2 上运行的 Rails 3.2.3 站点。我使用 rails-i18n gem 进行翻译,并将国际化设置设置为荷兰语翻译:

config.i18n.available_locales = :nl
config.i18n.default_locale = :nl

我还将翻译文件添加到我的语言环境地图中,这甚至不需要。

当我在本地以开发或生产模式运行站点时,所有翻译都得到正确处理,包括错误消息。但是,当我将站点部署到我的服务器(托管在 Webfaction 上,使用 nginx)时,它不使用错误消息的翻译;它们仍以英文显示。

我确实重新启动了服务器,我进行了预编译,并且我只是通过从服务器上的 github 拉取来“部署”。

为了使网站使用荷兰语翻译错误,我还应该做些什么吗?

4

2 回答 2

2

rails-i18n gem 包含它自己的翻译文件 - 您的生产环境是否可能没有使用相同的 gemset?

在这种情况下,解决方案将是bundle update在生产服务器上。

或者,您可以

  • 将所需的翻译文件复制到 config/locales 中(荷兰语文件在这里:https ://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/nl.yml )。

  • 使用诸如Locale 之类的东西来管理您的翻译依赖项。

于 2012-04-30T10:23:34.773 回答
1

根据要求,根据我对这个问题的评论:

愚蠢的问题,我知道你说你已经让它在本地生产模式下工作,但是什么文件 config.i18n.available_locales = :nl在里面?在 config\environments\development.rb? 也在 config\environments\production.rb吗?

通常很容易忘记您在一个环境中设置了一个选项,但在另一个环境中却没有。

于 2012-05-01T21:23:35.747 回答