制作TortoiseSVN最新版本的中文DLL(转)

简介: 转自:http://blog.donews.com/feihu/archive/2005/05/13/377920.aspx 自从发现了SVN后,我在自己的项目中总是使用SVN来做源代码管理,在windows上使用TortoiseSVN做客户端。

转自:http://blog.donews.com/feihu/archive/2005/05/13/377920.aspx

自从发现了SVN后,我在自己的项目中总是使用SVN来做源代码管理,在windows上使用TortoiseSVN做客户端。TortiseSVN作为windows客户端有个非常好的用途,就是不需要SVN的服务器,就可以管理本机硬盘上的代码和文档。我也一直这样使用。可以参见猛禽的Blog,SVN的Local方式:个人源码管理的好办法(CSDN的blog到底出了什么问题,都不能访问了)

一直用了TortiseSVN1.1.3没有升级,今天早上,手工检查了一下,发现升级到1.1.7.3332,就去下载了看看。尽管我不用翻译后的TSVN,但基于习惯,总是要去下载一个中文包。嗯,却没有发现有相应的中文语言包下载。再看了一下转移到http://tortoisesvn.berlios.de的TSVN的帮助站点,才发现现在帮助方式已经修改了,采用了PO文件作为翻译方式。PO文件其实是UTF-8的文本文件,非常容易编辑,这样也方便了翻译。但最后需要注入近语言DLL,才能被TSVN使用。目前TortiseSVN的版本比较新,所以还没有相应的中文DLL出来。一时有兴趣了,就自己来编译个中文DLL吧。

首先,要看看TortiseSVN的帮助了,现在转到http://tortoisesvn.berlios.de,帮助内容丰富了许多,首页右侧的常见问题,一定要看看。

关于TSVN的language的问题,有个页面谈到了:http://tortoisesvn.berlios.de/faq/index.php?action=artikel&cat=4&id=162&artlang=en&highlight=language。里面的这个链接就是关于TSVN的翻译的完整说明:http://svn.collab.net/repos/tortoisesvn/trunk/Languages/translations.txt

1,首先下载翻译好的语言文件:Tortoise_zh_CN.po
http://svn.collab.net/repos/tortoisesvn/tags/version_1.1.7/Languages/下载最新的Tortoise_zh_CN.po,因为简体翻译还在进行中,所以在 http://tortoisesvn.berlios.de/l10n有更新的,可以看到翻译了96.5%。在文件中可以了解两位中文简体翻译者
NetCobra < netcobra@gmail.com >
Cecil Sheng <
zcecil@csie.org >
在此表示感谢。

2,然后下载注入软件:ResText
http://tortoisesvn.tigris.org/files/documents/406/14560/ResText.zip下载。它是一个将PO里的数据注入到你自己的资源DLL的软件。

3,最后是下载两个空的语言资源DLL:TortoiseProcLang.dll(主程序使用),TortoiseMergeLang.dll(合并比较程序使用)
http://tortoisesvn.tigris.org/servlets/ProjectDocumentList?folderID=1847下载,一定要下载版本对应的空DLL。当当当当,在这个页面没有1.1.7。我试了一下1.1.5的DLL,确实是不行的。后来就想,自己来编译一下TSVN,这就是OpenSource的好处啊。

编译语言资源DLL:
利用老版本的TSVN,CheckOut出:
http://svn.collab.net/repos/tortoisesvn/tags/version_1.1.7/src/。看看build.txt,编译整个的TSVN,需要的资源(很多配套软件,磁盘空间1.5G等等)。但我们只是编译两个资源文件,是不需要这些的。用VS2003打开整个解决方案,可以看到有两个专门的语言项目:TortoiseMergeLang;TortoiseProcLang。

先将项目根目录下的version.in另存为version.h,将头文件里面的$WCREV$全部替换成3332。然后在VS里面编译且只编译:TortoiseProcLang,TortoiseMergeLang项目。这样在..\..\languages目录下就有了TortoiseMergeLang.dll,TortoiseProcLang.dll。

4,PO注入到DLL:
将四个文件:TortoiseMergeLang.dll,TortoiseProcLang.dll,ResText.exe,Tortoise_zh_CN.po放到一个目录下。从http://www.microsoft.com/globaldev/reference/lcid-all.mspx查询到简体中文的localID是2052。然后再控制台里输入:
restext apply TortoiseMergeLang.dll TortoiseMerge2052.dll Tortoise_zh_CN.po
restext apply TortoiseProcLang.dll TortoiseProc2052.dll Tortoise_zh_CN.po

