资源 (resx) 文件总是 returns 英文(默认)字符串

Resource (resx) files always returns english (default) strings

我在使用 .resx 文件时遇到了一些问题。一切都是使用 windows MAT 工具包扩展创建的(与此无关,问题发生了)。

我有两种语言(en 和 es)。当我创建一个新项目并使用下面的代码时,它会起作用:

System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("es");
string temp = MultilingualResources.strings.Hello;

字符串返回为 "Hallo",因此翻译有效。但是当我在可视化代码中的 GoDot (c#) 中执行此操作时,无论我指定哪种文化或 UIculture,字符串总是 returns 英文,但代码完全相同。我试过资源管理器,结果是一样的。所以基本上它得到 strings.resx 值而不是 strings.es.resx 值。 resx 文件是嵌入式资源。知道为什么会发生这种情况以及如何让它发挥作用吗?

我也试过使用

CultureInfo culture = CultureInfo.CreateSpecificCulture("es");
CultureInfo.DefaultThreadCurrentUICulture = culture;

我在上次 visual studio (MAC) 更新(版本 8.6(内部版本 4520))后开始出现问题

看这个:

https://github.com/xamarin/xamarin-android/issues/4664#issuecomment-632986668

这个解决方法解决了我的问题。

但是,有一个新的预览 visual studio 更新解决了这个问题。

编辑:问题已在新 Visual Studio 版本

中解决