variabili stringa php in gettext (dimenticato una delle ipotesi)
Domanda
Ho postato una domanda ieri, ma ho appena realizzato che la risposta non sembra di lavorare per una certa situazione. Il post è stato variabili stringa php in gettext e qui è quello che ho chiesto A proposito di:
Ciao,
Come gettext tradurre stringa variabili? Non sembra voler farlo .. Diciamo che ho $ frase = "Ciao mondo"; e poi voglio fare eco ($ Frase); ... come posso fare in modo che che posso tradurre quello che c'è dentro ? $ Frase in Poedit posso usare -> echo sprintf (( "% s test"), $ frase) e questo stamperà "test Ciao Mondo" in il browser, ma apparirà come "% s test" in Poedit e non voglio ottenere il versione tradotta Ciao Mondo all'interno di Poedit. Così come posso usare variabili stringa all'interno Poedit? Grazie!
Questo è stato risolto.
Il problema si verifica se voglio prendere i dati da un file XML e tradurlo.
Voglio essere in grado di effettuare le seguenti operazioni:
$foo = $xmlData -> titleText;
e quindi
echo _($foo);
o qualcosa di simile
$finalVar = _($foo);
Se guardo il file php nel browser posso vedere il contenuto di $ pippo sulla pagina, ma Poedit non prendere la stringa all'interno $ pippo così posso tradurlo.
(credo che questo problema si verifica anche quando si traduce informazioni all'interno di file js)
Grazie per il vostro aiuto,
Simon
Soluzione
Ovviamente non si può fare Poedit capire PHP.
Modifica :? Avete considerato un approccio diverso
if (true) {
$foo = _('variable holds true');
}
else {
$foo = _('variable holds false');
}
echo $foo;
Si può avere PHP generato l'XML compatibile con gettext e per quanto riguarda la banca dati, credo che la soluzione migliore è quella di conservare la traduzione nel DB per sé, ma è anche possibile creare uno script per scaricare tutte le chiavi ed i valori dal database e utilizzare gettext su di esso.