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

如何本地化iOS Settings Bundle?多语言适配与Root strings文件自动生成

嘿,刚好折腾过iOS Settings Bundle的本地化,给你一步步讲清楚:

iOS Settings Bundle 本地化指南(含自动生成Strings文件)

一、已有英文标题,添加其他语言本地化

首先得把现有英文标题改成本地化关联的格式,再添加其他语言的翻译:

  1. 调整Root.plist的Title格式
    打开Settings.bundle/Root.plist,把每个设置项的Title值从直接的英文(比如Login)改成$LocalizedString(自定义键名),比如$LocalizedString(login_title)。这里的键名要唯一,方便后续对应翻译。

  2. 添加目标语言的本地化文件

    • 在Xcode中选中Settings.bundle里的Root.plist
    • 打开右侧的File Inspector(快捷键⌥⌘1),找到Localization区域
    • 点击+号,选择你要添加的语言(比如简体中文、日文等),Xcode会自动生成对应语言的.lproj文件夹,里面包含Root.strings文件
  3. 填充翻译内容
    打开目标语言的Root.strings(比如zh-Hans.lproj/Root.strings),按照"键名" = "翻译后的标题";的格式填写,比如:

    "login_title" = "登录";
    "app_settings_title" = "应用设置";
    

    英文的翻译直接写在en.lproj/Root.strings里,对应你原来的英文标题:

    "login_title" = "Login";
    "app_settings_title" = "App Settings";
    

二、自动生成Root.strings文件(从现有Title提取)

如果你的Root.plist里已经有大量英文Title,不想手动一个个写键和字符串,可以用这两种方法自动生成:

方法1:Xcode自带的本地化导出/导入

这是最省心的方式,适合新手:

  • 选中Settings.bundle,点击顶部菜单Editor → Export for Localization...
  • 选择保存路径,Xcode会生成一个.xliff文件,里面包含所有需要本地化的字符串
  • 你可以直接在这个文件里翻译其他语言,之后点击Editor → Import Localizations...,Xcode会自动帮你生成各个语言的Root.strings文件

方法2:终端脚本一键提取

如果你喜欢用命令行,用这个脚本可以快速从Root.plist提取Key和Title生成英文的Root.strings:

# 先cd到你的Settings.bundle目录下
cd /path/to/your/Project/Settings.bundle

# 执行脚本生成en.lproj/Root.strings
plutil -convert xml1 -o - Root.plist | grep -A1 -B1 '<key>Title</key>' | awk '
/<key>Key<\/key>/ {getline; gsub(/<string>|<\/string>/, "", $0); key=$0}
/<key>Title<\/key>/ {getline; gsub(/<string>|<\/string>/, "", $0); print "\"" key "\" = \"" $0 "\";"}
' > en.lproj/Root.strings

脚本会自动遍历所有设置项,把Key和对应的Title转换成.strings格式。之后你只需要把这个文件复制到其他语言的.lproj文件夹,修改右侧的翻译即可。

小提示

  • 注意字符串里的特殊字符(比如双引号)需要转义,比如"He said \"Hello\""
  • 测试时记得切换系统语言,然后打开系统设置里的你的App,确认翻译生效
  • 如果有子页面(比如Child.plist),本地化流程和Root.plist完全一样

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:21:05