去除.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

 

posted @ 2021-11-12 15:44  刘小吉  阅读(830)  评论(0编辑  收藏  举报