From 92e99ac3c40d405f2f3c5feef19ef9a91d239071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=99=E6=BC=A0=E4=B9=8B=E5=AD=90?= <7850715+maboloshi@users.noreply.github.com> Date: Sun, 27 Oct 2024 21:36:16 +0800 Subject: [PATCH] =?UTF-8?q?main(greasyfork).user.js:=20=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=AD=A3=E5=88=99=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- locals(greasyfork).js | 117 ++++++++++++++++++++++++++++++++++++++- locals.js | 117 ++++++++++++++++++++++++++++++++++++++- main(greasyfork).user.js | 4 +- 3 files changed, 234 insertions(+), 4 deletions(-) diff --git a/locals(greasyfork).js b/locals(greasyfork).js index 4865b30aa..b9d595ef1 100644 --- a/locals(greasyfork).js +++ b/locals(greasyfork).js @@ -1284,7 +1284,122 @@ I18N["zh-CN"]["public"] = { // 公共区域翻译 [/to enable two-factor authentication as an additional security measure. Your activity on GitHub includes you in this requirement. You will need to enable two-factor authentication on your account before ([^ ]+), or be restricted from account actions./, "启用双因素身份验证(2FA)作为额外安全措施。您在 GitHub 上的活动让您接收到此要求。您将需要在 $1 前启用双因素身份验证,否则会被限制账户操作。"], ], "time-regexp": [ // 时间正则翻译专项 - [/on /, " "], + /** + * 匹配时间格式 + * + * 月 日 或 月 日, 年 + * Mar 19, 2015 – Mar 19, 2016 + * January 26 – March 19 + * March 26 + * + * 不知道是否稳定, 暂时先试用着. 2016-03-19 20:46:45 + * + * 更新于 2021-10-04 15:19:18 + * 增加 带介词 on 的格式,on 翻译不体现 + * on Mar 19, 2015 + * on March 26 + * + * 更新于 2021-10-10 13:44:36 + * on 星期(简写), 月 日 年 // 个人访问令牌 有效期 + * on Tue, Nov 9 2021 + * + * 2021-10-19 12:04:19 融合更多规则 + * + * 4 Sep + * 30 Dec 2020 + * + * on 4 Sep + * on 30 Dec 2020 + * + * 2021-11-22 12:51:57 新增 格式 + * + * 星期(全称), 月 日, 年 // 仓库-->洞察-->流量 图示标识 + * Sunday, November 14, 2021 + * + * Tip: + * 正则中的 ?? 前面的字符 重复0次或1次 + * 正则中的 ?: 非捕获符号(即关闭圆括号的捕获能力) 使用方法 (?: 匹配规则) -->该匹配不会被捕获 为 $数字 + */ + [/(?:on |)(?:(\d{1,2}) |)(?:(Sun(?:day)?|Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?), |)(?:(Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May(?:)??|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)(?:,? |$))(\d{4}|)(\d{1,2}|)(?:,? (\d{4})|)/g, function (all, date1, week, month, year1, date2, year2) { + var weekKey = { + "Sun" : "周日", + "Mon" : "周一", + "Tue" : "周二", + "Wed" : "周三", + "Thu" : "周四", + "Fri" : "周五", + "Sat" : "周六", + }; + 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月" + }; + var date = date1 ? date1 : date2; + var year = year1 ? year1 : year2; + return (year ? year + '年' : '') + monthKey[month.substring(0, 3)] + (date ? date + '日' : '') + (week ? ', ' + weekKey[week.substring(0, 3)] : ''); + }], + /** + * 相对时间格式处理 + * + * 更新于 2021-11-21 16:47:14 + * 1. 添加 前缀词 + * over xxx ago // 里程碑页面 最后更新时间 + * about xxx ago // 里程碑页面 最后更新时间 + * almost xxx ago // 里程碑页面 最后更新时间 + * less than xxx ago // 导出账户数据 + * 2. xxx之内的相对时间格式 + * in 6 minutes // 拉取请求页面 + * + * 更新于 2021-11-22 11:54:30 + * 1. 修复 Bug: 意外的扩大了匹配范围(不带前缀与后缀的时间) 干扰了带有相对时间的其他规则 + * 7 months + */ + [/^just now|^now|^last year|^last month|^last week|^yesterday|(?:(over|about|almost|in) |)(an?|\d+)(?: |)(second|minute|hour|day|month|year|week)s?( ago|)/, function (all, prefix, count, unit, suffix) { + if (all === 'now') { + return '现在'; + } + if (all === 'just now') { + return '刚刚'; + } + if (all === 'last year') { + return '最近 1 年'; + } + if (all === 'last month') { + return '上个月'; + } + if (all === 'last week') { + return '上周'; + } + if (all === 'yesterday') { + return '昨天'; + } + if (count[0] === 'a') { + count = '1'; + } // a, an 修改为 1 + + var unitKey = {second: '秒', minute: '分钟', hour: '小时', day: '天', month: '个月', year: '年', week: '周'}; + + if (suffix) { + return (prefix === 'about' || prefix === 'almost' ? '大约 ' : prefix === 'less than' ? '不到 ' : '') + count + ' ' + unitKey[unit] + (prefix === 'over' ? '多之前' : '之前'); + } else { + return count + ' ' + unitKey[unit] + (prefix === 'in' ? '之内' : '之前'); + } + }], + [/(\d+)(y|h|d|w|m)/, function (all, count, suffix) { + var suffixKey = {y: '年', h: '小时', d: '天', w: '周', m: '个月'}; + + return count + ' ' + suffixKey[suffix] + '之前'; + }], ], }; diff --git a/locals.js b/locals.js index d47f52a8c..a9a774235 100644 --- a/locals.js +++ b/locals.js @@ -1332,7 +1332,122 @@ I18N["zh-CN"]["public"] = { // 公共区域翻译 [/to enable two-factor authentication as an additional security measure. Your activity on GitHub includes you in this requirement. You will need to enable two-factor authentication on your account before ([^ ]+), or be restricted from account actions./, "启用双因素身份验证(2FA)作为额外安全措施。您在 GitHub 上的活动让您接收到此要求。您将需要在 $1 前启用双因素身份验证,否则会被限制账户操作。"], ], "time-regexp": [ // 时间正则翻译专项 - [/on /, " "], + /** + * 匹配时间格式 + * + * 月 日 或 月 日, 年 + * Mar 19, 2015 – Mar 19, 2016 + * January 26 – March 19 + * March 26 + * + * 不知道是否稳定, 暂时先试用着. 2016-03-19 20:46:45 + * + * 更新于 2021-10-04 15:19:18 + * 增加 带介词 on 的格式,on 翻译不体现 + * on Mar 19, 2015 + * on March 26 + * + * 更新于 2021-10-10 13:44:36 + * on 星期(简写), 月 日 年 // 个人访问令牌 有效期 + * on Tue, Nov 9 2021 + * + * 2021-10-19 12:04:19 融合更多规则 + * + * 4 Sep + * 30 Dec 2020 + * + * on 4 Sep + * on 30 Dec 2020 + * + * 2021-11-22 12:51:57 新增 格式 + * + * 星期(全称), 月 日, 年 // 仓库-->洞察-->流量 图示标识 + * Sunday, November 14, 2021 + * + * Tip: + * 正则中的 ?? 前面的字符 重复0次或1次 + * 正则中的 ?: 非捕获符号(即关闭圆括号的捕获能力) 使用方法 (?: 匹配规则) -->该匹配不会被捕获 为 $数字 + */ + [/(?:on |)(?:(\d{1,2}) |)(?:(Sun(?:day)?|Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?), |)(?:(Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May(?:)??|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)(?:,? |$))(\d{4}|)(\d{1,2}|)(?:,? (\d{4})|)/g, function (all, date1, week, month, year1, date2, year2) { + var weekKey = { + "Sun" : "周日", + "Mon" : "周一", + "Tue" : "周二", + "Wed" : "周三", + "Thu" : "周四", + "Fri" : "周五", + "Sat" : "周六", + }; + 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月" + }; + var date = date1 ? date1 : date2; + var year = year1 ? year1 : year2; + return (year ? year + '年' : '') + monthKey[month.substring(0, 3)] + (date ? date + '日' : '') + (week ? ', ' + weekKey[week.substring(0, 3)] : ''); + }], + /** + * 相对时间格式处理 + * + * 更新于 2021-11-21 16:47:14 + * 1. 添加 前缀词 + * over xxx ago // 里程碑页面 最后更新时间 + * about xxx ago // 里程碑页面 最后更新时间 + * almost xxx ago // 里程碑页面 最后更新时间 + * less than xxx ago // 导出账户数据 + * 2. xxx之内的相对时间格式 + * in 6 minutes // 拉取请求页面 + * + * 更新于 2021-11-22 11:54:30 + * 1. 修复 Bug: 意外的扩大了匹配范围(不带前缀与后缀的时间) 干扰了带有相对时间的其他规则 + * 7 months + */ + [/^just now|^now|^last year|^last month|^last week|^yesterday|(?:(over|about|almost|in) |)(an?|\d+)(?: |)(second|minute|hour|day|month|year|week)s?( ago|)/, function (all, prefix, count, unit, suffix) { + if (all === 'now') { + return '现在'; + } + if (all === 'just now') { + return '刚刚'; + } + if (all === 'last year') { + return '最近 1 年'; + } + if (all === 'last month') { + return '上个月'; + } + if (all === 'last week') { + return '上周'; + } + if (all === 'yesterday') { + return '昨天'; + } + if (count[0] === 'a') { + count = '1'; + } // a, an 修改为 1 + + var unitKey = {second: '秒', minute: '分钟', hour: '小时', day: '天', month: '个月', year: '年', week: '周'}; + + if (suffix) { + return (prefix === 'about' || prefix === 'almost' ? '大约 ' : prefix === 'less than' ? '不到 ' : '') + count + ' ' + unitKey[unit] + (prefix === 'over' ? '多之前' : '之前'); + } else { + return count + ' ' + unitKey[unit] + (prefix === 'in' ? '之内' : '之前'); + } + }], + [/(\d+)(y|h|d|w|m)/, function (all, count, suffix) { + var suffixKey = {y: '年', h: '小时', d: '天', w: '周', m: '个月'}; + + return count + ' ' + suffixKey[suffix] + '之前'; + }], ], }; diff --git a/main(greasyfork).user.js b/main(greasyfork).user.js index 7e0b1bd34..06ee281b6 100644 --- a/main(greasyfork).user.js +++ b/main(greasyfork).user.js @@ -4,14 +4,14 @@ // @description 中文化 GitHub 界面的部分菜单及内容。原作者为楼教主(http://www.52cik.com/)。 // @copyright 2021, 沙漠之子 (https://maboloshi.github.io/Blog) // @icon https://github.githubassets.com/pinned-octocat.svg -// @version 1.9.2-2024-10-18 +// @version 1.9.2-2024-10-27 // @author 沙漠之子 // @license GPL-3.0 // @match https://github.com/* // @match https://skills.github.com/* // @match https://gist.github.com/* // @match https://www.githubstatus.com/* -// @require https://greasyfork.org/scripts/435207-github-%E4%B8%AD%E6%96%87%E5%8C%96%E6%8F%92%E4%BB%B6-%E4%B8%AD%E6%96%87%E8%AF%8D%E5%BA%93%E8%A7%84%E5%88%99/code/GitHub%20%E4%B8%AD%E6%96%87%E5%8C%96%E6%8F%92%E4%BB%B6%20-%20%E4%B8%AD%E6%96%87%E8%AF%8D%E5%BA%93%E8%A7%84%E5%88%99.js?v1.9.2-2024-10-18 +// @require https://greasyfork.org/scripts/435207-github-%E4%B8%AD%E6%96%87%E5%8C%96%E6%8F%92%E4%BB%B6-%E4%B8%AD%E6%96%87%E8%AF%8D%E5%BA%93%E8%A7%84%E5%88%99/code/GitHub%20%E4%B8%AD%E6%96%87%E5%8C%96%E6%8F%92%E4%BB%B6%20-%20%E4%B8%AD%E6%96%87%E8%AF%8D%E5%BA%93%E8%A7%84%E5%88%99.js?v1.9.2-2024-10-27 // @run-at document-end // @grant GM_xmlhttpRequest // @grant GM_getValue