Gerenciador de conteúdo tradicional
Vamos considerar um site com a mesma estrutura do anterior, mas agora um site dinâmico, ou seja, um site que possui um gerenciador de conteúdo para efetuar as atualizações nas páginas. Podemos recriar a hierarquia do site no gerenciador de conteúdo como na imagem ao lado e cadastrar o conteúdo nos diversos idiomas.
Para exibição do conteúdo podemos adotar duas estratégias. Uma é utilizar um único arquivo e especificar o idioma desejado num parâmetro da querystring ou num cookie. Conforme o idioma indicado a página seleciona includes localizados, por exemplo, header_en.asp, header_pt.asp, menu_en, menu_pt, etc. O parâmetro também é utilizado para filtrar e exibir o conteúdo no idioma selecionado.
A outra opção é utilizar um arquivo para cada linguagem. Nesse caso, internamente o arquivo fará a especificação da linguagem desejada. O arquivo deve ser constituído de vários includes para permitir que layout e código funcional estejam em um único lugar. Aparentemente essa é a alternativa utilizada pelo site da Agência de Notícias da Petrobras.
As duas opções podem levar a uma profusão de includes, tornando o gerenciamento de modificações no layout ou no código funcional do site bastante complexo.
Vejamos agora uma alternativa mais interessante....