2015-01-13 21 views
1
嵌套翻譯

說我有以下en.yml:在重寫的I18n

default_category: &default 
    car: 
    wheel: Wheel 
    engine: Engine 
    ... 
    ... 
    breaks: Breaks 

some_other_category: 
    <<: *default 

什麼是覆蓋字breaks,而不必複製粘貼其他所有翻譯的最好方法?

到目前爲止已經試過:

如果你這樣做:

default_category: &default 
    car: 
    wheel: Wheel 
    engine: Engine 
    ... 
    ... 
    breaks: Breaks 

some_other_category: 
    <<: *default 
    car: 
    breaks: Super Breaks 

所有其他的翻譯一樣wheelengine已經一去不復返some_other_category因爲我'覆蓋所有的翻譯car:

如果您這樣做:

default_category: &default 
    car: 
    wheel: Wheel 
    engine: Engine 
    ... 
    ... 
    breaks: Breaks 

some_other_category: 
    <<: *default 
    car: 
    wheel: Wheel 
    engine: Engine 
    ... 
    ... 
    breaks: Super Breaks 

由於複製/粘貼,存在重複的代碼。

將默認指針移動到汽車的選項在我的方案中並不是真正的選項。

有沒有更好的方法來做到這一點?

回答

1

修正它我自己,解決的辦法是增加一個額外的指針汽車,而不是移動指針。

default_category: &default 
    car: &default_car 
    wheel: Wheel 
    engine: Engine 
    ... 
    ... 
    breaks: Breaks 

some_other_category: 
    <<: *default 
    car: 
    <<: *default_car 
    breaks: Super Breaks 

來源:https://gist.github.com/bowsersenior/979804