SwiftUI 国际化

已经2025年了,不要再用Strings File这种过时的文件来实现多语。

Xcode15(2023年9月)推出了新的多语格式String Catalog。

比起Strings File用key = value这样的简陋的形式来实现多语,String Catalog简直就是一把瑞士军刀。

下面我们来看看String Catalog有哪些优点。

  • 能够清晰地知道多语翻译的进度,可以渐进地翻译。

  • 能够轻松实现英语中的复数。

而这在之前用Strings File是没法实现的。需要借助Stringsdict File来实现。

可以看得出来,繁琐复杂。以前开发App时因为英语国家的用户不是主要目标对象,我都选择忽略。

而用String Catalog就是顺带手的事,那就给翻译了吧。

  • 每次编译可以自动抓取需要翻译的key,并且把代码中删除的key标记出来。

  • 根据设备提供不一样的翻译。

Xcode还非常贴心地提供了从老版的Strings File迁移到String Catalog的功能。

String Catalog这么强大,那么拦在大家面前的障碍就只剩一点了吧。

String Catalog是随Xcode15推出的,那是不是只有iOS 17+才能用?

并不是。String Catalog是开发功能,而不是系统功能。在旧的系统上一样可以使用。

为什么可以确定?

这个是用String Catalog的工程打包出来的ipa里面看到的。可以看到,和旧的格式是一样的,是.strings和.stringsdict。打包出来的格式是一样的,没有理由旧的系统不能用。

实际上经测试也是如此。

相关推荐
Patrick_Wilson4 小时前
iOS Safari 按钮点击无响应问题修复指南
前端·ios·safari
随遇丿而安5 小时前
第 3 周:UIButton 点了没反应,因为它默认就没有按压态
ios
思盛iOS签名上架21 小时前
App苹果签名有什么作用?
macos·ios·cocoa
CocoaKier1 天前
Facebook广告后台收不到Adjust回传数据,我们排查了一个月终于找到了根因
ios·facebook
FairGuard手游加固2 天前
iOS 游戏加固技术解析:代码混淆、资源加密、内存保护与重签名检测
安全·游戏·macos·unity·ios·objective-c
思盛iOS签名上架2 天前
iOS企业签名原理是什么?
macos·ios·cocoa
Daniel_Coder2 天前
我用 SwiftUI + GRDB 做了一个「按时吃药·服药提醒」App
ios·swiftui·swift·widgetkit
Patrick_Wilson2 天前
iOS 第三方浏览器图片下载失败问题
前端·ios·浏览器
悟空瞎说3 天前
NSNotificationCenter(NotificationCenter)官方文档白话翻译 + API 详解 + Swift 实战
ios