从控制者的行动中树立文化

时间:2019-02-24 14:54:53

标签: asp.net-core asp.net-core-mvc asp.net-core-2.0 asp.net-core-2.1

我尝试创建一个CMS,必须根据特定页面的语言选择为其设置文化信息。设置当前语言的唯一方法如下:

System.Globalization.CultureInfo.CurrentCulture = new System.Globalization.CultureInfo("el-GR");
System.Globalization.CultureInfo.CurrentUICulture = new System.Globalization.CultureInfo("el-GR");

我尝试在以下位置使用这些行:

  • 操作:,它不起作用。由于某些原因,它们不会改变文化。
  • 视图:它将改变文化,但是我将不得不要求用户在他/她创建的每个视图中键入这些行,这不是一个好主意。
  • _Layout.cshtml:不起作用。

解决我的问题的最佳方法是在操作中设置区域性(我有一个处理所有CMS请求的操作),但是如果这不可能,那么找到一种设置区域性的方法将很有帮助在_Layout.cshtml文件中。

1 个答案:

答案 0 :(得分:2)

请检查此链接Globalization and localization in ASP.NET Core
有很多方法可以做到

  
    

实施一项策略,为每个请求选择语言/文化

  
     
      
  1. 本地化中间件
  2.   
  3. QueryStringRequestCultureProvider
  4.   
  5. 接受语言HTTP标头
  6.   
  7. 使用自定义提供程序
  8.