Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何修复Asp.net-mvc网站(使用区域性和.resx文件)突然改变语言?_C#_Asp.net Mvc_Asp.net Core_Localization_Resources - Fatal编程技术网

C# 如何修复Asp.net-mvc网站(使用区域性和.resx文件)突然改变语言?

C# 如何修复Asp.net-mvc网站(使用区域性和.resx文件)突然改变语言?,c#,asp.net-mvc,asp.net-core,localization,resources,C#,Asp.net Mvc,Asp.net Core,Localization,Resources,我们支持几种语言,在我们网站的属性中存储了不同的翻译。以下是其中一些: Resources.es.resx、Resources.fr.resx、Resources.resx(其中包含英文翻译) 有时(比如去年的3次),我们的网站对所有英语用户来说都是法语的 我们实现了一些日志记录,试图了解发生了什么。上次出现错误时,我们观察到,当尝试从Resources.resx文件获取示例字符串时,结果来自Resources.fr.resx文件。我们所有的用户都是这样 这就是我们获得该字符串的方式: stri

我们支持几种语言,在我们网站的属性中存储了不同的翻译。以下是其中一些: Resources.es.resx、Resources.fr.resx、Resources.resx(其中包含英文翻译)

有时(比如去年的3次),我们的网站对所有英语用户来说都是法语的

我们实现了一些日志记录,试图了解发生了什么。上次出现错误时,我们观察到,当尝试从Resources.resx文件获取示例字符串时,结果来自Resources.fr.resx文件。我们所有的用户都是这样

这就是我们获得该字符串的方式:

string englishResource = Properties.Resources.ResourceManager.GetString("Add", new CultureInfo("en-ca", useUserOverride: false));
这就好像没有找到Resources.resx,而语言默认为Resources.fr.resx一样

当网站正常工作时,返回的字符串总是来自Resources.resx,正如预期的那样

有人知道为什么会发生这种情况以及如何解决吗

编辑: 以下是当网站以法语显示时,我们为英语用户提供的信息:

{
    SessionCulture: “en”,
    UserLanguages: [
        “en-US”,
        “en;q=0.9”,
        “fr;q=0.8",
        “es;q=0.7”,
        “ca;q=0.6",
        “it;q=0.5”
    ],
    LocalizationSystemLanguage: “en”,
    CurrentThreadCulture: “en-CA”,
    CurrentThreadUICulture: “en-CA”,
    EnglishResource: “Ajouter”,
    FrenchResource: “Ajouter”,
    SpanishResource: “Agregar”
}
“EnglishResource”字符串应为“Add”而不是“Ajouter”