0

I've been looking for a tuto to use resx but I only found some where the resx depends on the localization(and the language of the browser).

How can I tell my app to use a certain resx when a certain variable has a certain value. For instance I'd like to use default.aspx.de.resx when xyz=1.

Thanx in advance

Edit: I ve heard there's an issue to override InitializeCulture. The solution would be that:

Public Class FormBase
Inherits Page

Protected Overrides Sub InitializeCulture()
    Dim selectedLanguage As String

    Select Case Master.LanguageID
        Case 1
            selectedLanguage = "fr-BE"
        Case 4
            selectedLanguage = "nl-BE"
        Case 5
            selectedLanguage = "en-GB"
        Case 6
            selectedLanguage = "de-DE"
        Case Else
            selectedLanguage = "fr-BE"
    End Select

    UICulture = selectedLanguage
    Culture = selectedLanguage
    Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage)
    Threading.Thread.CurrentThread.CurrentUICulture = New CultureInfo(selectedLanguage)

    MyBase.InitializeCulture()
End Sub

End Class

Then on the aspx.vb:

Partial Class Default Inherits FormBase

How could I access to Master.LanguageID in this class?

1 Answers1

0

Try overriding InitializeCulture in code behind of page.

protected override void InitializeCulture()
{
    if (Request.QueryString["xyz"] == "1")
    {
        String selectedLanguage = "de-DE"
        UICulture = selectedLanguage ;
        Culture = selectedLanguage ;

        Thread.CurrentThread.CurrentCulture = 
            CultureInfo.CreateSpecificCulture(selectedLanguage);
        Thread.CurrentThread.CurrentUICulture = new 
            CultureInfo(selectedLanguage);
    }
    base.InitializeCulture();
}

Regards.

Shoaib Shaikh
  • 4,565
  • 1
  • 27
  • 35