.net - System.Globalization.CultureNotFoundException: Culture is not supported. Parameter name: name en-US-biz is an invalid culture identifier -


i having issue when create new cultures use of translations. current issue have windows not allow app access folder cultures seem be. in our local machine can put visual studio admin , have no issues since deploy our app azure not know how allow access folder having issues getting exception: system.globalization.culturenotfoundexception: culture not supported. parameter name: name en-us-biz invalid culture identifier.

exception in next part of code when update user language:

    var currentuserlanguage = 'en-us-biz';     ioccontainer.setcurrentuserlanguage(currentuserlanguage);      var ci = domculturelanguage != null ? domculturelanguage.cultureinfo : new cultureinfo(currentuserlanguage);      thread.currentthread.currentuiculture = ci;     thread.currentthread.currentculture = cultureinfo.createspecificculture(ci.name); 

inthe line: new cultureinfo(currentuserlanguage) exception.

we register culture in global.asax file:

private void loadculturemanager() {     bizcultureen.register();     bizculturees.register(); } 

and have built 2 different culture classes + rsex respective files.

eg of bizcultureen class:

public static class bizcultureen {     //"es-es-custom" need match translations.es-es-custom.resx     public static string customculturename = "en-us-biz";     public static cultureinfo cultureinfo { get; set; }      public static void register()     {         // create custom culture ru-us.         cultureandregioninfobuilder builder = new cultureandregioninfobuilder(customculturename, cultureandregionmodifiers.none);         cultureinfo = cultureinfo.createspecificculture(customculturename);         builder.loaddatafromcultureinfo(cultureinfo);         builder.cultureenglishname = "biz english (united states)";         builder.culturenativename = "biz english (united states)";          builder.threeletterisolanguagename = "ben";         builder.threeletterwindowslanguagename = "ben";         builder.twoletterisolanguagename = "bn";          builder.regionenglishname = "biz english";         builder.threeletterisoregionname = "usa";         builder.threeletterwindowsregionname = "usa";         builder.twoletterisoregionname = "us";          // register culture.         try         {             builder.register();         }         catch (invalidoperationexception ex)         {             var ex1 = ex;             // swallow exception: culture registered.         }          // use custom culture.         //cultureinfo = cultureinfo.createspecificculture(customculturename);         thread.currentthread.currentculture = cultureinfo;         thread.currentthread.currentuiculture = cultureinfo;     } } 

you can run [system.globalization.cultureinfo]::getcultures('allcultures') command retrieve cultures accessing "debug console > powershell" kudu.

besides, far know, when call cultureandregioninfobuilder.register method register custom culture, registration process create .nlp file , store .nlp file in %windir%\globalization system directory, requires administrative privileges. if on azure web app, cause access privileges related issue. can try remote debug web app check if exception occurs while registering custom culture.

if registering custom culture can not work fine on azure web app sandbox, can try hosting options (such virtual machines).


Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -