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

Xcode为何忽略本地化InfoPlist.strings?匈牙利语应用名未生效

iOS应用匈牙利语本地化:桌面名称不生效问题

问题详情

  • 应用已完成匈牙利语本地化,应用内其他文本翻译正常,但桌面显示的应用名称始终为英文
  • 已创建对应本地化文件:
    • en.proj/InfoPlist.strings:
      "CFBundleName" = "English test";
      "CFBundleDisplayName" = "English test";
      
    • hu.proj/InfoPlist.strings:
      "CFBundleName" = "Az Én 1RM Kalk";
      "CFBundleDisplayName" = "Az Én 1RM Kalk";
      
  • 模拟器已设置App Language为匈牙利语、App Region为匈牙利,应用内文本正常显示匈牙利语
  • 更新:运行时通过代码Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String ?? ""能正确获取到匈牙利语名称,但模拟器桌面仍显示英文名称

可行解决方法

1. 检查主Info.plist配置

确保主Info.plist中没有硬编码CFBundleDisplayName或CFBundleName的值,避免覆盖本地化文件的设置。如果主文件写死了英文名称,系统会优先读取这里的内容。

2. 验证本地化文件编译配置

  • 打开Xcode项目设置,进入Build Phases -> Copy Bundle Resources,确认hu.proj/InfoPlist.strings已被添加到列表,无遗漏。
  • 选中InfoPlist.strings文件,在右侧File Inspector中确认匈牙利语(Hungarian)已被勾选,确保文件归属对应本地化目标。

3. 清理模拟器缓存并重启

模拟器桌面图标名称可能存在缓存,执行以下操作:

  • 从模拟器中删除应用,使用命令xcrun simctl erase all清空所有模拟器数据
  • 重启模拟器后重新编译安装应用

4. 调整系统语言优先级

进入模拟器设置 -> 通用 -> 语言与地区,确认匈牙利语排在首选语言列表的最顶部,避免英文优先级更高导致的读取问题。

5. 检查本地化语法与键名

确认hu.proj/InfoPlist.strings中的CFBundleDisplayName拼写正确,引号、分号等语法细节无错误——iOS对本地化文件的语法要求严格,微小错误会导致文件失效。

6. 确认项目本地化列表

进入项目Info标签页,在Localizations部分确认匈牙利语已添加到项目本地化列表中,且状态为“已完成”(非未激活或引用状态)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:01:24