Olá estou migrando um website estático para torná-lo dinâmico com asp.net C#.
À principio vai estar disponível em três idiomas (espanhol, galego e inglês), porém quero deixá-lo aberto acrescentar outros idiomas mais adiante. Estive me informando sobre o tema, porém não encontrei o que necessito. Minha primeira idéia era ter uma subpasta por cada idioma no diretório "App_LocalResources" com os arquivos de recursos de cada página (aqui faria a tradução de cada controle de servidor da página correspondente). Entretanto, não estou seguro de que utilizar unicamente este método seja a melhor opção.
Gostaria de saber se alguém pode me guiar nas possibilidades que existem para desenhar isto e as vantagens e desvantagens que têm.
Ademais seria uma grande ajude se alguém me comentasse como está sendo isto nos sites atuais.
Agradeço desde já.
O melhor é que você salve os literais em um arquivo ou no BD (acho melhor no bd) e assim dependendo de uma variável você carrega um ou outro. Uma possibilidade de tabela seria:
literais:
Id | Idioma | Texto
-------------------
0 |es-ES | Hola
0 |es-GL | Holiña (:p)
0 |en-UK |Hello
Onde a PK seriam id+idioma. Ou ao invés de um id numérico, você pode utilizar algo mais intuitivo:
Id | Idioma | Texto
-----------------------
saudação |es-ES | Hola
saudação |es-GL | Holiña (:p)
saudação |en-UK |Hello
Com uma variável, você carrega os textos de um ou de outro idioma e salva em um array associativo o id e o texto, e escrevendo (em php) echo $array['saudação']; lhe mostrará a saudação dependendo do idioma. E pode colocar tantos idiomas quantos quiser :D
De qualquer forma, em Criarweb tem uma outra faq sobre <a href=" http://www.criarweb.com/faq/web-em-2-idiomas.html
">fazer uma web em vários</a> idiomas que certamente lhe ajudará também.
Por Wey