Skip to content

Commit

Permalink
feat: Add zh-cn lang
Browse files Browse the repository at this point in the history
  • Loading branch information
yeqing123 authored and ccarruitero committed Aug 19, 2020
1 parent db9dade commit 3b1d8ce
Show file tree
Hide file tree
Showing 32 changed files with 422 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
registry.pid
test
node_modules
node_modules
3 changes: 1 addition & 2 deletions COLLABORATORS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Collaborators

- [isaacs](https://github.com/isaacs)
- [linclark](https://github.com/linclark)
- [pathogen-](https://github.com/pathogen-)
Expand Down Expand Up @@ -30,4 +29,4 @@
- [eunsucking](https://github.com/eunsucking)
- [yous](https://github.com/yous)
- [marocchino](https://github.com/marocchino)
- [MJayJang](https://github.com/MJayJang)
- [MJayJang](https://github.com/MJayJang)
111 changes: 111 additions & 0 deletions i18n/zh-cn.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
{
"install-npm": {
"verifying": "正在验证 npm 是否已安装...",
"missing": "看来 npm 还没有安装。",
"npm-problem": "啊哦!npm 有问题!",
"version-verified": "太好了!您已安装 npm,版本是 {{version}}。\n\n现在让我们看看最新版本是什么...请耐心等待一下...",
"latest-version": "最新的 npm 是: {{version}}",
"upgrade": "您已安装版本 {{version}},但最新的是 {{latest}}。\n\n运行 \"npm install npm -g\" 来升级它。\n(如果您不愿意升级,可以直接跳过)",
"success": "恭喜您!\n您已经安装了 npm 的最新版本!"
},
"dev-environment": {
"err_workshopper": "现在好像在 workshopper 的根目录中。",
"err_home": "现在好像在您的家目录中。",
"hint": "这是不对的。请创建一个新文件夹并使用它。",
"no_package": "似乎缺少了 \"package.json\" 文件。您运行 \"npm init\" 了吗?"
},
"login": {
"whoami_err": "哎呀!\n似乎出了什么问题。",
"logged_out": "嗯... 未发现登录用户\n\n您是否运行 \"npm adduser\" 创建了账户?",
"success": "恭喜您,{{user}}!\n您已经是一个 npm 新账户的拥有者!\n\n好好利用它!勿以善小而不为,勿以恶小而为之。\n\n这种美妙的力量将带给您很多责任。这与蜘蛛侠的奇迹完全不同,希望这是漫威不会起诉我们的地方。\n太棒了!"
},
"start-a-project": {
"no_package": "没有找到 package.json 文件。\n请在您的工作目录下运行 \"npm init\"",
"success": "\n恭喜您!\n您已经创建了一个新项目!项目的信息可以在 package.json 中看到。",
"extra_credit": "锦上添花! 您做得很棒。"
},
"install-a-module": {
"error": "啊哦! 看来安装的不正确。\n错误提示:\n{{{error}}}\n务必使用 \"npm install @linclark/pkg\" 命令\n来安装 \"@linclark/pkg\" 模块。",
"success": "恭喜!您完成了安装!"
},
"listing-dependencies": {
"usage": "如果一切 OK,请运行:\n\"how-to-npm verify OK\"\n否则,运行:\n\"how-to-npm verify NOT OK\"",
"ok_not": "对不起,出错了!\n请运行 \"npm ls\" 查看错误信息。",
"not_ok_not": "嗯...\n虽然确实还存在许多问题,但您的 package.json 和 node_modules 文件夹却没有问题。",
"success": "看来您已经把问题解决了。非常好!\n注意,现在 \"npm ls\" 平静多了。"
},
"npm-test": {
"section_missing": "哎呀!在您的 package.json 文件里没有 `scripts.test` 字段。\n编辑它,并重新尝试。",
"running": "正在运行测试脚本...",
"running_done": "...完成!",
"error": "啊哦!测试失败了!\n尝试创建一个真正有效的测试。",
"success": "恭喜!您完成了一个测试!\n编写一个真实有用的测试代码,将留待日后完成。"
},
"package-niceties": {
"problem": "还没有全部完成。\n还有一个问题要解决。",
"error": "哦!\n似乎出什么问题了。",
"success": "成功了!\n 一个缺少 README 文件和一些元数据的包,就像一堆缺少说明或者 Git 仓库链接的 JavaScript 代码文件"
},
"publish": {
"error": "很遗憾!\n您未能成功发布\n {{name}}\n软件包。再试一次吧!"
},
"version": {
"invalid_semver": "版本格式似乎不正确!\n使用 `npm help semver` 了解更多关于版本号的帮助信息\n您当前的版本号是: {{version}}\n",
"old_version": "天啊!版本号仍旧是 {{version}}\n运行 `npm help version` 以了解如何更新版本。",
"success": "太棒了!\n运行 `how-to-npm` 继续下一个令人兴奋的挑战吧!"
},
"publish-again": {
"not_republished": "天啊!\n貌似您没有再次发布新的软件包。\n尝试运行 `npm publish` 并再次验证。",
"current_missing": "嗯... 我看见您发布了两次,可是\n当前版本 ({{version}}) 还没有发布。\n这是已发布的版本列表:\n{{{found}}}\n请重新发布!",
"success": "哇...!您也能成为未来的 TJames \"Substack\" Halidaychuk 啊!没有人能阻止您!!\n\n运行 `how-to-npm` 挑战下一个练习。"
},
"dist-tag": {
"success": "哦,看来您还是只有一个标签。\n使用 `npm help dist-tag` 学习如何添加标签。"
},
"dist-tag-removal": {
"too_many": "哦,看来您有一些额外的标签。\n使用 `npm help dist-tag` 学习如何移除它们。",
"version_mismatch": "哎呀!您的 \"latest\" 标签仍然指向最新的发布:{{version}} \n把它指向 {{version}} 以外的其他地方,并重新运行 `how-to-npm verify`\n\n使用 `npm help dist-tag` 学习更多的相关知识。"
},
"outdated": {
"no_package": "运行 `how-to-npm verify PKG` 将 `PKG` 替换为\n已过时的软件包名称",
"wrong_package": "不对,它不是 {{{pkg}}}。再试一次!"
},
"update": {
"outdated": "哎呀!您还在使用过时的版本!",
"success": "太棒了!您拥有了最新版本!\n运行 `how-to-npm` 继续下一个练习。"
},
"rm": {
"dependencies_left": "依赖的软件包似乎仍存在。",
"package_json_left": "您删除了软件包,但没有删除 package.json 中的条目"
},
"finale": {
"todo": "看起来您还有很多工作要做。在开始之前完成以下练习: "
},
"error": {
"not_setup": "看起来您还没准备好!\n返回到 \"01 准备开发环境\"这一关,设置您的工作目录。",
"wrong_folder": "哦!\n您在错误的文件夹里 \n请 cd 到 {{cwd}}\n然后重新尝试。"
},
"exercise": {
"00 Install npm": "00 安装 npm",
"01 Dev Environment": "01 准备开发环境",
"02 Login": "02 登录",
"03 Start A Project": "03 开始一个项目",
"04 Install A Module": "04 安装模块",
"05 Listing Dependencies": "05 依赖项列表",
"06 npm Test": "06 npm 测试",
"07 Package Niceties": "07 软件包的细节",
"08 Publish": "08 发布",
"09 Version": "09 版本",
"10 Publish Again": "10 再次发布",
"11 Dist Tag": "11 添加标签",
"12 Dist Tag Removal": "12 移除标签",
"13 Outdated": "13 检测旧版本",
"14 Update": "14 更新",
"15 Rm": "15 移除",
"16 Finale": "16 结尾"
},
"menu": {
"reset-registry": "重置注册表"
},
"reset": "成功重置注册表"
}
2 changes: 1 addition & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ if (notifier.update) {
var adventure = require('workshopper-adventure/adventure')
var shop = module.exports = adventure({
name: 'how-to-npm',
languages: ['en', 'es', 'ja', 'fr', 'ko'],
languages: ['en', 'es', 'ja', 'fr', 'ko', 'zh-cn'],
appDir: __dirname,
menu: {
bg: 'white',
Expand Down
16 changes: 16 additions & 0 deletions problems/00-install-npm/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
您好,欢迎来到 npm 训练营!我将要求您做各种与 npm 相关的事情,这样您就可以很容
易的开始用它了。

一些有用命令列表:

npm help ............ 可获得 npm 方面的帮助
how-to-npm print .... 重新显示当前的练习
how-to-npm verify ... 验证您是否完成了一项练习
how-to npm solution . 展示当前练习的答案

首先,请确认您是否安装了最新版的 npm。

如果确认成功,请运行 "$ADVENTURE_COMMAND verify" 。

(这是此训练营中唯一需要访问互联网的部分。如果您处于一个网络不通的状态,您可以运
行 "$ADVENTURE_COMMAND verify skip" 跳过。)
5 changes: 5 additions & 0 deletions problems/00-install-npm/skip.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
好吧,如果这就是您想要的......

使用 "npm install npm -g",您随时可以安装最新最好的 npm 版本。

您可能需要用 "sudo" 或管理员模式来运行。
12 changes: 12 additions & 0 deletions problems/01-dev-environment/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
npm 做的最重要的事情之一就是安装软件包。

然而,为了成为一个好的学习教程,我们不希望在您的电脑中制造垃圾文件,所以在继续之前,
让我们设置一个开发环境。

首先,创建一个新目录,并 `cd` 到其中。

然后,运行 "npm init" 创建 package.json 文件。您按照提示回答一些问题。
您可以按 Enter 将每个问题的答案设置为默认值。

完成上述工作后,运行 "$ADVENTURE_COMMAND verify" 进行验证。以后的所有练习,您都
应该在这个文件夹中完成。
6 changes: 6 additions & 0 deletions problems/01-dev-environment/success.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
恭喜!开发环境已就绪。

在此目录中执行其他任务。

顺便问一下,您是否注意到 `.npmrc` 文件?此文件通常不是必需的,但在此练习中,使
用 `.npmrc`,模拟互联网连接。
12 changes: 12 additions & 0 deletions problems/02-login/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
正是因为有您的加入,npm 才会变得更美好。从创建一个帐户开始吧。

因为这只是一个教程,所以我们不会*实际*在某个地方创建帐户。但是,当您在现实世界
中这样做,它将创建一个真实的帐户。npmjs.com 上有一个页面,可以发布供人们安装和
使用的真正软件包。

要查看您登录的账户,请运行 "npm whoami"

要创建帐户,请运行 "npm adduser"

那么,让我们实际尝试一下吧!打开更大的模块世界的大门。完成后,请运
行 "$ADVENTURE_COMMAND verify"。
6 changes: 6 additions & 0 deletions problems/03-start-a-project/continue.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
额外的挑战,尝试将此目录设置为 Git 仓库。

按照惯例,为每个模块或项目单独设置一个 Git 仓库。使用 "git init" 命令将您的工作
目录设置为一个 Git 仓库。

然后,运行 "how-to-npm verify extra credit" 进行验证。
7 changes: 7 additions & 0 deletions problems/03-start-a-project/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
npm 可以帮助您构建项目,但为了使 npm 做到这一点,您需要告诉 npm 关于项目的一点
信息。您可以在 package.json 文件中,告诉 npm 您的项目信息。

运行 "npm init --scope=<username>",并且将 <username> 替换成您在上一节课创建的
用户名。这将创建一个 package.json 文件。(额外的挑战,将此项目设为 Git 仓库。)

当您完成上述工作后,运行 "$ADVENTURE_COMMAND verify"
5 changes: 5 additions & 0 deletions problems/03-start-a-project/suggestion.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
好吧,除了 git 部分其他的您均已拥有。

按照惯例,一个模块要设置一个 Git 仓库,因此您需要在您项目的根目录下运行 "git init" 命令。

删除您当前的 .git 文件夹,然后再运行 "git init" 重建项目。
12 changes: 12 additions & 0 deletions problems/04-install-a-module/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
对于大多数人而言,使用 npm 做的第一件事是安装依赖的软件包。

所有的依赖都从 registry 中获取,然后解压到 "node_modules" 文件夹中。

安装一个模块,使用 "npm install <modulename>" 命令。

我们使用的 registry 是 https://registry.npmjs.org 的一个很小的版本。因此您也许
发现了,它只有一些少量的东西。

请安装 "@linclark/pkg" 模块。

完成所有工作后,运行 "$ADVENTURE_COMMAND verify"。
15 changes: 15 additions & 0 deletions problems/05-listing-dependencies/continue.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
如您所见,目前对依赖包的管理并不算好。

依赖包必须添加到 package.json 内的 "dependencies" 字段中。
然而,当我们安装 "@linclark/pkg" 模块时,我们并没有更新 package.json 文件中的依赖列表。

所以,npm 会发出一个 'extraneous' 警告,告诉我们没有添加 'dependencies' 字段来管理依赖包。

避免发生此情况的最简单的办法是,在安装依赖时追加 "--save" 标识。虽然在试用模块时,可能您并
不希望这么做,但如果您决定将模块引入到当前项目中,则可以使用该标识更新 package.json。

尝试运行 "npm install @linclark/pkg --save" 来安装模块,并更新 package.json 文件。

(另一个方法是可以在文本编辑器中自己编辑 package.json 文件)

如果解决了该问题,则运行 "how-to-npm verify OK"。
8 changes: 8 additions & 0 deletions problems/05-listing-dependencies/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
npm 不仅是用来安装的。它还能显示您已经安装的软件包(您的依赖项)。

您可以使用 "npm ls" 命令来实现。

在您的工作目录中运行该命令。如果出现任何问题,npm 将返回一条以 "!ERR" 开头的错误信息。

如果您发现一切 OK,则运行 "$ADVENTURE_COMMAND verify OK",
如果遇到任何问题,则运行 "$ADVENTURE_COMMAND verify NOT OK"。
27 changes: 27 additions & 0 deletions problems/06-npm-test/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
现在您已经安装了一些东西,使用 "npm ls" 可以显示正在发生的事情。

如果您查看 package.json 文件,会发现在其中有如下奇怪的表述:

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},

npm 可以使用 "scripts" 属性,来用作任务执行者。
几乎每个模块和项目都会有一个测试脚本,以确保其正常运行。
为避免忘记测试,默认情况下 npm 设置测试脚本为"始终失败"。

首先,创建一个名叫 "test.js" 的文件。用于训练营的挑战,可以将其置为空,
它将用来编写您的测试(这是 npm 类型,而不是测试类型)。
此外,测试结束时不应出现错误,否则,测试将失败。

然后,编写您的 "package.json" 文件,使您的脚本部分看起来像这样:

"scripts": {
"test": "node test.js"
},

一旦完成,运行 "$ADVENTURE_COMMAND verify" 来验证您的工作。

其他提示:如果您确实想运行您在 "test.js" 中写的 "test" 脚本,请运行 "npm test"。

npm 脚本属性的有关文档,可以在这里找到:https://docs.npmjs.com/misc/scripts
16 changes: 16 additions & 0 deletions problems/07-package-niceties/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
虽然您创建了一个 package.json 文件,但是它还缺少一些人们通常期望的内容。
如果您输入 "npm install",您会看见大致如下的内容:

npm WARN package.json %ID% No description
npm WARN package.json %ID% No repository field
npm WARN package.json %ID% No README data

在向世界分享您的工作成果之前,我们需要将其再完善一下,以便人们知道如何使用它。

首先,创建一个 README.md 文件,里面只有少量的文字。

然后,在 package.json 文件中添加名为 "repository" 的字段,并制定一个人们可以访问代码的网址。

您能手动编辑您的 package.json 文件,或再次运行 "npm init"。

当您完成后,运行 "$ADVENTURE_COMMAND verify"。
13 changes: 13 additions & 0 deletions problems/08-publish/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
您如何看待一个没有任何软件包的包管理器?

这确实不太好。

幸运的是,对于 npm 来说这不是问题,因为所有的 npm 用户都可以很容易地发布他们的模块并与世界分享。

软件包通过使用 "npm publish" 命令来加入到 npm registry 中。

现在就试试,这没什么难的。

(请再次确认您在正确的目录中。如果您错误地发布了什么,可以删除。但是,不能保证在此期间没有人下载。)

当完成以后,运行 "$ADVENTURE_COMMAND verify"。
15 changes: 15 additions & 0 deletions problems/08-publish/success.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
为了查看您的包内容,我们刚才运行了这个命令:

npm view %NAME%

您自已运行一下那个命令,看看它打印出了什么。

"npm view" 命令是查看包详情的最佳方法,用于查看您发布的软件包的信息,并检查是否已使用了相同的名称。

现在,在此 how-to-npm 训练营,您可以在内部发布软件包。只要离开这个目录做同样的事,就能向全世界的人们公开您的代码!

npm 不是只为了共享代码,她还能将代码分解为小的可管理的部分,即使您仅为自己的应用程序而使用,也能享受到这一好处。

想象一下,未来的自己和过去的自己,分别作为不同的两个开发人员存在于团队中。(安排先后次序会变得棘手)

运行 "how-to-npm" 继续下一个挑战!
27 changes: 27 additions & 0 deletions problems/09-version/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
npm 的每个软件包都有一个与之相关联的版本号。当您发布新的软件包时,其版本号也会随之更新。

版本号在 npm 中遵循一个名为 "SemVer" 的标准。它是 "Semantic Version" 的缩写。这个标准的详细说明可以在 http://semver.org 找到。

具体说明如下:

1.2.3
^ ^ ^
| | `-- 补丁版本。每一次小的修改后的更新。
| `---- 小版本。当添加 API 时的更新。
`------ 主要版本。当 API 不再具有兼容性时的更新。

npm有关于项目版本的命令:
npm version ................ 查看当前版本号
npm version <newversion> ... 更新项目版本号

您可以通过 "npm help version" 了解更多相关信息。

如果您不放心运行命令,可以打开 package.json 手动将 "version" 字段修改为新版本。
如果您的项目是一个 Git 仓库,则该修改也将提交给 Git。

不管怎样,在不更新版本号的情况下,npm 不会允许您发布新版本!
因此,在发布更新时,请记住,无论多么细微的更改,都要及时更新版本号。

别担心,整数非常多,用不完的。

现在更新您的版本号,然后使用 "$ADVENTURE_COMMAND verify" 来检验。
9 changes: 9 additions & 0 deletions problems/10-publish-again/problem.zh-cn.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
有一次发布是好事。可是健壮的软件包往往是在一次又一次的 bug 修复中诞生的。

您不能重复使用同一个版本号,这不仅会使用户感到困惑,还会使通过版本号进行
内容识别的程序发生混乱。

但是,由于我们在上一个练习中更改了版本号,所以您可以再次发布。

继续努力!
完成后运行 "$ADVENTURE_COMMAND verify"。
Loading

0 comments on commit 3b1d8ce

Please sign in to comment.