Xamarin Resource目录配置无效:新增多语言values文件夹报APT2142错误
报错原因
APT2142错误是Android资源打包工具检测到不合法的资源文件夹命名导致的,你使用的ku2不属于Android认可的语言/区域配置编码,不符合资源文件夹的命名规则。
解决步骤
- 确认目标语言的正确编码
Android资源文件夹的语言/区域后缀必须遵循以下规范:- 纯语言适配:使用2位小写的ISO 639-1语言编码,格式为
values-[两位语言码] - 带区域的语言适配:格式为
values-[两位语言码]-r[两位区域码],区域码为大写的ISO 3166-1编码,必须加前缀r
你填写的ku2为非法编码:如果是适配库尔德语,正确的语言编码是ku,对应文件夹名为values-ku;如果是适配特定区域的库尔德语,比如伊拉克地区库尔德语,对应文件夹名为values-ku-rIQ。
- 纯语言适配:使用2位小写的ISO 639-1语言编码,格式为
- 重命名资源文件夹
将原values-ku2文件夹修改为符合上述规范的名称,不要在后缀中使用数字、自定义编码。 - 校验strings.xml文件合法性
打开对应文件夹下的strings.xml文件,确认内容格式正确,没有未闭合的标签、未转义的特殊字符,根节点为<resources>,字符串项符合<string name="key">value</string>格式。 - 重新生成项目
先执行清理解决方案操作,手动删除项目根目录下的bin和obj文件夹后,再重新生成项目即可消除报错。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

