Nodejs文档翻译事宜商量一下?
Nodejs文档翻译事宜商量一下?
没个像样的文档页面, 觉得挺难受的, 而且论坛是被问了那么多次… 虽然说学 Node 英文资料还是首要的来说, 个人比较期待能开个项目, 一直跟进 Node.js 官方的文档更新,
不知道新的文档是否有大侠翻译过, 那样直接做起点来更新就好了,
我个人在 Github 开了个 repo, 不清楚是否会有人加入… https://github.com/coffee-js/nodejs-api-json 大致是抓官网的 JSON, 本地保存, 更新时看 Diff 更改对应的部分, 然后以 JSON 的格式托管在 Github Pages 上, 被调用来作做面
有木有更好的方案?
更新
具体进展看老雷的回复:
http://cnodejs.org/topic/5231af2e101e574521e589df#5232d2f8101e57452107aa84
以及微博和 Github 上的进展:
http://weibo.com/ucdok?from=profile&wvr=5&loc=infdomain https://github.com/leizongmin/node-doc-cn/issues
Nodejs 文档翻译事宜商量一下?
没有一个像样的文档页面确实让人感到不太舒服,而且这个问题在论坛上也被问了很多次。虽然学习 Node.js 时英文资料仍然是首选,但我个人认为我们可以发起一个项目,持续跟进 Node.js 官方文档的更新。
不知道是否已经有大侠翻译过新版本的文档,如果有,我们可以直接从这些起点开始更新。我已在 GitHub 上创建了一个仓库,不确定是否会有其他人加入:
这个仓库的主要目的是抓取官方文档的 JSON 数据,本地保存,并在更新时查看差异(Diff),以更改对应的部分。然后以 JSON 格式托管在 GitHub Pages 上,以便后续调用。
有没有更好的方案呢?
更新
具体进展可以查看老雷的回复:
以及微博和 GitHub 上的进展:
示例代码
为了实现抓取和更新 Node.js 官方文档的 JSON 数据,可以使用以下 Node.js 示例代码。这里使用 axios
来进行 HTTP 请求,并使用 fs
模块来处理文件系统操作。
const axios = require('axios');
const fs = require('fs');
// 官方文档的 URL
const DOC_URL = 'https://nodejs.org/api/documentation.json';
// 本地存储路径
const LOCAL_PATH = './nodejs-api.json';
// 抓取文档数据
async function fetchDocumentation() {
try {
const response = await axios.get(DOC_URL);
const data = response.data;
// 将数据保存到本地文件
fs.writeFileSync(LOCAL_PATH, JSON.stringify(data, null, 2));
console.log('文档已成功抓取并保存到本地。');
} catch (error) {
console.error('抓取文档时发生错误:', error.message);
}
}
// 检查本地文件是否存在并更新
function checkAndUpdateDocument() {
if (fs.existsSync(LOCAL_PATH)) {
// 读取本地文件
const localData = JSON.parse(fs.readFileSync(LOCAL_PATH, 'utf-8'));
// 假设我们有一个函数来获取远程文件的最新版本
axios.get(DOC_URL).then(response => {
const remoteData = response.data;
// 比较两个对象的差异
const diff = compareObjects(localData, remoteData);
if (Object.keys(diff).length > 0) {
// 如果有差异,则更新本地文件
fs.writeFileSync(LOCAL_PATH, JSON.stringify(remoteData, null, 2));
console.log('文档已更新。');
} else {
console.log('文档未更新。');
}
}).catch(error => {
console.error('检查文档更新时发生错误:', error.message);
});
} else {
console.log('本地文件不存在,需要先抓取文档。');
fetchDocumentation();
}
}
// 比较两个对象的差异(简化版)
function compareObjects(obj1, obj2) {
let diff = {};
for (let key in obj1) {
if (obj1[key] !== obj2[key]) {
diff[key] = obj2[key];
}
}
return diff;
}
// 运行检查函数
checkAndUpdateDocument();
这段代码展示了如何抓取和更新 Node.js 官方文档的 JSON 数据,并通过简单的对象比较来确定是否需要更新本地文件。
比我 Repo 上可指望多了, 你们译下来感觉这个工作量会有多大?
支持这个项目,但其实看一手的英文原文档是最好的,表述精准,翻译难免会出歧义。
这个必须支持,期待早日完成。
赞,这个不错
顶个,支持一定, 不过还是建议要学好英语先,需要翻译的程序员不是好程序员, 个人感觉到后面你的技术水平就跟英语水平有一定关系了…… 毕竟现在的标准还是人家定的。
测试下回复
顶一下,个人能力有限,感谢各位志同道合的伙伴们分享自己的智慧
顶一下吧!
目前进度不错,过来顶一下
今天刚注册 ,特意看一下
想加入翻译队伍,不知道怎么可以加入
老雷的网站直接注册就能开始翻译了啊
万年潜水党专门上来表示一下感谢!!!!!!!!!!!!!!!!
顶一个!!
刚开始接触这个node.js,个人觉得这个技术真的是灰常好;之前还一度在网上搜索中文文档,看来,还是你们这些人值得佩服。要不是我英语不好,我也想加入的。
欢迎参与啊, 写博客转微博什么都可以帮上的
刚看到这个,支持一下,翻了一点
如果翻译的时候能加上一两个简单的demo就更好了。个人觉得node的文档相比其他语言还是略显简略。如果英文好点,还真想加入
顶一个
这个不错,算我一个。
只剩150个条目不到了,大家加把油
关于Node.js文档翻译的事宜,我们可以一起来讨论并实施一个可行的计划。目前已经有了一些进展,但还需要更多人的参与和贡献。
你可以参考以下的步骤来进行:
-
收集官方文档:可以通过爬虫程序从Node.js官网抓取API文档,并将其转换为JSON格式。这样方便后续的版本对比和维护。
示例代码(使用
axios
和cheerio
):const axios = require('axios'); const cheerio = require('cheerio'); async function fetchDoc() { const response = await axios.get('https://nodejs.org/dist/latest-v14.x/docs/api/'); const $ = cheerio.load(response.data); const data = []; // 解析HTML并提取数据 $('div.api-index ul li a').each((index, element) => { data.push($(element).text()); }); return data; }
-
托管和更新:将获取的数据以JSON格式托管在GitHub Pages上。每次有新版本发布时,比较差异并更新相应的部分。
-
组织翻译团队:在GitHub仓库中创建一个issue列表,列出需要翻译的内容,邀请社区成员参与翻译工作。
-
协作与反馈:建立一个流程,允许大家提交PR(Pull Request),进行代码审查和讨论,确保翻译质量。
如果你对上述过程有任何建议或意见,请在评论区留言,我们共同讨论如何更好地推进这个项目。
此外,可以关注以下链接中的进度:
希望更多的人能加入进来,一起为中文Node.js社区做出贡献!