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。打包出来的格式是一样的,没有理由旧的系统不能用。

实际上经测试也是如此。

相关推荐
jh_cao8 小时前
(3)SwiftUI 的状态之上:数据流与架构(MVVM in SwiftUI)
ios·架构·swiftui
方君宇10 小时前
iOS App小组件(Widget)设置透明背景
ios
恋猫de小郭11 小时前
React 和 React Native 不再直接归属 Meta,React 基金会成立
android·前端·ios
HarderCoder1 天前
Swift 中的基本运算符:从加减乘除到逻辑与或非
ios·swift
HarderCoder1 天前
Swift 中“特性开关”实战笔记——用编译条件+EnvironmentValues优雅管理Debug/TestFlight/AppStore三环境
ios·swift
HarderCoder1 天前
Swift 并发任务中到底该不该用 `[weak self]`?—— 从原理到实战一次讲透
ios·swift
FeliksLv1 天前
iOS 集成mars xlog
ios
2501_915106321 天前
CDN 可以实现 HTTPS 吗?实战要点、部署模式与真机验证流程
网络协议·http·ios·小程序·https·uni-app·iphone
大熊猫侯佩2 天前
在肖申克监狱玩转 iOS 26:安迪的 Liquid Glass 复仇计划
ios·swiftui·swift
非专业程序员2 天前
逆向分析CoreText中的字体级联/Font Fallback机制
前端·ios