translate inADayTribeRankingGenerator ui into polish

This commit is contained in:
Dawid Wysokiński 2020-08-06 12:50:39 +02:00
parent 352bd25d56
commit 3e126293bb
4 changed files with 96 additions and 19 deletions

View File

@ -204,7 +204,42 @@ class InADayParser {
}
exports.default = InADayParser;
},{"../utils/getIDFromURL":"tQUs"}],"oUdd":[function(require,module,exports) {
},{"../utils/getIDFromURL":"tQUs"}],"hPka":[function(require,module,exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
const translations = {
pl_PL: {
addTribe: 'Dodaj plemię',
generate: 'Wygeneruj',
delete: 'Usuń',
player: 'Gracz',
tribe: 'Plemię',
rank: 'Ranking',
score: 'Wynik',
date: 'Data',
loaded: 'Załadowano'
},
en_DK: {
addTribe: 'Add tribe',
generate: 'Generate',
delete: 'Delete',
player: 'Player',
tribe: 'Tribe',
rank: 'Rank',
score: 'Score',
date: 'Date',
loaded: 'Loaded'
}
};
var _default = () => translations[window.game_data.locale] || translations.en_DK;
exports.default = _default;
},{}],"oUdd":[function(require,module,exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@ -220,6 +255,8 @@ exports.default = _default;
var _InADayParser = _interopRequireDefault(require("./libs/InADayParser"));
var _inADayTribeRankingGenerator = _interopRequireDefault(require("./i18n/inADayTribeRankingGenerator"));
var _wait = _interopRequireDefault(require("./utils/wait"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@ -229,7 +266,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @version 0.1.1
// @version 0.2.0
// @description 'In A Day' Tribe Ranking Generator
// @author Kichiyaki http://dawid-wysokinski.pl/
// @match *://*/game.php*screen=ranking*mode=in_a_day*
@ -238,11 +275,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
// ==/UserScript==
const TRIBE_CONTAINER_ID = 'iad_tribes';
const LIMIT_INPUT_ID = 'iad_limit';
const translations = (0, _inADayTribeRankingGenerator.default)();
const addTribe = () => {
const container = document.querySelector('#' + TRIBE_CONTAINER_ID);
const div = document.createElement('div');
div.innerHTML = "\n <label>Tribe: </label>\n <input type=\"text\" required />\n <button type=\"button\">Delete</button>\n ";
div.innerHTML = "\n <label>".concat(translations.tribe, ": </label>\n <input type=\"text\" required />\n <button type=\"button\">").concat(translations.delete, "</button>\n ");
div.querySelector('button').addEventListener('click', () => {
if (container.children.length > 1) {
div.remove();
@ -263,7 +301,7 @@ const handleFormSubmit = async e => {
let page = 0;
while (players.length < limit) {
Dialog.show('iad_loading', "Loaded: <strong>".concat(players.length, "/").concat(limit, "</strong>"));
Dialog.show('iad_loading', "".concat(translations.loaded, ": <strong>").concat(players.length, "/").concat(limit, "</strong>"));
try {
const response = await fetch(TribalWars.buildURL('', {
@ -285,8 +323,11 @@ const handleFormSubmit = async e => {
}
}
players = players.slice(0, limit);
Dialog.show('iad_result', "\n <textarea cols=30 rows=8 readonly>[table]\n[**][||]Player[||]Tribe[||]Rank[||]Result[||]Date[/**]\n".concat(players.map((player, index) => {
if (players.length > limit) {
players = players.slice(0, limit);
}
Dialog.show('iad_result', "\n <textarea cols=30 rows=8 readonly>[table]\n[**][||]".concat(translations.player, "[||]").concat(translations.tribe, "[||]").concat(translations.rank, "[||]").concat(translations.score, "[||]").concat(translations.date, "[/**]\n").concat(players.map((player, index) => {
return "[*]".concat(index + 1, ".[|][player]").concat(player.name, "[/player][|][ally]").concat(player.tribe, "[/ally][|]").concat(player.rank, "[|]").concat(player.score.toLocaleString(), "[|]").concat(player.date);
}).join('\n'), "\n[/table]</textarea>\n "));
};
@ -294,7 +335,7 @@ const handleFormSubmit = async e => {
const renderUI = () => {
const addButtonID = 'iad_add';
const div = document.createElement('div');
const html = "\n <form>\n <div id=\"".concat(TRIBE_CONTAINER_ID, "\">\n </div>\n <div>\n <label>Limit: </label>\n <input id=\"").concat(LIMIT_INPUT_ID, "\" type=\"number\" min=\"1\" value=\"10\" required />\n </div>\n <button type=\"submit\">Generate</button>\n <button id=\"").concat(addButtonID, "\" type=\"button\">Add tribe</button>\n </form>\n ");
const html = "\n <form>\n <div id=\"".concat(TRIBE_CONTAINER_ID, "\">\n </div>\n <div>\n <label>Limit: </label>\n <input id=\"").concat(LIMIT_INPUT_ID, "\" type=\"number\" min=\"1\" value=\"10\" required />\n </div>\n <button type=\"submit\">").concat(translations.generate, "</button>\n <button id=\"").concat(addButtonID, "\" type=\"button\">").concat(translations.addTribe, "</button>\n </form>\n ");
div.innerHTML = html;
document.querySelector('#content_value > table > tbody > tr > td:nth-child(2)').prepend(div);
div.querySelector('form').addEventListener('submit', handleFormSubmit);
@ -309,4 +350,4 @@ const renderUI = () => {
console.log("'In A Day' Tribe Ranking Generator", error);
}
})();
},{"./libs/InADayParser":"dSAr","./utils/wait":"oUdd"}]},{},["s4G3"], null)
},{"./libs/InADayParser":"dSAr","./i18n/inADayTribeRankingGenerator":"hPka","./utils/wait":"oUdd"}]},{},["s4G3"], null)

View File

@ -2,8 +2,10 @@ parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcel
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=e=>parseInt(new URLSearchParams(e).get("id"));exports.default=e;
},{}],"dSAr":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=t(require("../utils/getIDFromURL"));function t(e){return e&&e.__esModule?e:{default:e}}class r{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.dom=(new DOMParser).parseFromString(e,"text/html"),this.trs=this.dom.querySelectorAll("#in_a_day_ranking_table tbody tr"),this.filters=t}isValidRow(e){return!!e&&((!this.filters.playerID||e.playerID===this.filters.playerID)&&!(this.filters.tribes&&Array.isArray(this.filters.tribes)&&!this.filters.tribes.some(t=>t===e.tribe)))}parseRow(t){if(!t||!t instanceof HTMLTableRowElement)return;let r={};return r.rank=parseInt(t.children[0].innerText.trim()),r.name=t.children[1].innerText.trim(),r.playerID=(0,e.default)(t.children[1].querySelector("a").getAttribute("href")),r.tribe=t.children[2].innerText.trim(),r.tribeID=0,r.tribe&&(r.tribeID=(0,e.default)(t.children[2].querySelector("a").getAttribute("href"))),r.score=parseInt(t.children[3].innerText.trim().replace(/\./g,"")),r.date=t.children[4].innerText.trim(),r}parse(){const e=[];for(let t=1;t<this.trs.length;t++){const r=this.trs[t],i=this.parseRow(r);this.isValidRow(i)&&e.push(i)}return e}}exports.default=r;
},{"../utils/getIDFromURL":"tQUs"}],"oUdd":[function(require,module,exports) {
},{"../utils/getIDFromURL":"tQUs"}],"hPka":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const e={pl_PL:{addTribe:"Dodaj plemię",generate:"Wygeneruj",delete:"Usuń",player:"Gracz",tribe:"Plemię",rank:"Ranking",score:"Wynik",date:"Data",loaded:"Załadowano"},en_DK:{addTribe:"Add tribe",generate:"Generate",delete:"Delete",player:"Player",tribe:"Tribe",rank:"Rank",score:"Score",date:"Date",loaded:"Loaded"}};var a=()=>e[window.game_data.locale]||e.en_DK;exports.default=a;
},{}],"oUdd":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=e=>new Promise(t=>setTimeout(t,e));exports.default=e;
},{}],"s4G3":[function(require,module,exports) {
"use strict";var e=n(require("./libs/InADayParser")),t=n(require("./utils/wait"));function n(e){return e&&e.__esModule?e:{default:e}}const a="iad_tribes",r="iad_limit",i=()=>{const e=document.querySelector("#iad_tribes"),t=document.createElement("div");t.innerHTML='\n <label>Tribe: </label>\n <input type="text" required />\n <button type="button">Delete</button>\n ',t.querySelector("button").addEventListener("click",()=>{e.children.length>1&&t.remove()}),e.appendChild(t)},o=async n=>{n.preventDefault();const a=parseInt(document.querySelector("#iad_limit").value),r=[],i=new URLSearchParams(window.location.search).get("type")||"kill_att";document.querySelectorAll("#iad_tribes input").forEach(e=>{e.value&&r.push(e.value.trim())});let o=[],l=0;for(;o.length<a;){Dialog.show("iad_loading","Loaded: <strong>".concat(o.length,"/").concat(a,"</strong>"));try{const n=await fetch(TribalWars.buildURL("",{screen:"ranking",mode:"in_a_day",type:i,offset:25*l})),a=await n.text(),d=new e.default(a,{tribes:r});if(26!==d.trs.length)break;o=[...o,...d.parse()],l++,await(0,t.default)(200)}catch(c){break}}o=o.slice(0,a),Dialog.show("iad_result","\n <textarea cols=30 rows=8 readonly>[table]\n[**][||]Player[||]Tribe[||]Rank[||]Result[||]Date[/**]\n".concat(o.map((e,t)=>"[*]".concat(t+1,".[|][player]").concat(e.name,"[/player][|][ally]").concat(e.tribe,"[/ally][|]").concat(e.rank,"[|]").concat(e.score.toLocaleString(),"[|]").concat(e.date)).join("\n"),"\n[/table]</textarea>\n "))},l=()=>{const e=document.createElement("div"),t='\n <form>\n <div id="'.concat("iad_tribes",'">\n </div>\n <div>\n <label>Limit: </label>\n <input id="').concat("iad_limit",'" type="number" min="1" value="10" required />\n </div>\n <button type="submit">Generate</button>\n <button id="').concat("iad_add",'" type="button">Add tribe</button>\n </form>\n ');e.innerHTML=t,document.querySelector("#content_value > table > tbody > tr > td:nth-child(2)").prepend(e),e.querySelector("form").addEventListener("submit",o),e.querySelector("#iad_add").addEventListener("click",i),i()};!function(){try{l()}catch(e){console.log("'In A Day' Tribe Ranking Generator",e)}}();
},{"./libs/InADayParser":"dSAr","./utils/wait":"oUdd"}]},{},["s4G3"], null)
"use strict";var e=a(require("./libs/InADayParser")),t=a(require("./i18n/inADayTribeRankingGenerator")),n=a(require("./utils/wait"));function a(e){return e&&e.__esModule?e:{default:e}}const r="iad_tribes",c="iad_limit",i=(0,t.default)(),o=()=>{const e=document.querySelector("#iad_tribes"),t=document.createElement("div");t.innerHTML="\n <label>".concat(i.tribe,': </label>\n <input type="text" required />\n <button type="button">').concat(i.delete,"</button>\n "),t.querySelector("button").addEventListener("click",()=>{e.children.length>1&&t.remove()}),e.appendChild(t)},l=async t=>{t.preventDefault();const a=parseInt(document.querySelector("#iad_limit").value),r=[],c=new URLSearchParams(window.location.search).get("type")||"kill_att";document.querySelectorAll("#iad_tribes input").forEach(e=>{e.value&&r.push(e.value.trim())});let o=[],l=0;for(;o.length<a;){Dialog.show("iad_loading","".concat(i.loaded,": <strong>").concat(o.length,"/").concat(a,"</strong>"));try{const t=await fetch(TribalWars.buildURL("",{screen:"ranking",mode:"in_a_day",type:c,offset:25*l})),a=await t.text(),i=new e.default(a,{tribes:r});if(26!==i.trs.length)break;o=[...o,...i.parse()],l++,await(0,n.default)(200)}catch(d){break}}o.length>a&&(o=o.slice(0,a)),Dialog.show("iad_result","\n <textarea cols=30 rows=8 readonly>[table]\n[**][||]".concat(i.player,"[||]").concat(i.tribe,"[||]").concat(i.rank,"[||]").concat(i.score,"[||]").concat(i.date,"[/**]\n").concat(o.map((e,t)=>"[*]".concat(t+1,".[|][player]").concat(e.name,"[/player][|][ally]").concat(e.tribe,"[/ally][|]").concat(e.rank,"[|]").concat(e.score.toLocaleString(),"[|]").concat(e.date)).join("\n"),"\n[/table]</textarea>\n "))},d=()=>{const e=document.createElement("div"),t='\n <form>\n <div id="'.concat("iad_tribes",'">\n </div>\n <div>\n <label>Limit: </label>\n <input id="').concat("iad_limit",'" type="number" min="1" value="10" required />\n </div>\n <button type="submit">').concat(i.generate,'</button>\n <button id="').concat("iad_add",'" type="button">').concat(i.addTribe,"</button>\n </form>\n ");e.innerHTML=t,document.querySelector("#content_value > table > tbody > tr > td:nth-child(2)").prepend(e),e.querySelector("form").addEventListener("submit",l),e.querySelector("#iad_add").addEventListener("click",o),o()};!function(){try{d()}catch(e){console.log("'In A Day' Tribe Ranking Generator",e)}}();
},{"./libs/InADayParser":"dSAr","./i18n/inADayTribeRankingGenerator":"hPka","./utils/wait":"oUdd"}]},{},["s4G3"], null)

