Gettext, non visualizzato
-
08-07-2019 - |
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
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.