2011-06-03 62 views
1

嘿,我想本地化我的模型的一些属性。我发现有很多使用相同的方法,就像下面的宝石(全球化,puret)的:没有语言环境切换的Rails模型本地化

(pseudocode) 
begin 

class Institution 
attr: name_to_be_localized 

set locale to X 
Institution.name = "blabla" 
set locale to Y 
Institution.name = "plapla" 

end 

有另一种方式写在本地化形式/访问数据,可能表明期望语言并将其附加到属性?

回答

0

的I18n将让你做到这一点,通过操纵I18n.locale属性(即get/set方法):

>> helper.t('hello_world') 
=> "Hello you" 
>> I18n.locale = :de 
=> :de 
>> helper.t('hello_world') 
=> "Guten Tag" 
>> I18n.locale = :en 
=> :en 
>> helper.t('hello_world') 
=> "Hello you" 

我不知道这是否会做你想做虽然相当什么。你的意思是,如果某人正在编辑一个对象/记录,而locale是:de,另一个编辑相同的对象/记录,而语言环境是:en,那么这两个值不会相互覆盖,而是保存在不同的字段中?

+0

这就是我想要避免的,这个区域切换。每次我想调用必须本地化的属性时,我都在考虑使用语言属性。 – Mateust 2011-06-03 20:13:41