Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
Purtroppo ho cantato vittoria troppo presto ;-) Cerco di spigarmi meglio: un programma in PHP fa il parsing di alcuni file XML, di cui riporto un estratto: attribute name=maxMail prettyName_(Max number of Mail)/prettyName ora pur inserendo il tag _( in corrispondenza delle frasi da tradure nel file XML e generato il file .po con po4a in modo corretto nella finestra del browser non viene presentata la traduzione del file XML immagino perché sono su due livelli diversi (intendo PHP e XML) Alessandro -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
On Sun, 07 Sep 2008 16:04:45 +0200, Alessandro De Zorzi wrote: Cerco di spigarmi meglio: un programma in PHP fa il parsing di alcuni file XML, di cui riporto un estratto: attribute name=maxMail prettyName_(Max number of Mail)/prettyName ora pur inserendo il tag _( in corrispondenza delle frasi da tradure nel file XML e generato il file .po con po4a in modo corretto nella finestra del browser non viene presentata la traduzione del file XML immagino perché sono su due livelli diversi (intendo PHP e XML) Lo hai compilato il .po, vero? $ msgfmt messages.po Comunque, un consiglio che mi sento di darti è: ?php $stringa = ...// codice per prenderla da prettyName/prettyName echo _($stringa); ? Cioè: non utilizzare _() nell'XML, ma nel codice PHP (con le rispettive funzioni di inizializzazione... tipo bindtextdomain(), ...) (non ho seguito l'intero thread, quindi magari sto dicendo una cavolata... scusa ma vado di frettissima :D) Ciao, David -- . ''`. Debian maintainer | http://wiki.debian.org/DavidPaleino : :' : Linuxer #334216 --|-- http://www.hanskalabs.net/ `. `'` GPG: 1392B174 | http://snipr.com/qa_page `- 2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174 signature.asc Description: PGP signature
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
David Paleino wrote: $stringa = ...// codice per prenderla da prettyName/prettyName echo _($stringa); magari fosse possibile farlo ;-) però effettivamente mi hai fatto venire in mente che il problema è lato PHP e usando la funzione gettext() di PHP FUNZIONA: echo gettext($stringa_catturrata_da_XML) infatti gettext() va a cercare se la stringa è stata tradotta ora devo solo affinare il parsing dei file xml con po4a-gettextize che mi da qualche problema con le stringhe duplicate... ma direi che ho risolto grazie Alessandro -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
On Sun, 07 Sep 2008 16:29:23 +0200, Alessandro De Zorzi wrote: David Paleino wrote: $stringa = ...// codice per prenderla da prettyName/prettyName echo _($stringa); magari fosse possibile farlo ;-) Beh, perché no? :) (sono di nuovo qui, ricevuto un contrordine..) però effettivamente mi hai fatto venire in mente che il problema è lato PHP e usando la funzione gettext() di PHP FUNZIONA: echo gettext($stringa_catturrata_da_XML) Ma anche _(), guarda (che è un alias di gettext(), se non ricordo male...) Ciao, David -- . ''`. Debian maintainer | http://wiki.debian.org/DavidPaleino : :' : Linuxer #334216 --|-- http://www.hanskalabs.net/ `. `'` GPG: 1392B174 | http://snipr.com/qa_page `- 2BAB C625 4E66 E7B8 450A C3E1 E6AA 9017 1392 B174 signature.asc Description: PGP signature
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
David Paleino wrote: Ma anche _(), guarda (che è un alias di gettext(), se non ricordo male...) hai perfettamente ragione _() si comporta allo stesso modo di gettext() quello a cui pensavo prima - in modo contorto - per cui ho risposto magari fosse possibile è che non è possibile fare quanto segue: ?php $msg = array('Banana','Anans','Apple'); foreach ($msg as $stringa) echo _($stringa); ? e sperare che magicamente xgettext crei un .po dove definisce le traduzioni di Banana, Anans, Apple ma se Banana, Anans, Apple sono già tradotte effettivamente _() restituisce il valore tradotto grazie ancora Alessandro -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
On Sun, Sep 07, 2008 at 06:11:26PM +0200, Alessandro De Zorzi wrote: ?php $msg = array('Banana','Anans','Apple'); foreach ($msg as $stringa) echo _($stringa); ? non sarebbe un filo piu' elegante usare $msg=array(_('Banana'), _('Ananas'), _('Apple')); ? -- Massimiliano Masserelli --- If a fool persists in his folly he shall become wise. -- William Blake -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
gettext e xML (Re: Problema con gettext stringhe dinamiche)
Alessandro De Zorzi wrote: attribute name=maxMail size4/size label_(Nome che voglio stampare)/label ... default100/default /attribute ...dovrebbe funzionare, credo Piccolo problema gettext non riconosce il linguaggio XML Choice of input file language: -L, --language=NAME recognise the specified language (C, C++, ObjectiveC, PO, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Smalltalk, Java, JavaProperties, C#, awk, YCP, Tcl, Perl, PHP, GCC-source, NXStringTable, RST, Glade) Esiste un altro parser per creare file .po da XML? Alessandro -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
Alessandro De Zorzi scrisse: Piccolo problema gettext non riconosce il linguaggio XML Esiste un altro parser per creare file .po da XML? In inkscape usiamo gettext anche per gli header delle estensioni, scritti in xml. Nel POTFILES.in ci sono righe tipo: [type: gettext/xml] share/extensions/addnodes.inx che poi vengono usate da intltool e tradotte nel POTFILES in righe normali. Nel caso non funzioni, guarda nell'svn dove avviene la magia. Così a freddo non saprei indirizzarti con maggiore precisione. Ciao, Luca -- .''`. ** Debian GNU/Linux ** | Luca Bruno (kaeso) : :' : The Universal O.S.| lucab (AT) debian.org `. `'` | GPG Key ID: 3BFB9FB3 `- http://www.debian.org | Debian GNU/Linux Developer pgpflollcFjwS.pgp Description: PGP signature
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
Luca Bruno wrote: In inkscape usiamo gettext anche per gli header delle estensioni, scritti in xml. Nel POTFILES.in ci sono righe tipo: [type: gettext/xml] share/extensions/addnodes.inx che poi vengono usate da intltool e tradotte nel POTFILES in righe normali. grazie della dritta, sto cercando di capire come usarlo in effetti i file XML tipo addnodes.inx vedo che contengono il prefisso _ in alcuni tag e attributi e quindi presumo si possa arrivare al risultato sperato in contemporanea ho trovato un altro tool: poxml poxml - tools for using PO-files to translate DocBook XML files che sembra possa aiutarmi grazie Alessandro -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
Wed 27 August 2008, alle 10:17 (GMT+0200), Alessandro De Zorzi ha scritto: Piccolo problema gettext non riconosce il linguaggio XML Choice of input file language: -L, --language=NAME recognise the specified language (C, C++, ObjectiveC, PO, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Smalltalk, Java, JavaProperties, C#, awk, YCP, Tcl, Perl, PHP, GCC-source, NXStringTable, RST, Glade) Esiste un altro parser per creare file .po da XML? aptitude install po4a man 7 po4a man Locale::Po4a::Xml man 1 po4a man ... -- Ave Johan Haggi Gates's Law: La velocita` del software si dimezza ogni 18 mesi. da Jargon File 4.3.1 signature.asc Description: Digital signature
Re: gettext e xML (Re: Problema con gettext stringhe dinamiche)
Johan Haggi wrote: aptitude install po4a man 7 po4a man Locale::Po4a::Xml man 1 po4a man ... grazie, è esattamente quello che mi serviva per limitare l'applicazione solo ai tags di interesse la sintassi è poco intuitiva: # limita al solo tag prettyName po4a-gettextize -o tags=prettyName -o tagsonly=1 -f xml -m mail.xml # ! DO NOT WORKS ! po4a-gettextize -o tags=prettyName tagsonly=1 -f xml -m mail.xml po4a-gettextize -o tagsonly=prettyName -f xml -m mail.xml # ! DO NOT WORKS ! Alessandro -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Problema con gettext stringhe dinamiche
Salve, sto migrando il sistema di localizzazione di un software PHP a gettext ma mi sono imbattuto in un problema che non riesco a risolvere. Il problema è il seguente: Nel codice ci sono cicli che semplifico in questo tipo: foreach ($my_array as as $k = $v ) echo $lang[$k]. ' vale '.$v; $lang è un array utilizzato dal sistema attuale per le traduzioni ma non so come dichiararle in gettext, ovvero il massimo che posso fare è qualcosa che non mi consente di tradurre stringe che sono generate in automatico, o sbaglio? foreach ($my_array as as $k = $v ) printf (_(%k vale %s),$k,$v); Alessandro -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Problema con gettext stringhe dinamiche
On Tue, Aug 26, 2008 at 2:35 PM, Alessandro De Zorzi [EMAIL PROTECTED] wrote: Salve, sto migrando il sistema di localizzazione di un software PHP a gettext ma mi sono imbattuto in un problema che non riesco a risolvere. Il problema è il seguente: Nel codice ci sono cicli che semplifico in questo tipo: foreach ($my_array as as $k = $v ) echo $lang[$k]. ' vale '.$v; $lang è un array utilizzato dal sistema attuale per le traduzioni ma non so come dichiararle in gettext, ovvero il massimo che posso fare è qualcosa che non mi consente di tradurre stringe che sono generate in automatico, o sbaglio? foreach ($my_array as as $k = $v ) printf (_(%k vale %s),$k,$v); Alessandro non ho capito bene. ci sono due situazioni ipotetiche diverse, e non ho capito a quale delle due ti riferisci: situazione A - le stringhe che generi automaticamente sono in numero limitatissimo, ed ha senso considerarle come stringhe compiute da tradurre (che so, Empty File, Non Empty File, Empty Dir, Non Empty Dir). in questo caso può senso inserire queste stringhe nella traduzione, ad esempio perché File Vuoto e Directory Vuota hanno generi diversi. situazione B - le stringhe che generi automaticamente sono in numero enorme, potenzialmente illimitato. (Hello, Mark, Hello, Jane, Hello, World, Hello, Stephen etc.). in questo caso non ha senso tradurre tutte le possibili combinazioni, specie se infinite. così, traduci solo la stringa Hello, %s, nel modo più generalista possibile, in modo da poter accontentare lingue che hanno strutture diverse. se quello che ho detto non c'entra niente, perdonami, vuol dire che non ho proprio capito. -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: Problema con gettext stringhe dinamiche
Pietro Giorgianni wrote: se quello che ho detto non c'entra niente, perdonami, vuol dire che non ho proprio capito. Grazie della risposta, spiego il caso concreto che altrimenti è difficile da spiegare: * creo un form HTML dinamicamente con una serie di input, a fianco della casella dell'input ci sono i nomi dei campi, i campi derivano da un file XML di questo tipo che possono essere forniti da terzi quindi non di mia competenza: attribute name=maxMail size4/size ... default100/default /attribute Quello che faccio è stampare a video il valore (es. maxMail) ma alle volte il nome è troppo lungo e allora fornisco una traduzione in questo modo $label = (isset($lang[$name]) ? $lang[$name] : $name); A questo punto però mi sono accorto che la soluzione forse è proprio l'uovo di colombo nel file XML aggiungere un campo opzionale label/label attribute name=maxMail size4/size label_(Nome che voglio stampare)/label ... default100/default /attribute ...dovrebbe funzionare, credo Alessandro -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Problema con gettext stringhe dinamiche
Salve, sto migrando il sistema di localizzazione di un software PHP a gettext ma mi sono imbattuto in un problema che non riesco a risolvere. Il problema è il seguente: Nel codice ci sono cicli che semplifico in questo tipo: foreach ($my_array as as $k = $v ) echo $lang[$k]. ' vale '.$v; $lang è un array utilizzato dal sistema attuale per le traduzioni ma non so come dichiararle in gettext, ovvero il massimo che posso fare è qualcosa che non mi consente di tradurre stringe che sono generate in automatico, o sbaglio? foreach ($my_array as as $k = $v ) printf (_(%k vale %s),$k,$v); Alessandro -- RHX Studio Associato Tel. +39 0437 3730899 FAX +39 0437 3731180 http://www.rhx.it/ Alessandro De Zorzi RHCE RHEL4 804006070922038 GPG public key http://www.rhx.it/adezorzi.asc -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto unsubscribe. Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]