Pergunta

Eu estou procurando uma maneira compatível com os padrões para armazenar conteúdo multi-idioma para uma aplicação Web. Até agora, eu ter empregado meu próprio "traduzir ()" funções que ler dados de um arquivo ou uma tabela de dicionário em um banco de dados. No entanto, manter os dicionários atualizados em uma tabela de banco de dados é muito complicado se você trabalha com diferentes cópias do aplicativo web.

Eu como gettext porque há uma infinidade de ferramentas disponíveis para isso. No entanto, eu desenvolver aplicativos para diferentes plataformas. Estou absolutamente dispostos a lidar com as formas de baixa qualidade de setlocale () e consortes - ou seja, as dezenas de diferentes variações de cordas locale diferentes de sistema para sistema que você precisa fornecer para fazê-lo funcionar. Jamais. Eu tenho um conjunto de línguas - digamos de, en, e es -. E eu quero carregar o dicionário e de trabalho adequado com _ () sem tocar setlocale () ou bindtexdomain () uma vez

É este de alguma forma possível usando gettext? Ou será que alguém sabe outra simples, rápido (!) Solução pequena, i18n para PHP que pode trabalhar com .po / .mo arquivos, de preferência sem a necessidade de uma extensão PHP?

Outras dicas

Este método deve funcionar mesmo com locais não-padrão:

$locale = 'someWeirdLocale';

putenv('LC_MESSAGES=' . $locale);
bindtextdomain('domain', './locale');
textdomain('domain');

Aproveite!

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