Arkilus 0 Postado Outubro 4, 2007 Share Postado Outubro 4, 2007 (editado) Sistema de Idiomas para seu Site Após o pedido de alguns amigos eu decidi gastar um tempinho e desenvolver um sistema simples e funcional que possibilite ao seu site disponibilizar tradução completa para mais de um idioma. - Download do sistema junto com arquivo-exemplo - class.langSys.php no PasteLog Modo de usar: Crie uma pasta que conterá os arquivos de tradução, e nela coloque estes nomeando-os da forma sigla_do_idioma.phpO conteúdo desses arquivos deve seguir o seguinte esquema: <?php return array( 'label1' => 'String1 traduzida', 'label2' => 'String2 traduzida', 'label3' => 'String3 traduzida' ); ?> O arquivo class.langSys.php pode estar em qualquer pasta, desde que você saiba aonde Em seu arquivo principal do site (normalmente o index.php) crie uma array de configuração, nesse esquema:$langConfig = array( 'langDir' => 'langs', 'defaultLang' => 'pt_br' ); Onde langDir deve conter o caminho para a pasta criada acima, e defaultLang a sigla do idioma padrão Ainda no mesmo arquivo fazer o include do class.langSys.php e chamar a função estática prepare passando como parâmetro a array de configuração:require_once('/path/to/class.langSys.php'); langSys::prepare($langConfig); Em todas as partes do site que necessitarem do sistema de idiomas, os textos devem ser substituídos por chamadas a função estática get, passando como parâmetro a label a que é referenciado nos arquivos de idiomas, por exemplo:<head><title><?=langSys::get('title')?></title></head> <body> <div> <h1><?=langSys::get('welcome')?></h1> </div> </body> Para o uso de um select para a selação do idioma, o conteúdo das tags value deve ser exatamente igual ao nome do arquivo do idioma relacionado:<select id="sel_lang"> <option value="pt_br">Portugues</option> <option value="en">English</option> </select> Uma maneira de fazer com que o idioma mude assim que é selecionado no select está incluída em javascript no arquivo de exemplo. Caso deseje criar links no lugar do select, estes devem seguir o esquema ?lang=silga_do_idioma, por exemplo: <a href="?lang=pt_br">Português</a> / <a href="?lang=en">English</a> Exemplo de uso: <?php $langConfig = array( 'langDir' => 'langs', 'defaultLang' => 'pt_br' ); require_once('class.langSys.php'); langSys::prepare($langConfig); ?> <html> <head> <title><?=langSys::get('title')?></title> </head> <body> <div width="400px" align="center" style="border: 1px ridge #0f0; background: #ccc; height: 200px;"> <h1><?=langSys::get('welcome')?></h1> <div style="font: 400 13px tahoma; color: #00f"><?=langSys::get('home_text')?></div> </div> <br /> <br /> <center> <select id="sel_lang"> <option value="pt_br">Portugues</option> <option value="en">English</option> </select> </center> <script type="text/javascript"> var curLang = '<?=langSys::$lang?>'; var oSelect = document.getElementById('sel_lang'); for(var i=0; oSelect.options[i]; ++i) { if(oSelect.options[i].value == curLang) { oSelect.options[i].selected = true; break; } } oSelect.onchange = function() { document.location.href = '?lang='+this.options[this.selectedIndex].value; } </script> </body> </html> Lembrando que o propósito é dessa classe é ser estática, portanto não vai adiantar nada criar objetos dela. Editado Outubro 4, 2007 por Arkilus Link para o comentário https://xtibia.com/forum/topic/64680-sistema-de-idiomas/ Compartilhar em outros sites More sharing options...
Nostradamus 6 Postado Outubro 7, 2007 Share Postado Outubro 7, 2007 Muito bom, aliás, o que seu é ruim Arkilus? ;P Link para o comentário https://xtibia.com/forum/topic/64680-sistema-de-idiomas/#findComment-398809 Compartilhar em outros sites More sharing options...
Ardok 0 Postado Dezembro 23, 2007 Share Postado Dezembro 23, 2007 Funciona em site SQL? Link para o comentário https://xtibia.com/forum/topic/64680-sistema-de-idiomas/#findComment-447989 Compartilhar em outros sites More sharing options...
EremboR 0 Postado Janeiro 13, 2008 Share Postado Janeiro 13, 2008 Que massa. eu gostei Bastante! Agora os Gringos e Polaks poderam ver o site em sua lingua! =) Link para o comentário https://xtibia.com/forum/topic/64680-sistema-de-idiomas/#findComment-460823 Compartilhar em outros sites More sharing options...
danielpw 0 Postado Março 18, 2008 Share Postado Março 18, 2008 Otímoo! E muito boa idea ! Link para o comentário https://xtibia.com/forum/topic/64680-sistema-de-idiomas/#findComment-500932 Compartilhar em outros sites More sharing options...
Northon 3 Postado Março 28, 2008 Share Postado Março 28, 2008 Cara Era mais facil pegar um tradutor pegar os links das paginas traduzidas e colocar no site Mais desse jeito ta bom. Link para o comentário https://xtibia.com/forum/topic/64680-sistema-de-idiomas/#findComment-506962 Compartilhar em outros sites More sharing options...
Posts Recomendados