Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

internacionalização do site php


Existem várias maneiras de lidar com isso. Nenhum deles "do melhor jeito" e todos com problemas no curto ou no longo prazo. A primeira coisa a dizer é que sites multilíngues não são fáceis, tradutores e pessoas adoráveis, mas difíceis de trabalhar e a maioria dos programadores vê o problema apenas como um problema técnico. Há também outra dimensão, fora do escopo desta resposta, se você está traduzindo ou localizando. Isso envolve olhar para os costumes culturais do público-alvo e, em seguida, adaptar a linguagem, estilo, layout, cor, tipo de letra etc., a essa cultura. Por fim, não use MT, Tradução Automática, para nada sério ou se precisar ser preciso e, ao adquirir tradutores, certifique-se de que eles estejam traduzindo de uma língua estrangeira para sua língua nativa, o que significa que eles entendem todas as nuances do idioma de destino.

Certo. Soluções. Com base em que você não deseja reescrever o site, basta clonar o site que você possui e traduzir as cópias para o idioma de destino. Supondo que a base de código seja estável, você pode usar um VCS para gerenciar quaisquer alterações de código. Você pode ajustar partes individuais do site para se adequar ao idioma de destino, por exemplo, o texto em francês é, em média, 30% maior do que o texto em inglês equivalente, portanto, usar um site para entregar isso significa que você pode (ter) problemas de formatação e precisa trocar um diferentes arquivos css dentro e fora dependendo do idioma. Pode parecer uma maneira desajeitada de fazer isso, mas por quanto tempo os sites existirão? A sobrecarga de gerenciamento de fazer isso dessa maneira pode ser menor do que outras opções.

Segunda via sem reconstrução. Substitua todo o conteúdo do site atual por tags e depois coloque o idioma diferente no arquivo ou db tables, sniff o idioma desejado do usuário (você tem usuários cadastrados que podem fazer uma preferência ou deseja obter a tag de idioma do navegador, ou é será URL ponto-com ponto-fr, ponto-de que fará a escolha) e, em seguida, substitua as tags pelo idioma de destino. Em seguida, você precisa resolver os problemas de dimensionamento e os problemas de imagem separadamente. Esta solução está em vigor quando frameworks como Symfony e Zend fazem para implementar l10n.

Então você pode reconstruir com um framework ou com gettext e possivelmente ter uma solução mais limpa, mas lembre-se de que os frameworks foram projetados para resolver outros problemas, não a tradução e o componente de tradução entrou no framework como uma solução parcial e não completa.

O grande problema com todas as soluções é a manutenção contínua. Porque não só você tem uma base de código, mas também várias bases de linguagem para manter. A menos que todos em uma solução sejam realmente inteligentes e eficazes, a tarefa em andamento será difícil.