Pergunta

Eu estou tentando carregar minhas traduções .mo usando o seguinte código, mas ele não funciona. Tenho a ext php gettext. habilitado no meu phpinfo () e todos os locais necessários estão instalados. Eu perdi alguma coisa?

$locale = "en_US";

putenv("LC_ALL=$locale");

setlocale(LC_ALL, $locale);

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

Meu .mo arquivo está localizado na ./locale/en_US/messages.mo

Foi útil?

Solução

Quando um Apache cargas de rosca um arquivo .mo, não vai carregá-lo até que o segmento apache é reciclado. Então, se você atualizar o arquivo .mo, e quer ter certeza de que o seu php está usando esse novo arquivo .mo, você realmente precisa se quer reiniciar o Apache ou usar um nome diferente para o arquivo mo.

De qualquer forma, gostaria de definir a variável de ambiente LANG.

Outras dicas

Você provavelmente precisará alterar o caminho para que ele seja absoluta, em vez de relativo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top