错误在于国家/地区代码。阿尔巴尼亚的国家/地区代码为sq-AL
,而不是al-AL
。
有关国家/地区代码的完整列表:http://timtrott.co.uk/culture-codes/
我不需要为不同的语言设置不同的路由。 我只需要点击一个按钮即可在两种语言之间切换,阿尔巴尼亚语和英语。
我无法弄清楚:如何改变语言?我并不担心如何检测需要选择哪种语言,而是如何实际更改语言。
我有这两个资源文件: Resources.resx,Resources.al-AL.resx
始终使用Resources.resx中的字符串,如何更改以使用Resources.al-AL.resx中的字符串?
我试过这样的事情:
//I'm just trying stuff I read here in SO, none worked so far.
Resource.Culture = CultureInfo.CreateSpecificCulture("al-AL");
HttpContext.Session["culture"] = "al-AL";
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("al-AL");
return RedirectToAction("Index", "Home");
在我看来,我有这个:
@Resource.Culture
@Html.Label(Resource.CustomerName, new { @class = "control-label"})
当我第一次打开视图时,第一行是空的,在选择其中一个按钮来更改语言后,我验证资源的文化正在被更改,但文本保持不变。
编辑:
我甚至将其添加到web.config
<globalization uiCulture="al-AL" culture="al-AL"/>
用于保存资源文件的自定义文件夹