分享 大家可以到这里来占坑翻译 Rails Guides 了~

tassandar · 2012年03月27日 · 最后由 tassandar 回复于 2012年04月19日 · 3956 次阅读

上次说想要一个共享翻译的 github,其实本来我是想别人牵头做。。。。结果大家都变成鼓励我自己搞,最后想想干脆自己弄了个。 花了一些时间把 Rails Guides 东西抠出来,加上了一些中文支持和翻译占坑的规则,因为看到挺多人比较喜欢 markdown 也加上了 markdown 的语法支持(发现 markdown 语法确实没有 textile 强大)。等过两天我想我会找一个域名部署上去的,如果喜欢的话可以开始 fork 并翻译了。等到翻译差不多了看看能不能合到 ruby-china 里面。 考虑到可能会有其他人一起管理这个账号,我新建了一个 github 账号来管理这个项目。 https://github.com/ruby-china/rails-guides

另外在做 markdown 语法支持的时候遇到一点问题,折腾挺久也没有什么好办法。 一个是 textile 可以 用这样的语法来生成一个标题 id
h1(#id). An HTML first-level heading 然后通过这个 id 自动生成一个标题导航。 然后 markdown 就没有这样的功能, 想要自己写一个处理能让 markdown 有这样的功能,结果试了几种方法都不太满意(bluecloth 的扩展性也是烂的要死)。不知道有没有什么好办法~

还有一个问题可能比较二吧,实在正则匹配的时候出现的,折腾了我一个晚上。 就是考虑到大家可能有一些文本带特殊字符,想用 ++ 号来帮助大家过滤掉其中的特殊字符(markdown 就都为特殊字符加上 "\" ,textile 直接加上一个标签). markdown 的部分实现起来我本来是这么做的: @body.gsub!(/\+(.*?)\+/) do |m| m.gsub /[.!()?#\_*]/ , '\\\&' end ` 结果居然发现所有特殊字符都被替换成了“\&”!! 虽然用其他方法解决了,还是挺想不通的,特地来请教一下。

很简单,只要在 source/documents_CN.yaml 中找到或者加入你想翻译的文章的资料,加入 work_in_progress = true 之后 push 过来就代表你成功的占到了一个坑,你可以开始慢慢的翻译自己的文章了。 怎样做呢 我学 rails 翻译了一部分 应该 能够用上 想拿出来

例如你想要翻译这一篇

- name: Rails Database Migrations url: migrations.html description: This guide covers how you can use Active Record migrations to alter your database in a structured and organized manner.

你就改成 - name: Rails Database Migrations #换成中文 url: migrations.html #写你对应的文件名把后缀换成 html work_in_progress: true contributor: your_github_acount description: 描述

就可以了

#2 楼 @jhjguxin 工科男文档写的不太好,见谅

@tassandar 是这样 过来一个 pull 吗 我是理科的

你把第一个改成我的好了(Getting Started with Rails)github 账号也是一样的 给个模板 我在弄第一个了

#5 楼 @jhjguxin 改成

name: Rails 初上手指南 url: getting_started.html work_in_progress: true contributor: jhjguxin description: Everything you need to know to install Rails and create your first application.

然后就可以了。翻译完把 source/CN/getting_started.textile 换成你的中文翻译 push 过来就可以。

@tassandar fuck 官网上的 guide 有些不一样了 害得我 还有 一一比对

@tassandar 后悔了 一些 html 或者 erb 代码 应该用 <pre></pre> 包装 建议 楼主改一下 使用 <html>或者 <erb> 包装效果都不怎么好 我开始的时候 是直接 参照 原有的 textile 文件 做的 结果 做完发现 效果真的好差 建议更改 但是 pull 麻烦楼主啦 你那里面很多文件里的 erb 代码 我觉得都该改成

 

#11 楼 @jhjguxin 现在有一个问题就是 guides 的 css 似乎对中文相当不友好。。慢慢改吧~谢谢你才对~

#1 楼 @tassandar 有很多实现是可能配置成给 header 加 ID 的。也可以手动在 header 前面或者后面直接插入段 html(a, span 什么的,div 什么的),把 id 加到这个插入的 tag 上

#13 楼 @doitian 试过了,尝试过抢先把标题自己转换成 html 但是那样的话会有各种奇怪的 bug。什么样的实现呢,有开源的么。

占坑,想试下翻译 ActiveRecord 的 query

#14 楼 @tassandar 比如 redcarpet 的 autolink

#16 楼 @doitian #14 楼 @tassandar

说错了,应该是 with_toc_data

#14 楼 @tassandar redcarpet 2.0+

require 'redcarpet'

rndr = Redcarpet::Render::HTML.new with_toc_data: true markdown = Redcarpet::Markdown.new rndr, autolink: true

markdown.render <<MD header ------

works MD

# => # #

header

# #

works

#18 楼 @doitian cool~ 看来是 bluecloth 不行。。回头就换掉

响应一下,我往下迁一个~

加了一个 wiki。 对了,究竟是在这里贡献呢: https://github.com/ruby-china/rails-guides 还是这里: https://github.com/RubyChinaTranslation/Rails-Guides-China

@huacnlee 最近在学习 rails engine 顺便 把 rails engine 的 翻译任务领了哈 pull request 已发

#23 楼 @jhjguxin 嗯。收到了~已经 merge

需要 登录 后方可回复, 如果你还没有账号请 注册新账号