Merge branch 'more-zh-translation' of git://github.com/dotnil/learnGitBranching into dotnil

Issue #74
This commit is contained in:
Peter Cottle 2013-03-07 20:19:12 -08:00
parent b3c6b6de66
commit 6fdcbbcee1
9 changed files with 149 additions and 38 deletions

View file

@ -17,5 +17,24 @@ exports.dialog = {
' * Enter the command ```finish``` to output your level JSON!'
]
}
}],
'zh_CN': [{
type: 'ModalAlert',
options: {
markdowns: [
'## 欢迎使用关卡生成器!',
'',
'主要步骤如下:',
'',
' * 使用 git 命令布置好初始环境',
' * 使用 ```define start``` 命令定义起始树',
' * 输入一系列 git 命令,编好答案',
' * 使用 ```define goal``` 命令定义目标树。定义目标的同时定义答案',
' * 还可以用 ```define hint``` 命令定义一个提示',
' * 用 ```define name``` 修改名称',
' * 还可以用 ```edit dialog``` 定义一个漂亮的开始对话框',
' * 输入 ```finish``` 就可以输出你的关卡数据JSON'
]
}
}]
};

View file

@ -9,6 +9,16 @@ exports.dialog = {
'our solution uses {best}.'
]
}
}],
'zh_CN': [{
type: 'ModalAlert',
options: {
markdowns: [
'## 碉堡了!',
'',
'你用 *{numCommands}* 条命令搞定了这一关;我们的答案要用 {best}。'
]
}
}]
};

View file

