gpt4 book ai didi

ios - Xamarin.IOS:本地化不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:21:37 24 4
gpt4 key购买 nike

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

我尝试显示图像“ImageInstructionStep1”

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

enter image description here

所有图像都有构建操作“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 文件夹中。

关于 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";

关于ios - Xamarin.IOS:本地化不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48205924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com