Domanda

Stiamo creando un nuovo modello e abbiamo qualche nuovo testo che non sono ancora definiti da nessuna parte.

Se sarebbero stati definiti prima vorremmo aggiungere un po '

"Mage_TheModule::Foo";"Fuh"

alla translate.csv nel tema.

Che cosa è un buon modo per affrontare con nuove traduzioni?

si eserciteranno essere aggiunto solo per il translate.csv chiaramente senza un codice di modulo?

O è meglio / richiesto per creare un proprio modulo solo per le traduzioni?

È stato utile?

Soluzione

La pratica migliore dipende dalla destinazione d'uso del tema:? E 'un tema che sta per essere distribuito e riutilizzato o è un tema specifico progetto

1. Tema distribuita, destinate ad essere riutilizzate

Evitare di utilizzare translate.csv a tutti in questo caso. Non appena l'utente finale aggiunge il suo translate.csv al suo tema bambino, questo avrà la precedenza il vostro (il solito li fallback si applica il meccanismo). Avrebbero bisogno di copiare tutto dal file originale e tenere traccia delle modifiche.

Al contrario, utilizzare un modulo tema. La maggior parte dei temi sono dotati di uno o più moduli che contengono principalmente blocchi tema specifico, ma anche nuove traduzioni. Quindi utilizzare Mage::helper('yourtheme')->__('your string') per le traduzioni e:

  1. Sei al sicuro da conflitti con moduli di terze parti
  2. Gli utenti possono ignorare questa traduzione specifico con Your_Theme::your string in loro translate.csv

2. tema specifico del progetto

Per le traduzioni in un tema specifico progetto, translate.csv è stato inventato, quindi vorrei usarlo.

Si deve sapere che il campo di applicazione del modulo non è direttamente collegato a traduzioni esistenti nei rispettivi file CSV. Così si può utilizzare un ambito traduzione esistente senza l'aggiunta di un nuovo modulo o la modifica di file CSV modulo.

Per esempio, se aggiungo un traduzioni personalizzate, che è utilizzato sulla pagina del prodotto all'interno di un blocco Mage_Catalog, gli sguardi di traduzione in questo modo:

"Mage_Catalog::New translation","New translation"

Ulteriori informazioni su come trovare la portata di una traduzione specifica qui: Traduzioni e gerarchia di autorità

(o si potrebbe usare la mia TranslationHints estensione)

Altri suggerimenti

Il mio metodo preferito - soprattutto se avete bisogno specifico modulo di traduzioni o si desidera distribuire il modulo - è quello di creare file CSV specifici moduli (definito nel config.xml del modulo) e rilasciarli nelle rispettive directory di traduzione di app/locale. Il tuo 'tema' sarà capire quale usare a causa di impostazioni di lingua impostazioni internazionali.

Se è tema specifico, non utilizzare il codice del modulo in translate.csv. I Personalmente non come translate.csv a tutti - ma lo preferisco alla traduzione in linea - e .

translate.csv dovrebbe essere per gli utenti finali del prodotto che devono fare aggiustamenti (ad esempio Shopping Bag vs. Carrello) per il vostro tema.

Modifica: due anni più tardi per correggere una vecchia credenza, una volta ho tenuto.

Se sono tema specifico, li si dovrebbe aggiungere al translate.csv.
Se il vostro sito è solo in inglese, si può anche ignorare la traduzione.
Se il vostro sito è in un'altra lingua ed i testi hanno un significato a seconda di uno o più moduli che si dovrebbe aggiungere quei testi nel file di traduzione di quel modulo specifico. (Ma non modificare i file in inglese).
Di solito prendo il secondo approccio, perché sul prossimo "lifting" del sito non ho duplicare il file translate.csv del tema.
È inoltre possibile creare un'estensione separata che gestire solo la traduzione del testo, ma se lo fai devi chiamare ogni testo come questo: Mage::helper('myhelper')->__('Some text'). Questo è ok per uso interno, ma se si vuole riutilizzare i modelli si dovrà migrare l'estensione anche da un progetto ad un altro.

La tua domanda è retorica e vaga al tempo stesso.

Il mio approccio è esattamente come hai descritto nella sua domanda. Se le traduzioni sono specifici non modulo messo "text":"text" normale nel translate.csv del vostro tema. Si escluderà dipendenze dei moduli e farà anche il tema ridistribuibile con traduzioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top