Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

[Resolvido] Criar um site em vários idiomas

Recommended Posts

O link irá apontar para uma página que irá simplesmente pegaR a escolha do usuário e redireciona para a página inicial do site na língua escolhida. A página principal será preparada de forma a expor o seu conteúdo na língua escolhida pelo usuário.

 

Nosso exemplo terá 3 páginas:

 

* Index.html - escolha da linguagem

* Escolha.asp - processos de escolha do usuário e aponta para a página principal

* Principal.asp - o site verdadeiro, pronta a aceitar a escolha do usuário e ajustar em conformidade.

 

Esta é uma página HTML simples com links. Vemos o seu código:

 

<html>
<body>

<h3 align="center">Escolha o idioma</h3>

<p align="center">
    <a href="scegli.asp?lang=IT">Portugues Br</a>
    ::
    <a href="scegli.asp?lang=EN">English</a>
</p>

</body>
</html>

O parâmetro lang utilizados no link , associado com a página em que você aponta, servirá para fazer a escolha da linguagem. Neste exemplo, optou por exibir um único site em Portugues e Inglês, por isso os valores usados são PT e EN.

 

escolha.asp

 

Neste ponto, devemos chamar a escolha do usuário. Abaixo o código fonte:

 

<%@Language = JScript%>
<%
    var lang = new String(Request.QueryString("lang"));

    if (lang == "" || lang == "undefined")
    {
        Response.Redirect("index.html");
    }
    else
    {
        Session("linguagem") = lang;
        Response.Redirect("principal.asp");
    }
%>

A variável lang recupera a escolha do usuário, então verifica que não foi passado um valor incorreto e / não ou inexistente. e encaminha para a página principal, a criação de uma instância do objeto de sessão, dando-lhe o nome de linguagem.

 

principal.asp

 

o código é muito simples, basta verificar o valor da variável Session ( "idioma") e apresentar conteúdos diferentes em função:

 

<%@Language = JScript%>
<html>
<body>

<h3 align="center">
    <%if (Session("linguagem") == "PT") {%>
        BEM VINDO
    <%} else if (Session("linguagem") == "EN") {%>
        WELCOME
    <%} else { Response.Redirect("index.html") }%>
</h3>

</body>
</html>

Essa solução é válida, você pode usar uma base de dado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado!

Essa lógica já a sigo.

Tenho vários ficheiros só com variáveis a traduzir que são carregados consoante a língua.

 

pt.asp

 

lang.Add("m1"), "Bem vindo"
lang.Add("m2"), "Homem"
lang.Add("m3"), "Mulher"
lang.Add("m4"), "Os nossos favoritos"
lang.Add("m5"), "Ofertas Especiais"

 

en.asp

 

lang.Add("m1"), "Wencome"
lang.Add("m2"), "Men"
lang.Add("m3"), "Woman"
lang.Add("m4"), "Our favorite"
lang.Add("m5"), "Special Offers"

A dificuldade é que são centenas de variáveis. Quando temos 2 línguas é fácil, mas quando passamos a ter 4,5,6... e pelo meio entra chines, russo,... fica complicado gerir:

 

cumprimentos

Miguel

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.