View File

@ -0,0 +1,27 @@
const translations = {
pl_PL: {
addTribe: 'Dodaj plemię',
generate: 'Wygeneruj',
delete: 'Usuń',
player: 'Gracz',
tribe: 'Plemię',
rank: 'Ranking',
score: 'Wynik',
date: 'Data',
loaded: 'Załadowano',
},
en_DK: {
addTribe: 'Add tribe',
generate: 'Generate',
delete: 'Delete',
player: 'Player',
tribe: 'Tribe',
rank: 'Rank',
score: 'Score',
date: 'Date',
loaded: 'Loaded',
},
};
export default () =>
translations[window.game_data.locale] || translations.en_DK;

View File

@ -1,4 +1,5 @@
import InADayParser from './libs/InADayParser';
import getTranslations from './i18n/inADayTribeRankingGenerator';
import wait from './utils/wait';
// ==UserScript==
@ -6,7 +7,7 @@ import wait from './utils/wait';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @version 0.1.1
// @version 0.2.0
// @description 'In A Day' Tribe Ranking Generator
// @author Kichiyaki http://dawid-wysokinski.pl/
// @match *://*/game.php*screen=ranking*mode=in_a_day*
@ -16,14 +17,15 @@ import wait from './utils/wait';
const TRIBE_CONTAINER_ID = 'iad_tribes';
const LIMIT_INPUT_ID = 'iad_limit';
const translations = getTranslations();
const addTribe = () => {
const container = document.querySelector('#' + TRIBE_CONTAINER_ID);
const div = document.createElement('div');
div.innerHTML = `
<label>Tribe: </label>
<label>${translations.tribe}: </label>
<input type="text" required />
<button type="button">Delete</button>
<button type="button">${translations.delete}</button>
`;
div.querySelector('button').addEventListener('click', () => {
if (container.children.length > 1) {
@ -50,7 +52,7 @@ const handleFormSubmit = async (e) => {
while (players.length < limit) {
Dialog.show(
'iad_loading',
`Loaded: <strong>${players.length}/${limit}</strong>`
`${translations.loaded}: <strong>${players.length}/${limit}</strong>`
);
try {
const response = await fetch(
@ -74,12 +76,17 @@ const handleFormSubmit = async (e) => {
}
}
players = players.slice(0, limit);
if (players.length > limit) {
players = players.slice(0, limit);
}
Dialog.show(
'iad_result',
`
<textarea cols=30 rows=8 readonly>[table]
[**][||]Player[||]Tribe[||]Rank[||]Result[||]Date[/**]
[**][||]${translations.player}[||]${translations.tribe}[||]${
translations.rank
}[||]${translations.score}[||]${translations.date}[/**]
${players
.map((player, index) => {
return `[*]${index + 1}.[|][player]${player.name}[/player][|][ally]${
@ -106,8 +113,8 @@ const renderUI = () => {
<label>Limit: </label>
<input id="${LIMIT_INPUT_ID}" type="number" min="1" value="10" required />
</div>
<button type="submit">Generate</button>
<button id="${addButtonID}" type="button">Add tribe</button>
<button type="submit">${translations.generate}</button>
<button id="${addButtonID}" type="button">${translations.addTribe}</button>
</form>
`;
div.innerHTML = html;