.NET开发系列工具之NDoc:让NDoc支持简体中文!(含修改了的源代码)
2005-06-21 13:32 灵感之源 阅读(5822) 评论(13) 编辑 收藏 举报
关于NDoc,无论是在博客园还是其它技术网站,都有大量的介绍,这里不介绍其功能(除非有大量网友要求我这样做),只给大家实现其对简体中文的支持。
NDoc缺省不支持简体中文,编译出来的chm文档(MSDN类型)显示的中文以“?”代替了。用google搜索了整个互联网,只有percyboy(破宝)弄了一个广泛流传的1.2简体中文安装版本,没有源代码,现在NDoc官方都出到1.31了,提供了一些新功能,改进了原来很多bugs。
在1.31中,用户可以直接选择LangID。
我很是着急,所以把NDoc的1.3 nightly-dev-build(最新开发版本,不稳定)拉了下来,最简单的方法是跟踪,一跟踪就发现了关键:原来每个documenter(姑且称之为“文档器”)都有一个config(配置),里面有一个LangID(语言ID),初始化和缺省都为1033(英文),只需要把这2个地方改为2052便可,如下:
short _LangID = 2052;
![](/Images/OutliningIndicators/None.gif)
/// <summary>Gets or sets the LangID property</summary>
/// <remarks>The language ID of the locale used by the compiled helpfile</remarks>
[Category("HTML Help Options")]
[Description("The ID of the language the help file is in.")]
[DefaultValue((short)2052)]
[Editor(typeof(LangIdEditor), typeof(UITypeEditor))]
public short LangID
{
get { return _LangID; }
![](/Images/OutliningIndicators/InBlock.gif)
set
{
_LangID = value;
SetDirty();
}
}
文件分别为Msdn工程中的MsdnDocumenterConfig.cs和Msdn2工程中的Msdn2DocumenterConfig.cs
修改后实现了简体中文的显示。破宝汉化的版本还把一些关键字汉化了。要进行彻底汉化,还需要对大量的xslt文件进行汉化。
为了方便大家,我再进一步,把这些xslt都进行汉化,当然还有对应的documentor里面的代码了。
这里只给大家一个思路,具体应用,请根据自己的实际情况做选择。
需要自行编译的网友,必须先下载VSHIKhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwmscextendingnethelp.asp并安装之。
我修改的版本,只汉化了MSDN类型,点击这里下载。
NDoc缺省不支持简体中文,编译出来的chm文档(MSDN类型)显示的中文以“?”代替了。用google搜索了整个互联网,只有percyboy(破宝)弄了一个广泛流传的1.2简体中文安装版本,没有源代码,现在NDoc官方都出到1.31了,提供了一些新功能,改进了原来很多bugs。
在1.31中,用户可以直接选择LangID。
我很是着急,所以把NDoc的1.3 nightly-dev-build(最新开发版本,不稳定)拉了下来,最简单的方法是跟踪,一跟踪就发现了关键:原来每个documenter(姑且称之为“文档器”)都有一个config(配置),里面有一个LangID(语言ID),初始化和缺省都为1033(英文),只需要把这2个地方改为2052便可,如下:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
文件分别为Msdn工程中的MsdnDocumenterConfig.cs和Msdn2工程中的Msdn2DocumenterConfig.cs
修改后实现了简体中文的显示。破宝汉化的版本还把一些关键字汉化了。要进行彻底汉化,还需要对大量的xslt文件进行汉化。
为了方便大家,我再进一步,把这些xslt都进行汉化,当然还有对应的documentor里面的代码了。
这里只给大家一个思路,具体应用,请根据自己的实际情况做选择。
需要自行编译的网友,必须先下载VSHIKhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwmscextendingnethelp.asp并安装之。
我修改的版本,只汉化了MSDN类型,点击这里下载。