Search code examples
c#internationalizationresx

how-to switch resx at runtime?


I have a second resx file Strings.ps-ps.resx that I want to point my code to at runtime. Each resx has Designer.cs with a unique class name. Do I have to switch/wrap these things myself? ...or is there some built in approach?


Solution

  • You need to change your UI Culture to use a different resx file. This can be done in config

    <globalization uiCulture="es" culture="es-MX" />
    

    or in code

    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");;
    

    If you want to automatically adapt to the user, you can query the HttpContext.Current.Request.UserLanguages for the users browser settings