From 3f8d74e1d2dc2aa40af145442c8c207016ef44a8 Mon Sep 17 00:00:00 2001 From: woohoo Date: Sat, 20 Nov 2021 13:35:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- torn-trans-zhcn.user.js | 106 +++++++++++++++++++++++++++++++++------- 1 file changed, 87 insertions(+), 19 deletions(-) diff --git a/torn-trans-zhcn.user.js b/torn-trans-zhcn.user.js index 08b78c1..1c39c42 100644 --- a/torn-trans-zhcn.user.js +++ b/torn-trans-zhcn.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Torn翻译 // @namespace WOOH -// @version 0.1.1119a +// @version 0.1.1120a // @description Torn UI翻译 // @author Woohoo-[2687093] sabrina_devil[2696209] // @match https://www.torn.com/* @@ -678,8 +678,11 @@ // "Recruit Citizens": "招募市民", // "Tutorial": "教程", 'ALL EVENTS (': '全部通知 (', + 'All Events': '全部通知', 'RECEIVED (': '收到的通知 (', + 'Received Events': '收到的通知', 'SAVED (': '保存的通知 (', + 'Saved Events': '保存的通知', 'hospitalized': '强制住院了', 'and earned your': ',赢得', 'bounty reward': '赏金', @@ -698,9 +701,20 @@ 'successfully revived you.': ' 成功复活了你', 'Save': '保存', 'Send': '发送', + 'SEND': '发送', + 'Cancel': '取消', 'Send Event': '发送通知', 'Delete': '删除', 'failed to revive you.': ' 没能复活你。', + 'User ID:': '用户:', + 'You have successfully referred': '你已经成功推荐了 ', + '. Once they have validated, they will be added to your': + '。一旦他成功验证,他将被添加到你的', + 'referral list': '推荐人列表', + 'and you will start earning rewards from them as they level up.': + '中,且你会当他们等级提升时获得奖励。', + 'You have used the reward bonus code {$} and have received a boost of +250 energy.': + '你已使用奖励兑换码 {$},收到了 250 能量E。', }; const chatDict = { 'Global': '世界', @@ -1072,7 +1086,7 @@ return this.replace(/\ban\b/, '1 个') .replace(/\ba\b/, '1 个') .replace(/\bsome\b/, '1 个') - .replace(/(?<=[0-9])x\b/, ' 个'); + .replace(/([0-9])x\b/, '$1 个'); }; /** @@ -2373,7 +2387,6 @@ * @param events */ function eventsTrans(events = $('span.mail-link')) { - //console.log('eventsTrans'); const index = window.location.href.indexOf('events.php#/step=received') >= 0 ? 1 : 0; const isReceived = index === 1; // 通知的类型选择栏 @@ -2396,29 +2409,52 @@ $(e).text(eventsDict[$(e).text().trim()]); }); - msgBox(`翻译暂时不能覆盖全部通知。
-如发现问题请联系并发送通知 Woohoo[2687093]
- 可能会出现卡顿,默认开启`); - - $('input#eventTransCheck').attr('checked',localStorage.getItem('wh_trans_event') === 'true'); - - $('input#eventTransCheck').change(function(){ - if ($(this).attr('checked') === undefined) { - localStorage.setItem('wh_trans_event', 'false'); - } else { - localStorage.setItem('wh_trans_event', 'true'); + // 黑框标题 + $('#events-main-wrapper .title-black').each((i,e)=>{ + if (eventsDict[$(e).text().trim()]) { + $(e).text(eventsDict[$(e).text().trim()]); } - eventsTrans(); - //localStorage.setItem('wh_trans_event',$(this).attr('checked')?'true':'false'); }); - if (localStorage.getItem('wh_trans_event')==='false') return; + // 发送的两个按钮 + user id + $('#events-main-wrapper div.send-to a.btn').each((i,e)=>{ + if (eventsDict[$(e).text().trim()]) { + $(e).text(eventsDict[$(e).text().trim()]); + } + }); + $('#events-main-wrapper div.send-to span.cancel a').each((i,e)=>{ + if (eventsDict[$(e).text().trim()]) { + $(e).text(eventsDict[$(e).text().trim()]); + } + }); + $('#events-main-wrapper div.send-to span.name').each((i,e)=>{ + if (eventsDict[$(e).text().trim()]) { + $(e).text(eventsDict[$(e).text().trim()]); + } + }); + + // 通知翻译的开关 + if (!$('div#event-trans-msg').get(0)) { + msgBox(`
翻译暂时不能覆盖全部通知。
+如发现问题请发送通知并联系 Woohoo[2687093]
+ 可能会出现卡顿,默认开启
`); + $('input#eventTransCheck').attr('checked',localStorage.getItem('wh_trans_event') === 'true'); + $('input#eventTransCheck').change(function(){ + if ($(this).attr('checked') === undefined) { + localStorage.setItem('wh_trans_event', 'false'); + } else { + localStorage.setItem('wh_trans_event', 'true'); + } + eventsTrans(); + }); + } + + if (localStorage.getItem('wh_trans_event') === 'false') return; if (events.length === 0) return; events.each((i, e) => { - // todo “收到的信息” 暂时删除发送人节点 不影响显示 if (isReceived) { - $(e).children(':first').remove(); + $(e).children('a.sender-name').remove(); } if (eventsDict[$(e).text().trim()]) { @@ -3007,6 +3043,27 @@ return; } + /** + * 收下线 + */ + if ($(e).text().contains(/You have successfully referred/)) { + $(e).contents().each((i,e)=>{ + // 文字 + if (e.nodeType===3) { + if (eventsDict[e.nodeValue.trim()]){ + e.nodeValue = eventsDict[e.nodeValue.trim()]; + } + } + // referral list + else if (e.nodeType===1) { + if (eventsDict[$(e).text().trim()]){ + $(e).text(eventsDict[$(e).text().trim()]); + } + } + }); + return; + } + /** * new virus病毒 * You completed the Simple Virus which is now in your inventory. You can begin programming a new virus @@ -3038,6 +3095,17 @@ return; } + /** + * 季度邮件奖励 + */ + if ($(e).text().contains(/used the reward bonus code/)) { + const code = $(e).text().trim().split(' ')[7]; + if (eventsDict[$(e).text().trim().replace(code,'{$}')]) + $(e).text(eventsDict[$(e).text().trim().replace(code,'{$}')] + .replace('{$}', code)); + return; + } + /** * 帮派职位变更 * Your position in