美文网首页
iOS 国际化&本地化省力小技巧

iOS 国际化&本地化省力小技巧

作者: PPPan | 来源:发表于2019-08-22 16:08 被阅读0次
localizaed-header.png

我们造不出巴别塔,却可以通过本地化让不同语言环境的人舒坦地用上我们的 App。

但提起本地化,开发者们最直观的感受一定是一堆细碎繁琐的本地化文件字符串文件,以及永远也想不起来的Key

// Chinese Simplified
"zelda.btn.confirm" = "确定";
"zelda.btn.cancel" = "取消";
"zelda.dish.backed.cocoanut" = "烤椰子";
"zelda.dish.backed.mushroom.skewer" = "精力烤鱼蘑菇串";

// English
"zelda.btn.confirm" = "Confirm";
"zelda.btn.cancel" = "Cancel";
"zelda.dish.backed.cocoanut" = "Baked Palm Fruit";
"zelda.dish.backed.mushroom.skewer" = "Energizing Fish and Mushroom Skewer"

在开发的时候,代码里充满了类似不直观的代码。降低了我们的可读性。

titleLabel.text = NSLocalizedString(@"zelda.dish.backed.cocoanut", nil);

另外,如果开发者一不小心漏掉了某个翻译,界面上就会直接显示你定义的 key。

localizaed-not-translate.jpg

那么我们能不能...

  • 减少一些 Strings 文件维护的工作量
  • 代码可读性更高一些,不用全局搜索就可以知道某个 Label 将会显示什么内容
  • 忘记翻译了不至于对用户显示“乱码”

答案是肯定的。
使用本地语言作为 Key 就可以解决这三个问题。例如「确定」按钮,我们写代码的时候可以这么写:

titleLabel.text = NSLocalizedString("确定", comment: "");

同时,在目标语言(例如英语)资源文件中添加:

"确定" = "Comfirm";

这样便一次性解决了上述的所有问题。

唯一的一点小遗憾是 NSLocalizedString 宏定义的第二个参数在 99% 的情况下都是空字符,在代码上是一个噪音。我们可以通过为 String 添加一个 extension 来解决它。

extension String {
    var ps_localized: String {
        get {
            return NSLocalizedString(self, comment: "")
        }
    }
}
localizaed-header.png

愉快地使用新的本地化方式 Coding 吧!

相关文章

  • iOS 国际化&本地化省力小技巧

    我们造不出巴别塔,却可以通过本地化让不同语言环境的人舒坦地用上我们的 App。 但提起本地化,开发者们最直观的感受...

  • 2018-02-08

    iOS开发 App本地化(国际化)笔记

  • iOS国际化(本地化)

    转载一篇,遇到问题再写连猴子都能看懂的 IOS 国际化(本地化)教程 这里有个小技巧: 拿给info.plist加...

  • iOS语言本地化/国际化(图文详解)

    3分钟实现iOS语言本地化/国际化(图文详解)前言语言本地化,又叫做语言国际化。是指根据用户操作系统的语言设置,自...

  • 【技术文章收集】收集

    3分钟实现iOS语言本地化/国际化(图文详解) Apple Watch App开发基础 crash iOS Cra...

  • iOS国际化遇到的那些坑

    本文主要讲述国际化过程中所遇到的那些问题,国际化的详细步骤可以参考:3分钟实现iOS语言本地化/国际化(图文详解)...

  • iOS 本地化/国际化 多语言 开发/上架

    iOS 本地化/国际化 多语言 开发/上架 因为项目有同时面对大陆和海外市场的需求,所以需要做本地化处理。 1)开...

  • 语言国际化与本地化

    国际化与本地化

  • iOS 开发之 国际化/本地化 配置

    一、本地化与国际化 1.1、多语言支持的 国际化 和 本地化 有什么区别?答:i18n:国际化(在其他语言叫国际化...

  • 本地化

    今天做不如修仙的本地化,看到这篇文章很详细3分钟实现iOS语言本地化/国际化,评论区还有应用内切换语言的方法,修改...

网友评论

      本文标题:iOS 国际化&本地化省力小技巧

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