Skip to main content

Localize just a contact page with resx files - Language and Internationalization - DotNetNuke

Localize just a contact page with resx files - Language and Internationalization - DotNetNuke

Today I was able to resolve a issue regarding localization that I had to figure out because of client requirements.

The issue was conflict between DotNetNuke Localization and ASP.Net localization. The requirement was for just one page content localization and one page alone for which I didn't wanted to create a entire module in dotnetnuke or mess up the web.config file's localization settings.

After hard battle with countless tries and retries of examples by many dev's, I finally able to crack it.

The solution came to just using the ResolveURL function and placing the localized files in App_LocalResources. It was so simple but it gave me so much headache.

Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit

Dim lang As System.Globalization.CultureInfo
Dim langSetDefault As Boolean

langSetDefault = False

'Add query string logic
Dim qsLang As String
qsLang = Request.QueryString("lang")
If (Len(qsLang) > 0) Then
If (qsLang = "spanish") Then
lang = New System.Globalization.CultureInfo("es-ES")
ElseIf (qsLang = "german") Then
lang = New System.Globalization.CultureInfo("de-DE")
ElseIf (qsLang = "dutch") Then
lang = New System.Globalization.CultureInfo("nl-BE")
langSetDefault = True
End If
langSetDefault = True
End If

If (langSetDefault = True) Then
lang = New System.Globalization.CultureInfo("en-US")
End If

System.Threading.Thread.CurrentThread.CurrentCulture = lang
System.Threading.Thread.CurrentThread.CurrentUICulture = lang

End Sub
Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

lblAboutYourself.Text = Localization.GetString("lblAboutYourself.Text", ResolveUrl("~/App_LocalResources/ContactForm"))
lblFirstName.Text = Localization.GetString("lblFirstName.Text", ResolveUrl("~/App_LocalResources/ContactForm"))

End Sub 'Page_Load
With link href "?lang=english" "?lang=spanish"....
I feel like I have accomplished something big even though it was so simple. Well when a deadline comes closer and you can't figure out a simple issue, heads starts to head up, literally lolz

Any way