更新通知

This commit is contained in:
woohoo 2021-11-20 13:35:43 +08:00
parent e087fe9e47
commit 3f8d74e1d2

View File

@ -1,7 +1,7 @@
// ==UserScript== // ==UserScript==
// @name Torn翻译 // @name Torn翻译
// @namespace WOOH // @namespace WOOH
// @version 0.1.1119a // @version 0.1.1120a
// @description Torn UI翻译 // @description Torn UI翻译
// @author Woohoo-[2687093] sabrina_devil[2696209] // @author Woohoo-[2687093] sabrina_devil[2696209]
// @match https://www.torn.com/* // @match https://www.torn.com/*
@ -678,8 +678,11 @@
// "Recruit Citizens": "招募市民", // "Recruit Citizens": "招募市民",
// "Tutorial": "教程", // "Tutorial": "教程",
'ALL EVENTS (': '全部通知 (', 'ALL EVENTS (': '全部通知 (',
'All Events': '全部通知',
'RECEIVED (': '收到的通知 (', 'RECEIVED (': '收到的通知 (',
'Received Events': '收到的通知',
'SAVED (': '保存的通知 (', 'SAVED (': '保存的通知 (',
'Saved Events': '保存的通知',
'hospitalized': '强制住院了', 'hospitalized': '强制住院了',
'and earned your': ',赢得', 'and earned your': ',赢得',
'bounty reward': '赏金', 'bounty reward': '赏金',
@ -698,9 +701,20 @@
'successfully revived you.': ' 成功复活了你', 'successfully revived you.': ' 成功复活了你',
'Save': '保存', 'Save': '保存',
'Send': '发送', 'Send': '发送',
'SEND': '发送',
'Cancel': '取消',
'Send Event': '发送通知', 'Send Event': '发送通知',
'Delete': '删除', 'Delete': '删除',
'failed to revive you.': ' 没能复活你。', '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 = { const chatDict = {
'Global': '世界', 'Global': '世界',
@ -1072,7 +1086,7 @@
return this.replace(/\ban\b/, '1 个') return this.replace(/\ban\b/, '1 个')
.replace(/\ba\b/, '1 个') .replace(/\ba\b/, '1 个')
.replace(/\bsome\b/, '1 个') .replace(/\bsome\b/, '1 个')
.replace(/(?<=[0-9])x\b/, ' 个'); .replace(/([0-9])x\b/, '$1 个');
}; };
/** /**
@ -2373,7 +2387,6 @@
* @param events * @param events
*/ */
function eventsTrans(events = $('span.mail-link')) { function eventsTrans(events = $('span.mail-link')) {
//console.log('eventsTrans');
const index = window.location.href.indexOf('events.php#/step=received') >= 0 ? 1 : 0; const index = window.location.href.indexOf('events.php#/step=received') >= 0 ? 1 : 0;
const isReceived = index === 1; const isReceived = index === 1;
// 通知的类型选择栏 // 通知的类型选择栏
@ -2396,29 +2409,52 @@
$(e).text(eventsDict[$(e).text().trim()]); $(e).text(eventsDict[$(e).text().trim()]);
}); });
msgBox(`翻译暂时不能覆盖全部通知。<br> // 黑框标题
如发现问题请联系并发送通知 <a href="profiles.php?XID=2687093">Woohoo[2687093]</a><br> $('#events-main-wrapper .title-black').each((i,e)=>{
<input type="checkbox" id="eventTransCheck" name="eventTransCheck" /><label for="eventTransCheck">开启通知翻译</label> `); if (eventsDict[$(e).text().trim()]) {
$(e).text(eventsDict[$(e).text().trim()]);
$('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();
//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(`<div id="event-trans-msg">翻译暂时不能覆盖全部通知。<br>
如发现问题请发送通知并联系 <a href="profiles.php?XID=2687093">Woohoo[2687093]</a><br>
<input type="checkbox" id="eventTransCheck" name="eventTransCheck" /><label for="eventTransCheck">开启通知翻译</label> </div>`);
$('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; if (events.length === 0) return;
events.each((i, e) => { events.each((i, e) => {
// todo “收到的信息” 暂时删除发送人节点 不影响显示 // todo “收到的信息” 暂时删除发送人节点 不影响显示
if (isReceived) { if (isReceived) {
$(e).children(':first').remove(); $(e).children('a.sender-name').remove();
} }
if (eventsDict[$(e).text().trim()]) { if (eventsDict[$(e).text().trim()]) {
@ -3007,6 +3043,27 @@
return; 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病毒 * new virus病毒
* You completed the Simple Virus which is now in your inventory. You can begin programming a 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; 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 * Your position in