4

我将 I18n 与 Redis 存储一起使用,并且在更新到 Rails 3.2.13 后出现了奇怪的行为

[6] pry(main)> I18n.t("my_website_field")
=> "M"
[7] pry(main)> $redis.get("en.my_website_field")
=> "\"My website\""

我只收到翻译的首字母

4

1 回答 1

1

据我所知,我认为 redis-store 在某些版本的 Rails 上存在问题(3.2.13 恰好是其中之一)。

因为我真的很好奇为什么会发生这种情况,所以我打开了 Github 更改日志并查看了它们在 3.2.12 -> 3.2.13 更新中更改的逻辑。

我注意到的主要变化是 ActiveSupport for i18n 中的依赖链。代码已更改

s.add_dependency('i18n', '~> 0.6')

s.add_dependency('i18n', '= 0.6.1') 

唯一的其他更改是(来自更改日志):

将 i18n 范围添加到 `distance_of_time_in_words

因此,如果我不得不做出有根据的猜测,我会说强制使用 i18n 到 0.6.1 与 redis-store 产生了某种类型的冲突。

注意: 我将继续调查 i18n 更改日志的问题,如果我有关于该主题的更多信息,我会发布。 在提交历史中找不到具体问题,并且他们没有保留更改日志(3 年没有:/),但我很想知道强制旧版本控制是否能让 i18n 正常运行。

于 2013-08-09T00:49:28.673 回答