我有6种不同语言(En,Nl,De,Es,It,Fr)的6个资源文件。我使用ResourceManager.GetString获取字符串,但它似乎只有在AppResources文件包含完整的en-EN、fr-FR等字符时才有效。
有没有可能将文件命名为AppResources.es.resx,而不是es-ES,这样它就可以在西班牙和墨西哥工作,或者用fr代替fr-FR,这样它就可以在法国和加拿大工作了?
下面的解决方案是我尝试过的,但似乎不起作用:
ResourceManager.GetString(Text, new CultureInfo(cultureInfo.TwoLetterISOLanguageName))
发布于 2018-07-24 22:21:12
TwoLetterISOLanguageName应该工作得很好。
请检查您是否在AppResources上设置了Culture,以便在您的应用程序中强制执行这些值,即使设备的区域设置不同。
从我们在注释中的讨论中可以看出,问题在于您的资源文件没有正确的构建操作。不要忘记将resx文件设置为Custom Tool: ResXFileCodeGenerator。
另请参阅https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/localization/text?tabs=vswin上的文档
https://stackoverflow.com/questions/51500411
复制相似问题