Unity UWP发布微软商店包支持语言仅显示英文问题求助
解决方案
问题根源
Unity 导出的 UWP(WSA)项目默认不会自动同步游戏内多语言配置到应用清单,仅会默认保留英文作为唯一支持语言,手动修改导出后 VS 项目的资源文件很容易被 Unity 重新导出覆盖,也不会被打包系统正确识别。
操作步骤
第一步:先在 Unity 侧完成基础配置
打开Edit -> Project Settings -> Player,切换到 Universal Windows Platform 标签页:- 找到
Publishing Settings -> Supported Languages,勾选所有你游戏实际支持的语言,不要仅保留默认英文 - 再找到
Other Settings -> Configuration,确认Supported Locales列表中已经添加了所有对应语言的标准 IANA 代码(比如简体中文填zh-CN、日语填ja-JP)
- 找到
第二步:添加识别用的占位资源文件
在 Unity 项目的Assets目录下新建名为WSA的文件夹(大小写严格匹配),按以下结构放置空的资源文件即可,不需要填写实际内容,仅用于让打包系统识别支持的语言:Assets/ └── WSA/ ├── zh-CN/ │ └── Resources.resw ├── ja-JP/ │ └── Resources.resw └── fr-FR/ └── Resources.resw你可以直接新建文本文档改后缀为
.resw,不需要用 VS 的资源文件模板生成。第三步:导出 VS 项目后校验清单
导出 VS 项目后,打开项目根目录的Package.appxmanifest文件,查看Resources节点,确认已经列出所有你支持的语言,示例如下:<Resources> <Resource Language="en-US" /> <Resource Language="zh-CN" /> <Resource Language="ja-JP" /> </Resources>如果有缺失手动补全后保存,再进行编译打包操作。
第四步:打包后预校验
在 VS 中选择项目右键 -> 发布 -> 创建应用程序包,打包完成后会自动生成包验证报告,报告中会明确列出当前包支持的所有语言,确认无误后再上传到 Windows 商店即可。
注意事项
- 不要直接修改导出后 VS 项目内的资源文件/清单文件,Unity 每次重新导出都会覆盖这些内容,所有修改尽量在 Unity 项目侧完成
- 语言代码必须使用标准 IANA 格式,不要使用自定义简写
内容的提问来源于stack exchange,提问作者Cezar Wagenheimer
相关产品推荐
相关产品推荐

