• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 03:54:01 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个 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 文件中本地化的文本都按预期以德语显示。

我错过了什么?



Best Answer-推荐答案


正如我在评论中指出的那样,您应该将备用资源放入 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap