为移动性扩展数据类型的任何机会

Any chance of expanding data types for mobility

我喜欢 gem 及其工作原理,我只是想知道是否有任何现有或计划中的功能来为翻译指定 textstring 以外的数据类型(存储在mobility_[type]_translations)?

这没有记录,但不难支持其他类型,如 Integer、Float 等。

例如对于 Integer,您必须像这样创建 table:

  create_table "mobility_integer_translations", force: :cascade do |t|
    t.string "locale", null: false
    t.string "key", null: false
    t.integer "value"
    t.string "translatable_type"
    t.bigint "translatable_id"
    t.datetime "created_at", precision: 6, null: false
    t.datetime "updated_at", precision: 6, null: false
    t.index ["translatable_id", "translatable_type", "key"], name: "index_mobility_string_translations_on_translatable_attribute"
    t.index ["translatable_id", "translatable_type", "locale", "key"], name: "index_mobility_string_translations_on_keys", unique: true
    t.index ["translatable_type", "key", "value", "locale"], name: "index_mobility_string_translations_on_query_keys"
  end

那么您需要为此 table 创建一个 class:

module Mobility
  module Backends
    class ActiveRecord::KeyValue
      class IntegerTranslation < Translation
        self.table_name = "mobility_integer_translations"
      end
    end
  end
end

我相信这应该足够了,我 认为 你应该能够做到这一点(假设你的配置有 key_value 作为后端):

translates :foo, type: :integer

Mobility 本身实际上没有任何内容 您不能使用其他翻译 class,只是这些不是开箱即用的.也许这应该添加到 Wiki 的某个地方。