asp.net - 从 Android 连接时,asp.net web 服务中的翻译错误

标签 asp.net android localization translation

我的 Android 应用程序连接到 asp.net 网络服务以注册用户。用户注册后,我会从服务器向用户发送一封欢迎电子邮件。由于我们在许多国家/地区都有客户,因此需要将电子邮件翻译成正确的语言。我在服务器上使用以下代码 (C#) 来获取电子邮件的正文:

string mailbody = (string)HttpContext.GetGlobalResourceObject("Resource", "mailbody");

在我的 App_GlobalResources 文件夹中,我有一个文件,其中包含名为 Resource.resx 的英文翻译和瑞典语翻译 Resource.sv.resx。

许多英语用户现在提示他们收到的是瑞典语翻译而不是英语翻译。每次我在我的 Android 手机上测试它时,我都会得到正确的翻译,所以我很难追踪到这个错误。从 iPhone 连接时,这也很好用。任何想法可能是错误的?有没有人见过这样的问题?

最佳答案

您描述的行为看起来很奇怪。它似乎与您的网络服务中的文化检测有关,当然 web.config 可能在这里发挥作用。
但是,将 culture 和 uiCulture 设置为“auto”应该会从网络浏览器中检测到最想要的文化,也就是说,我认为英语用户不应该是瑞典语……我怀疑一些奇怪的后备规则。
您真的确定您的中性文化资源 (Resource.resx) 是英文的(只是为了仔细检查一下)吗?
也许您在 Global.asax 中有一些覆盖?

如果两个问题的答案都是“没问题”,也许可以尝试将设置修改为 uiCulture="auto:en-US",以便语言直接回落到英语(美国)。没有其他资源和英文的中性文化资源,它应该,但是......

关于asp.net - 从 Android 连接时,asp.net web 服务中的翻译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6732475/

相关文章:

java - 什么是通用区域设置数据存储库 (CLDR) - JDK 9

c# - 从 int 输入确定回文

.net - ASP.NET MVC - 获取 QueryString 值

asp.net - 删除 Umbraco 的通知并显示我自己的通知

java - Android Studio Robolectric 单元测试 - 默认值无效

以本地化方式将 Java 库转换为 "spell out"数字

c# - 转换 : Unable to cast object of type 'System.DBNull' to type 'System.String'

android - 有了 Android 兼容包,为什么要使用 "regular" fragment ?

android - 在后台创建新 Intent

javascript - 如何使用谷歌翻译进行阿拉伯语翻译从右到左的布局和文本更改