【问题标题】:Xamarin - on specific PC ResourceManager.GetString() always returns string for default cultureInfoXamarin - 在特定 PC ResourceManager.GetString() 上始终返回默认cultureInfo 的字符串
【发布时间】:2020-08-14 04:27:29
【问题描述】:

在我的 Xamarin 应用程序中,我使用两个 .resx 文件作为翻译:Translation.resx 用于波兰语(默认)和 Translation.en.resx 用于英语。

UICulture 切换已实现并且在多台 PC 的 android 模拟器上运行良好,但我们有一台 PC 无法按预期运行。

对于这台特定的 PC,当 cultureInfo = {en} 时,调用 ResourceManager.GetString(text, cultureInfo); 总是从默认资源(来自 Translation.resx)返回翻译字符串,而不是 Translation.en.resx强>。

所有 PC 都使用 Win10、VS2019、相同版本的 Xamarin SDK 和 Android 模拟器,运行代码来自同一个存储库 - 一切都相同,但在一台计算机上仍无法按预期工作。

您能否给我一些提示,在哪里寻找问题解决方案,检查什么等?

【问题讨论】:

  • 您如何检查cultureInfo 设置?
  • 如果您返回 HTTP,请将语言放在标头中:developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…
  • UWP 还是安卓?
  • @Jason - 安卓
  • 您确定这台特定机器上的 Android 模拟器的配置与其他机器相同吗?

标签: c# xamarin


【解决方案1】:

我解决了 PC 的问题,我必须:

  • 重新安装 Xamarin SDK 和 Android Emulator(版本未更改)
  • 在 VS 中添加全新的模拟器设备(默认设置)
  • 将新的 git 存储库拉到新位置 - 即使代码根本没有更改。

【讨论】:

  • 您可以稍后标记此答案,这将帮助更多有相同问题的人:)。
猜你喜欢
  • 2020-09-14
  • 1970-01-01
  • 1970-01-01
  • 2014-11-10
  • 1970-01-01
  • 1970-01-01
  • 2016-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多