[Php-it] siti multilingua
Emiliano Gabrielli (aka AlberT)
AlberT at superalbert.it
Wed May 31 17:40:42 CEST 2006
On Wednesday 31 May 2006 15:50, Oscar Biondi - supporto wrote:
> tabella: testo (id, lingua, testo)
> (1, "IT", "testo Italiano")
> (2,"EN", "English text")
>
> spero di esser stato chiaro
per rispondere anche a Gabriele, come verrebbe gestita la traduzione della
seguente frase con un metodo diverso da gettext?
"Ciao Ciccio, è da %d giorni che non ti si vede, ricorda che sei l'utente
numero %d"
dove %d (che ha un formato "casuale") è un segnaposto per un numero :-)
problemi:
- in alcune lingue può risultare elegante e naturale sconvolgere l'ordine
delle parole nella frase originale
- in alcune lingue esistono più forme per il plurale, in italiano una sola!
soluzioni gettext:
- la possibilità di riferirsi a un certo preciso "segnaposto" della funzione
sprintf():
<?php
$format = _("%2\$s has %1\$d citizens");
printf($format, $num, $city);
// le traduzioni possono essere:
// it:
// "%2\$s ha %1\$d abitanti"
// tradotto dal vattelappescaschese:
// "%1\$d uomini sono residenti in %2$s"
?>
- esempio in cz
setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d window", "%d windows", 1), 1); // 1 okno
printf(ngettext("%d window", "%d windows", 2), 2); // 2 okna
printf(ngettext("%d window", "%d windows", 5), 5); // 5 oken
A questa url della doc + esauriente:
http://www.gnu.org/software/gettext/manual/html_mono/gettext.html#DOCF5
--
<?php echo ' Emiliano Gabrielli (aka AlberT) ',"\n",
' socio fondatore e membro del direttivo del GrUSP ',"\n",
' AlberT_at_SuperAlberT_it - www.SuperAlberT.it ',"\n",
' IRC: #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>
More information about the Php-it
mailing list