【问题标题】:Rails and model translations: Main language in original model, translations in external store?Rails 和模型翻译:原始模型中的主要语言,外部存储中的翻译?
【发布时间】:2018-02-25 00:53:48
【问题描述】:

我正在寻找适合我需要的 Rails 模型翻译解决方案。

我有一个模型Page,字段为titlecontent。我的表中已经有很多记录了。

现在我想翻译标题和内容。我想将titlecontent 字段保留在pages 表中(保存主要语言,英语),然后将翻译添加到外部存储(例如德语)。

我查看了 globalize 和mobility gem。但是他们两个似乎都在强迫我把所有东西都移到外部存储中,所以我需要删除pages表中原来的titlecontent字段。

这是真的吗?有什么办法可以按照我想要的方式去做吗?也许还有其他宝石?

【问题讨论】:

  • 目前无法通过 Mobility 开箱即用地做到这一点,但这是我考虑过的事情......
  • 我决定将 Mobility 与列存储一起使用,所以现在对我来说没有太大关系。但会是你伟大宝石的一个很好的补充。
  • 啊,我想,列存储很容易迁移到。我正在考虑提供一个通用迁移器来从任何后端迁移到任何其他后端——如果您以后决定使用表格进行翻译,您可能会感兴趣:) 但仍然需要一些时间来开发它。

标签: ruby-on-rails rails-i18n globalize mobility


【解决方案1】:

我没有你的问题的答案,但我想发表我的评论。

Globalize 将为翻译创建一个表。您也可以自己创建一个包含german 和其他语言翻译的表格。我仍然相信您的模型将保留一个带有titlecontent 字段的pages 表。 Globalize 对我也不好,所以我决定自己实现

这是来自我的schema.rb 在我的github project

  create_table "languages", force: :cascade do |t|
    t.string   "iso"
    t.string   "name"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

不幸的是,我再也找不到其他模型/表格,但我记得我为每个需要的翻译创建了一个包含一列的表格,然后我只会在我的视图中显示翻译。

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 1970-01-01
    • 2018-06-25
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    相关资源
    最近更新 更多