为移动性扩展数据类型的任何机会
Any chance of expanding data types for mobility
我喜欢 gem 及其工作原理,我只是想知道是否有任何现有或计划中的功能来为翻译指定 text
和 string
以外的数据类型(存储在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 的某个地方。
我喜欢 gem 及其工作原理,我只是想知道是否有任何现有或计划中的功能来为翻译指定 text
和 string
以外的数据类型(存储在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 的某个地方。