using TwoLetterIsoLanguageName for ResourceManager



我有6个资源文件,用于6种不同的语言(En、Nl、De、Es、It、Fr(。我正在使用ResourceManager.GetString获取字符串,但它似乎只有在AppResources文件具有完整的en-en、fr-fr等时才起作用

是否可以将文件命名为AppResources.es.resx,而不是es es,以便在西班牙和墨西哥使用,或者将fr而不是fr fr,以便在法国和加拿大使用?

以下解决方案是我尝试过的,但似乎不起作用:

ResourceManager.GetString(Text, new CultureInfo(cultureInfo.TwoLetterISOLanguageName))

TwoLetterISOLanguageName应该可以正常工作。

请检查是否在AppResources上设置了Culture,以便在应用程序中强制执行这些值,即使设备的区域设置不同。

从我们在评论中的讨论来看,问题是您的资源文件没有正确构建操作。不要忘记将resx文件设置为Custom Tool: ResXFileCodeGenerator

另请参阅上的文档https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/localization/text?tabs=vswin

最新更新