ciao a tutti.
Sto diventando matto.
Ho gia letto tutte le discussioni su questo forum cercando la parola gettext. Sembra incredibile ma non c'e' molta gente che conosce questa libreria.
Cmq...
Il mio problema e' che inizialmente funziona andando a pescare le traduzioni nella cartella en_US etc corrispondente alla lingua.
Dopo un po che provo, aggiorno i file .po ..... la traduzione prende sempre dalla cartella it_IT ....e non dalle altre..... perche?
Questo il mio file (ho provato con la guida di html.it..... ma il codice non mi sembra giusto...)
come vedete ho assegnato alla variabile $lang = "en"; $locale = "en_US";Codice PHP:
$lang = "en";
$locale = "en_US";
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./locale");
bind_textdomain_codeset("messages", 'UTF-8');
textdomain("messages");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $lang; ?>" lang="<?php echo $lang; ?>">
<head>
<title>
<?php echo _("Titolo della finestra"); ?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1><?php echo _("Prova"); ?></h1>
</body>
</html>
nella mia root ho una cartella "locale" che contiene 3 cartelle : en_US , it_IT e fr_FR .....inoltre dentro ognuna di queste ho la cartella "LC_MESSAGES" dove troviamno il file messages.po e il suo corrispettivo messages.mo.
ecco il file messages.po in it_IT
Codice PHP:"Project-Id-Version: gettext-examples-0.16.2-pre5\n"
"Report-Msgid-Bugs-To: [email]bug-gnu-gettext@gnu.org[/email]\n"
"POT-Creation-Date: 2009-08-16 12:22+0200\n"
"PO-Revision-Date: 2011-07-06 11:24+0100\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
msgid "Titolo della finestra"
msgstr "titolo in ita!"
msgid "Prova"
msgstr "traduzione italiana"
e qui il file nella cartella en_US/LC_MESSAGES
Codice PHP:
"Project-Id-Version: gettext-examples-0.16.2-pre5\n"
"Report-Msgid-Bugs-To: [email]bug-gnu-gettext@gnu.org[/email]\n"
"POT-Creation-Date: 2009-08-16 12:22+0200\n"
"PO-Revision-Date: 2011-07-06 11:24+0100\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
msgid "Titolo della finestra"
msgstr "titolo in eng!"
msgid "Prova"
msgstr "traduzione english"
Perche non mi pesca la traduzione dalla cartella en_EN e invece la pesca da it_IT ?????
Io scrivendo $lang = "en"; $locale = "en_US"; dovrei aver settato tutto come se fosse inglese...
Please aiutatemi
ciao

Rispondi quotando