2011-10-06 17 views
14

ho creato manualmente un file: test.po con il contenuto:Come aggiungere una nuova stringa in un file * .po w/un editor PO

msgstr "saluto"
msgstr "Ciao Mondo"

Ora posso modificare la traduzione (ciao mondo) in editor come "poedit" e "GTranslated" (sto usando Ubuntu). Posso persino aggiungere commenti a quella traduzione. Tuttavia né "poedit" e "GTranslated" mi permetteranno di AGGIUNGERE una nuova stringa di traduzione: ho cercato online inutilmente e ho guardato gli screenshot di altri editor e nessuno sembrava avere un pulsante "nuovo".

Cosa mi manca ??? Sembra stupido dover modificare le nuove chiavi con un editor di testo "semplice" e quindi modificarle in questi editor di PO (qualunque esse siano). (Se non puoi dire che sono nuovo in questo mondo "gettext" - sto costruendo un sito web in Zend/PHP.)

risposta

16

Non dovresti mai aggiungere stringhe direttamente a un file .po; saranno added by msgmerge from the .pot file generated by xgettext.

+0

Ho uno scenario, in cui ho bisogno di aggiungere due parole solo nel file PO, perché quell'apertura e la rigenerazione dei file PO sembra un po 'lunga, non credi? –

+2

@iamtheladylegend: la modifica a mano non è automatizzabile. –

+0

Ho un caso in cui sto aggiungendo parole con% s per le stringhe con collegamento tra ex. Link Name e dati valuta con% d ex. $ 123,00 mentre una stringa che ha più collegamenti in una singola parola, viene inserita come,% 1 $ s e% 2 $ s per ex. Ciao Link1. Sei Link2 benvenuto ora. Ora, sopra parole come% 1 $ se% 2 $ s non sono incluse nei file PO, qualche idea del perché? –

8

Ecco quello che ho fatto:

Modificare il file .po e aggiungere la vostra nuova stringa, ad esempio:

msgid "All Catalogues" 
msgstr "Todos los catalogos" 

Salvare il file .po.

Ora aprirlo in poedit e nel menu selezionare: Catalogo> Aggiorna da file POT

Una volta aggiornato si dovrebbe vedere la nuova stringa e sarà in grado di cambiarlo.

Salva le modifiche e sei a posto.

+1

Il mio caso d'uso potrebbe essere leggermente diverso dal momento che * sto * usando un file POT. Indipendentemente da ciò, la tua risposta mi ha comunque aiutato.Per aggiungere una nuova traduzione manualmente, ho aggiunto il codice specificato al ** file POT **, quindi ho aperto la mia traduzione .po in poedit e selezionato Catalog> Update da POT come suggerito. Ha funzionato perfettamente – rinogo

+0

Fantastico, felice di sentire @rinogo – eduwass

+0

ha funzionato per me, grazie! – RobbTe

0

aprire il file .po con qualsiasi editor di testo, aggiungere questa riga o il testo che è necessario aggiungere.

msgid "All Catalogues" 
msgstr "Todos los catalogos" 

salvare e lanciare :-D

0

MacOS:

  1. Modificare il file .po in qualsiasi editor di testo.
  2. Aprire il file .po in Poedit (gratuito)
  3. In Poedit, selezionare File -> Compila per .MO

Questo è ciò che ha funzionato per me in un file di Wordpress Genesis .po.