Website Multilinguagem

Vou usar esta postagem para listar as melhores que encontrei com instruções para se desenvolver um website multilinguagem em plataforma .net.

1. Camada de Apresentação: http://www.aspsnippets.com/Articles/ASPNet-Multilingual-website-Support-and-display-Multiple-Languages-English-French-in-ASPNet.aspx

Essa dica funciona muito bem para exibir as páginas aspx traduzidas em tempo real porém não traz as funcionalidades para a camada de negócios.  Também percebi que, apesar de excelente a dica acima funciona somente quando se navega na mesma página, quando o usuário troca de página o programa “esquece” a preferência do usuário e volta para o idioma padrão.  Para contornar este problema fiz a seguinte alteração na clase BasePage:

Protected Overrides Sub InitializeCulture()
Dim language As String = “en-us”

‘Detect User’s Language.
If Request.UserLanguages IsNot Nothing Then
‘Set the Language.
language = Request.UserLanguages(0)
End If

‘Check if PostBack is caused by Language DropDownList.
If Request.Form(“__EVENTTARGET”) IsNot Nothing AndAlso Request.Form(“__EVENTTARGET”).Contains(“lstIdioma”) Then
‘Set the Language.
language = Request.Form(Request.Form(“__EVENTTARGET”))
Session(“Culture”) = language
End If

If Session(“Culture”) > “” Then
language = Session(“Culture”)
End If

‘Set the Culture.
Thread.CurrentThread.CurrentCulture = New CultureInfo(language)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(language)
End Sub

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s