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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top