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

实际上经测试也是如此。

相关推荐
DeyouKong5 小时前
Go反射-通过反射调用结构体的方法(带入参)
开发语言·ios·golang
Ya-Jun10 小时前
性能优化实践:启动优化方案
android·flutter·ios·性能优化
桌角的眼镜15 小时前
模拟开发授权平台
macos·ios·xcode
程序务虚论1 天前
抓取工具Charles配置教程(mac电脑+ios手机)
macos·ios·https·charles
帅次1 天前
Flutter BottomNavigationBar 详解
android·flutter·ios·小程序·iphone·reactnative
明似水1 天前
解决 Flutter 在 iOS 真机上构建失败的问题
flutter·ios
前后端杂货铺2 天前
uniapp利用生命周期函数实现后台常驻示例
android·前端·ios·微信小程序·uni-app
安和昂2 天前
iOS 类与对象底层原理
macos·ios·cocoa
吉凶以情迁2 天前
c# window桥接mac电脑直接开发ios直接win开发运行 弹出模拟器
macos·ios
前后端杂货铺2 天前
uniapp+vue3+ts 使用canvas实现安卓端、ios端及微信小程序端二维码生成及下载
android·前端·ios·微信小程序·uni-app·canavas·二维码海报生成