解决方法
你本地化与任何其他应用程序相同的方式,像这样:
>创建文件夹,调用它。资源
>右键单击文件夹并添加类…选择资源文件。称它为你喜欢的任何东西。 Strings.resx
>在文件的属性下,将自定义工具更改为PublicResXFileCodeGenerator
>使用Translation键和值对填充资源文件(这将是默认翻译)
>使用以下格式创建其他文化名称的资源:{name} .de.resx例如Strings.de.resx
>(这是为Razor)破解在Views文件夹中打开web.config并将其添加到/configuration/system.web.webPages.razor/pages/namespaces:< add namespace =“Resources”/> (假设resources是您创建资源的文件夹的名称,并且您尚未更改资源文件本身的默认命名空间)。
此步骤意味着您不需要在每次要引用翻译时完全限定视图中的资源类。
>使用翻译代替视图中的文本,如下面的代码:
@Strings.MyString
字符串将根据CultureInfo.CurrentCulture在视图中自动翻译,但不会自动为您设置
您将需要更改CurrentCulture(可能在Application_BeginRequest中)。如何做到这一点取决于你,它可以是一个路由值设置它,或者你可以读取用户的浏览器语言
您可以在HttpContext.Current.Request.UserLanguages中找到用户首选语言的列表(按顺序)。