• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

sike

Base Multilínguas

7 mensagens neste tópico

Boas tardes,

Queria criar um front end e um backoffice (PHP5 + MySQL) multi-línguas mas não faço a minima ideia de como criar o mesmo.

O objectivo é o utilizador ter no painel pessoal a possibilidade de escolher a língua em que quer as variadas coisas,

vai ser um projecto de grandes dimensões em termos de áreas por isso era bom que fosse bem estruturado de inicio.

O projecto vai ser em torno de notícias por isso era ideal que tanto os conteúdos da notícia como os nomes das áreas fossem dinamicas  :P

Se alguém tiver assim uma maneira de explicar ou mesmo uns exemplos agradecia.

Thanks in advance.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já pensaste em colocar tudo na base de dados com mais um campo a dizer em que lingua se encontra?

Depois, no painel onde se escolhe a lingua, guardavas numa sessão, lias dessa sessão o idioma escolhido e fazias uma query conforme:

mysql_query("select * from noticias where id_noticia='x' and idioma='{$_SESSION['idioma']}'");

Para a interface (o html em si), acho que fazendo ficheiros separados com as traduções e depois fazer o include de acordo com o didoma também é uma opção... assim também não subcarregas muito o Mysql

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso até funciona para os conteúdos, mas para menus e afins ?

Teria de fazer o mesmo para cada área seria a melhor maneira ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, acho que terias de fazer um template para cada idioma, e depois chamá-lo através de um include. Agora se são muitos... não te sei dar uma sugestão melhor que esta...

Agora acho que meter tudo no SQL acaba por se tornar ineficiente porque imagina lá só para visitar, faz logo uma data de queries so por causa dos menus, por exemplo...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, acho que terias de fazer um template para cada idioma, e depois chamá-lo através de um include. Agora se são muitos... não te sei dar uma sugestão melhor que esta...

Agora acho que meter tudo no SQL acaba por se tornar ineficiente porque imagina lá só para visitar, faz logo uma data de queries so por causa dos menus, por exemplo...

Sim, foi nesse aspecto que estava a pensar que poderia não ser a melhor maneira.

Eu estava a pensar 2 inicialmente mas com possibilidade de adicionar mais posteriormente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

faz querys a vontade rapaz!

Cache evita querys que não sejam precisas :P

Se precisas de ir buscar coisas que o cliente irá inserir, tens de ir a base de dados, se tiveres de ir buscar traduções de botoes, etc, coisas já de "default" vai a file...

Há... e para os menus... basta uma instrução de sql...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nao tens que fazer varios templates para varias linguas. Basta-te que em cada parte do codigo fonte da aplicacao que facas output de texto uses uma variavel em vez do texto em si.

Isto permite-te que guardes todo o texto num ficheiro para uma lingua, se precisares de mais linguas entao instalas mais ficheiros.

por exemplo

o ficheiro portugues.php teria:

$texto["title"]="O meu site";

$texto["description"]="um site com coisas minhas";

$texto["gobacklink"]="voltar ao inicio";

Guarda na base de dados a lingua que queres usar, conforma a lingua a usar mostras os ficheiro em questao. Bastando para isso inclui-lo em sempre. Uma boa pratica é incluires isto juntamente com outras coisas tipo ligacao a base de dados, inicio de sessao, etc.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora