Domanda

Sto provando a caricare le mie traduzioni .mo usando il seguente codice, ma non funziona. Ho il php gettext ext. abilitato in my phpinfo () e tutte le impostazioni locali richieste sono installate. Mi sono perso qualcosa?

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

bindtextdomain("messages", "./locale");
textdomain("messages");

Il mio file .mo si trova in ./locale/en_US/messages.mo

È stato utile?

Soluzione

Quando un thread apache carica un file .mo, non lo ricaricherà fino a quando il thread apache non viene riciclato. Quindi, se aggiorni il file .mo e vuoi essere sicuro che il tuo php stia usando quel nuovo file .mo, devi effettivamente riavviare apache o usare un nome diverso per il file mo.

Ad ogni modo, imposterei la variabile d'ambiente LANG.

Altri suggerimenti

Probabilmente dovrai cambiare il percorso in modo che sia assoluto, anziché relativo.

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