【发布时间】:2011-07-12 04:18:07
【问题描述】:
我正在寻找有关使用国际化的最佳做法的提示和建议。我四处寻找,但我对所读的内容并不满意。我读过的大部分文章都关注在 I18n 中使用 yml 文件,这在我的情况下不起作用。
我目前有几个带有英文文本的数据库表。其中一些表格的文本字段只有几句话,有的则有 6 段以上的文本。我也想用西班牙语写这些字段。
我目前正在考虑的方法是使用 I18n-active 记录 gem 并有 1 个翻译表,应用程序将用于应用程序中的所有翻译
class CreateTranslations < ActiveRecord::Migration
def self.up
create_table :translations do |t|
t.string :locale
t.string :key
t.text :value
t.text :interpolations
t.boolean :is_proc, :default => false
t.timestamps
end
end
def self.down
drop_table :translations
end
end
这是最好的方法吗?
一方面,所有翻译都将很好地存储在一张表中。另一方面,每次用户向数据库查询 I18n 内容时。该应用程序将查询原始表的键,然后查询翻译表。另一个问题是翻译表会很大并且有大量的行,因为它将存储应用程序的所有翻译(从部分标题 [几个单词] 到整页文本的所有内容。
感谢任何信息。谢谢
【问题讨论】:
-
你也可以查看这个github.com/tr8n/tr8n。
标签: ruby-on-rails database ruby-on-rails-3 internationalization