将生成的两个xxx2052.dll copy到TSVN的目录下的languages目录(必定是C:\Program Files\TortoiseSVN\Languages\,TSVN安装的时候没有让选择目录。)

然后在右键关联菜单TortoiseSVN条目中选择“Settings”,就可以设置中文语言包了。

使用了1.1.7版本的TSVN后,发现了我一直想要的功能,就是自动关于提示窗口,比如checkout,commit后,没什么问题的话,提示窗口会自动关闭了,如果你使用多TSVN后,就能感觉,这个功能是多么的实用。

看截图,可以看到还有一些地方没有翻译,我按照Tortois.pot里面的条目,在中文PO中添加了两处翻译。

#: Control-ID:1066,
msgid "&Close windows automatically"
msgstr "自动关闭提示窗口(&C)"

#: Control-ID:1123,
msgid "D&on’t close on conflicts"
msgstr "提示冲突时不要关闭(&o)"

重新注入,程序提示中:没有翻译的地方少了4个(不知道为什么)。将新的TortoiseProc2052.dll覆盖过去,然后再看看,呵呵,这两处地方已经是中文的了。

如果谁需要TortoiseSVN 1.1.7.332版本的中文DLL,可以发Email给我。

相关文章
|
5月前
|
监控 网络协议 安全
基于标准C语言实现的跨平台Modbus协议库
基于标准C语言实现的跨平台Modbus协议库
|
JavaScript 前端开发 API
使用ArkUI封装表单
本文介绍了如何使用华为鸿蒙系统的声明式UI框架ArkUI封装表单。主要内容包括创建自定义组件、实现验证逻辑、在父组件中使用自定义表单组件,以及样式和布局的设置。通过这些步骤,可以提高代码的可复用性和模块化程度,使表单构建更加高效和易于维护。
421 3
|
10月前
|
安全 Java Linux
Nexpose 8.1.0 for Linux & Windows - 漏洞扫描
Nexpose 8.1.0 for Linux & Windows - 漏洞扫描
116 4
Nexpose 8.1.0 for Linux & Windows - 漏洞扫描
|
弹性计算 运维 监控
阿里云云服务诊断工具评测-轻松实现云资源健康监控与故障排查
阿里云云服务诊断工具评测:作为一名开发工程师,我体验了其健康状态与诊断功能。健康状态功能可实时监控ECS实例运行状况,帮助快速发现异常;诊断功能则自动分析并提供解决方案,显著提升故障排查效率。通过这些功能,我的工作效率提升了约30%-40%。建议进一步增强智能诊断和优化界面显示,使工具更加强大易用。推荐给所有运维人员和开发工程师使用。
331 22
|
前端开发 索引 Python
【已解决】Flask项目报错TypeError: tuple indices must be integers or slices, not str
【已解决】Flask项目报错TypeError: tuple indices must be integers or slices, not str
|
数据安全/隐私保护 Windows
IDEA向GitHub远端时,输入密码出错,修整解决方案
IDEA向GitHub远端时,输入密码出错,修整解决方案
171 0
|
数据安全/隐私保护 图形学
基于 LVGL 使用 SquareLine Studio 快速设计 UI 界面
基于 LVGL 使用 SquareLine Studio 快速设计 UI 界面
1182 0
|
存储 安全 Linux
Docker 前沿概述
Docker是基于Go语言实现的开源容器项目。Docker是一个为开发者和系统管理员提供的开发,部署和运行的容器应用程序。Linux使用容器开发应用程序的这种方式称为容器化。Docker项目已加入Linux基金会,并遵循Apache2.0 协议,全部开源代码再http://github.com/docker 项目仓库进行维护。
116 0
Docker 前沿概述
|
Linux Windows
事半功倍!强烈推荐这款学术利器!
在校学生或者从事科研相关工作的同学,经常会和学术论文打交道。 例如,毕业生在完成毕业论文的过程中,会阅读大量相关领域的学术论文。
事半功倍!强烈推荐这款学术利器!
|
uml
状态模式与备忘录模式(1)
状态模式与备忘录模式(1)
214 0
状态模式与备忘录模式(1)