【发布时间】:2019-10-17 14:11:30
【问题描述】:
所以我正在翻译我的项目以处理不同的语言。我已经翻译了文件夹 /app/views/ 和 /lib/modules/ 中的几乎所有代码。这些都没有问题。
现在我想翻译一个告诉我“I18n.locale”与我拥有的不同的文件,并且 load_path 也是错误的。
所以 I18n 可以很好地处理我之前提到的文件,已经翻译成西班牙语。但是当我进入这个文件时,它告诉我语言环境是 :en (默认的)并且 load_path 是错误的,只是在像回形针这样的宝石中寻找语言环境(我猜是默认的 load_path)。
我很困惑。为什么这个文件不受从 application.rb 设置的变量的影响?为什么我的项目中有两个不同的 I18n.locale?我该如何解决这个问题?
我已经解决了 load_path 问题,方法是像在 application.rb 中一样再次加载此文件中的路径,但 I18n.locale 不同,因为我必须在数据库中获取用户的 :preferred_locale 来分配它,但显然我不能这样做,因为 User.all 给了我错误,我无法从我的数据库中检索用户,但我可以做其他查询。
发生了什么?提前致谢。
编辑:顺便说一句,这是我的第一个问题,所以请放轻松:)
edit2:该文件既不是类也不是模块,它只是从其他模块执行要求并设置一些变量。该文件位于 lib/file_with_problem.rb
【问题讨论】:
标签: ruby-on-rails ruby internationalization locale