Xamarin.IOS:本地化不起作用

我有一个Xamarin.IOS应用程序,并尝试本地化一些图像。 作为指导,我参考了这篇文章: https : //developer.xamarin.com/guides/ios/advanced_topics/localization_and_internationalization/

我尝试显示图像“ImageInstructionStep1”

这是我的Ressources文件夹的屏幕截图:

在此处输入图像描述

所有图像都具有构建操作“BundleResource”。 我用这一行在代码中分配图像:

imageInstructionStep.Image = UIImage.FromBundle("ImageInstructionStep1"); 

我在Info.Plist中注册了本地化版本:

  CFBundleDevelopmentRegion en CFBundleLocalizations  de fr it  

但它总是显示英文版。

当我启动它时,我检查了应用程序所具有的语言环境:

  NSLocale.CurrentLocale.LocaleIdentifier; NSLocale.AutoUpdatingCurrentLocale.LocaleIdentifier; 

并且两者都给出“de_US”。 我的期望是这会加剧德国本地化。

此外,我尝试清理并重建应用程序到模拟器,包括从模拟器中删除它之前没有成功。

也许作为旁注非常有用:所有我在resx文件中本地化的文本都按照预期以德语显示。

我错过了什么?

正如我在评论中指出的那样,您应该将后备资源放入Base.lproj文件夹中。

至于InfoPlist.strings的问题,请记住它们仅适用于Info.plist字符串,因此当您要求权限等时。对于da.lproj这可能如下所示:

 "NSLocationWhenInUseUsageDescription" = "Vil du tillade App'en til at bruge din lokation?"; "NSCalendarsUsageDescription" = "Ost"; 

等等。

对于其他字符串,例如OK,Cancel和其他按钮,您需要为每个文件夹添加Localizable.strings文件,其内容如下:

 "Back" = "Tilbage"; "Done" = "Færdig"; "Cancel" = "Anuller";