我有一个 Xamarin.IOS 应用程序并尝试本地化一些图像。
我以这篇文章作为指导:https://developer.xamarin.com/guides/ios/advanced_topics/localization_and_internationalization/
我尝试显示图像“ImageInstructionStep1”
这是我的资源文件夹的屏幕截图:
![enter image description here](https://i.stack.imgur.com/QLv6v.png)
所有图像都有构建操作“BundleResource”。
我用这一行在代码中分配图像:
imageInstructionStep.Image = UIImage.FromBundle("ImageInstructionStep1");
我在 Info.Plist 中注册了本地化:
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleLocalizations</key>
<array>
<string>de</string>
<string>fr</string>
<string>it</string>
</array>
但它始终显示英文版本。
当我启动应用程序时,我检查了应用程序的区域设置:
NSLocale.CurrentLocale.LocaleIdentifier;
NSLocale.AutoUpdatingCurrentLocale.LocaleIdentifier;
两者都给出结果“de_US”。我的期望是这会加载德语本地化。
我还尝试清理并重建应用程序到模拟器,包括之前将其从模拟器中删除,但没有成功。
作为旁注也许很有趣:我在 resx 文件中本地化的所有文本都按预期以德语显示。
我想念什么?
因此,正如我在评论中指出的,您应该将后备资源放入Base.lproj
folder.
至于你的问题InfoPlist.strings
,请记住它们仅适用于您的字符串Info.plist
,所以这就是当您请求权限等时。这可能如下所示da.lproj
:
"NSLocationWhenInUseUsageDescription" = "Vil du tillade App'en til at bruge din lokation?";
"NSCalendarsUsageDescription" = "Ost";
等等。
至于其他字符串,比如确定、取消等按钮,则需要添加一个Localizable.strings
每个文件夹的文件,内容如下:
"Back" = "Tilbage";
"Done" = "Færdig";
"Cancel" = "Anuller";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)