← PHP

Multi-language Site.

Lida 2649 vezes

Offline

Cacofb 
Elite
Mensagens 1036 Gostos 3
Troféus totais: 34
Trófeus: (Ver todos)
Level 6 Tenth year Anniversary Linux User Mobile User Apple User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter

Boas!!
Queria só que o pessoal do PHP me desse umas luzes de como criar um sistema de multi-language num site que estou a criar.
Basicamente só preciso de inglês e português.

Não queria fazer a reprodução do site e traduzi-lo apenas, mas sim fazer isso dinâmicamente.

Alguém me dá umas luzes..? tutorials ou assim?

Depois eu oriento-me :)

Obrigado
Offline

Emanuel Santos 
Elite
Mensagens 848 Gostos 2
Feedback +25

Troféus totais: 25
Trófeus: (Ver todos)
Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1

Assim uma cena para desenrascar : Ficheiro pt.php / en.php com uma matriz com todas as strings.
Offline

Cacofb 
Elite
Mensagens 1036 Gostos 3
Troféus totais: 34
Trófeus: (Ver todos)
Level 6 Tenth year Anniversary Linux User Mobile User Apple User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter

Sim.. e como faria com os conteudos Tom ??
Por exemplo, vou criar um backoffice, onde teria de inserir as noticias em pt e eng, assim como conteudo de outras secções.

Usaria apenas essa matriz com as strings para secções do site e textos pequenos e os restantes conteudos filtrava pela base de dados?
Offline

Emanuel Santos 
Elite
Mensagens 848 Gostos 2
Feedback +25

Troféus totais: 25
Trófeus: (Ver todos)
Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1

Poderias ter duas tabelas com a mesma estrutura mas diferentes nomes. Depois no php só precisarias de fazer :
Código: [Seleccione]
include '/language/' . $language . '.php';

Código: [Seleccione]
sprintf('SELECT campo1, .. FROM '.$language.'_article WHERE cond1 = val1');

Assim podes adicionar mais linguagens sem esforço adicional.
Offline

Emanuel Santos 
Elite
Mensagens 848 Gostos 2
Feedback +25

Troféus totais: 25
Trófeus: (Ver todos)
Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 4 Level 3 Level 2 Level 1

Claro que depois poderias ter uma tabela central onde tinhas a associação dos artigos 'as linguagens mas não é necessário pois tens o id para comparar e a tabela é mais pequena, logo query mais rápida.
Offline

Cacofb 
Elite
Mensagens 1036 Gostos 3
Troféus totais: 34
Trófeus: (Ver todos)
Level 6 Tenth year Anniversary Linux User Mobile User Apple User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter

hmm percebo!!! vou ver a melhor solução!! Em principio irei seguir essa!
Muito obrigado pelas dicas ;)
Offline

Cacofb 
Elite
Mensagens 1036 Gostos 3
Troféus totais: 34
Trófeus: (Ver todos)
Level 6 Tenth year Anniversary Linux User Mobile User Apple User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter

Como só vou querer 2 linguas, Inglês e Português.
Qual a melhor opção para criar um site deste género?

Estava a pensar em criar dois files ( eng.php e pt.php ) que continham todas as strings e depois chamá-los conforme a lingua selecionada pelo user.

Serve para traduzir menus e outros termos pequenos.
Mas será viável para textos grandes no conteudo?? Como por exemplo, uma biografia dum autor?

Se alguém experiente na área me puder ajudar óptimo! :)

Obrigado