3
respostas

Manter a definição escolhida nas demais páginas

Estou fazendo um botão que ao clicar, vai mudar os textos da página para ingles e ao clicar novamente muda para o portugues, está funcionando perfeitamente, o problema é que, por padrão a página carrega em português e se eu colocar em ingles e mudar de página, ao carregar a página vai voltar ao português, como eu faço para manter a opção da página anterior? Preciso disso urgente, obrigado

O arquivo JS que estou chamando - / Index /

function funcao() { document.getElementById("paragrafo").innerHTML = " A YeahBook é uma rede social que oferece para os usuários o inovador serviço de Yearbook assim você e sua instiuição terão a oportunidade de relembrar momentos e experiências que passaram. Além disso, oferecemos o site em duas línguas a sua escolha, Português e Inglês podendo ser alteradas no canto superior esquerdo da página a qualquer momento. Para isso oferecemos sistemas que vão desde pacotes para turmas separadas, quanto para planos de toda insituição! ";

function funcao2() { document.getElementById("paragrafo").innerHTML = " YeahBook is a social network that offers users the innovative Yearbook service so you and your insitution will have the opportunity to remember moments and experiences that have passed. In addition, we offer the site in two languages ​​of your choice, Portuguese and English, can be changed upper left corner at any moment. For this we offer systems ranging from packages to separate classes, to plans for every institution! ";

Meu código no HTML -

Logo Yeahbook
3 respostas

Voce pode usar o localStorage:

// Quando clicar em portuges
localStorage['leng'] = 'pt-br';

// Quando clicar em ingles
localStorage['leng'] = 'en-us';

Ai quando voce chamar as sus funcoes faça a verificação do valor de localStorage. Só tome cuidado que na primeira vez que rodar o seu site em um cliente, essa chave não terá valor nenhum.

Obs: utilize a formatação aqui do forum, coloque os códigos dentro de três backsticks(```), adicionando antes e depois do código.

Eu coloco esse código nos html's ?

Voce pode colocar assim:

HTML:

<button onclick="changeLang('pt-br')">Bandeira do Brasil</button>


<button onclick="changeLang('en-us')">Bandeira Estados Unidos</button>

Javascript:

function changeLang(newLanguage) {
  localStorage['lang'] =newLanguage;
  atualizaTexto();
}
...
function atualizaTexto() {
  switch(localStorage['lang']) {
  case 'pt-br':
    funcao();
    break;
  case 'en-us':
    funcao2();
    break;
  default:
    funcao();
    break;
  }
}

Neste caso, por padrao vem em pt-br, ja que dentro do default do switch-case chama funcao(). Chame a funcao atualiza texto assim que carregar sua pagina, pode colocar uma tag script no final do seu html que chame a funcao atualizaTexto.