Jump to content

traduzir site


PaisNeto

Recommended Posts

Boa noite, eu estou a fazer um site e queria queria colocar o site em inglês, espanhol, já estive a fazer algumas pesquisas em como fazer....

A minha duvida é a seguinte: eu tenho que ter 3 sites, um para cada lingua, ou existe uma maneira mais simples de fazer isto?

Eu estive a ler alguns artigos sobre, globalization e localization, mas não percebi muito bem o funcionamento, isto daria para resolver o meu problema?

Desde já agradeço a ajuda disponibilizada.....

Link to comment
Share on other sites

o que você pode fazer são arquivos de linguagens diferentes em XML e uma opção para a pessoa escolher a língua e então, com base na língua selecionada, ele busca estas palavras no arquivo XML. Seria como varias variaveis iguais (em arquivos diferentes) com sua respectiva tradução para aquela língua. Vou ver se acho um exemplo e edito aqui.

edit ---

só achei exemplos em php, mais vou tentar explicar melhor como funciona. Você pede para a pessoa escolher uma linguagem e guarda ela em um 'cookie' e entrão, cada pagina que ele for visitar você busca neste cookie qual a linguagem escolhida e busca no xml. Vou colocar um exemplo em php:

portuguese.php

$lang['LOGGED'] = 'Você está logado.';
$lang['LOGGEDOFF'] = 'Você está deslogado.';
$lang['COOKIE_REJECTED'] = 'Cookie rejeitado.';
$lang['INCORRECT_CHARACTER'] = 'Caracter incorreto detectado.';
$lang['UNKNOWN_MAIL'] = 'E-Mail desconhecido.';
$lang['INCORRECT_CODE'] = 'Código Incorreto.';

english.php

$lang['LOGGED'] = 'You are now logged in.';
$lang['LOGGEDOFF'] = 'You are now logged off.';
$lang['COOKIE_REJECTED'] = 'Cookie rejected.';
$lang['INCORRECT_CHARACTER'] = 'Incorrect Character Detected.';
$lang['UNKNOWN_MAIL'] = 'Unknown Email.';
$lang['INCORRECT_CODE'] = 'Incorrect Code.';

index.php


$load = "English.php";

if (isset($GET_lang)){
$load = $GET_lang.".php";
} else if (isset($_COOKIE['language'])) {
$load = $_COOKIE['language'].".php";
} else if (isset($CONFIG_language)) {
$load = $CONFIG_language.".php";
}

if (!is_file("./language/".$load) || strpos($load, "..") !== false || inject($load))
$load = "English.php";

include($load);
alert($lang['INCORRECT_CHARACTER']);

exemplo retirado de CeresCP (Control Painel de Ragnaok)

Edited by TiagoBR
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.