Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou querendo fazer um site multi-idioma e gostaria de saber qual a malhor forma?
Seria trabalhar com includes e dependendo do idioma selecionado utilizaria um include com o idioma selecionado
ou
XML
ou
Alguma outra forma
Obrigado desde já
Em conceito básico normalmente quando faço um site multi idiomas eu cadastro em mysql os idiomas e crio arquivos de linguagens com um array com as frases como cassiano falou. Mas tem a parte dinâmica que são noticas eventos coisas do tipo que fica no banco pra armazenar que provavelmente você vai precisar ter elas em vários idiomas. recomento pra você criar uma tabela noticia so com o principal, o id uma referência pra quando for escrever noticia.
Sei que você não citou mas fica ai um exemplo de como ficaria uma db de noticias multi-idioma;
|lang|
-id
-nome
-ref
|noticias|
-id #identificação
-ref #uma referencia pra você se achar na hora de for postar noticias
-data
|noticias_lang|
-noticia_id
-lang_id
-titulo
-conteudo
ai no caso na tabela noticias_lang você teria um registro pra cada idioma pra determinada noticia, quando for exibir noticia id 10 por exemplo você vai em noticias lang filtra pelo id e pelo idioma.
Espero ter ajudado
boa vinles...
esqueci deste detalhes, informações guardadas no bd...
As informações guardadas no BD eu não me preocupo pq não vem ao caso(nesta minha idéia), minha preocupação é mais com páginas de cadastro, menus, etc
brazilian_index.php
<php
define('_BOMDIA_',"Bom dia!");
?>
english_index.php
<php
define('_BOMDIA_',"Good Morning");
?>
dinamarques_index.php
<php
define('_BOMDIA_',"Godmorgen");
?>
Ai você utiliza as variáveis definidas.É uma ótima oportunidade para você aplicar o pattern Factory, veja: http://www.phpavancado.net/node/337
Se for um site pequeno com poucas apresentações, crie um arquivo para armazenar todos os termos utilizados separados pelo idioma ussando arrays ou o recurso que você achar melhor.
Agora, se o caso for de um sistema maior, sugiro que para o conteúdo estático do site, criar uma tabela de termos é um bom ponto de partida e, para o conteúdo dinâmico, uma tabela para relacionar itens separados por idiomas e tipos, se também for necessário.
cria um arquivo para cada idioma, armazene os textos em variáveis...
e dependendo da escolha do usuário, você inclui esse arquivo...
eu faria assim...