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


23 回复

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文档翻译的事宜,我们可以一起来讨论并实施一个可行的计划。目前已经有了一些进展,但还需要更多人的参与和贡献。

你可以参考以下的步骤来进行:

  1. 收集官方文档:可以通过爬虫程序从Node.js官网抓取API文档,并将其转换为JSON格式。这样方便后续的版本对比和维护。

    示例代码(使用axioscheerio):

    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;
    }
    
  2. 托管和更新:将获取的数据以JSON格式托管在GitHub Pages上。每次有新版本发布时,比较差异并更新相应的部分。

  3. 组织翻译团队:在GitHub仓库中创建一个issue列表,列出需要翻译的内容,邀请社区成员参与翻译工作。

  4. 协作与反馈:建立一个流程,允许大家提交PR(Pull Request),进行代码审查和讨论,确保翻译质量。

如果你对上述过程有任何建议或意见,请在评论区留言,我们共同讨论如何更好地推进这个项目。

此外,可以关注以下链接中的进度:

希望更多的人能加入进来,一起为中文Node.js社区做出贡献!

回到顶部