去除.net core 发布的时候生成的多余语言文件夹cs,de...,多余的Microsoft.CodeAnalysis语言资源文件
1.问题
.net core 3.1 发布时会多不少如下文件夹,如下图:
2.产生原因
由Microsoft.VisualStudio.Web.CodeGeneration.Design包导致
3.解决方法
如果确实需要某种语言资源文件,可以这样,右键编辑项目文件,在<PropertyGroup>添加如下
<SatelliteResourceLanguages>zh-Hans</SatelliteResourceLanguages>
这样发布后,就只会有一个资源文件夹;如果一个都不想要,这个语言文字名称可以乱取一个,就不会生成了。
如图:
在提供了多语言支持的软件中,为什么会看到 zh-hans、zh-CN、zh_CN 等多种简体中文的写法?
有什么历史原因?当前的规范和最佳实践是怎样的?
似乎重复了。至于区别么……M$是这样说的……What's New in Globalization and Localization
zh-CHS 是单纯的简体中文。
zh-CHT 是单纯的繁体中文。
zh-Hans和zh-CHS相同相对应。
zh-Hant和zh-CHT相同相对应。
以上时zh-CHS/zh-Hans 和 zh-CHT/zh-Hant的关系。
然后是
zh-CN 简体中文,中华人民共和国
zh-HK 繁体中文,香港特别行政区
zh-MO 繁体中文,澳门特别行政区
-zh-SG 繁体中文,新加坡
-zh-SG 简体中文,新加坡
zh-TW 繁体中文,台湾
这些按照语言+国家进行区分。按照MSDN上的说法,这些东西和上面按照语言进行区分的关系是……
zh-CN → zh-CHS → zh-Hans → zh → Invariant
zh-TW → zh-CHT → zh-Hant → zh → Invariant