ruby-on-rails - Ruby I18n 替代品

标签 ruby-on-rails ruby magento internationalization translation

世界上有任何I18n替代品吗?

我只是不喜欢 I18n 存储翻译键的方式。我想像 Magento 一样存储和使用它们 - 例如,key 只是一个我想使用英语语言环境显示的字符串。

因此,当我想翻译它时,我只需提供具有正确语言环境名称 (nl_NL.csv) 的文件以及简单的键值格式,其中键是我想要的英文字符串翻译成荷兰语(在 nl_NL 语言环境的情况下),值是我的短语的荷兰语模拟。如果 Magento 没有找到翻译文件或翻译 key - 它会显示 key 本身。虽然键是英文短语,但我的 HTMl 将“退回到”英文语言环境。

我已经看到一些方法可以覆盖默认的 I18n 行为(fast-gettext gem 或自定义 I18n 后端),但是没有我上面描述的 gem 吗?

最佳答案

Ruby i18n 提供 a bunch of backends开箱即用,包括 gettext 实现。应该很简单。

I18n::Backend::Simple.include(I18n::Backend::Gettext)

如果您不喜欢默认的 gettext 实现,它至少应该提供一个编写您自己的起点。如果您想扩展或替换 Simple 后端来存储键或以不同方式执行查找,那也应该是可行的。简单后端实际上非常简单,不到 100 个位置。

关于ruby-on-rails - Ruby I18n 替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13314517/

相关文章:

ruby-on-rails - 从 Rake 任务访问插件

ruby-on-rails - 没有浏览器加载栏

ruby - $:<< "." do to Ruby's require path? 是什么意思

magento - 获取产品的自定义选项值 magento 2

php - PayPal 网关已拒绝请求。购物车商品总金额与订单金额不匹配。洋红色

php - 企业版中的 Magento 重建索引问题

ruby-on-rails - 在 rspec 中 stub 类级别常量

javascript - 找不到 HotelsController#rooms_availability 的模板,渲染头 :no_content

ruby-on-rails - NoMethodError Rails 3.2

ruby-on-rails - 如何设置两个域以使用 Passenger 指向同一个应用程序但具有不同的 Rails 功能?