.NET开发系列工具之NDoc:让NDoc支持简体中文!(含修改了的源代码)

关于 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便可,如下:

None.gif          short  _LangID  =   2052 ;
None.gif
ExpandedBlockStart.gifContractedBlock.gif        
/**/ /// <summary>Gets or sets the LangID property</summary>
ExpandedBlockEnd.gif        
/// <remarks>The language ID of the locale used by the compiled helpfile</remarks>

None.gif         [Category( " HTML Help Options " )]
None.gif        [Description(
" The ID of the language the help file is in. " )]
None.gif        [DefaultValue((
short ) 2052 )]
None.gif        [Editor(
typeof (LangIdEditor),  typeof (UITypeEditor))]
None.gif        
public   short  LangID
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif            
get dot.gifreturn _LangID; }
InBlock.gif
InBlock.gif            
set
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                _LangID 
= value;
InBlock.gif                SetDirty();
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }
    

文件分别为Msdn工程中的MsdnDocumenterConfig.cs和Msdn2工程中的Msdn2DocumenterConfig.cs

修改后实现了简体中文的显示。破宝汉化的版本还把一些关键字汉化了。要进行彻底汉化,还需要对大量的xslt文件进行汉化。

为了方便大家,我再进一步,把这些xslt都进行汉化,当然还有对应的documentor里面的代码了。

这里只给大家一个思路,具体应用,请根据自己的实际情况做选择。

需要自行编译的网友,必须先下载VSHIK http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwmscextendingnethelp.asp并安装之。

我修改的版本,只汉化了MSDN类型,点击 这里下载。

转载于:https://www.cnblogs.com/unruledboy/archive/2005/06/21/178329.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值