Pergunta

Eu criei um pacote de idioma para um site antes, mas eu não tenho certeza se o que estou fazendo é o melhor método.

Basicamente, tudo o que tenho é um arquivo com variáveis ??que definem as constantes string. Normalmente, um conjunto de matrizes em que uma matriz geralmente refere-se a um elementos particulares do local.

Em seguida, o código do site inclui apenas o arquivo apropriado com base em uma bandeira e em seguida echo de fora o elemento de matriz apropriado.

Quais são algumas maneiras de fazer isso para reduzir as dores de cabeça de manutenção e desempenho?

Foi útil?

Solução

Eu sugiro usar Zend_Translate . É um pouco de uma combinação das outras sugestões pessoas que ficaram aqui, só que mais sustentável e melhor concebido.

Você pode alternar adaptadores dependendo da sua preferência (suportes gettext, CSV e uma infinidade de outros), você não precisa define ou globals poluentes seu escopo global e é bem documentado.

Outras dicas

A melhor opção que você poderia ter, com PHP, é GetText , mas não todo o servidor tem built-in, por isso pode ser uma rolha de show, se você está administrando seu servidor.

Um par das maneiras mais comuns de fazer isso são:

1) Use define('SOME_STRING', 'Some string'); - simplesmente tem um arquivo diferente recheado com esses define para cada idioma. Isto é muito fácil, e você não tem que usar "global" em todo o lugar.

2) cordas embrulhe em uma função: translate('My String') - este é mais flexível, como você pode analisar seu código para criar listas de strings para traduzir, e adicionar em características como variáveis, por exemplo, translate('I can count to [number]', 10); (claro, você normalmente escolher um nome de função mais curto, como "_")

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