中文文档: http://spring.cndocs.tk/
英文文档: http://spring.oschina.mopaas.com/html_en/
Spring文档为adoc格式,文件已经按基本的章节和内容拆分为大量的adoc子文件,该文件在 src/asciidoc/chapter
路径下。
每一个adco文件内容在20行~200行左右,行数少的文件纯翻译内容较多,行数多的文件包含大量不需要进行翻译的代码。
准备参与前,请仔细考虑自己能否抽出一定的时间来参与翻译,我们要求每月至少翻译完一个adoc文件(20行~200行)!
首先加QQ群Team翻译小组:111763438
进群后,查看群公告的Team邀请链接,通过链接加入Team
然后从群共享下载 参与Spring文档翻译.pdf (或.doc版本)查看。
为了大家在翻译的时候文件格式正确,而且翻译比较一致,需要遵守一定的要求。
Spring文件使用的adoc语法,和markdow比较接近。
只有大概了解这种语法才能在翻译的时候知道应该翻译什么,那些不应该翻译。所以要求大家简单了解adoc语法。
asciidoc语法--快速参考:
http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/
asciidoc中文文档:
http://houqp.github.io/wbwa/wbwa.html
建议大家一定看看,否则翻译后的文档会出现一些格式错误。
为了便于查询adoc的预览效果,可以安装Chrome插件:
https://github.com/asciidoctor/asciidoctor-chrome-extension
由于文档中的换行对英文来说只是一个空格,但是对中文就会有影响,所以大家在翻译的时候可以先有换行,翻译完这一个段落后,再将换行删除。
在adoc语法中:
[source,xml,indent=0] [subs="verbatim,quotes,attributes"] ---- <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>{spring-version}</version> <scope>runtime</scope> </dependency> </dependencies> ----
这种是代码内容,这里面的内容一般不需要做任何修改。但是如果代码中有 注释 内容,需要把注释翻译成中文。
对于一些英语中专有的词汇,不需要进行翻译的可以不翻译。
例如:Spring不需要翻译,list,map等等不需要翻译,像bean也不用翻译。
具体遇到那些词可以在群内讨论。
为了便于独立翻译,已经手工将 index.adoc
和 appendix.adoc
进行了拆分。拆分后的内容在 src/asciidoc/chaptor
中。
Spring项目使用的**Gradle**,编译文档也需要用到**Gradle**,所以如果你想编译本项目,需要按如下进行操作:
按照官方的进行配置即可,主要是bin加入Path
gradle
然后会下载项目依赖,其中jruby有20多M,整体下载速度一般(使用的osc的maven库)。
项目运行到最后会报错。
报错是因为文件编码的问题,需要修改一个jar包。这个jar包只有执行上面的命令后才会下载下来。
这个jar包的目录可能是这样:
E:.gradle/caches/modules-2/files-2.1/org.asciidoctor/asciidoctor-java-integration/0.1.4/3596c7142fd30d7b65a0e64ba294f3d9d4bd538f
或者你找到**.gradle**目录后搜索**asciidoctor-java-integration-0.1.4.jar**查找。
在jar包的**asciidoctor-java-integration-0.1.4.jar/gems/asciidoctor-0.1.4/lib**这个目录下,有一个**asciidoctor.rb**文件。
在这个文件中找到110行左右,在下面这行代码前添加内容:
FORCE_ENCODING = RUBY_VERSION > '1.9' && Encoding.default_external != Encoding::UTF_8
添加的内容为:
Encoding.default_external = Encoding::UTF_8
修改后的文件为:
# utf8 Encoding.default_external = Encoding::UTF_8 # Flag to indicate whether encoding of external strings needs to be forced to UTF-8 # _All_ input data must be force encoded to UTF-8 if Encoding.default_external is *not* UTF-8 # Address failures performing string operations that are reported as "invalid byte sequence in US-ASCII" # Ruby 1.8 doesn't seem to experience this problem (perhaps because it isn't validating the encodings) FORCE_ENCODING = RUBY_VERSION > '1.9' && Encoding.default_external != Encoding::UTF_8
然后将修改后的**asciidoctor.rb**覆盖jar包目录中的文件即可。
最后,再次执行:
gradle
经过几分钟的编译就好了。编译成功的输出日志:
E:/Git/spring-framework-reference>gradle
:asciidoctor
:referenceHtmlMulti
BUILD SUCCESSFUL
Total time: 3 mins 56.987 secs
成功后可以在根目录下的**build**中看到生成的内容。