@ -53,6 +53,58 @@ exports.dialog = {
]
}
}],
'zh_CN': [{
type: 'ModalAlert',
options: {
markdowns: [
'## 欢迎光临 LearnGitBranching!',
'',
'本应用旨在帮助初学者领会 git 分支背后的强大概念。',
'希望你能喜欢这个应用,并学到知识!',
'',
'# 演示!',
'',
'如果你还没看过演示,请到此查看:',
'',
'[http://pcottle.github.com/learnGitBranching/?demo](http://pcottle.github.com/learnGitBranching/?demo)',
'',
'厌烦这个对话框? 在 URL 后头加上 `?NODEMO` 就看不到它了,也可以直接点下边这个链接:',
'',
'[http://pcottle.github.com/learnGitBranching/?NODEMO](http://pcottle.github.com/learnGitBranching/?NODEMO)'
]
}
}, {
type: 'ModalAlert',
options: {
markdowns: [
'## Git 命令',
'',
'在沙盒模式里,你有好多命令可用。 包括:',
'',
' * commit',
' * branch',
' * checkout',
' * cherry-pick',
' * reset',
' * revert',
' * rebase',
' * merge'
]
}
}, {
type: 'ModalAlert',
options: {
markdowns: [
'## 分享即关怀',
'',
'使用 `export tree` 和 `import tree` 与朋友分享 Git 树',
'',
'有个好课程可以分享?试试用 `build level` 创建一个关卡,或者 `import level` 试试朋友的。',
'',
'言归正传,让我们先从 `levels` 开始……'
]
}
}],
'ko': [{
type: 'ModalAlert',
options: {

View file

@ -2,145 +2,173 @@ exports.strings = {
///////////////////////////////////////////////////////////////////////////
'finish-dialog-finished': {
'__desc__': 'One of the lines in the next level dialog',
'en_US': 'Wow! You finished the last level, great!'
'en_US': 'Wow! You finished the last level, great!',
'zh_CN': '我的个天!你完成了最后一关,碉堡了!'
},
///////////////////////////////////////////////////////////////////////////
'finish-dialog-next': {
'__desc__': 'One of the lines in the next level dialog',
'en_US': 'Would you like to move onto *"{nextLevel}"*, the next level?'
'en_US': 'Would you like to move onto *"{nextLevel}"*, the next level?',
'zh_CN': '要不前进到下一关 *“{nextLevel}”*'
},
///////////////////////////////////////////////////////////////////////////
'finish-dialog-win': {
'__desc__': 'One of the lines in the next level dialog',
'en_US': 'Awesome! You matched or exceeded our solution.'
'en_US': 'Awesome! You matched or exceeded our solution.',
'zh_CN': '牛鼻啊!你达到或者完爆了我们的答案。'
},
///////////////////////////////////////////////////////////////////////////
'finish-dialog-lose': {
'__desc__': 'When the user entered more commands than our best, encourage them to do better',
'en_US': 'See if you can whittle it down to {best} :D'
'en_US': 'See if you can whittle it down to {best} :D',
'zh_CN': '试试看你能否在 {best} 之内搞定 :D'
},
///////////////////////////////////////////////////////////////////////////
'git-status-detached': {
'__desc__': 'One of the lines for git status output',
'en_US': 'Detached head!'
'en_US': 'Detached head!',
'zh_CN': '脑袋搬家Detached head'
},
///////////////////////////////////////////////////////////////////////////
'git-status-onbranch': {
'__desc__': 'One of the lines for git status output',
'en_US': 'On branch {branch}'
'en_US': 'On branch {branch}',
'zh_CN': '切换到分支 {branch}'
},
///////////////////////////////////////////////////////////////////////////
'git-status-readytocommit': {
'__desc__': 'One of the lines for git status output',
'en_US': 'Ready to commit! (as always in this demo)'
'en_US': 'Ready to commit! (as always in this demo)',
'zh_CN': '可以提交啦!(这演示里一直可以提交)'
},
///////////////////////////////////////////////////////////////////////////
'git-dummy-msg': {
'__desc__': 'The dummy commit message for all commits. Feel free to put in a ' +
'shoutout to your school / city / whatever!',
'en_US': 'Quick commit. Go Bears!'
'en_US': 'Quick commit. Go Bears!',
'zh_CN': '快速提交。上啊月熊!'
},
///////////////////////////////////////////////////////////////////////////
'git-error-branch': {
'__desc__': 'One of the error messages for git',
'en_US': 'You can\'t delete the master branch, the branch you are on, or things that ' +
'aren\'t branches'
'aren\'t branches',
'zh_CN': '你不能删除主分支master或者你当前所在的分支或者其他不是分支也不知道能不能吃的东西。'
},
///////////////////////////////////////////////////////////////////////////
'git-merge-msg': {
'__desc__': 'The commit message for a merge commit',
'en_US': 'Merge {target} into {current}'
'en_US': 'Merge {target} into {current}',
'zh_CN': '合并 {target} 到 {current}'
},
///////////////////////////////////////////////////////////////////////////
'git-error-rebase-none': {
'__desc__': 'One of the error messages for git',
'en_US': 'No commits to rebase! Everything is a merge commit or changes already applied'
'en_US': 'No commits to rebase! Everything is a merge commit or changes already applied',
'zh_CN': '没有需要 rebase 的提交!都是个合并提交,或者已经 rebase 过了。'
},
///////////////////////////////////////////////////////////////////////////
'git-result-nothing': {
'__desc__': 'The message that explains the result of a git command',
'en_US': 'Nothing to do...'
'en_US': 'Nothing to do...',
'zh_CN': '没啥鸟事……'
},
///////////////////////////////////////////////////////////////////////////
'git-result-fastforward': {
'__desc__': 'The message that explains the result of a git command',
'en_US': 'Fast forwarding...'
'en_US': 'Fast forwarding...',
'zh_CN': '快速前进……'
},
///////////////////////////////////////////////////////////////////////////
'git-result-uptodate': {
'__desc__': 'The message that explains the result of a git command',
'en_US': 'Branch already up-to-date'
'en_US': 'Branch already up-to-date',
'zh_CN': '分支已经是最新啦'
},
///////////////////////////////////////////////////////////////////////////
'git-error-exist': {
'__desc__': 'One of the error messages for git',
'en_US': 'The ref {ref} does not exist or is unknown'
'en_US': 'The ref {ref} does not exist or is unknown',
'zh_CN': '索引 {ref} 不存在,或者找不到。'
},
///////////////////////////////////////////////////////////////////////////
'git-error-relative-ref': {
'__desc__': 'One of the error messages for git',
'en_US': 'Commit {commit} doesnot have a {match}'
'en_US': 'Commit {commit} doesnot have a {match}',
'zh_CN': '提交 {commit} 并没有 {match}'
},
///////////////////////////////////////////////////////////////////////////
'git-warning-detached': {
'__desc__': 'One of the warning messages for git',
'en_US': 'Warning!! Detached HEAD state'
'en_US': 'Warning!! Detached HEAD state',
'zh_CN': '警告脑袋搬家Detached HEAD状态'
},
///////////////////////////////////////////////////////////////////////////
'git-warning-add': {
'__desc__': 'One of the warning messages for git',
'en_US': 'No need to add files in this demo'
'en_US': 'No need to add files in this demo',
'zh_CN': '此演示中不需要添加文件'
},
///////////////////////////////////////////////////////////////////////////
'git-error-options': {
'__desc__': 'One of the error messages for git',
'en_US': 'Those options you specified are incompatible or incorrect'
'en_US': 'Those options you specified are incompatible or incorrect',
'zh_CN': '你所指定的参数不兼容或者不准确'
},
///////////////////////////////////////////////////////////////////////////
'git-error-already-exists': {
'__desc__': 'One of the error messages for git',
'en_US': 'The commit {commit} already exists in your changes set, aborting!'
'en_US': 'The commit {commit} already exists in your changes set, aborting!',
'zh_CN': '提交 {commit} 已经存在于你的改动集里,正在中止!'
},
///////////////////////////////////////////////////////////////////////////
'git-error-reset-detached': {
'__desc__': 'One of the error messages for git',
'en_US': 'Can\'t reset in detached head! Use checkout if you want to move'
'en_US': 'Can\'t reset in detached head! Use checkout if you want to move',
'zh_CN': '不能在分离的 HEAD 里重置!用 checkout 吧'
},
///////////////////////////////////////////////////////////////////////////
'git-warning-hard': {
'__desc__': 'One of the warning messages for git',
'en_US': 'The default behavior is a --hard reset, feel free to omit that option!'
'en_US': 'The default behavior is a --hard reset, feel free to omit that option!',
'zh_CN': '默认的行为是 --hard 硬重置,尽管省略掉那个选项吧!'
},
///////////////////////////////////////////////////////////////////////////
'git-error-staging': {
'__desc__': 'One of the error messages for git',
'en_US': 'There is no concept of adding / staging files, so that option or ' +
'command is invalid!'
'command is invalid!',
'zh_CN': '没有添加、缓存文件的必要,所以改选项或者命令是不合法的。'
},
///////////////////////////////////////////////////////////////////////////
'git-revert-msg': {
'__desc__': 'Message for reverting git command',
'en_US': 'Reverting {oldCommit}: {oldMsg}'
'en_US': 'Reverting {oldCommit}: {oldMsg}',
'zh_CN': '撤销 {oldCommit}{oldMsg}'
},
///////////////////////////////////////////////////////////////////////////
'git-error-args-many': {
'__desc__': 'One of the error messages for git',
'en_US': 'I expect at most {upper} argument(s) for {what}'
'en_US': 'I expect at most {upper} argument(s) for {what}',
'zh_CN': '{what} 期望最多 {upper} 个参数'
},
///////////////////////////////////////////////////////////////////////////
'git-error-args-few': {
'__desc__': 'One of the error messages for git',
'en_US': 'I expect at least {lower} argument(s) for {what}'
'en_US': 'I expect at least {lower} argument(s) for {what}',
'zh_CN': '{what} 期望最少 {lower} 个参数'
},
///////////////////////////////////////////////////////////////////////////
'git-error-no-general-args': {
'__desc__': 'One of the error messages for git',
'en_US': 'That command accepts no general arguments'
'en_US': 'That command accepts no general arguments',
'zh_CN': '该命令不接收参数'
},
///////////////////////////////////////////////////////////////////////////
'copy-tree-string': {
'__desc__': 'The prompt to copy the tree when sharing',
'en_US': 'Copy the tree string below'
'en_US': 'Copy the tree string below',
'zh_CN': '拷贝下面的树字符串'
},
///////////////////////////////////////////////////////////////////////////
'learn-git-branching': {

View file

@ -39,7 +39,7 @@ exports.sequenceInfo = {
},
rampup: {
displayName: {
'en_US': 'Ramping Up',
'en_US': 'Ramping Up'
},
about: {
'en_US': 'The next serving of 100% git awesomes-ness. Hope you\'re hungry'

View file

@ -10,7 +10,7 @@ exports.level = {
"name": {
"ko": "커밋들 갖고 놀기",
"en_US": "Juggling Commits",
"zh_CN": "Git提交戏法"
"zh_CN": "提交变换戏法"
},
"hint": {
"en_US": "The first command is git rebase -i HEAD~2",
@ -63,7 +63,7 @@ exports.level = {
"type": "ModalAlert",
"options": {
"markdowns": [
"## Juggling Commits",
"## 提交变换戏法",
"",
"下面这种情况也是经常出现的。例如你之前已经在 `newImage` 分支上做了一些提交,然后又在 `caption` 分支上做了一些相关的提交因此它们看起来是一个连一个的stacked on top of each other in your repository。",
"",

View file

@ -64,9 +64,9 @@ exports.level = {
"type": "ModalAlert",
"options": {
"markdowns": [
"## Juggling Commits #2",
"## 提交变换戏法 #2",
"",
"*假如你还没有完成 Juggling Commits #1前一关这关不让玩哦*",
"*假如你还没有完成提交变换戏法 #1前一关这关不让玩哦*",
"",
"如你在上一关所见,我们使用 `rebase -i` 来重排那些提交。只要把我们想要的提交挪到最顶端,我们就可以很容易地改变它,然后把它们重新排成我们想要的顺序。",
"",

View file

@ -8,12 +8,13 @@ exports.level = {
"startTree": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C3\",\"id\":\"bugFix\"},\"side\":{\"target\":\"C6\",\"id\":\"side\"},\"another\":{\"target\":\"C7\",\"id\":\"another\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C0\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C4\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C5\"],\"id\":\"C7\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}",
"name": {
"ko": "9천번이 넘는 리베이스",
"en_US": "Rebasing over 9000 times"
"en_US": "Rebasing over 9000 times",
"zh_CN": "衍合一百遍啊一百遍"
},
"hint": {
"en_US": "Remember, the most efficient way might be to only update master at the end...",
"ko": "아마도 master를 마지막에 업데이트하는 것이 가장 효율적인 방법일 것입니다...",
"zh_CN": "记住,可能最终最高效的方法就是更新 master 分支..."
"zh_CN": "记住,可能最终最高效的方法就是更新主分支master……"
},
"startDialog": {
"en_US": {
@ -44,7 +45,7 @@ exports.level = {
"",
"呐,现在我们有很多分支啦!让我们把这些分支的工作衍合到 master 分支上吧。",
"",
"但是上头upper management给出了一点障碍 —— 他们要希望提交历史是有顺序的,也就是我们最终的结果是 `C7'` 在最底部,`C6'` 在它上面,以此类推。",
"但是上头upper management找了点麻烦 —— 他们要希望提交历史是有序的,也就是我们最终的结果是 `C7'` 在最底部,`C6'` 在它上面,以此类推。",
"",
"假如你搞砸了,没所谓的(虽然我不会告诉你用 `reset` 可以重新开始)。记得最后要看看我们的答案,并和你的对比下,看谁敲的命令更少哦!"
]

View file

@ -8,12 +8,13 @@ exports.level = {
"startTree": "{\"branches\":{\"master\":{\"target\":\"C5\",\"id\":\"master\"},\"one\":{\"target\":\"C1\",\"id\":\"one\"},\"two\":{\"target\":\"C1\",\"id\":\"two\"},\"three\":{\"target\":\"C1\",\"id\":\"three\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C4\"],\"id\":\"C5\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}",
"name": {
"ko": "브랜치 스파게티",
"en_US": "Branch Spaghetti"
"en_US": "Branch Spaghetti",
"zh_CN": "分支浆糊"
},
"hint": {
"en_US": "Make sure to do everything in the proper order! Branch one first, then two, then three",
"ko": "이 문제를 해결하는 방법은 여러가지가 있습니다! 체리픽(cherry-pick)이 가장 쉽지만 오래걸리는 방법이고, 리베이스(rebase -i)가 빠른 방법입니다",
"zh_CN": "确保你是按照正确的顺序来操作!先操作分支 one, 再操作分支 two, 最后才是分支 three"
"zh_CN": "确保你是按照正确的顺序来操作!先操作分支 `one`, 然后 `two`, 最后才是 `three`"
},
"startDialog": {
"en_US": {