Domanda

Ci sono strumenti per la generazione di un file CSV per le traduzioni di un modulo? Cioè rilevare le chiamate verso __() all'interno di un modulo e l'output le informazioni in un file CSV pronto per essere utilizzato come un file di traduzione per il modulo?

È stato utile?

Soluzione

È possibile utilizzare un semplice * GREP dei file di template:

> grep "__\(.*?\)" -Roh . | sed "s/__([\"']//" | sed "s/[\"'].*//g" | sort | uniq

Questa uscita volontà un elenco di frasi uniche - come (ha funzionato contro /app/design/frontend/base/default/templates/):

You have not tagged any products yet.
You have placed no orders yet.
You have placed no orders.
You have placed no products yet.

Questo ti porterà 80% del tragitto, ma ora avrete bisogno di fare quanto segue:

  • Ciò restituirà i risultati per le traduzioni che sono non quotate o che sono una traduzione diretta di una variabile, ad esempio $this->__($title) -. questi dovranno essere rimossi e trattati manualmente
  • Sarà necessario copiare questo contenuto in una seconda colonna, comma delimitted. Ho preso la briga di aggiungere il comando sed sul grep sopra in modo che emetta tutto d'un fiato:

    > grep "__\(.*?\)" -Roh . | sed "s/__([\"']//" | sed "s/[\"'].*//g" | sort | uniq | sed "s/\(.*\)/\"\1\",\"\1\"/"
    

* LOL questo non è molto semplice, immagino

Altri suggerimenti

Ecco alcune espressioni regolari che potrebbero aiutare.
Questo dovrebbe corrispondere Mage::helper('some_helper')->__('Some text')

'/helper\(\\\'([a-z_]+)\\\'\)-\>__\([\s]*([\'|\\\"])(.*?[^\\\\])\\2.*?\)/'

Questo dovrebbe corrispondere $this->__('Some Text')

'/\$this-\>__\([\s]*([\'|\\\"])(.*?[^\\\\])\\1.*?\)/'

E per i file XML, basta caricare il file come un oggetto XML e quindi XPath gli elementi con il translate attributo.
[Edit]
Recentemente ho messo insieme un'estensione che dovrebbe individuare i testi traducibili in un modulo e generare il file CSV per esso. Check it out.

Non risponde, ma un suggerimento, se questo è ok.

Cercando di fare buone traduzioni senza vedere il contesto intorno a quella frase o una parola sarà estremamente difficile.

I suggerire cercando di trovare un insieme di traduzione di base e poi passare da lì. È possibile utilizzare le 'traduzioni inline' dal backend per vedere quali parti del negozio online sono traducibili

ho usato Notepad ++, aperto tutti i file e le sottocartelle del plugin in esso.

premuto CTRL + F e cercato __ (e di ricerca pressato in tutti i documenti e poi è andato su tutti loro e li copiate in un csv.

Comunque la metti, sta andando ad essere un sacco di lavoro; -)

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