Guest - Fidel - Postado Setembro 11, 2006 Denunciar Share Postado Setembro 11, 2006 Olá amigos,Tenho um site pré-moldado em phpBB e recentemente meu site temrecebido muitas visitas não apenas de Brasileiros, mas também deusuários de lingua espanhola e inglesa.Quem conhece um pouco de phpBB, se você tiver instalado as linguasnecessárias poderá estar mudando a lingua de qualquer menu e imagemdo site (exceção da mensagens).Resolvi então fazer um Script em Java para traduzir o site para inglês eespanhol o que pode ser feito adicionando ?language=english ou?language=spanish ao final do endereço da página.Ex: www.meusite.com.br/portal.php?language=english Fiz da seguinte forma para detectar o idioma do visitante: <script> var type=navigator.appName if (type=="Netscape") var lang = navigator.language else var lang = navigator.userLanguage var lang = lang.substr(0,2) /// Inglês if (lang == "en") window.location.replace('?language=english') else if (lang == "en-au") window.location.replace('?language=english') else if (lang == "en-ca") window.location.replace('?language=english') else if (lang == "en-us") window.location.replace('?language=english') else if (lang == "en-ir") window.location.replace('?language=english') else if (lang == "en-jm") window.location.replace('?language=english') else if (lang == "en-nz") window.location.replace('?language=english') else if (lang == "en-gb") window.location.replace('?language=english') else if (lang == "en-tt") window.location.replace('?language=english') /// Espanhol else if (lang == "es") window.location.replace('?language=spanish') else if (lang == "es-mx") window.location.replace('?language=spanish') else if (lang == "es-py") window.location.replace('?language=spanish') else if (lang == "es-cl") window.location.replace('?language=spanish') else if (lang == "es-cr") window.location.replace('?language=spanish') else if (lang == "es-co") window.location.replace('?language=spanish') else if (lang == "es-pr") window.location.replace('?language=spanish') else if (lang == "es-ni") window.location.replace('?language=spanish') else if (lang == "es-ar") window.location.replace('?language=spanish') else window.location.replace('?language=portuguese_brazil') </script> Porém quando coloco este código no "cabeçalho" da páginapara executar em qualquer página do site, gera um Loop infinito que impossibilita de abrir a página.Eu acho que a unica solução para resolver seria que fosse executadoapenas uma vez, somente quando o visitantes entrasse no site, masrealmente nem tenho idéia de como fazer isso e se é possivel fazerem Javascript.Qualquer sugestão será bem-vinda.Abraços a todos,Fidel. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 OSJunior Postado Setembro 11, 2006 Denunciar Share Postado Setembro 11, 2006 Experimente utilizar chaves. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - Fidel - Postado Setembro 12, 2006 Denunciar Share Postado Setembro 12, 2006 ow irmao, eu coloquei as Chaves porem não sei se foi no lugar certo e continuo preso nesse LOOP INFINITO :STeria como dizer onde deveria colocar estas Chaves?Mais alguma sugestao? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 OSJunior Postado Setembro 12, 2006 Denunciar Share Postado Setembro 12, 2006 Tente assim: <script> var type=navigator.appName if (type=="Netscape"){ var lang = navigator.language }else{ var lang = navigator.userLanguage var lang = lang.substr(0,2) } //document.write(lang+"<br>"); if(lang=="pt"){location.href="portugues.html";} if(lang=="en"){location.href="ingles.html";} if(lang=="es"){location.href="espanhol.html";} </script> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Setembro 13, 2006 Denunciar Share Postado Setembro 13, 2006 Nem assim adiantou :(Mas vo dizer uma coisa (é o que esta acontecendo)...a pagina onde eu inseri o Script é o HEADER da pagina, então ela aparece em toda e qualquer pagina do site, o que esta acontecendo é o seguinte...Logo que o LOCATION.HREF é executado, ele faz a pagina atual atualizar, então o SCRIPT é executado novamente (já que ele esta presente no HEADER) fazendo este ciclo infinito, impedindo que a pagina possa ser exibida. De qualquer forma obrigado pelo ajuda, talvez não tenha como fazer isso que eu quero em JAVASCRIPT. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 OSJunior Postado Setembro 13, 2006 Denunciar Share Postado Setembro 13, 2006 Claro que tem como fazer.O script que fiz é só um pequeno instrumento para você prosseguir e adaptá-lo como desejar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - Fidel -
Olá amigos,
Tenho um site pré-moldado em phpBB e recentemente meu site tem
recebido muitas visitas não apenas de Brasileiros, mas também de
usuários de lingua espanhola e inglesa.
Quem conhece um pouco de phpBB, se você tiver instalado as linguas
necessárias poderá estar mudando a lingua de qualquer menu e imagem
do site (exceção da mensagens).
Resolvi então fazer um Script em Java para traduzir o site para inglês e
espanhol o que pode ser feito adicionando ?language=english ou
?language=spanish ao final do endereço da página.
Ex: www.meusite.com.br/portal.php?language=english
Fiz da seguinte forma para detectar o idioma do visitante:
Porém quando coloco este código no "cabeçalho" da página
para executar em qualquer página do site, gera um Loop
infinito que impossibilita de abrir a página.
Eu acho que a unica solução para resolver seria que fosse executado
apenas uma vez, somente quando o visitantes entrasse no site, mas
realmente nem tenho idéia de como fazer isso e se é possivel fazer
em Javascript.
Qualquer sugestão será bem-vinda.
Abraços a todos,
Fidel.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.