info.plist 的国际化

作者: 黑羽肃霜 | 来源:发表于2018-12-08 00:12 被阅读62次

遇到的问题

关于国际化的文章有很多,大致是让我们在 Xcode 中去新建一个 .strings 文件,然后点击右侧的Localized,再在对应语言中去添加key - value达到多语言。这类的文章有很多,在此就不赘述了。

但是有一种情况,我们有一些权限的提示语,甚至是 App 的显示名称,这些都是在 info.plist中去添加的,那要怎么做呢?

1 2.png

错误的做法

可能你会单击当前工程的 info.plist,然后点击右侧的localized

3

这样做显然是不对的。哪怕你生成了一串 .strings 文件,也更改了 info.plist 的路径(而且会生成一个默认语言 .strings(Base)

正确的做法

参考链接

  • 新建一个 .strings文件,叫做InfoPlist.strings(文件名必须是这个)
  • 新建以后,点击右侧的 localized 才有意义。
  • 关键的步骤来了,这时候,点击我们的info.plist,右键选择open as source code 查看我们所要获取权限的原始 key
    4

也可以先在 info.plist 内部点击右键,查看权限本身的 key 名

5

可以看到右键打开的source code是一个 xml 文件,找到对应的key,复制。

6

需要注意的点

参考文档中有一条,我这里摘抄一下:

注意,层级要正确,如果在Info.plist里面是在最外边可以这么写,但是如果是在一个字典中,那么也需要把字典加进去,保持层级不变,不能只写想修改的那个key值。比如快捷菜单的层级在Info.plist里面是这样,如果想修改「查看密码」这个文字

<key>UIApplicationShortcutItems</key>
    <array>
        <dict>
            <key>UIApplicationShortcutItemIconType</key>
            <string>UIApplicationShortcutIconTypeLove</string>
            <key>UIApplicationShortcutItemTitle</key>
            <string>查看密码</string>
            <key>UIApplicationShortcutItemType</key>
            <string>all</string>
        </dict>
    </array>

那么你在多语言里面就要这么写

 "UIApplicationShortcutItems" = (
    {
        "UIApplicationShortcutItemType" = all;
        "UIApplicationShortcutItemTitle" = "View Password";
        "UIApplicationShortcutItemIconType" = "UIApplicationShortcutIconTypeLove";
    },
 );

相关文章

  • iOS-应用名称和内容国际化

    iOS应用的国际化,主要分为3个部分:Info.plist 文件的国际化.xib文件的国际化.m文件的国际化 In...

  • iOS日常开发 Tips

    一. 关于 info.plist 的国际化 info.plist 里面通常会添加【功能权限使用】相关的说明,因此 ...

  • 此构建版本无效解决方案.md

    1、错误的info.plist国际化方案 2、导致的结果 3、正确的国际化方案 command + N 创建 In...

  • ios 国际化

    本次对app的国际化分为2个部分。 1,实现app名称在不同本地语言下显示不同文字。info.plist的国际化。...

  • info.plist 的国际化

    遇到的问题 关于国际化的文章有很多,大致是让我们在 Xcode 中去新建一个 .strings 文件,然后点击右侧...

  • info.plist 国际化

    问题场景: 需要对info.plist中,对权限请求描述的字段进行多语言设置。 问题结论: 参考App名称的多语言...

  • 关于UIImagePickerController种种

    1设置照相机button为国际化 在info.plist中设置 localized resources can b...

  • iOS国际化

    相关问题 国际化官网链接 Infoplist.strings为什么可以替换info.plist的名称?什么时机替换...

  • 解决iOS9/10简体中文,InfoPlist.string权限

    info.plist权限国际化创建. 参考: 参考链接 1.问题描述: 系统语言设置为简体中文, 但在弹出权限描述...

  • iOS info.plist 权限国际化

    1:首先创建InfoPlist.strings文件(创建过程就不多少了,网上一搜有好多); 2:创建完成后,去到i...

网友评论

    本文标题:info.plist 的国际化

    本文链接:https://www.haomeiwen.com/subject/hfefhqtx.html