// ==UserScript==
// @name GitHub 菜单汉化
// @description 汉化 GitHub 界面的部分菜单及内容
// @copyright https://raw.githubusercontent.com/Harriser/monkey_github_zh/master/idea.jpg
// @version 1.7.7.2
// @author Harriser
// @license MIT
// @homepageURL https://github.com/Harriser/monkey_github_zh
// @match http://*.github.com/*
// @match https://*.github.com/*
// @run-at document-end
// @grant none
// @namespace https://greasyfork.org/users/282415
// ==/UserScript==
/*// @require https://raw.githubusercontent.com/Harriser/monkey_github_zh/master/locals.js*/
var I18N = {};
I18N.conf = {
/**
* 要翻译的页面正则
*/
rePageClass: /\b(vis-public|page-(dashboard|profile|account|new-repo|create-org)|homepage|signup|session-authentication|oauth)\b/,
/**
* 匹配 pathname 页面的正则
*
* 通知页面 /notifications
* 关注页面 /watching
* 点赞页面 /stars
* 问题页面 /issues
* 拉取请求 /pulls
* 搜索页面 /search
* 趋势页面 /trending
* 展示页面 /showcases
* 导入仓库 /new/import
*
* 未登录首页 /
*/
rePagePath: /\/(notifications|watching|stars|issues|search|pulls|trending|showcases|$|new\/import)/,
/**
* 匹配 url 页面的正则
*
* 代码片段页面 gist
*/
rePageUrl: /(gist)\.github.com/,
/**
* 忽略区域的 class 正则
*
* 面包屑 breadcrumb
* 文件列表 files js-navigation-container js-active-navigation-container
* 代码高亮 highlight tab-size js-file-line-container
* 代码差异 data highlight blob-wrapper
* wiki内容 markdown-body
*/
reIgnore: /(breadcrumb|files js-navigation-container|highlight tab-size|highlight blob-wrapper|markdown-body)/,
};
I18N.zh = {
"title": { // 标题翻译
"static": { // 静态翻译
},
"regexp": [ // 正则翻译
],
},
// 公共区域翻译
"pubilc": { // 公共区域翻译
"static": { // 静态翻译
// 未登录部分
"Personal": "个人",
"Open source": "开源",
"Business": "商业",
"Pricing": "定价",
"Support": "支持",
"Sign in": "登录",
"Sign up": "注册",
"Search GitHub": "GitHub 一下,你就知道",
"This repository": "当前仓库",
"Search": "搜索",
"Pull Requests": "拉取请求",
"Pull requests": "拉取请求",
"Issues": "问题",
"Marketplace": "广场",
"Gist": "代码片段",
"Your dashboard": "返回首页",
"You have no unread notifications": "您没有未读通知",
"You have unread notifications": "您有未读通知",
"Create new…": "新建…",
"View profile and more": "查看更多信息",
"New repository": "新建仓库",
"New organization": "新建组织",
"Import repository": "导入仓库",
"New gist": "新建代码片段",
"New issue": "新建问题",
"Signed in as": "您好",
"Your profile": "您的主页",
"Your stars": "点赞的项目",
"Your gists": "您的代码片段",
"Explore": "探索",
"Integrations": "集成",
"Help": "帮助",
"Settings": "设置",
"Sign out": "退出",
"Showcases": "展柜",
"Trending": "趋势",
"Stars": "已赞",
"Previous": "上一页",
"Next": "下一页",
"Period:": "最近:",
"Filter activity": "选择时间",
"1 day": "一天",
"3 days": "三天",
"1 week": "一周",
"1 month": "一个月",
"Confirm password to continue": "确认密码后才能继续操作",
"Password": "密码",
"(Forgot password)": "(忘记密码)",
"Confirm password": "继续",
"Updated": "更新",
"Terms": "条款",
"Privacy": "隐私",
"Security": "安全",
"Contact": "联系",
"Status": "状态",
"Training": "培训",
"Shop": "商店",
"Blog": "博客",
"About": "关于",
// 评论编辑器翻译
"Write": "编辑",
"Preview": "预览",
"Add header text": "标题",
"Add bold text <cmd+b>": "加粗 <cmd+b>",
"Add italic text <cmd+i>": "斜体 <cmd+i>",
"Insert a quote": "插入引用",
"Insert code": "插入代码",
"Add a link <cmd+k>": "连接 <cmd+k>",
"Add a bulleted list": "添加无序列表",
"Add a numbered list": "添加有序列表",
"Add a task list": "添加任务列表",
"Directly mention a user or team": "直接提到用户或团队",
"Reference an issue or pull request": "参考问题或拉取请求",
"Leave a comment": "留下评论",
"Attach files by dragging & dropping,": "拖拽添加附件,",
"selecting them": "或选择文件",
", or pasting from the clipboard.": ",或复制粘贴内容。",
"Styling with Markdown is supported": "支持 Markdown 功能哦。",
"Close issue": "关闭问题",
"Comment": "提交",
"Submit new issue": "提交新问题",
"Comment on this commit": "提交",
"Close and comment": "提交并关闭",
"Reopen and comment": "提交并重新打开",
"Reopen issue": "重新打开问题",
// 公共动作词
// "Followers": "粉丝",
"Follow": "关注",
"Unfollow": "取消关注",
"Watch": "关注",
"Unwatch": "取消关注",
"Star": "点赞",
"Unstar": "取消点赞",
"Fork": "派生",
// 邮箱验证提示
"Please verify your email address to access all of GitHub's features.": "请验证您的电子邮件地址以便开启所有 GitHub 功能。",
"Configure email settings": "修改电子邮件设置",
"Your email was verified.": "您的邮件地址验证成功!",
},
"regexp": [ // 正则翻译 (公共区域正则会二次调用翻译,为了弥补部分翻译的情况)
/**
* 匹配时间格式
*
* Mar 19, 2015 – Mar 19, 2016
* January 26 – March 19
* March 26
*
* 不知道是否稳定, 暂时先试用着. 2016-03-19 20:46:45
*/
[/(Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May(?:)?|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?) (\d+)(?:, (\d+)|)/g, function (all, month, date, year) {
var monthKey = {
"Jan": "1月",
"Feb": "2月",
"Mar": "3月",
"Apr": "4月",
"May": "5月",
"Jun": "6月",
"Jul": "7月",
"Aug": "8月",
"Sep": "9月",
"Oct": "10月",
"Nov": "11月",
"Dec": "12月"
};
return (year ? year + '年' : '') + monthKey[month.substring(0, 3)] + date + '日';
}],
/**
* 相对时间格式处理
*/
[/just now|(an?|\d+) (second|minute|hour|day|month|year)s? ago/, function (m, d, t) {
if (m === 'just now') {
return '刚刚';
}
if (d[0] === 'a') {
d = '1';
} // a, an 修改为 1
var dt = {second: '秒', minute: '分钟', hour: '小时', day: '天', month: '个月', year: '年'};
return d + ' ' + dt[t] + '之前';
}],
// 仓库删除提示
[/Your repository "([^"]+)"was successfully deleted\./, "您的 \"$1\"仓库已被成功删除。"],
// 邮箱验证提示
[/An email containing verification instructions was sent to (.+)\./, "验证邮件已发送到 $1。"],
// 头像下面的注册信息
[/Joined on/, "注册于"],
],
},
// 已登录的首页
"page-dashboard": { // 已登录的首页
"static": { // 静态翻译
// 新手帮助
"Learn Git and GitHub without any code!": "了解 Git 和 GitHub 无需任何代码!",
"Using the Hello World guide, you’ll create a repository, start a branch,": "使用 Hello World 指南,您将创建一个仓库,开始一个分支,",
"write comments, and open a pull request.": "写评论,并创建一个拉取请求。(教程内容就不翻译了...)",
"Let's get started!": "让我们开始吧!",
"Hide this notice forever": "永久的隐藏该信息",
"Welcome to GitHub! What’s next?": "欢迎来到 GitHub!下一步干什么?",
"Create a repository": "创建一个仓库",
"Tell us about yourself": "介绍一下你自己",
"Browse interesting repositories": "浏览有趣资料库",
"on Twitter": "在 Twitter 上",
"You don’t have any repositories yet!": "您目前还没有任何仓库!",
"Create your first repository": "创建您的第一个仓库",
"or": "或者",
"learn more about Git and GitHub": "学习更多关于 Git 和 GitHub 知识",
// 已有仓库的项目
"Repositories you contribute to": "您贡献过的仓库",
"Your repositories": "您的仓库",
"Find a repository…": "搜索仓库…",
"All": "全部",
"Public": "公共",
"Private": "私有",
"Sources": "源码",
"Forks": "派生",
"View": "查看",
"new broadcast": "条新公告",
"new broadcasts": "条新公告",
// 动态 状态词
"starred": "赞了",
"forked": "派生了",
"forked from": "派生至",
"created repository": "创建了仓库",
"opened pull request": "发起了拉取请求",
"commented on pull request": "评论了拉取请求",
"opened issue": "新建问题",
"close issue": "关闭问题",
"added": "添加了",
"to": "到",
"pushed to": "推送了",
"closed issue": "关闭了问题",
"merged pull request": "合并了拉取请求",
"commented on issue": "提交了评论",
"More": "更多",
"Switch dashboard context": "切换默认身份",
"Manage organizations": "管理组织",
"Create organization": "创建组织",
// 首次加入组织通知
"You’ve been added to the": "您已经被添加到",
"organization!": "组织!",
"Here are some quick tips for a first-time organization member.": "以下是首次加入组织的一些提示。",
"Use the switch context button in the upper left corner of this page to switch between your personal context (": "使用页面左上角的切换身份按钮,您可以在(",
") and organizations you are a member of.": ")和组织身份之间进行切换。",
"After you switch contexts you’ll see an organization-focused dashboard that lists out organization repositories and activities.": "当您切换身份,您会看到一个组织为中心的页面,其中列出了组织库和活动。",
},
"regexp": [ // 正则翻译
[/Show (\d+) more repositories…/, "显示 $1 个更多的仓库…"],
],
},
// 个人首页
"page-profile": { // 个人首页
"static": { // 静态翻译
"Updating your profile with your name, location, and a profile picture helps other GitHub users get to know you.": "更新您的资料信息包括姓名,地址,头像等资料,让其他用户更容易的了解您。",
// 导航菜单
"Overview": "概述",
"Repositories": "仓库",
"Projects" :"项目",
"Stars": "已点赞",
"Followers": "粉丝",
"Following": "关注",
"Joined on": "注册于",
"Change your avatar": "修改头像",
"Starred": "赞了",
"Organizations": "组织",
"Contributions": "贡献",
"Public contributions": "贡献",
"Public activity": "动态",
"Edit profile": "修改设置",
"Popular repositories": "流行的仓库",
"Pinned repositories": "固定的仓库",
"Customize your pinned repositories": "自定义您的固定仓库",
"Repositories contributed to": "贡献过的仓库",
"Contribution activity": "贡献信息",
"You can now pin up to 6 repositories.": "你现在可以设置6个固定仓库。",
"Select up to five public repositories you'd like to show.": "最多可选择五个要显示的公共仓库。",
"Show:": "显示:",
"Your repositories": "您的仓库",
"Repositories you contribute to": "您贡献过的仓库",
"Save pinned repositories": "保存固定仓库",
"Jan": "1月", "Feb": "2月", "Mar": "3月",
"Apr": "4月", "May": "5月", "Jun": "6月",
"Jul": "7月", "Aug": "8月", "Sep": "9月",
"Oct": "10月", "Nov": "11月", "Dec": "12月",
"January": "一月", "February": "二月", "March": "三月",
"April": "四月", "May": "五月", "June": "六月",
"July": "七月", "August": "八月", "September": "九月",
"October": "十月", "November": "十一月", "December": "十二月",
"Mon": "周一", "Wed": "周三", "Fri": "周五",
"Includes contributions from private repositories you can access.": "您可以访问包括私人仓库。",
"Summary of pull requests, issues opened, and commits.": "包括 拉取请求, 提问, 提交.",
"Learn how we count contributions": "您想知道如何计算贡献的吗",
"Less": "少",
"More": "多",
// "Contributions in the last year": "过去一年的贡献",
// "Longest streak": "最长连续贡献天数",
// "Current streak": "当前连续贡献天数",
// "No recent contributions": "最近没有贡献",
// 2016-05-20 更新贡献日历部分
"Contribution settings": "贡献设置",
"Select which contributions to show": "选择要显示哪些贡献",
"Public contributions only": "仅公共的贡献",
"Visitors to your profile will only see your contributions to public repositories.": "访客到您的个人资料只会看到公共仓库部分的贡献。",
"Public and private contributions": "公共和私人贡献",
"Visitors to your profile will see your public and anonymized private contributions.": "访客到您的个人资料将会看到您的公共和匿名的私人贡献。",
"Visitors will now see only your public contributions.": "访客只会看到您公共仓库部分的贡献。",
"Visitors will now see your public and anonymized private contributions.": "访客将看到您的公共和匿名的私人贡献。",
"commits": "次提交",
"Pull Request": "拉取请求",
"Pull Requests": "拉取请求",
"Issue reported": "问题报告",
"Issues reported": "问题报告",
// 动态 状态词
"forked": "收藏了",
"forked from": "收藏至",
"created repository": "创建了仓库",
"opened pull request": "发起了拉取请求",
"commented on pull request": "评论了拉取请求",
"opened issue": "新建问题",
"close issue": "关闭问题",
"added": "添加了",
"to": "到",
"pushed to": "推送了",
"closed issue": "关闭了问题",
"merged pull request": "合并了拉取请求",
"commented on issue": "提交了评论",
// 仓库 tab
"Find a repository…": "搜索仓库…",
"All": "全部",
"Public": "公共",
"Private": "私有",
"Sources": "源码",
"Forks": "派生",
"Mirrors": "镜像",
"New": "新建",
"Block or report": "阻止或举报",
"Learn more about blocking a user.": "查看详细的阻止用户信息。",
"Block or report this user": "阻止或举报该用户",
"Block user": "阻止该用户",
"Hide content and notifications from this user.": "屏蔽所有来自该用户的通知消息。",
"Report abuse": "举报该用户",
"Contact Support about this user's behavior.": "将该用户行为上报。",
"Search repositories…": "搜索这些查库…",
"Search starred repositories…": "搜索点赞的仓库…",
"Type:": "类型:",
"Select type:": "选择类型:",
"Language:": "语言:",
"Select language:": "选择语言:",
"All languages": "所有语言",
"Sort:": "排序:",
"Sort options": "排序选项",
"Recently starred": "最近关注的",
"Recently active": "最近活动的",
"Most stars": "最多赞的",
"Unstar": "取消点赞",
"Jump to": "跳转到",
"First pull request": "第一次拉取请求",
"First issue": "第一次提问",
"First repository": "第一个仓库",
"Joined GitHub": "刚注册 GitHub",
"Show more activity": "显示更多",
},
"regexp": [ // 正则翻译
[/Created (\d+)[\s\r\n]+commits? in[\s\r\n]+(\d+)[\s\r\n]+repositor(y|ies)/, "在 $2 个库中创建了 $1 次提交"],
[/Created (\d+)[\s\r\n]+repositor(y|ies)/, "创建了 $1 个仓库"],
[/Opened (\d+)[\s\r\n]+other[\s\r\n]+pull requests?/, "发起了 $1 个拉取请求"],
[/Opened (\d+)[\s\r\n]+other[\s\r\n]+issues/, "开了 $1 个其他问题"],
[/(\d+) commits?/, "$1 次提交"],
[/Pushed (\d+) commits? to/, "推送了 $1 次提交到"],
[/Follow ([^’]+)’s activity feed/, "关注 $1 的 feed"],
[/([^ ]+) has no activity during this period\./, "$1 近期没有任何活动。"],
[/([\s\S]+?) has no activity yet for this period\./, "$1 近期没有任何活动。"],
[/(\d+) total/, "$1 次"],
[/(\d+) days?/, "$1 天"],
[/([\d,]+) contributions in the last year/, "$1 次贡献在过去的一年中"],
],
},
// 个人设置
"page-account": { // 个人设置
"static": { // 静态翻译
// 菜单
"Personal settings": "个人设置",
"Profile": "基本信息",
"Account": "帐户设置",
"Emails": "邮箱设置",
"Notifications": "通知设置",
"Billing": "财务信息",
"SSH and GPG keys": "SSH 和 GPG keys",
"Security": "安全信息",
"OAuth applications": "授权应用",
"Personal access tokens": "访问令牌",
"Repositories": "仓库管理",
"Organizations": "组织管理",
"Saved replies": "快捷回复",
// Profile 菜单
"Public profile": "基本资料",
"Profile picture": "我的头像",
"Upload new picture": "上传新图片",
"You can also drag and drop a picture from your computer.": "您也可以直接拖拽照片镜像上传.",
"Name": "昵称",
"Public email": "公共邮箱",
"Don’t show my email address": "不显示我的邮箱",
"You can add or remove verified email addresses in your": "您可以添加或删除邮件地址在您的",
"personal email settings": "邮箱设置",
"URL": "网站",
"Company": "公司",
"You can": "您可以",
"other users and organizations to link to them.": "其他用户和组织链接到他们。",
"Location": "地址",
"your company's GitHub organization to link it.": "贵公司和GitHub的组织联系起来。",
"Update profile": "更新资料",
"Profile updated successfully": "资料更新成功。",
"Contributions": "贡献",
"Include private contributions on my profile": "在我的主页显示私人贡献",
"Get credit for all your work by showing the number of contributions to private repositories on your profile without any repository or organization information.": "显示所有包括私人仓库的贡献到您的个人资料页面,不包括组织仓库信息。",
"Learn how we count contributions": "查看如统计贡献",
"Update contributions": "更新贡献",
"GitHub Developer Program": "GitHub 开发者计划",
"Building an application, service, or tool that integrates with GitHub?": "构建应用程序、服务或工具,集成了GitHub吗?",
"Join the GitHub Developer Program": "加入 GitHub 开发者计划",
", or read more about it at our": "或了解更多信息在我们的",
"Developer site": "开发者站点",
"Jobs profile": "就业状态",
"Available for hire": "求HR带走",
"Save jobs profile": "保存状态",
// Account settings 菜单
"Change password": "修改密码",
"Old password": "旧的密码",
"New password": "新的密码",
"Confirm new password": "再次输入新的密码",
"Update password": "更新",
"I forgot my password": "我忘记我的密码了",
"Looking for two-factor authentication? You can find it in": "使用双重认证?您可以去",
"Change username": "修改用户名",
"Changing your username can have": "修改您的用户名会导致",
"unintended side effects": "意想不到的副作用",
"Delete account": "删除帐户",
"Once you delete your account, there is no going back. Please be certain.": "一旦您删除了帐户,就没办法恢复,请三思而行。",
"Delete your account": "确认删除",
// Emails 菜单
"Your": "您的",
"primary GitHub email address": "GitHub Email 主帐户",
"will be used for account-related notifications (e.g. account changes and billing receipts) as well as any web-based GitHub operations (e.g. edits and merges).": "将被用于接收相关通知 (例如:账单信息),以及任何基于 web 的 GitHub 操作 (例如:编辑或合并操作)。",
"Primary": "主帐户",
"Private": "私有",
"Public": "公开",
"This email will be used as the 'from' address for web-based GitHub operations.": "该邮箱将被用作 \"发件人\"地址",
"Your primary email address is now public.": "主邮件地址现在是公开的。",
"Your primary email address is now private.": "主邮件地址现在是保密的。",
"Set as primary": "设为主帐户",
"Add email address": "添加 Email 地址",
"Add": "添加",
"Keep my email address private": "将我的邮件地址保密",
"We will use": "我们将使用",
"when performing web-based Git operations and sending email on your behalf. If you want command line Git operations to use your private email you must": "作为默认\"发件人\"地址以您的名义发送电子邮件。如果您想在命令行 Git 的操作中使用您的私人邮件地址,您必须在",
"set your email in Git": "Git 中设置您的电子邮件地址",
"Email preferences": "Email 偏好设置",
"Receive all emails, except those I unsubscribe from.": "接收所有邮件,除了那些我退订的信息。",
"We'll occasionally contact you with the latest news and happenings from the GitHub Universe.": "我们将会把 GitHub Universe 的最新消息和事件发送给您。",
"Learn more": "查看更多",
"Only receive account related emails, and those I subscribe to.": "只接收帐户相关的电子邮件,以及我的订阅的信息。",
"We'll only send you legal or administrative emails, and any emails you’ve specifically subscribed to.": "我们只向您发送法律或行政邮件以及您订阅信息。",
"Save email preferences": "保存偏好",
"Successfully updated your email preferences.": "Email 偏好设置修改成功。",
"Looking for activity notification controls? Check the": "想要了解更详细的通知设置,请前往",
// Notification center 菜单
"How you receive notifications": "通知设置",
"Automatic watching": "自动关注",
"When you’re given push access to a repository, automatically receive notifications for it.": "当您给一个仓库推送权限时,自动接收相关通知。",
"Automatically watch repositories": "自动关注仓库",
"Participating": "参与话题",
"When you participate in a conversation or someone brings you in with an": "当有人",
"@mention": "@用户名",
"Watching": "关注仓库",
"Updates to any repositories or threads you’re watching.": "当您关注的仓库更新时。",
"Your notification settings apply to the": "通知设置将应用到",
"repositories you’re watching": "您关注的仓库",
"Notification email": "接收通知的邮箱",
"Primary email address": "主邮箱地址",
"Save": "保存",
"Custom routing": "自定义",
"You can send notifications to different": "您可以发送通知不同的",
"verified": "验证",
"email addresses depending on the organization that owns the repository.": "电子邮件地址取决于组织拥有仓库。",
// Billing 菜单
"Billing overview": "财务信息",
"Plan": "方案",
"Free": "免费",
"Change plan": "修改方案",
"per month for": "每月 -",
"Learn more about Git LFS": "什么是 Git LFS (大文件存储)?",
"Purchase more": "购买更多",
"Billing cycle": "结算周期",
"Bandwidth": "带宽",
"Bandwidth quota resets every billing cycle": "带宽配额每个周期重置",
"Storage": "存储",
"Payment": "支付方式",
"No payment method on file.": "没有设置支付方式",
"Add payment method": "添加支付方式",
"Coupon": "优惠券",
"You don’t have an active coupon.": "没有可用的优惠券",
"Redeem a coupon": "兑换优惠券",
"Payment history": "支付记录",
"Amounts shown in USD": "以美元显示",
"You have not made any payments.": "没有支付记录",
// Security 菜单
"Two-factor authentication": "双重认证",
"Status:": "状态:",
"Off": "未开启",
"Set up two-factor authentication": "设置双重认证",
"provides another layer of security to your account.": "为您的帐户提供了另一层安全保障。",
"Sessions": "会话信息",
"This is a list of devices that have logged into your account. Revoke any sessions that you do not recognize.": "这是您登陆的设备会话列表,如果不是您本人操作,可以关闭该会话。",
"Your current session": "您当前的会话",
"Location:": "地址",
"Signed in:": "登陆于",
"Last accessed on": "最后访问时间",
"Revoke": "注销",
"Security history": "操作记录",
"This is a security log of important events involving your account.": "这是您帐户的操作日志",
// Applications 菜单
"Authorized applications": "已授权的应用",
"Developer applications": "开发者应用",
"Revoke all": "注销全部",
"You have granted the following applications access to your account. Read more about connecting with third-party applications at": "您已授权下来应用访问您的帐户信息,如需了解更多请阅读",
"Sort": "排序",
"Sort by": "排序方式",
"Alphabetical": "字母排序",
"Recently used": "最近使用",
"Least recently used": "最少使用",
"No Developer Applications": "暂无开发者的应用",
"Developer applications are used to access the": "开发者应用是用于访问",
". To get started you should": "。首先您应该",
"register an application": "注册一个应用",
"Register new application": "注册应用",
"Register a new OAuth application": "注册一个 OAuth 应用",
"Application name": "应用名",
"Something users will recognize and trust": "让用户识别和信任",
"Homepage URL": "主页地址",
"The full URL to your application homepage": "您的应用主页地址",
"Application description": "应用描述",
"Application description is optional": "应用描述 (可选)",
"This is displayed to all potential users of your application": "给您的目标用户最直接的信息",
"Authorization callback URL": "认证回调地址",
"Your application’s callback URL. Read our": "您的应用授权回调地址。详情请阅读",
"OAuth documentation": "OAuth 文档",
"for more information": "。",
"Register application": "注册应用",
"Drag & drop": "拖拽上传",
"or": "或者",
"choose an image": "选择图片",
// Personal access tokens 页面
"Generate new token": "创建新的密令",
"Tokens you have generated that can be used to access the": "密令可以用来访问",
"Full control of private repositories": "完全控制私有仓库",
"Edit": "编辑",
"Delete": "删除",
"Personal access tokens function like ordinary OAuth access tokens. They can be used instead of a password for Git over HTTPS, or can be used to": "访问令牌功能类似于OAuth,他可以代替密码给 Git Https 访问,",
"authenticate to the API over Basic Authentication": "或用来进行API调用的验证",
// Organizations 页面
"You are not a member of any organizations.": "您暂无任何组织。",
"Transform account": "账户变更",
"Account transformation warning": "账户变更警告",
"What you are about to do is an irreversible and destructive process. Please be aware:": "这将是一个不可逆转的过程,请确认:",
"Any user-specific information (OAuth tokens, SSH keys, Job Profile, etc) will be erased": "任何用户特定的信息(OAuth tokens, SSH keys, Job Profile, 等)将被删除。",
"create a new personal account": "创建一个新的个人帐户",
},
"regexp": [ // 正则翻译
[/This email will not be used as the 'from' address for web-based GitHub operations - we will instead use ([^@]+@users.noreply.github.com)./, "该邮箱不会被用作 \"发件人\"地址,我们会改用 ($1) 作为默认 \"发件人\"地址。"],
[/Your primary email was changed to ([^@]+@[^\n]+)\./, "您的 Email 主帐户已经更改为 $1"],
[/(\d+) private repositories?\./, "$1 个私有仓库."],
[/(\d+) data packs?/, "$1 数据包"],
[/(\d+) days? left,\n\s+billed monthly/, "$1天, 按月"],
[/Using\n\s+([\d.]+) of\n\s+(\d+) GB\/month/, "$$1, $2GB/月"],
[/Using\n\s+([\d.]+) of\n\s+(\d+) GB/, "$$1, $2GB"],
[/(\d+) Authorized applications?/, "$1 个授权应用"],
[/Turn (\w+) into an organization/, "变更 $1 为一个组织"],
[/You will no longer be able to sign into (\w+) \(all administrative privileges will be bestowed upon the owners you choose\)/, "您将不能作为账户登录到 $1。(所有管理权限将赋予您选择的所有者)"],
[/Any commits credited to (\w+) will no longer be linked to this GitHub account/, "任何提交归功于 $1 将不再链接到这个 GitHub 帐户"],
[/If you are using (\w+) as a personal account, you should/, "如果您正在使用 $1 作为个人帐户,您应"],
[/before transforming (\w+) into an organization./, "在转化 $1 组织之前。"],
],
},
// 新建仓库
"page-new-repo": { // 新建仓库
"static": { // 静态翻译
"Create a new repository": "创建一个新的仓库",
"A repository contains all the files for your project, including the revision history.": "仓库包含项目中的所有文件,包括修订历史记录。",
"Owner": "创建者",
"Repository name": "仓库名",
"Great repository names are short and memorable. Need inspiration? How about": "一个好的仓库名应该是简单容易被记住的,需要来点灵感吗?这个名字怎么样",
"Description": "描述",
"(optional)": "(可选)",
"Public": "公共 (免费)",
"Anyone can see this repository. You choose who can commit.": "任何人都可以看到这个仓库,您可以选择谁能提交。",
"Private": "私有 (收费)",
"You choose who can see and commit to this repository.": "您可以选择谁可以看和提交到该仓库。",
"Initialize this repository with a README": "使用 README.md 初始化仓库",
"This will let you immediately clone the repository to your computer. Skip this step if you’re importing an existing repository.": "这将让您可以立刻克隆该仓库到您的电脑。如果您要提交已有的仓库,请忽略这个选项。",
"Add .gitignore:": "添加 .gitignore 文件",
"Filter ignores…": "筛选忽略文件…",
"Add a license:": "添加发布许可",
"Filter licenses…": "筛选许可…",
"None": "无",
"Need help picking a license? We’ve built a site just for you.": "需要帮您挑选一个许可吗?我们为您供了参考页面。",
"Create repository": "创建仓库",
"Creating repository…": "创建仓库中…",
},
"regexp": [ // 正则翻译
],
},
// 导入仓库
"new/import": { // 导入仓库
"static": { // 静态翻译
// 第一页
"Import your project to GitHub": "导入您的项目到 GitHub",
"Import all the files, including the revision history, from another version control system.": "导入的所有文件,包括修订历史记录,从另一个版本控制系统。",
"Your old repository’s clone URL": "你的老仓库 URL 地址",
"Learn more about the types of": "仓库更多类型的帮助",
"supported VCS": "支持 VCS",
"Your new repository details": "新仓库描述",
"Owner": "所有者",
"Name": "仓库名",
"Your new repository will be": "新仓库将会",
"public": "公开",
". In order to make this repository private, you’ll need to": "如果想使这个仓库转为私有的,你需要",
"upgrade your account": "升级帐户",
"Cancel": "取消",
"Begin import": "开始导入",
"Preparing import…": "准备导入…",
},
"regexp": [ // 正则翻译
],
},
// 新建组织
"page-create-org": { // 新建组织
"static": { // 静态翻译
},
"regexp": [ // 正则翻译
],
},
// 仓库页
"vis-public": { // 仓库页
"static": { // 静态翻译
// 导入仓库 第二页
"Preparing your new repository": "准备新的存储库",
"There is no need to keep this window open, we’ll email you when the import is done.": "没有必要在这个窗口傻等,当导入完成时,我们会向您发送电子邮件。",
"Detecting your project’s version control system…": "检测项目的版本控制系统…",
"Importing commits and revision history…": "导入提交和历史版本…",
"Importing complete! Your new repository": "导入完成,您的新仓库",
"is ready.": "已经就绪。",
// 仓库页面
"Where should we fork this repository?": "您想把该仓库派生到哪个角色下?",
"Code": "代码",
"Pulse": "统计",
"Graphs": "图表",
"Projects": "项目",
// 仓库描述编辑
"No description or website provided.": "没有提供说明和网站信息.",
"Edit": "编辑",
"Description": "描述",
"Short description of this repository": "简短的描述下您的仓库",
"Website": "网址",
"Website for this repository (optional)": "这个仓库的网址 (可选)",
"Save": "保存",
"or": "或",
"Cancel": "取消",
// 关注通知设置
"Notifications": "通知类型",
"Not watching": "取消关注",
"Watching": "关注",
"Ignoring": "忽略",
"Be notified when participating or @mentioned.": "仅参与交谈或@我时通知我.",
"Be notified of all conversations.": "所有交谈都通知我.",
"Never be notified.": "忽略任何通知.",
"commit": "次提交",
"commits": "次提交",
"branch": "分支",
"branches": "分支",
"release": "次发布",
"releases": "次发布",
"contributor": "个贡献者",
"contributors": "个贡献者",
"Copy to clipboard": "复制到剪切板",
"Copied!": "复制成功!",
"Your recently pushed branches:": "您最近推送的分支:",
"(less than a minute ago)": "不到一分钟前",
"Compare & pull request": "比较 & 拉取请求",
"New pull request": "发起拉取请求",
"Create new file": "新建文件",
"Upload files": "上传文件",
"Find file": "查找文件",
"Copy path": "复制路径",
"Clone or download": "克隆或下载",
"Download ZIP": "下载 ZIP",
"History": "历史记录",
"Use SSH": "使用 SSH",
"Use HTTPS": "使用 HTTPS",
"Open in Desktop": "从桌面版打开",
"Clone with SSH": "通过 SSH 克隆",
"Clone with HTTPS": "通过 HTTPS 克隆",
"Use an SSH key and passphrase from account.": "使用 SSH 密钥和密码访问。",
"Use Git or checkout with SVN using the web URL.": "使用 git 或 svn 检出该仓库。",
"Branch:": "分支:",
"Switch branches/tags": "选择分支或标签",
"Branches": "分支",
"Tags": "标签",
"Nothing to show": "暂无",
"File uploading is now available": "现在可以上传文件了",
"You can now drag and drop files into your repositories.": "您可以直接拖拽文件到该仓库界面进行上传。",
"Learn more": "查看详情",
"Dismiss": "我知道了",
// 关注者页面
"Watchers": "关注者",
// 点赞者页面
"Stargazers": "点赞的人",
"All": "全部",
"You know": "您关注的",
// issues 页面
"opened this": "打开这个",
"Issue": "问题",
"added a commit that closed this issue": "在提交时关闭了这个问题",
"closed this in": "关闭于",
"added the": "添加了",
"added": "添加",
"and removed": "并移除了",
"label": "标签",
"labels": "标签",
"self-assigned this": "自己受理了该问题",
"edited": "编辑的",
"added this to the": "添加到",
"milestone": "里程碑",
"closed this": "关闭了",
"reopened this": "重新打开了",
"This was referenced": "这是引用",
"No description provided.": "没有具体描述。",
"Add your reaction": "添加您的表情",
"Pick your reaction": "选择您的表情",
"Leave a comment": "发表评论",
"Milestone": "里程碑",
"Unsubscribe": "取消订阅",
"Attach files by dragging & dropping,": "拖拽添加附件,",
"selecting them": "或选择文件,",
", or pasting from the clipboard.": "或复制黏贴内容。",
"Styling with Markdown is supported": "支持 Markdown 功能。",
"Close issue": "关闭问题",
"Comment": "提交",
"Filters": "筛选",
"Open issues and pull requests": "开放的问题或拉取请求",
"Your issues": "您提出的问题",
"Your pull requests": "您的拉取请求",
"Everything assigned to you": "任何关于您的",
"Everything mentioning you": "提及您的",
"View advanced search syntax": "查看高级搜索语法",
"Labels": "标签",
"None yet": "暂无",
"Milestones": "里程碑",
"No milestone": "无里程碑",
"Author": "作者",
"Assignee": "受理人",
"Assignees": "受理人",
"No one—": "无人 - ",
"assign yourself": " 受理自己",
"No one assigned": "无人受理",
"Sort": "排序",
"Filter by author": "筛选用户",
"Filter users": "筛选用户名",
"Filter by label": "筛选标签",
"Filter labels": "筛选标签",
"Unlabeled": "无标签",
"Filter by milestone": "筛选里程碑",
"Filter milestones": "筛选里程碑",
"Issues with no milestone": "无里程碑",
"Filter by who’s assigned": "筛选代理人",
"Assigned to nobody": "无代理人",
"Sort by": "排序",
"Newest": "最新的",
"Oldest": "最老的",
"Most commented": "最多评论",
"Least commented": "最少评论",
"Recently updated": "最近更新",
"Least recently updated": "最早更新",
"View all issues in this milestone": "查看这个里程碑的所有问题",
// New collaborator 页面
"New collaborator": "添加合作者",
"Collaborators": "合作者",
"Push access to the repository": "当前仓库的推送权限",
"This repository doesn’t have any collaborators yet. Use the form below to add a collaborator.": "当前仓库没有合作者,您可以在下面输入框添加合作者。",
"Search by username, full name or email address": "搜索用户名, 全名, 邮箱地址:",
"Add collaborator": "添加合作者",
// Upload files 页面
"Drag files here to add them to your repository": "拖拽文件添加到当前仓库",
"Drag additional files here to add them to your repository": "拖拽其他文件添加到当前仓库",
"Drop to upload your files": "拖拽上传您的文件",
"Or": "或",
"choose your files": "选择文件",
"Yowza, that’s a big file. Try again with a file smaller than 25MB.": "我勒个擦,这么大的文件,单文件不得超过25MB",
"Yowza, that’s a lot of files. Try again with fewer than 100 files.": "我勒个擦,这么多文件,一次不能超过100个",
"This file is empty.": "这个文件是空的",
"Something went really wrong, and we can’t process that file.": "遇到错误,我们处理不了这个文件。",
"Uploading": "文件上传中",
"of": "",
"files": "",
"Commit changes": "提交变更",
"Add files via upload": "通过添加文件上传",
"Optional extended description": "可选的描述",
"Add an optional extended description…": "添加描述... (可选)",
"Commit directly to the": "提交到",
"Create a": "创建",
"new branch": "新分支",
"for this commit and start a pull request.": "为这个提交,并且发起一个拉取请求。",
"Learn more about pull requests.": "了解更多拉取请求。",
// Find file 页面
"You’ve activated the": "您已激活",
"file finder": "文件搜索模式",
". Start typing to filter the file list. Use": "。输入关键词查找您的文件。使用",
"and": "和",
"to navigate,": "选择文件",
"to view files,": "查看文件",
"to exit.": "返回。",
// 拉取请求信息提示
"Your recently pushed branches:": "你最近推送的分支:",
"Compare & pull request": "比较 & 拉取请求",
// Pull Requests 页面
"There aren’t any open pull requests.": "暂无拉取请求。",
"There aren’t any open issues.": "暂无开放的问题。",
"Use the links above to find what you’re looking for, or try": "使用上面的链接来找到您要找的,或者尝试",
"a new search query": "新的搜索查询",
". The Filters menu is also super helpful for quickly finding issues most relevant to you.": "。搜索栏也是快速找到问题最相关的您超级有帮助的。",
"Conversation": "交谈",
"Files changed": "更改的文件",
"commented": "评论",
"merged commit": "以合并提交",
"into": "到",
"from": "来自",
"Revert": "还原",
"Avoid bugs by automatically running your tests.": "通过持续集成测试来避免BUG。",
"Continuous integration can help catch bugs by running your tests automatically.": "持续集成可以通过自动运行您的测试有助于捕获错误。",
"Merge your code with confidence using one of our continuous integration providers.": "合并您的代码使用我们信任的持续集成供应商。",
"Add more commits by pushing to the": "添加更多来至于",
"branch on": "分支的提交推送到",
"This branch has no conflicts with the base branch": "该分支与base支没有冲突",
"Merging can be performed automatically.": "可以自动地执行合并。",
"You can also": "您也可以在",
"open this in GitHub Desktop": "GitHub桌面版本",
"or view": "打开,或通过",
"command line instructions": "命令行查看",
//// 直接提交拉取请求
"Open a pull request": "新建一个拉取请求",
"Create a new pull request by comparing changes across two branches. If you need to, you can also": "通过比较两个分支的更改来创建一个新的拉请求。如果需要,还可以",
"Able to merge.": "可被合并。",
"These branches can be automatically merged.": "该分支可被自动合并。",
"file changed": "个文件变更",
"files changed": "个文件变更",
"commit comment": "次提交",
"commit comments": "次提交",
"No commit comments for this range": "该范围变更没有提交注释",
"Comparing changes": "比较变更",
"Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also": "选择两个分支,看看发生了什么改变,或发起一个新的拉请求。如果你需要,你也可以",
"base fork:": "基派生:",
"There isn’t anything to compare.": "没有任何东西可比较。",
"is up to date with all commits from": "已是最新,提交于",
". Try": "。尝试",
"switching the base": "切换基础库",
"for your comparison.": "来进行比较。",
// projects 页面
"This repository doesn't have any projects yet": "该仓库目前没有任何项目",
"Create a project": "创建一个项目",
// wiki 页面
"Wikis provide a place in your repository to lay out the roadmap of your project, show the current status, and document software better, together.": "wiki 为您的仓库提供了一个更好的文档资料。",
"Create the first page": "创建第一个页面",
"Create new page": "创建新页面",
"Write": "编辑",
"Preview": "预览",
"Edit mode:": "编辑模式:",
"Edit Message": "提交信息",
"Save Page": "保存页面",
// settings 页面
"Webhooks & services": "Web钩子 & 服务",
"Deploy keys": "部署密钥",
"Options": "基本选项",
"Repository name": "仓库名",
"Rename": "重命名",
"Features": "特性",
"GitHub Wikis is a simple way to let others contribute content. Any GitHub user can create and edit pages to use for documentation, examples, support, or anything you wish.": "GitHub Wikis 是一个简单的方法让别人贡献内容。GitHub 的任何用户都可以创建和编辑页面中使用的文档,示例,支持或任何您想。",
"Restrict editing to collaborators only": "编辑限制只有合作者可以",
"Public wikis will still be readable by everyone.": "公共 wikis 仍然会受到大家的可读性",
"GitHub Issues adds lightweight issue tracking tightly integrated with your repository. Add issues to milestones, label issues, and close & reference issues from commit messages.": "GitHub 与您的存储库添加轻量级问题跟踪紧密集成的问题。添加里程碑的问题,标签问题,并密切与参考问题提交消息。",
"Merge button": "合并按钮",
"When merging pull requests, you can allow merge commits, squashing, or both.": "当合并拉取请求时,您可以允许合并提交,压缩。",
"Allow merge commits": "允许合并提交",
"Add all commits from the head branch to the base branch with a merge commit.": "从head分支的所有提交合并提交到base分支。",
"Allow squash merging": "允许压缩合并",
"Combine all commits from the head branch into a single commit in the base branch.": "从head分支的所有提交压缩提交到base分支。",
"You must select at least one option": "您至少要选择一个选项。",
"GitHub Pages": "GitHub 项目演示页面",
"Your site is published at": "您的演示地址为:",
"Your site is ready to be published at": "您的演示地址为:",
"is designed to host your personal, organization, or project pages from a GitHub repository.": "为您私人,组织或仓库项目提供静态web页面。",
"Source": "源",
"Your GitHub Pages site is currently being built from the": "你的 GitHub Pages 网站目前正在建立在",
"branch.": "分支。",
"Select source": "选择源",
"Use the": "使用",
"branch for GitHub Pages.": "分支作为 GitHub Pages",
"Disable GitHub Pages.": "禁用 GitHub Pages",
"Custom domain": "自定义域名",
"Custom domains allow you to serve your site from a domain other than": "自定义域名也许你用其他域名访问",
"Update your site": "更新您的站点",
"To update your site, push your HTML or": "更新您的站点,可以直接推送 html 或者使用",
"updates to your": "更新到",
"branch. Read the": "分支。详情请阅读",
"Pages help article": "演示页面帮助",
"for more information.": "获取更多信息",
"Overwrite site": "覆盖现有站点",
"Replace your existing site by using our automatic page generator. Author your content in our Markdown editor, select a theme, then publish.": "通过使用我们的自动页面生成器替换现有的网站。您可以在我们的 Markdown 编辑器,选择一个主题,然后发布。",
"Launch automatic page generator": "启动自动生成器",
"Enforce HTTPS": "强制 HTTPS",
"— Unavailable for your site because you have a custom domain configured (": "- 无法为您的网站开启,因为您配置了一个自定义域名 (",
"HTTPS provides a layer of encryption that prevents others from snooping on or tampering with traffic to your site.": "HTTPS 提供了一层加密,防止他人偷窥或篡改的交通到您的网站。",
"When HTTPS is enforced, your site will only be served over HTTPS.": "当开启强制 HTTPS 后,您的网站将只能通过 HTTPS 访问。",
"Danger Zone": "危险区",
"Make this repository private": "将该仓库设为私有仓库",
"Public forks can’t be made private. Please": "派生的的仓库,无法转为私有,请",
"duplicate the repository": "复制一份该仓库。",
"Make private": "转为私有",
"Please": "请",
"upgrade your plan": "更新您的私有仓库计划",
"to make this repository private.": "让这个仓库转为私有。",
"Transfer ownership": "转让所有权",
"Transfer": "转让",
"Transfer this repository to another user or to an organization where you have admin rights.": "此存储库转移到其他用户或组织,在这里您具有管理员权限。",
"Delete this repository": "删除此仓库",
"Once you delete a repository, there is no going back. Please be certain.": "一旦删除您的仓库,将无法找回。请您三思。",
"Default branch": "默认分支",
"The default branch is considered the “base” branch in your repository, against which all pull requests and code commits are automatically made, unless you specify a different branch.": "默认分支被认为是“基地”分支在您的资料库,对所有拉取请求和代码的提交是自动进行的,除非您指定一个不同的分支。",
"Update": "更新",
"Switch default branch": "选择默认分支",
"Filter branches": "搜索分支",
"Protected branches": "受保护的分支",
"Protect branches to disable force pushing, prevent branches from being deleted, and optionally require status checks before merging. New to protected branches?": "受保护分支禁用强制推送,避免删除分支机构,合并可选要求前状态检查。创建新的受保护的分支机构?",
"Learn more.": "查看更多信息",
"No protected branches yet.": "暂无受保护分支",
"Are you ABSOLUTELY sure?": "您确定一定以及肯定?",
"Unexpected bad things will happen if you don’t read this!": "请仔细阅读以下提示信息!!!",
"This action": "该操作是",
"CANNOT": "不可逆的",
"be undone. This will permanently delete the": ",您将永久删除",
"repository, wiki, issues, and comments, and remove all collaborator associations.": "仓库,wiki,问题和提交内容,并且移除所有合作者。",
"Please type in the name of the repository to confirm.": "请您输入该仓库名以确认删除它。",
"I understand the consequences, delete this repository": "我确定一定以及肯定删除它",
// Compare changes 页面
"Compare changes": "变更比较",
"Compare changes across branches, commits, tags, and more below. If you need to, you can also": "比较跨分支,提交,标签,和更多的变更。如果您需要,也可以",
"compare across forks": "比较派生库和源仓库",
"base:": "基础库:",
"compare:": "比较库:",
"Create pull request": "创建拉取请求",
"Choose different branches or forks above to discuss and review changes.": "选择不同的分支或派生来讨论和查看变化。",
"Compare and review just about anything": "比较和审查任何文件",
"Branches, tags, commit ranges, and time ranges. In the same repository and across forks.": "分支,标签,提交范围和时间范围。在同一仓库和派生的仓库。",
"Example comparisons": "比较例子",
// 新建空仓库
"Quick setup": "快速安装",
"— if you’ve done this kind of thing before": "- 如果您以前做过这样的事",
"Set up in Desktop": "安装到桌面",
"We recommend every repository include a": "我们推荐每个仓库都包括",
", and": ",和",
"…or create a new repository on the command line": "…或在命令行上创建一个新的仓库",
"…or push an existing repository from the command line": "…或从命令行中推送现有的仓库",
"…or import code from another repository": "…或从另一个仓库库导入代码",
"You can initialize this repository with code from a Subversion, Mercurial, or TFS project.": "您可以初始化此仓库从一个 Subversion,Mercurial 或 TFS 项目。",
"Import code": "导入代码",
// commits 页面
"committed": "提交于",
"Merge pull request": "合并拉取请求",
"Confirm merge": "确认合并",
"Close pull request": "关闭拉取请求",
"Copy the full SHA": "复制完整的 SHA",
"Browse the repository at this point in the history": "浏览该阶段的历史仓库内容",
"Newer": "新的",
"Older": "旧的",
// branches 页面
"Overview": "概述",
"Yours": "您的",
"Active": "活跃的",
"Stale": "陈旧的",
"All branches": "所有分支",
"Search branches…": "搜索分支…",
"Your branches": "您的分支",
"You haven’t pushed any branches to this repository.": "您没有推送任何分支到该仓库。",
"Active branches": "活跃的分支",
"There aren’t any active branches.": "没有任何活跃的分支。",
"Stale branches": "陈旧的分支",
"There aren’t any stale branches.": "没有任何陈旧的分支。",
"View more active branches": "查看更多活跃的分支",
"View more stale branches": "查看更多陈旧的分支",
"Compare": "比较",
"Change default branch": "更改默认分支",
// Releases 页面
"Releases": "发布",
"Pre-release": "预发布",
"Downloads": "下载",
"Notes": "说明",
"There aren’t any releases here": "没有任何发布内容",
"Create a new release": "创建一个发布",
"Releases are powered by": "发布是通过在仓库中标记",
"tagging specific points of history": "特定历史版本",
"in a repository. They’re great for marking release points like": ",用于发布的版本类似",
"Latest release": "最新发布",
"Read release notes": "阅读发布说明",
"released this": "发布它",
"tagged this": "标注",
"Draft a new release": "起草新版本发布",
"Add release notes": "添加发布说明",
"Edit release notes": "编辑发布说明",
"(No release notes)": "(没有发布说明)",
"Release notes": "发布说明",
"Edit tag": "修改标签",
"Edit release": "修改发布",
"Delete": "删除",
"Are you sure?": "您确定一定以及肯定吗?",
"This will delete the information for this tag.": "将删除该标签的所有信息。",
"Delete this tag": "删除此标签",
"Your tag was removed": "标签删除成功!",
"Existing tag": "已存在的标签",
"Markdown supported": "Markdown 语法支持",
"Attach binaries by dropping them here or": "拖拽文件到这来添加附件",
"This is a pre-release": "这是一个预发布版本",
"We’ll point out that this release is identified as non-production ready.": "我们会指定该版本为未正式发布。",
"Update release": "更新发布",
"Publish release": "发布版本",
"Save draft": "保存草稿",
"Saved!": "已保存",
"Saving draft failed. Try again?": "保存失败,再试一次?",
// 图表页面
"Contributors": "贡献者",
"Traffic": "流量",
"Commits": "提交",
"Code frequency": "频率",
"Punch card": "时刻",
"Network": "网络",
"Members": "成员",
"Contributions to master, excluding merge commits": "对主分支的贡献,不包括合并提交",
"Contributions:": "贡献者:",
"Filter contributions": "筛选贡献者",
"Additions": "添加数量",
"Deletions": "删除数量",
},
"regexp": [ // 正则翻译
[/HTTPS\s+(recommended)/, "HTTPS (推荐)"],
[/Save (.+?) to your computer and use it in GitHub Desktop./, "使用 GitHub 桌面版,保存 $1 到您的电脑。"],
[/([\d,]+) Open/, "$1 个开放的"],
[/([\d,]+) Closed/, "$1 个关闭的"],
[/View all issues opened by (.+)/, "查看所有 $1 的问题"],
[/Welcome to the ([^ ]+) wiki!/, "欢迎访问 $1 的 wiki"],
[/([\d,]+) participants?/, "$1 参与者"],
[/Commits on (.+)/, "提交于 $1"],
// bug [/from (.+)/, "从 $1"],
[/wants to merge ([\d,]+) commits? into/, "需要合并 $1 次提交到"],
[/([\d,]+) commits?/, "$1 次提交"],
[/to ([^\n]+)[\n\s]+since this release/, "到 $1 分支在此发布中。"],
[/· ([\d,]+) comments?/, "$1 次提交"]
],
},
// 未登录首页
"homepage": { // 未登录首页
"static": { // 静态翻译
"Pick a username": "选择一个用户名",
"Your email address": "您的邮件地址",
"Create a password": "创建一个密码",
"Sign up for GitHub": "注册 GitHub",
"Use at least one letter, one numeral, and seven characters.": "密码需要字母和数字组成的 7 位以上字符串。",
"By clicking \"Sign up for GitHub\", you agree to our": "点击 “注册 GitHub”,表示您同意我们的",
"terms of service": "服务条款",
"and": "和",
"privacy policy": "隐私政策条款",
"We'll occasionally send you account related emails.": "我们会偶尔发送您的帐户相关的电子邮件。",
"How people build software": "人们如何构建软件",
"Millions of developers use GitHub to build personal projects, support their businesses, and work together on open source technologies.": "数以百万计的开发人员使用 GitHub 建立个人项目,支持他们的企业,共同在开放源码技术。",
"Introducing unlimited": "引入无限制的",
"private repositories": "私人仓库",
"All of our paid plans on GitHub.com now include unlimited private repositories.": "所有在我们 GitHub.com 上的付费用户,我们将提供无限制的私人仓库。",
"Sign up": "注册",
"to get started or": "开始使用或",
"read more about this change on our blog": "阅读更多信息在我们的博客上",
"Welcome home, developers": "欢迎回来,开发者们",
"GitHub fosters a fast, flexible, and collaborative development process that lets you work on your own or with others.": "GitHub 提供了一个快速,灵活和协作开发过程,让您对自己或与他人合作。",
"For everything you build": "为您打造",
"Host and manage your code on GitHub. You can keep your work private or share it with the world.": "主机和管理您的代码在 GitHub 上。您可以把您的工作或私人与世界分享。",
"A better way to work": "一个更好的工作方式",
"From hobbyists to professionals, GitHub helps developers simplify the way they build software.": "从业余爱好者到专业人士,GitHub 帮助开发人员简化的方式构建软件。",
"Millions of projects": "数以百万计的项目",
"GitHub is home to millions of open source projects. Try one out or get inspired to create your own.": "GitHub 是数百万开源项目的家园。尝试一个或获得灵感来创造您自己的项目。",
"One platform, from start to finish": "一个平台,从始至终",
"With hundreds of integrations, GitHub is flexible enough to be at the center of your development process.": "成百上千的集成,GitHub 是足够灵活的,能够在您的发展过程的中心。",
"Who uses GitHub?": "谁在使用 GitHub ?",
"Individuals": "个人",
"Use GitHub to create a personal project, whether you want to experiment with a new programming language or host your life’s work.": "使用 GitHub 来创建一个个人项目,不管您想要尝试一个新的编程语言或主机在您生活及工作。",
"Communities": "社区",
"GitHub hosts one of the largest collections of open source software. Create, manage, and work on some of today’s most influential technologies.": "GitHub 主机是最大的开放源码软件的集合之一。创建,管理,以及在一些当今最具影响力的技术工作。",
"Businesses": "企业",
"Businesses of all sizes use GitHub to support their development process and securely build software.": "各种规模的企业使用的 GitHub 支持其发展过程中,安全地构建软件。",
"GitHub is proud to host projects and organizations like": "GitHub 是自豪地举办项目和组织,如",
"Public projects are always free. Work together across unlimited private repositories for $7 / month.": "公共项目是免费的。私人项目需要支付 7 美元一个月的费用。",
},
"regexp": [ // 正则翻译
],
},
// 登录页
"session-authentication": { // 登录页
"static": { // 静态翻译
"Sign in to GitHub": "登录 GitHub 帐户",
"Username or email address": "用户名/邮箱",
"Password": "密码",
"Forgot password?": "忘记密码",
"Sign in": "登录",
"New to GitHub?": "第一次来 GitHub?",
"Create an account": "那就注册个帐户吧",
},
"regexp": [ // 正则翻译
],
},
// 注册页
"signup": { // 注册页
"static": { // 静态翻译
"Join GitHub": "加入 GitHub",
"The best way to design, build, and ship software.": "最优的方式来设计、构建和存储软件",
"Step 1:": "第一步:",
"Set up a personal account": "建立个人账户",
"Step 2:": "第二步:",
"Choose your plan": "选择您的方案",
"Step 3:": "第三步:",
"Go to your dashboard": "去到您的首页",
// Step 1:
"Create your personal account": "创建您的个人账户",
"Username": "用户名 (也是您个人首页的二级地址)",
"This will be your username — you can enter your organization’s username next.": "这将是您的用户名 - 也可以是您组织或公司的名称。",
"Email Address": "Email 地址",
"You will occasionally receive account related emails. We promise not to share your email with anyone.": "该邮箱用于接收相关的通知邮件。我们承诺不公开您的电子邮件给任何人。",
"Password": "密码",
"Use at least one lowercase letter, one numeral, and seven characters.": "密码需要字母和数字组成的 7 位以上字符串。",
"By clicking on \"Create an account\" below, you are agreeing to the": "点击下面的“创建账户”,表示您同意我们的",
"Terms of Service": "服务条款",
"and the": "和",
"Privacy Policy": "隐私政策",
"Create an account": "创建账户",
"You’ll love GitHub": "您将会爱上 GitHub",
"Unlimited": "无限多的",
"collaborators": "合作者",
"public repositories": "公共仓库",
"Great communication": "良好的沟通",
"Friction-less development": "无摩擦开发",
"Open source community": "开源社区",
// Step 2:
"Welcome to GitHub": "欢迎来到 GitHub",
"You’ve taken your first step into a larger world,": "您已经迈出了第一步进入到更大的世界,",
"Choose your personal plan": "选择您的个人方案",
"Unlimited public repositories for free.": "无限的公共仓库免费使用",
"Unlimited private repositories": "无限的私人仓库",
"for": "需",
"$7/month.": "$7/月",
"¥46.06/month.": "¥46.06/月.",
"(view in CNY)": "(显示人民币价格)",
"(view in USD)": "(显示美元价格)",
"Don’t worry, you can cancel or upgrade at any time.": "别担心,你可以随时升级或取消这个方案。",
"Charges to your account will be made in ": "汇率问题说明,不翻译了...",
"Secure": "安全",
"Enter your billing details": "输入您的帐单明细",
"Pay with": "支付方式",
"Credit card": "信用卡",
"PayPal account": "PayPal 账户",
"Credit card number": "信用卡号",
"Accepted cards": "支持的卡",
"Help me set up an organization next": "帮我建立一个组织",
"Organizations are separate from personal accounts and are best suited for businesses who need to manage permissions for many employees.": "组织是独立于个人账户,是最适合需要管理权限对许多员工的企业。",
"Learn more about organizations.": "阅读更多关于组织的信息。",
"Finish sign up": "完成注册",
"Both plans include:": "这两种方案包括:",
"Collaborative code review": "协作代码审查",
"Issue tracking": "问题跟踪",
"Unlimited public repositories": "无限制的公共仓库",
"Join any organization": "加入任何组织",
},
"regexp": [ // 正则翻译
],
},
// 通知页面
"notifications": { // 通知页面
"static": { // 静态翻译
"Mark all as read": "全部标为已读",
"Are you sure?": "您确定吗?",
"Are you sure you want to mark all unread notifications as read?": "你确定要将所有的未读通知标记为已读?",
"Mark all notifications as read": "全部标为已读",
"Notifications": "通知",
"Watching": "关注的仓库",
"Unread": "未读",
"Participating": "参与话题",
"All notifications": "所有通知",
"No new notifications.": "没有新的通知。",
"Depending on": "根据",
"your notification settings": "您的通知设置",
", you’ll see updates here for your conversations in watched repositories.": ",您将看到您关注仓库的更新信息。",
},
"regexp": [ // 正则翻译
],
},
// 关注的仓库页面
"watching": { // 关注的仓库页面
"static": { // 静态翻译
"Notifications": "通知",
"Watching": "关注的仓库",
"Watched repositories": "关注的仓库",
"Sorted by most recently watched.": "按最近关注排序",
"Unwatch all": "取消所有关注",
"Notification settings": "通知设置",
"You can change how you receive notifications from your account settings.": "您可以修改接收通知的方式。",
"Change notification settings": "修改通知设置",
},
"regexp": [ // 正则翻译
],
},
// 点赞页面
"stars": { // 点赞页面
"static": { // 静态翻译
"All stars": "所有仓库",
"Your repositories": "您的仓库",
"Others' repositories": "其他仓库",
"Filter by languages": "筛选语言",
"Jump to a friend": "去好基友那",
},
"regexp": [ // 正则翻译
],
},
// 趋势页面
"trending": { // 趋势页面
"static": { // 静态翻译
"Trending in open source": "开源趋势",
"See what the GitHub community is most excited about today.": "看看 GitHub 社区今天最受关注的项目。",
"See what the GitHub community is most excited about this week.": "看看 GitHub 社区本周最受关注的项目。",
"See what the GitHub community is most excited about this month.": "看看 GitHub 社区本月最受关注的项目。",
"Trending developers": "开发者趋势",
"These are the organizations and developers building the hot tools today.": "这是今天创建热门项目的组织和开发人员。",
"These are the organizations and developers building the hot tools this week.": "这是本周创建热门项目的组织和开发人员。",
"These are the organizations and developers building the hot tools this month.": "这是本月创建热门项目的组织和开发人员。",
"Repositories": "仓库",
"Developers": "开发者",
"Trending:": "趋势:",
"Adjust time span": "调整的时间跨度",
"today": "今天",
"this week": "本周",
"this month": "本月",
"All languages": "所有语言",
"Unknown languages": "未知语言",
"Other:": "其他:",
"Languages": "语言",
"Other Languages": "其他语言",
"Filter Languages": "筛选语言",
},
"regexp": [ // 正则翻译
[/([\d,]+) stars today([^B]+)[\w ]+/, "今天 $1 赞$2创建者"],
[/([\d,]+) stars this week([^B]+)[\w ]+/, "本周 $1 赞$2创建者"],
[/([\d,]+) stars this month([^B]+)[\w ]+/, "本月 $1 赞$2创建者"],
],
},
// 展示页面
"showcases": { // 展示页面
"static": { // 静态翻译
"Open source showcases": "开源展示",
"Browse popular repositories based on the topic that interests you most.": "浏览热门仓库基于你最感兴趣的话题。",
"Search showcases": "搜索展示",
},
},
// 问题页面
"issues": { // 问题页面
"static": { // 静态翻译
"Created": "已创建",
"Assigned": "已分配",
"Mentioned": "提到的",
"Visibility": "可见性",
"Repository visibility": "仓库可见性",
"Private repositories only": "只有私有仓库",
"Public repositories only": "只有公共库",
"Organization": "组织",
"Filter by organization or owner": "通过组织或所有者筛选",
"Filter organizations": "筛选组织",
"Sort": "排序",
"Sort by": "排序方式",
"Newest": "最新的",
"Oldest": "最老的",
"Most commented": "最多评论",
"Least commented": "最少评论",
"Recently updated": "最近更新",
"Least recently updated": "最早更新",
"Most reactions": "最多回应",
"No results matched your search.": "没有符合您的搜索结果。",
"Use the links above to find what you’re looking for, or try": "使用上面的链接找到您要找的内容,或尝试",
"a new search query": "新的搜索查询",
". The Filters menu is also super helpful for quickly finding issues most relevant to you.": "。过滤菜单也是快速找到问题最相关的您超级有帮助的。",
"ProTip!": "专业提示!",
"Updated in the last three days": "更新了最后三天:",
},
"regexp": [ // 正则翻译
[/(\d+) Open/, "$1 未处理"],
[/(\d+) Closed/, "$1 已处理"],
],
},
// 搜索页面
"search": { // 搜索页面
"static": { // 静态翻译
"Search more than": "这里有超过",
"repositories": "的仓库供您搜索",
"Repositories": "仓库",
"Code": "代码",
"Users": "用户",
"Languages": "语言",
"Advanced search": "高级搜索",
"Cheat sheet": "搜索技巧",
"You could try an": "您可以试一试",
"advanced search": "高级搜索",
"Sort:": "排序:",
"Sort options": "排序选项",
"Best match": "最佳匹配",
"Most stars": "最多赞",
"Fewest stars": "最少赞",
"Most forks": "最多派生",
"Fewest forks": "最少派生",
"Recently updated": "最近更新",
"Least recently updated": "最早更新",
// 高级搜索
"Advanced options": "高级选项",
"From these owners": "指定作者",
"In these repositories": "指定仓库",
"Created on the dates": "创建日期",
"Written in this language": "使用语言",
"Any Language": "任何语言",
"Popular": "流行的",
"Everything else": "其他语言",
"Repositories options": "仓库选项",
"With this many stars": "指定被赞数",
"With this many forks": "指定派生数",
"Of this size": "仓库大小",
"Pushed to": "推送于",
"Return repositories": "搜索结果",
"not": "不",
"and": "要",
"only": "只",
"including forks.": "包括被派生的仓库。",
"Code options": "代码选项",
"With this extension": "文件后缀",
"Of this file size": "文件大小",
"In this path": "文件路径",
"Return code from forked repositories": "搜索结果包括被派生的仓库。",
"Issues options": "问题选项",
"In the state": "问题状态",
"With this many comments": "评论数量",
"With the labels": "问题标签",
"Opened by the author": "提问人",
"Mentioning the users": "提到谁",
"Assigned to the users": "分配给谁",
"Updated before the date": "更新于",
"Users options": "用户选项",
"With this full name": "用户全称",
"From this location": "来自哪里",
"With this many followers": "有多少粉丝",
"With this many public repositories": "有多少公共仓库",
"Working in this language": "擅长什么语言",
},
"regexp": [ // 正则翻译
[/We’ve found ([\d,]+) repository results/, "我们为您找到 $1 个相关结果"],
[/We couldn’t find any repositories matching '(.+)'/, "我们没有找到任何与 '$1' 相关的结果"],
],
},
// 代码片段页面
"gist": { // 代码片段页面
"static": { // 静态翻译
"Search…": "搜索代码片段…",
"All gists": "所有片段",
"New gist": "新建片段",
"Your gists": "您的片段",
"Starred gists": "已赞片段",
"Your GitHub profile": "设置",
"View profile and more": "查看更多信息",
"See all of your gists": "查看您的所有片段",
"Instantly share code, notes, and snippets.": "即时分享您的代码,笔记,片段,以及灵感。",
"Gist description…": "片段描述",
"Filename including extension…": "文件名 (包括扩展名)",
"Indent mode": "缩进模式",
"Spaces": "空格",
"Tabs": "TAB",
"Indent size": "缩进大小",
"Line wrap mode": "换行模式",
"No wrap": "无换行",
"Soft wrap": "软换行",
"Add file": "添加文件",
"Create secret gist": "创建私有片段",
"Secret gists are hidden from search engines but visible to anyone you give the URL.": "私有片段搜索引擎是搜不到的,但是您可以分享您的 url 给他们。",
"Create public gist": "创建公共片段",
// All gists 页面
"Sort:": "排序:",
"Sort options": "排序选项",
"Recently created": "最近创建的",
"Least recently created": "最早创建的",
"Recently updated": "最近更新的",
"Least recently updated": "最早更新的",
"Filter:": "筛选:",
"Filter options": "筛选选项",
"Public & Secret": "公共 & 私有",
"Public only": "仅公共",
"Secret only": "仅私有",
"forked from": "派生自",
"Created": "创建于",
"View": "查看",
"Newer": "新的",
"Older": "旧的",
// View 代码 页面
"Edit": "编辑",
"Delete": "删除",
"Star": "点赞",
"Unstar": "取消点赞",
"User actions": "用户操作",
"Report abuse": "举报该用户",
"Code": "代码",
"Revisions": "修订",
"Stars": "被赞",
"Forks": "派生",
// 代码页面
"What would you like to do?": "您想做什么?",
"Embed this gist in your website.": "Embed 可嵌入到您的网页中。",
"Copy sharable URL for this gist.": "复制 URL 共享这个片段。",
"Clone with Git or checkout with SVN using the repository's web address.": "Git 克隆或 SVN 检出该仓库所使用的 web 地址。",
"Clone with an SSH key and passphrase from your GitHub settings.": "使用 SSH 密钥克隆",
"Learn more about clone URLs": "更多的克隆方法",
"Copy to clipboard": "复制到剪切板",
"Copied!": "复制成功!",
"Download ZIP": "下载 ZIP",
"Permalink": "永久链接",
"Raw": "源码",
// 修订页面
"Unified": "同屏",
"Split": "分屏",
"created": "创建",
"this gist": "该片段于",
// 编辑代码页面
"Editing": "编辑",
"Make secret": "转为私有",
"Cancel": "取消",
"Update public gist": "更新片段",
// 已赞页面
"Starred": "赞了",
"You don’t have any starred gists yet.": "您还没有赞过任何片段。",
},
"regexp": [ // 正则翻译
[/View ([^ ]+) on GitHub/, "查看 $1 的 GitHub"],
[/(\d+) files?/, "$1 文件"],
[/(\d+) forks?/, "$1 派生"],
[/(\d+) comments?/, "$1 评论"],
[/(\d+) stars?/, "$1 赞"],
[/Save (.+?) to your computer and use it in GitHub Desktop./, "使用 GitHub 桌面版,保存 $1 到您的电脑。"],
],
},
// 应用授权
"oauth": { // 应用授权
"static": { // 静态翻译
"Authorize application": "应用授权",
"by": "的",
"would like permission to access your account": "想访问您的帐户",
"Review permissions": "查看权限",
"Public data only": "仅公共数据",
"Limited access to your public data": "仅限访问您的公共数据",
"This application will be able to identify you and read public information.": "此应用程序将能识别您的身份和读取您的公共信息。",
"Learn more": "更多",
"Visit application’s website": "访问应用官网",
"Learn more about OAuth": "查看更多授权信息",
},
"regexp": [ // 正则翻译
],
},
};
// 公共复用翻译部分
I18N.zh.pulls = I18N.zh.issues;
(function (window, document, undefined) {
'use strict';
var lang = 'zh'; // 中文
// 要翻译的页面
var page = getPage();
transTitle(); // 页面标题翻译
timeElement(); // 时间节点翻译
// setTimeout(contributions, 100); // 贡献日历翻译 (日历是内嵌或ajax的, 所以基于回调事件处理)
walk(document.body); // 立即翻译页面
//
define('github-hans-ajax', ['./jquery'], function($) {
$(document).ajaxComplete(function () {
transTitle();
walk(document.body); // ajax 请求后再次翻译页面
});
});
ghImport('github-hans-ajax')['catch'](function(e) {
setTimeout(function() { throw e });
});
/**
* 遍历节点
*
* @param {Element} node 节点
*/
function walk(node) {
var nodes = node.childNodes;
for (var i = 0, len = nodes.length; i < len; i++) {
var el = nodes[i];
// todo 1. 修复多属性翻译问题; 2. 添加事件翻译, 如论预览信息;
if (el.nodeType === Node.ELEMENT_NODE) { // 元素节点处理
// 元素节点属性翻译
if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') { // 输入框 按钮 文本域
if (el.type === 'button' || el.type === 'submit') {
transElement(el, 'value');
} else {
transElement(el, 'placeholder');
}
} else if (el.hasAttribute('aria-label')) { // 带提示的元素,类似 tooltip 效果的
transElement(el, 'aria-label', true);
if (el.hasAttribute('data-copied-hint')) { // 复制成功提示
transElement(el.dataset, 'copiedHint');
}
} else if (el.tagName === 'OPTGROUP') { // 翻译 <optgroup> 的 label 属性
transElement(el, 'label');
}
if (el.hasAttribute('data-disable-with')) { // 按钮等待提示
transElement(el.dataset, 'disableWith');
}
// 跳过 readme, 文件列表, 代码显示
if (el.id !== 'readme' && !I18N.conf.reIgnore.test(el.className)) {
walk(el); // 遍历子节点
}
} else if (el.nodeType === Node.TEXT_NODE) { // 文本节点翻译
transElement(el, 'data');
}
}
}
/**
* 获取翻译页面
*/
function getPage() {
// 先匹配 body 的 class
var page = document.body.className.match(I18N.conf.rePageClass);
if (!page) { // 扩展 url 匹配
page = location.href.match(I18N.conf.rePageUrl);
}
if (!page) { // 扩展 pathname 匹配
page = location.pathname.match(I18N.conf.rePagePath);
}
return page ? page[1] || 'homepage' : false; // 取页面 key
}
/**
* 翻译页面标题
*/
function transTitle() {
var title = translate(document.title, 'title');
if (title === false) { // 无翻译则退出
return false;
}
document.title = title;
}
/**
* 翻译节点对应属性内容
*
* @param {object} el 对象
* @param {string} field 属性字段
* @param {boolean} isAttr 是否是 attr 属性
*
* @returns {boolean}
*/
function transElement(el, field, isAttr) {
var transText = false; // 翻译后的文本
if (isAttr === undefined) { // 非属性翻译
transText = translate(el[field], page);
} else {
transText = translate(el.getAttribute(field), page);
}
if (transText === false) { // 无翻译则退出
return false;
}
// 替换翻译后的内容
if (isAttr === undefined) {
el[field] = transText;
} else {
el.setAttribute(field, transText);
}
}
/**
* 翻译文本
*
* @param {string} text 待翻译字符串
* @param {string} page 页面字段
*
* @returns {string|boolean}
*/
function translate(text, page) { // 翻译
var str;
var _key = text.trim(); // 去除首尾空格的 key
var _key_neat = _key
.replace(/\xa0/g, ' ') // 替换 空格导致的 bug
.replace(/\s{2,}/g, ' '); // 去除多余换行空格等字符,(试验测试阶段,有问题再恢复)
if (_key_neat === '') {
return false;
} // 内容为空不翻译
str = transPage('pubilc', _key_neat); // 公共翻译
if (str !== false && str !== _key_neat) { // 公共翻译完成
str = transPage('pubilc', str) || str; // 二次公共翻译(为了弥补正则部分翻译的情况)
return text.replace(_key, str); // 替换原字符,保留空白部分
}
if (page === false) {
return false;
} // 未知页面不翻译
str = transPage(page, _key_neat); // 翻译已知页面
if (str === false || str === '') {
return false;
} // 未知内容不翻译
str = transPage('pubilc', str) || str; // 二次公共翻译(为了弥补正则部分翻译的情况)
return text.replace(_key, str); // 替换原字符,保留空白部分
}
/**
* 翻译页面内容
*
* @param {string} page 页面
* @param {string} key 待翻译内容
*
* @returns {string|boolean}
*/
function transPage(page, key) {
var str; // 翻译结果
var res; // 正则数组
// 静态翻译
str = I18N[lang][page]['static'][key];
if (str) {
return str;
}
// 正则翻译
res = I18N[lang][page].regexp;
if (res) {
for (var i = 0, len = res.length; i < len; i++) {
str = key.replace(res[i][0], res[i][1]);
if (str !== key) {
return str;
}
}
}
return false; // 没有翻译条目
}
/**
* 时间节点翻译
*/
function timeElement() {
if (!window.RelativeTimeElement) { // 防止报错
return;
}
var RelativeTimeElement$getFormattedDate = RelativeTimeElement.prototype.getFormattedDate;
var TimeAgoElement$getFormattedDate = TimeAgoElement.prototype.getFormattedDate;
// var LocalTimeElement$getFormattedDate = LocalTimeElement.prototype.getFormattedDate;
var RelativeTime = function (str, el) { // 相对时间解析
if (/^on ([\w ]+)$/.test(str)) {
return '于 ' + el.title.replace(/ .+$/, '');
}
// 使用字典公共翻译的第二个正则翻译相对时间
var time_ago = I18N[lang].pubilc.regexp[1];
return str.replace(time_ago[0], time_ago[1]);
};
RelativeTimeElement.prototype.getFormattedDate = function () {
var str = RelativeTimeElement$getFormattedDate.call(this);
return RelativeTime(str, this);
};
TimeAgoElement.prototype.getFormattedDate = function () {
var str = TimeAgoElement$getFormattedDate.call(this);
return RelativeTime(str, this);
};
LocalTimeElement.prototype.getFormattedDate = function () {
return this.title.replace(/ .+$/, '');
};
// 遍历 time 元素进行翻译
// 2016-04-16 github 改版,不再用 time 标签了。
var times = document.querySelectorAll('time, relative-time, time-ago, local-time');
Array.prototype.forEach.call(times, function (el) {
if (el.getFormattedDate) { // 跳过未注册的 time 元素
el.textContent = el.getFormattedDate();
}
});
}
/**
* 贡献日历 基于事件翻译
*/
function contributions() {
var tip = document.getElementsByClassName('svg-tip-one-line');
// 等待 IncludeFragmentElement 元素加载完毕后绑定事件
// var observe = require('github/observe').observe;
define('github/hans-contributions', ['./observe'], function (observe) {
observe(".js-calendar-graph-svg", function () {
setTimeout(function () { // 延时绑定 mouseover 事件,否则没法翻译
var $calendar = $('.js-calendar-graph');
walk($calendar[0]); // 翻译日历部分
$calendar.on('mouseover', '.day', function () {
if (tip.length === 0) { // 没有 tip 元素时退出防止报错
return true;
}
var data = $(this).data(); // 获取节点上的 data
var $tip = $(tip[0]);
$tip.html(data.count + ' 次贡献 ' + data.date);
var rect = this.getBoundingClientRect(); // 获取元素位置
var left = rect.left + window.pageXOffset - tip[0].offsetWidth / 2 + 5.5;
$tip.css('left', left);
});
}, 999);
});
});
ghImport('github/hans-contributions')['catch'](function(e) {
setTimeout(function() { throw e });
});
}
})(window, document);