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...)
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>
come vedete ho assegnato alla variabile $lang = "en"; $locale = "en_US";
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