Domanda

in riferimento a

[1] Questo Guide Di Internazionalizzazione:i18n cercare nidificate impostazioni internazionali directory

[2] questo http://guides.rubyonrails.org/i18n.html#organization-of-locale-files

In cui le rotaie di guida solo mostrare come si possa struttura, ma taglia fuori dopo che.Non ha detto nulla su come cercare una data struttura di file

Quindi mi chiedevo se c'è comunque di utilizzare pigro sguardo con la struttura dei file

si consideri il seguente directory

config/locales             app/views          

|locales                   |views
|-defaults                 |-fruits
|--en.yml                  |--apple 
|--views                   |--banana
|---fruits                 |-meats
|----en.yml                |--chicken
|---meat                   |--beef
|----en.yml 

config/applicazione.rb

 config.i18n.load_path += Dir["#{Rails.root.to_s}/config/locales/**/**/*.{rb,yml}"]

.yml

locales/views/fruits/en.yml|  locales/views/meats/en.yml
                           |
en:                        |  en:   
  produce: "Produce"       |   meat_section: "Meat Section" <--- shared key within folder
                           |
  apple:                   |   chicken:
    red: "Red"             |     white_meat: "White Meat"
                           |
  banana:                  |   beef: 
    yellow: "Yellow"       |     red_meat: "Red Meat"

locales/defaults/en.yml

en:
  repeat_key:
    market: "Market"     <------- shared key across folders 

C'è un modo che io possa fare questo ?o qualcosa di simile a questo ??

In vista/frutta/apple.html.haml

= t('.red')                 <------- unique key in apple 
= t('produce')              <------- shared key within fruits folder
= t('repeat_key.maket')     <------- repeat key across fruits and meat folders

So che il fatto che il codice riportato di seguito funzionerà, ma dato che io sono in apple directory, ci deve essere un modo per utilizzare il pigro a cercare la chiave univoca.

In vista/frutta/apple.html.haml

= t('apple.red')            <------- unique key in apple 
= t('produce')              <------- shared key within fruits folder
= t('repeat_key.maket')     <------- repeat key across fruits and meat folders 

Penso che se questo è possibile.È possibile ridurre al minimo la duplicazione delle chiavi e se abbiamo bisogno di extra alias aggiunto, possiamo aggiungere, se necessario, dal momento che credo che la maggior parte del team di traduzione, tariffa a parole

È stato utile?

Soluzione

Ho scoperto che rails sarebbe in realtà tira fuori tutta la .file yml per un nidificata selezionata livello e combinarli per uno, ma che finale .yml che accade sotto il cofano e qualcosa che non si vede (almeno io non riuscivo a trovare un modo per visualizzare);In aggiunta, l' .yml nome non importa come lungo come .yml all'interno è strutturato e Pigro cercare vorresti lavorare.

Alla fine ho fatto di organizzare le localizzazioni come segue, penso sia un modo migliore per organizzare.

|config
|-locales
|--en
|---en.yml
|---fruits.en.yml
|---meat.en.yml   

.yml

locales/en/fruits.en.yml|     locales/en/meats.en.yml
                           |
en:                        |  en:   
  fruits:                  |   meats:
    produce: "Produce"     |     meat_section: "Meat Section" <-shared key within folder
                           |
    apple:                 |     chicken:
      red: "Red"           |       white_meat: "White Meat"
                           |
    banana:                |     beef: 
      yellow: "Yellow"     |       red_meat: "Red Meat"

locales/it/en).yml

en:
  repeat_key:
    market: "Market"     <------- shared key across folders 

In vista/frutta/apple.html.haml

= t('.red')                 <------- unique key in apple 
= t('fruits.produce')       <------- shared key within fruits folder
= t('repeat_key.maket')     <------- repeat key across fruits and meat folders

Dalla presente convenzione

  1. Il tasto con il "." aka Pigro cercare questa che indicano che .yml è in
  2. La chiave con il nome del file davanti mostrano che la chiave condivisa così come la sua posizione
  3. La chiave con un sacco di ripetere in cartelle può andare sotto repeat_key e quelli sono la presenza nel en/it.yml

Altri suggerimenti

@AirWick219.

Se si desidera utilizzare pigro di ricerca, credo che hai bisogno per preparare il file config/locales/views/fruits/apple/en.yml.

Se si desidera chiave condivisa all'interno di una cartella, che ne dite di aggiungere qualcosa di simile, anche se è un po ' ridondante.

config/locales/views/shared/en.yml,

en:
  shared:
    fruits:
      produce: "Produce" 

= t('shared.fruits.produce')

O rinunciare a utilizzare pigro di ricerca :(

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top