Melhores práticas para a criação de vários língua-packs em um site? PHP
-
06-07-2019 - |
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?
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 "_")