You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取并调用iOS系统自带的本地化字符串资源?

获取iOS系统本地化字符串资源的方法

1. 直接读取系统框架的本地化Bundle

iOS系统的UI组件本地化资源都存放在对应框架的Bundle中,比如UIKit框架。你可以通过获取框架Bundle,再调用本地化字符串方法来复用系统翻译好的文本。

代码示例

Objective-C

// 获取UIKit框架的Bundle
NSBundle *uikitBundle = [NSBundle bundleForClass:[UIButton class]];
// 获取"OK"的本地化字符串,对应不同语言系统会返回对应翻译
NSString *okString = NSLocalizedStringFromTableInBundle(@"OK", @"UIKitLocalizable", uikitBundle, @"");

Swift

if let uikitBundle = Bundle(for: UIButton.self) {
    let okString = NSLocalizedString("OK", tableName: "UIKitLocalizable", bundle: uikitBundle, value: "", comment: "")
}
  • 不同框架对应不同的本地化表名:UIKit用UIKitLocalizable,Foundation框架用FoundationLocalizable,可根据需求切换。

2. 查找系统本地化的键值对

如果不知道目标文本对应的键名,可以通过以下方式查找:

  • 打开iOS模拟器对应的系统框架路径,比如UIKit的路径:~/Library/Developer/CoreSimulator/Devices/[设备ID]/data/Containers/Bundle/Application/[应用ID]/Frameworks/UIKit.framework
  • 进入对应语言的.lproj文件夹(比如ko.lproj对应韩语),打开UIKitLocalizable.strings文件,里面会列出所有UIKit的本地化键和对应翻译文本。

3. 注意事项

  • 系统的本地化键和表名可能随iOS版本更新发生变化,上线前务必在多个iOS版本中测试兼容性。
  • 仅建议复用公开通用的系统文本(如"OK"、"Cancel"、"Done"等),私有或不常用的键值可能随时被系统移除,导致获取失败。
  • 不要依赖未公开的系统API来获取字符串,避免应用被拒或在系统更新后崩溃。

内容的提问来源于stack exchange,提问作者ST K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:42:09