【发布时间】:2018-03-07 22:20:22
【问题描述】:
我们收到一位客户的请求,希望将 Haitian Creole resx 文件添加到我们的应用程序中。我们得到了翻译,我去插入它们,但我立即发现浏览器对 ht 作为语言/区域设置代码的支持很少。 Chrome 不会让你在任何地方输入它。 IE 11 允许您将其作为自定义代码输入。只有 Edge 和 Firefox 提供了它。
但令我困惑的是,当我进入一个插入了这些 resx 文件的调试系统并使用浏览器访问该站点时,我在以下行中得到了 System.Global.CultureNotFoundException:
CultureInfo ci = CultureInfo.CreateSpecificCulture(cultureName);
但是,如果我使用我们的发布版本没有具有 resx 文件的不同系统,则不会出现错误。显然,我也没有得到任何海地克里奥尔语翻译,但同样的代码在出现 ht 时不会崩溃。
我已经执行了相同的 powershell 命令来列出两个系统上支持的语言,而 Haitian Creole 不在这两个系统的列表中。
[system.Globalization.CultureInfo]::GetCultures('AllCultures')
当浏览器显示无法识别的代码时,是否有某种发布模式构建的东西悄悄地退回到系统语言?据我所知,我的测试系统之间的唯一区别是发布模式/无 ht resx 和调试模式/使用 ht resx。
我不明白为什么我在两个地方都没有得到相同的异常...
谢谢
【问题讨论】:
标签: c# asp.net globalization