//META{"name":"EditServers"}*// class EditServers { getName () {return "EditServers";} getVersion () {return "1.9.2";} getAuthor () {return "DevilBro";} getDescription () {return "Allows you to change the icon, name and color of servers.";} initConstructor () { this.labels = {}; this.patchModules = { "GuildIcon":"componentDidMount", "GuildHeader":["componentDidMount","componentDidUpdate"], "Clickable":"componentDidMount" }; this.serverContextEntryMarkup = `
REPLACE_context_localserversettings_text
`; this.serverContextSubMenuMarkup = `
REPLACE_submenu_serversettings_text
REPLACE_submenu_resetsettings_text
`; this.serverSettingsModalMarkup = `

REPLACE_modal_header_text

REPLACE_modal_tabheader1_text
REPLACE_modal_tabheader2_text
REPLACE_modal_tabheader3_text

REPLACE_modal_servername_text

REPLACE_modal_servershortname_text

REPLACE_modal_serverurl_text

REPLACE_modal_removeicon_text

REPLACE_modal_colorpicker1_text

REPLACE_modal_colorpicker2_text

REPLACE_modal_colorpicker3_text

REPLACE_modal_colorpicker4_text

`; } getSettingsPanel () { if (!global.BDFDB || typeof BDFDB != "object" || !BDFDB.loaded || !this.started) return; var settingshtml = `
${this.name}
`; settingshtml += `

Reset all Servers.

`; settingshtml += `
`; let settingspanel = BDFDB.htmlToElement(settingshtml); BDFDB.initElements(settingspanel, this); BDFDB.addEventListener(this, settingspanel, "click", ".reset-button", () => { BDFDB.openConfirmModal(this, "Are you sure you want to reset all servers?", () => { BDFDB.removeAllData(this, "servers"); BDFDB.WebModules.forceAllUpdates(this); }); }); return settingspanel; } //legacy load () {} start () { var libraryScript = document.querySelector('head script[src="https://mwittrien.github.io/BetterDiscordAddons/Plugins/BDFDB.js"]'); if (!libraryScript || performance.now() - libraryScript.getAttribute("date") > 600000) { if (libraryScript) libraryScript.remove(); libraryScript = document.createElement("script"); libraryScript.setAttribute("type", "text/javascript"); libraryScript.setAttribute("src", "https://mwittrien.github.io/BetterDiscordAddons/Plugins/BDFDB.js"); libraryScript.setAttribute("date", performance.now()); libraryScript.addEventListener("load", () => { BDFDB.loaded = true; this.initialize(); }); document.head.appendChild(libraryScript); } else if (global.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) this.initialize(); this.startTimeout = setTimeout(() => {this.initialize();}, 30000); } initialize () { if (global.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) { if (this.started) return; BDFDB.loadMessage(this); this.GuildUtils = BDFDB.WebModules.findByProperties("getGuilds","getGuild"); BDFDB.WebModules.forceAllUpdates(this); } else { console.error(`%c[${this.name}]%c`, 'color: #3a71c1; font-weight: 700;', '', 'Fatal Error: Could not load BD functions!'); } } stop () { if (global.BDFDB && typeof BDFDB === "object" && BDFDB.loaded) { let data = BDFDB.loadAllData(this, "servers"); BDFDB.removeAllData(this, "servers"); BDFDB.WebModules.forceAllUpdates(this); BDFDB.saveAllData(data, this, "servers"); BDFDB.unloadMessage(this); } } // begin of own functions changeLanguageStrings () { this.serverContextEntryMarkup = this.serverContextEntryMarkup.replace("REPLACE_context_localserversettings_text", this.labels.context_localserversettings_text); this.serverContextSubMenuMarkup = this.serverContextSubMenuMarkup.replace("REPLACE_submenu_serversettings_text", this.labels.submenu_serversettings_text); this.serverContextSubMenuMarkup = this.serverContextSubMenuMarkup.replace("REPLACE_submenu_resetsettings_text", this.labels.submenu_resetsettings_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_header_text", this.labels.modal_header_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_servername_text", this.labels.modal_servername_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_servershortname_text", this.labels.modal_servershortname_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_serverurl_text", this.labels.modal_serverurl_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_removeicon_text", this.labels.modal_removeicon_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_tabheader1_text", this.labels.modal_tabheader1_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_tabheader2_text", this.labels.modal_tabheader2_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_tabheader3_text", this.labels.modal_tabheader3_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_colorpicker1_text", this.labels.modal_colorpicker1_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_colorpicker2_text", this.labels.modal_colorpicker2_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_colorpicker3_text", this.labels.modal_colorpicker3_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_modal_colorpicker4_text", this.labels.modal_colorpicker4_text); this.serverSettingsModalMarkup = this.serverSettingsModalMarkup.replace("REPLACE_btn_save_text", this.labels.btn_save_text); } onGuildContextMenu (instance, menu) { if (instance.props && instance.props.target && instance.props.guild && !menu.querySelector(".localserversettings-item")) { let serverContextEntry = BDFDB.htmlToElement(this.serverContextEntryMarkup); menu.appendChild(serverContextEntry); let settingsitem = serverContextEntry.querySelector(".localserversettings-item"); settingsitem.addEventListener("mouseenter", () => { let serverContextSubMenu = BDFDB.htmlToElement(this.serverContextSubMenuMarkup); let serveritem = serverContextSubMenu.querySelector(".serversettings-item"); serveritem.addEventListener("click", () => { instance._reactInternalFiber.return.memoizedProps.closeContextMenu(); this.showServerSettings(instance.props.guild); }); if (BDFDB.loadData(instance.props.guild.id, this, "servers")) { let resetitem = serverContextSubMenu.querySelector(".resetsettings-item"); BDFDB.removeClass(resetitem, BDFDB.disCN.contextmenuitemdisabled); resetitem.addEventListener("click", () => { instance._reactInternalFiber.return.memoizedProps.closeContextMenu(); BDFDB.removeData(instance.props.guild.id, this, "servers"); BDFDB.WebModules.forceAllUpdates(this); }); } BDFDB.appendSubMenu(settingsitem, serverContextSubMenu); }); } } showServerSettings (info) { var {name,shortName,url,removeIcon,color1,color2,color3,color4} = BDFDB.loadData(info.id, this, "servers") || {}; let serverSettingsModal = BDFDB.htmlToElement(this.serverSettingsModalMarkup); let servernameinput = serverSettingsModal.querySelector("#input-servername"); let servershortnameinput = serverSettingsModal.querySelector("#input-servershortname"); let serverurlinput = serverSettingsModal.querySelector("#input-serverurl"); let removeiconinput = serverSettingsModal.querySelector("#input-removeicon"); serverSettingsModal.querySelector(BDFDB.dotCN.modalguildname).innerText = info.name; servernameinput.value = name || ""; servernameinput.setAttribute("placeholder", info.name); servershortnameinput.value = shortName || (info.icon ? "" : info.acronym); servershortnameinput.setAttribute("placeholder", info.acronym); serverurlinput.value = url || ""; serverurlinput.setAttribute("placeholder", BDFDB.getGuildIcon(info.id) || ""); BDFDB.toggleClass(serverurlinput, "valid", serverurlinput.value.length > 0); serverurlinput.disabled = removeIcon; removeiconinput.checked = removeIcon; BDFDB.setColorSwatches(serverSettingsModal, color1); BDFDB.setColorSwatches(serverSettingsModal, color2); BDFDB.setColorSwatches(serverSettingsModal, color3); BDFDB.setColorSwatches(serverSettingsModal, color4); BDFDB.appendModal(serverSettingsModal); removeiconinput.addEventListener("click", () => { serverurlinput.disabled = removeiconinput.checked; }); serverurlinput.addEventListener("input", () => { this.checkUrl(serverurlinput); }); serverurlinput.addEventListener("mouseenter", () => { BDFDB.addClass(serverurlinput, "hovering"); this.createNoticeTooltip(serverurlinput); }); serverurlinput.addEventListener("mouseleave", () => { BDFDB.removeClass(serverurlinput, "hovering"); BDFDB.removeEles(BDFDB.dotCNS.tooltips + ".notice-tooltip"); }); BDFDB.addChildEventListener(serverSettingsModal, "click", ".btn-save", e => { e.preventDefault(); name = servernameinput.value.trim(); name = name ? name : null; shortName = servershortnameinput.value.trim(); shortName = shortName && shortName != info.acronym ? shortName : null; removeIcon = removeiconinput.checked; url = !removeIcon && BDFDB.containsClass(serverurlinput, "valid") ? serverurlinput.value.trim() : null; url = url ? url : null; color1 = BDFDB.getSwatchColor(serverSettingsModal, 1); color2 = BDFDB.getSwatchColor(serverSettingsModal, 2); color3 = BDFDB.getSwatchColor(serverSettingsModal, 3); color4 = BDFDB.getSwatchColor(serverSettingsModal, 4); if (name == null && shortName == null && url == null && !removeIcon && color1 == null && color2 == null && color3 == null && color4 == null) { BDFDB.removeData(info.id, this, "servers"); } else { BDFDB.saveData(info.id, {name,shortName,url,removeIcon,color1,color2,color3,color4}, this, "servers"); } BDFDB.WebModules.forceAllUpdates(this); }); servernameinput.focus(); } checkUrl (input) { BDFDB.removeEles(BDFDB.dotCNS.tooltips + ".notice-tooltip"); if (!input.value) { BDFDB.removeClass(input, "valid"); BDFDB.removeClass(input, "invalid"); } else { require("request")(input.value, (error, response, result) => { if (response && response.headers["content-type"] && response.headers["content-type"].indexOf("image") != -1) { BDFDB.addClass(input, "valid"); BDFDB.removeClass(input, "invalid"); } else { BDFDB.removeClass(input, "valid"); BDFDB.addClass(input, "invalid"); } if (BDFDB.containsClass(input, "hovering")) this.createNoticeTooltip(input); }); } } createNoticeTooltip (input) { var disabled = input.disabled; var valid = BDFDB.containsClass(input, "valid"); var invalid = BDFDB.containsClass(input, "invalid"); if (disabled || valid || invalid) { BDFDB.createTooltip(disabled ? this.labels.modal_ignoreurl_text : valid ? this.labels.modal_validurl_text : this.labels.modal_invalidurl_text, input, {type:"right",selector:"notice-tooltip",color: disabled ? "black" : invalid ? "red" : "green"}); } } processGuildIcon (instance, wrapper) { if (instance.props && instance.props.guild) { let icon = wrapper.classList && BDFDB.containsClass(wrapper, BDFDB.disCN.avataricon) ? wrapper : wrapper.querySelector(BDFDB.dotCN.avataricon); if (!icon) return; this.changeGuildIcon(instance.props.guild, icon); if (BDFDB.getParentEle(BDFDB.dotCN.guild, icon)) this.changeTooltip(instance.props.guild, wrapper, "right"); else if (BDFDB.getParentEle(BDFDB.dotCN.friendscolumn, icon)) this.changeTooltip(instance.props.guild, icon.parentElement, "top"); } } processGuildHeader (instance, wrapper) { if (instance.props && instance.props.guild) { this.changeGuildName(instance.props.guild, wrapper.querySelector(BDFDB.dotCN.guildheadername)); } } processClickable (instance, wrapper) { if (!wrapper || !instance.props || !instance.props.className) return; else if (instance.props.tag == "div" && instance.props.className.indexOf(BDFDB.disCN.userprofilelistrow) > -1) { let guild = BDFDB.getReactValue(instance, "_reactInternalFiber.return.memoizedProps.guild"); if (guild && BDFDB.getReactValue(instance, "_reactInternalFiber.return.type.displayName") == "GuildRow") { this.changeGuildName(guild, wrapper.querySelector(BDFDB.dotCN.userprofilelistname)); } } else if (instance.props.tag == "div" && instance.props.className.indexOf(BDFDB.disCN.quickswitchresult) > -1) { let result = BDFDB.getReactValue(instance, "_reactInternalFiber.return.memoizedProps.result"); if (result && result.type == "GUILD") { this.changeGuildName(result.record, wrapper.querySelector(BDFDB.dotCN.quickswitchresultmatch)); } else if (result && result.type.indexOf("_CHANNEL") != -1 && result.record && result.record.guild_id) { this.changeGuildName(this.GuildUtils.getGuild(result.record.guild_id), wrapper.querySelector(BDFDB.dotCN.quickswitchresultmisccontainer)); } } } changeGuildName (info, guildname) { if (!info || !guildname || !guildname.parentElement) return; if (guildname.EditServersChangeObserver && typeof guildname.EditServersChangeObserver.disconnect == "function") guildname.EditServersChangeObserver.disconnect(); let data = BDFDB.loadData(info.id, this, "servers") || {}; if (data.name || data.color2 || guildname.getAttribute("changed-by-editservers")) { guildname.style.setProperty("color", BDFDB.colorCONVERT(data.color2, "RGB"), "important"); BDFDB.setInnerText(guildname, data.name || info.name); if (data.name || data.color2) { guildname.setAttribute("changed-by-editservers", true); guildname.EditServersChangeObserver = new MutationObserver((changes, _) => { guildname.EditServersChangeObserver.disconnect(); this.changeName(info, guildname); }); guildname.EditServersChangeObserver.observe(guildname, {attributes:true}); } else guildname.removeAttribute("changed-by-editservers"); } } changeGuildIcon (info, icon) { if (!info || !icon || !icon.parentElement) return; if (icon.EditServersChangeObserver && typeof icon.EditServersChangeObserver.disconnect == "function") icon.EditServersChangeObserver.disconnect(); let data = BDFDB.loadData(info.id, this, "servers") || {}; if (data.url || data.removeIcon || icon.getAttribute("changed-by-editservers")) { if (icon.tagName == "IMG") icon.setAttribute("src", data.removeIcon ? null : (data.url || BDFDB.getGuildIcon(info.id))); else { BDFDB.setInnerText(icon, data.url ? "" : (data.shortName || (info.icon && !data.removeIcon ? "" : info.acronym))); icon.style.setProperty("background-image", data.removeIcon || data.shortName ? null : `url(${data.url || BDFDB.getGuildIcon(info.id)})`); icon.style.setProperty("background-color", BDFDB.colorCONVERT(data.color1, "RGB"), "important"); icon.style.setProperty("color", BDFDB.colorCONVERT(data.color2, "RGB", "important")); icon.style.setProperty("font-size", this.getFontSize(icon)); let hasicon = icon.style.getPropertyValue("background-image"); if (hasicon) BDFDB.removeClass(icon, this.getNoIconClasses(icon)); else BDFDB.addClass(icon, this.getNoIconClasses(icon)); if (data.url && !data.removeIcon) { icon.style.setProperty("background-position", "center"); icon.style.setProperty("background-size", "cover"); } } if (data.url || data.removeIcon) { icon.setAttribute("changed-by-editservers", true); icon.EditServersChangeObserver = new MutationObserver((changes, _) => { changes.forEach( (change, i) => { icon.EditServersChangeObserver.disconnect(); this.changeGuildIcon(info, icon); } ); }); icon.EditServersChangeObserver.observe(icon, {attributes:true}); } else icon.removeAttribute("changed-by-editservers"); } } changeTooltip (info, wrapper, type) { if (!info || !wrapper || !wrapper.parentElement) return; let data = BDFDB.loadData(info.id, this, "servers") || {}; wrapper.removeEventListener("mouseenter", wrapper.tooltipListenerEditServers); if (data.name || data.color3 || data.color4) { var bgColor = data.color3 ? BDFDB.colorCONVERT(data.color3, "RGB") : ""; var fontColor = data.color4 ? BDFDB.colorCONVERT(data.color4, "RGB") : ""; wrapper.tooltipListenerEditServers = () => { BDFDB.createTooltip(data.name || info.name, wrapper, {type,selector:"EditServers-tooltip",style:`color: ${fontColor} !important; background-color: ${bgColor} !important; border-color: ${bgColor} !important;`,css:`body ${BDFDB.dotCN.tooltip}:not(.EditServers-tooltip) {display: none !important;}`}); }; wrapper.addEventListener("mouseenter", wrapper.tooltipListenerEditServers); } } getFontSize (icon) { if (icon.style.getPropertyValue("background-image")) return null; else if (BDFDB.containsClass(icon, BDFDB.disCN.avatariconsizexlarge)) return "12px"; else if (BDFDB.containsClass(icon, BDFDB.disCN.avatariconsizelarge)) return "10px"; else if (BDFDB.containsClass(icon, BDFDB.disCN.avatariconsizemedium)) return "8px"; else if (BDFDB.containsClass(icon, BDFDB.disCN.avatariconsizesmall)) return "4.8px"; else if (BDFDB.containsClass(icon, BDFDB.disCN.avatariconsizemini)) return "4px"; else return "10px"; } getNoIconClasses (icon) { let noiconclasses = [BDFDB.disCN.avatarnoicon]; if (BDFDB.containsClass(icon, BDFDB.disCN.userprofilelistavatar)) noiconclasses.push(BDFDB.disCN.userprofilelistguildavatarwithouticon); return noiconclasses; } setLabelsByLanguage () { switch (BDFDB.getDiscordLanguage().id) { case "hr": //croatian return { context_localserversettings_text: "Lokalne postavke poslužitelja", submenu_serversettings_text: "Promijeni postavke", submenu_resetsettings_text: "Ponovno postavite poslužitelj", modal_header_text: "Lokalne postavke poslužitelja", modal_servername_text: "Naziv lokalnog poslužitelja", modal_servershortname_text: "Poslužitelj prečaca", modal_serverurl_text: "Ikona", modal_removeicon_text: "Ukloni ikonu", modal_tabheader1_text: "Poslužitelja", modal_tabheader2_text: "Boja ikona", modal_tabheader3_text: "Boja tooltip", modal_colorpicker1_text: "Boja ikona", modal_colorpicker2_text: "Boja fonta", modal_colorpicker3_text: "Boja tooltip", modal_colorpicker4_text: "Boja fonta", modal_ignoreurl_text: "URL ignorirati", modal_validurl_text: "Vrijedi URL", modal_invalidurl_text: "Nevažeći URL", btn_cancel_text: "Prekid", btn_save_text: "Uštedjeti" }; case "da": //danish return { context_localserversettings_text: "Lokal serverindstillinger", submenu_serversettings_text: "Skift indstillinger", submenu_resetsettings_text: "Nulstil server", modal_header_text: "Lokal serverindstillinger", modal_servername_text: "Lokalt servernavn", modal_servershortname_text: "Initialer", modal_serverurl_text: "Ikon", modal_removeicon_text: "Fjern ikon", modal_tabheader1_text: "Server", modal_tabheader2_text: "Ikonfarve", modal_tabheader3_text: "Tooltipfarve", modal_colorpicker1_text: "Ikonfarve", modal_colorpicker2_text: "Skriftfarve", modal_colorpicker3_text: "Tooltipfarve", modal_colorpicker4_text: "Skriftfarve", modal_ignoreurl_text: "Ignorer URL", modal_validurl_text: "Gyldig URL", modal_invalidurl_text: "Ugyldig URL", btn_cancel_text: "Afbryde", btn_save_text: "Spare" }; case "de": //german return { context_localserversettings_text: "Lokale Servereinstellungen", submenu_serversettings_text: "Einstellungen ändern", submenu_resetsettings_text: "Server zurücksetzen", modal_header_text: "Lokale Servereinstellungen", modal_servername_text: "Lokaler Servername", modal_servershortname_text: "Serverkürzel", modal_serverurl_text: "Icon", modal_removeicon_text: "Entferne Icon", modal_tabheader1_text: "Server", modal_tabheader2_text: "Iconfarbe", modal_tabheader3_text: "Tooltipfarbe", modal_colorpicker1_text: "Iconfarbe", modal_colorpicker2_text: "Schriftfarbe", modal_colorpicker3_text: "Tooltipfarbe", modal_colorpicker4_text: "Schriftfarbe", modal_ignoreurl_text: "URL ignorieren", modal_validurl_text: "Gültige URL", modal_invalidurl_text: "Ungültige URL", btn_cancel_text: "Abbrechen", btn_save_text: "Speichern" }; case "es": //spanish return { context_localserversettings_text: "Ajustes local de servidor", submenu_serversettings_text: "Cambiar ajustes", submenu_resetsettings_text: "Restablecer servidor", modal_header_text: "Ajustes local de servidor", modal_servername_text: "Nombre local del servidor", modal_servershortname_text: "Iniciales", modal_serverurl_text: "Icono", modal_removeicon_text: "Eliminar icono", modal_tabheader1_text: "Servidor", modal_tabheader2_text: "Color del icono", modal_tabheader3_text: "Color de tooltip", modal_colorpicker1_text: "Color del icono", modal_colorpicker2_text: "Color de fuente", modal_colorpicker3_text: "Color de tooltip", modal_colorpicker4_text: "Color de fuente", modal_ignoreurl_text: "Ignorar URL", modal_validurl_text: "URL válida", modal_invalidurl_text: "URL inválida", btn_cancel_text: "Cancelar", btn_save_text: "Guardar" }; case "fr": //french return { context_localserversettings_text: "Paramètres locale du serveur", submenu_serversettings_text: "Modifier les paramètres", submenu_resetsettings_text: "Réinitialiser le serveur", modal_header_text: "Paramètres locale du serveur", modal_servername_text: "Nom local du serveur", modal_servershortname_text: "Initiales", modal_serverurl_text: "Icône", modal_removeicon_text: "Supprimer l'icône", modal_tabheader1_text: "Serveur", modal_tabheader2_text: "Couleur de l'icône", modal_tabheader3_text: "Couleur de tooltip", modal_colorpicker1_text: "Couleur de l'icône", modal_colorpicker2_text: "Couleur de la police", modal_colorpicker3_text: "Couleur de tooltip", modal_colorpicker4_text: "Couleur de la police", modal_ignoreurl_text: "Ignorer l'URL", modal_validurl_text: "URL valide", modal_invalidurl_text: "URL invalide", btn_cancel_text: "Abandonner", btn_save_text: "Enregistrer" }; case "it": //italian return { context_localserversettings_text: "Impostazioni locale server", submenu_serversettings_text: "Cambia impostazioni", submenu_resetsettings_text: "Ripristina server", modal_header_text: "Impostazioni locale server", modal_servername_text: "Nome locale server", modal_servershortname_text: "Iniziali", modal_serverurl_text: "Icona", modal_removeicon_text: "Rimuova l'icona", modal_tabheader1_text: "Server", modal_tabheader2_text: "Colore dell'icona", modal_tabheader3_text: "Colore della tooltip", modal_colorpicker1_text: "Colore dell'icona", modal_colorpicker2_text: "Colore del carattere", modal_colorpicker3_text: "Colore della tooltip", modal_colorpicker4_text: "Colore del carattere", modal_ignoreurl_text: "Ignora l'URL", modal_validurl_text: "URL valido", modal_invalidurl_text: "URL non valido", btn_cancel_text: "Cancellare", btn_save_text: "Salvare" }; case "nl": //dutch return { context_localserversettings_text: "Lokale serverinstellingen", submenu_serversettings_text: "Verandere instellingen", submenu_resetsettings_text: "Reset server", modal_header_text: "Lokale serverinstellingen", modal_servername_text: "Lokale servernaam", modal_servershortname_text: "Initialen", modal_serverurl_text: "Icoon", modal_removeicon_text: "Verwijder icoon", modal_tabheader1_text: "Server", modal_tabheader2_text: "Icoonkleur", modal_tabheader3_text: "Tooltipkleur", modal_colorpicker1_text: "Icoonkleur", modal_colorpicker2_text: "Doopvontkleur", modal_colorpicker3_text: "Tooltipkleur", modal_colorpicker4_text: "Doopvontkleur", modal_ignoreurl_text: "URL negeren", modal_validurl_text: "Geldige URL", modal_invalidurl_text: "Ongeldige URL", btn_cancel_text: "Afbreken", btn_save_text: "Opslaan" }; case "no": //norwegian return { context_localserversettings_text: "Lokal serverinnstillinger", submenu_serversettings_text: "Endre innstillinger", submenu_resetsettings_text: "Tilbakestill server", modal_header_text: "Lokal serverinnstillinger", modal_servername_text: "Lokalt servernavn", modal_servershortname_text: "Initialer", modal_serverurl_text: "Ikon", modal_removeicon_text: "Fjern ikon", modal_tabheader1_text: "Server", modal_tabheader2_text: "Ikonfarge", modal_tabheader3_text: "Tooltipfarge", modal_colorpicker1_text: "Ikonfarge", modal_colorpicker2_text: "Skriftfarge", modal_colorpicker3_text: "Tooltipfarge", modal_colorpicker4_text: "Skriftfarge", modal_ignoreurl_text: "Ignorer URL", modal_validurl_text: "Gyldig URL", modal_invalidurl_text: "Ugyldig URL", btn_cancel_text: "Avbryte", btn_save_text: "Lagre" }; case "pl": //polish return { context_localserversettings_text: "Lokalne ustawienia serwera", submenu_serversettings_text: "Zmień ustawienia", submenu_resetsettings_text: "Resetuj ustawienia", modal_header_text: "Lokalne ustawienia serwera", modal_servername_text: "Lokalna nazwa serwera", modal_servershortname_text: "Krótka nazwa", modal_serverurl_text: "Ikona", modal_removeicon_text: "Usuń ikonę", modal_tabheader1_text: "Serwer", modal_tabheader2_text: "Kolor ikony", modal_tabheader3_text: "Kolor podpowiedzi", modal_colorpicker1_text: "Kolor ikony", modal_colorpicker2_text: "Kolor czcionki", modal_colorpicker3_text: "Kolor podpowiedzi", modal_colorpicker4_text: "Kolor czcionki", modal_ignoreurl_text: "Ignoruj URL", modal_validurl_text: "Prawidłowe URL", modal_invalidurl_text: "Nieprawidłowe URL", btn_cancel_text: "Anuluj", btn_save_text: "Zapisz" }; case "pt-BR": //portuguese (brazil) return { context_localserversettings_text: "Configurações local do servidor", submenu_serversettings_text: "Mudar configurações", submenu_resetsettings_text: "Redefinir servidor", modal_header_text: "Configurações local do servidor", modal_servername_text: "Nome local do servidor", modal_servershortname_text: "Iniciais", modal_serverurl_text: "Icone", modal_removeicon_text: "Remover ícone", modal_tabheader1_text: "Servidor", modal_tabheader2_text: "Cor do ícone", modal_tabheader3_text: "Cor da tooltip", modal_colorpicker1_text: "Cor do ícone", modal_colorpicker2_text: "Cor da fonte", modal_colorpicker3_text: "Cor da tooltip", modal_colorpicker4_text: "Cor da fonte", modal_ignoreurl_text: "Ignorar URL", modal_validurl_text: "URL válido", modal_invalidurl_text: "URL inválida", btn_cancel_text: "Cancelar", btn_save_text: "Salvar" }; case "fi": //finnish return { context_localserversettings_text: "Paikallinen palvelimen asetukset", submenu_serversettings_text: "Vaihda asetuksia", submenu_resetsettings_text: "Nollaa palvelimen", modal_header_text: "Paikallinen palvelimen asetukset", modal_servername_text: "Paikallinen palvelimenimi", modal_servershortname_text: "Nimikirjaimet", modal_serverurl_text: "Ikonin", modal_removeicon_text: "Poista kuvake", modal_tabheader1_text: "Palvelimen", modal_tabheader2_text: "Ikoninväri", modal_tabheader3_text: "Tooltipväri", modal_colorpicker1_text: "Ikoninväri", modal_colorpicker2_text: "Fontinväri", modal_colorpicker3_text: "Tooltipväri", modal_colorpicker4_text: "Fontinväri", modal_ignoreurl_text: "Ohita URL", modal_validurl_text: "Voimassa URL", modal_invalidurl_text: "Virheellinen URL", btn_cancel_text: "Peruuttaa", btn_save_text: "Tallentaa" }; case "sv": //swedish return { context_localserversettings_text: "Lokal serverinställningar", submenu_serversettings_text: "Ändra inställningar", submenu_resetsettings_text: "Återställ server", modal_header_text: "Lokal serverinställningar", modal_servername_text: "Lokalt servernamn", modal_servershortname_text: "Initialer", modal_serverurl_text: "Ikon", modal_removeicon_text: "Ta bort ikonen", modal_tabheader1_text: "Server", modal_tabheader2_text: "Ikonfärg", modal_tabheader3_text: "Tooltipfärg", modal_colorpicker1_text: "Ikonfärg", modal_colorpicker2_text: "Fontfärg", modal_colorpicker3_text: "Tooltipfärg", modal_colorpicker4_text: "Fontfärg", modal_ignoreurl_text: "Ignorera URL", modal_validurl_text: "Giltig URL", modal_invalidurl_text: "Ogiltig URL", btn_cancel_text: "Avbryta", btn_save_text: "Spara" }; case "tr": //turkish return { context_localserversettings_text: "Yerel Sunucu Ayarları", submenu_serversettings_text: "Ayarları Değiştir", submenu_resetsettings_text: "Sunucu Sıfırla", modal_header_text: "Yerel Sunucu Ayarları", modal_servername_text: "Yerel Sunucu Adı", modal_servershortname_text: "Baş harfleri", modal_serverurl_text: "Simge", modal_removeicon_text: "Simge kaldır", modal_tabheader1_text: "Sunucu", modal_tabheader2_text: "Simge rengi", modal_tabheader3_text: "Tooltip rengi", modal_colorpicker1_text: "Simge rengi", modal_colorpicker2_text: "Yazı rengi", modal_colorpicker3_text: "Tooltip rengi", modal_colorpicker4_text: "Yazı rengi", modal_ignoreurl_text: "URL yoksay", modal_validurl_text: "Geçerli URL", modal_invalidurl_text: "Geçersiz URL", btn_cancel_text: "Iptal", btn_save_text: "Kayıt" }; case "cs": //czech return { context_localserversettings_text: "Místní nastavení serveru", submenu_serversettings_text: "Změnit nastavení", submenu_resetsettings_text: "Obnovit server", modal_header_text: "Místní nastavení serveru", modal_servername_text: "Místní název serveru", modal_servershortname_text: "Iniciály", modal_serverurl_text: "Ikony", modal_removeicon_text: "Odstranit ikonu", modal_tabheader1_text: "Server", modal_tabheader2_text: "Barva ikony", modal_tabheader3_text: "Barva tooltip", modal_colorpicker1_text: "Barva ikony", modal_colorpicker2_text: "Barva fontu", modal_colorpicker3_text: "Barva tooltip", modal_colorpicker4_text: "Barva fontu", modal_ignoreurl_text: "Ignorovat URL", modal_validurl_text: "Platná URL", modal_invalidurl_text: "Neplatná URL", btn_cancel_text: "Zrušení", btn_save_text: "Uložit" }; case "bg": //bulgarian return { context_localserversettings_text: "Настройки за локални cървър", submenu_serversettings_text: "Промяна на настройките", submenu_resetsettings_text: "Възстановяване на cървър", modal_header_text: "Настройки за локални cървър", modal_servername_text: "Локално име на cървър", modal_servershortname_text: "Инициали", modal_serverurl_text: "Икона", modal_removeicon_text: "Премахване на иконата", modal_tabheader1_text: "Cървър", modal_tabheader2_text: "Цвят на иконата", modal_tabheader3_text: "Цвят на подсказка", modal_colorpicker1_text: "Цвят на иконата", modal_colorpicker2_text: "Цвят на шрифта", modal_colorpicker3_text: "Цвят на подсказка", modal_colorpicker4_text: "Цвят на шрифта", modal_ignoreurl_text: "Игнориране на URL", modal_validurl_text: "Валиден URL", modal_invalidurl_text: "Невалиден URL", btn_cancel_text: "Зъбести", btn_save_text: "Cпасяване" }; case "ru": //russian return { context_localserversettings_text: "Настройки локального cервер", submenu_serversettings_text: "Изменить настройки", submenu_resetsettings_text: "Сбросить cервер", modal_header_text: "Настройки локального cервер", modal_servername_text: "Имя локального cервер", modal_servershortname_text: "Инициалы", modal_serverurl_text: "Значок", modal_removeicon_text: "Удалить значок", modal_tabheader1_text: "Cервер", modal_tabheader2_text: "Цвет значков", modal_tabheader3_text: "Цвет подсказка", modal_colorpicker1_text: "Цвет значков", modal_colorpicker2_text: "Цвет шрифта", modal_colorpicker3_text: "Цвет подсказка", modal_colorpicker4_text: "Цвет шрифта", modal_ignoreurl_text: "Игнорировать URL", modal_validurl_text: "Действительный URL", modal_invalidurl_text: "Неверная URL", btn_cancel_text: "Отмена", btn_save_text: "Cпасти" }; case "uk": //ukrainian return { context_localserversettings_text: "Налаштування локального cервер", submenu_serversettings_text: "Змінити налаштування", submenu_resetsettings_text: "Скидання cервер", modal_header_text: "Налаштування локального cервер", modal_servername_text: "Локальне ім'я cервер", modal_servershortname_text: "Ініціали", modal_serverurl_text: "Іконка", modal_removeicon_text: "Видалити піктограму", modal_tabheader1_text: "Cервер", modal_tabheader2_text: "Колір ікони", modal_tabheader3_text: "Колір підказка", modal_colorpicker1_text: "Колір ікони", modal_colorpicker2_text: "Колір шрифту", modal_colorpicker3_text: "Колір підказка", modal_colorpicker4_text: "Колір шрифту", modal_ignoreurl_text: "Ігнорувати URL", modal_validurl_text: "Дійсна URL", modal_invalidurl_text: "Недійсна URL", btn_cancel_text: "Скасувати", btn_save_text: "Зберегти" }; case "ja": //japanese return { context_localserversettings_text: "ローカルサーバー設定", submenu_serversettings_text: "設定を変更する", submenu_resetsettings_text: "サーバーをリセットする", modal_header_text: "ローカルサーバー設定", modal_servername_text: "ローカルサーバー名", modal_servershortname_text: "イニシャル", modal_serverurl_text: "アイコン", modal_removeicon_text: "アイコンを削除", modal_tabheader1_text: "サーバー", modal_tabheader2_text: "アイコンの色", modal_tabheader3_text: "ツールチップの色", modal_colorpicker1_text: "アイコンの色", modal_colorpicker2_text: "フォントの色", modal_colorpicker3_text: "ツールチップの色", modal_colorpicker4_text: "フォントの色", modal_ignoreurl_text: "URL を無視する", modal_validurl_text: "有効な URL", modal_invalidurl_text: "無効な URL", btn_cancel_text: "キャンセル", btn_save_text: "セーブ" }; case "zh-TW": //chinese (traditional) return { context_localserversettings_text: "本地服務器設置", submenu_serversettings_text: "更改設置", submenu_resetsettings_text: "重置服務器", modal_header_text: "本地服務器設置", modal_servername_text: "服務器名稱", modal_servershortname_text: "聲母", modal_serverurl_text: "圖標", modal_removeicon_text: "刪除圖標", modal_tabheader1_text: "服務器", modal_tabheader2_text: "圖標顏色", modal_tabheader3_text: "工具提示顏色", modal_colorpicker1_text: "圖標顏色", modal_colorpicker2_text: "字體顏色", modal_colorpicker3_text: "工具提示顏色", modal_colorpicker4_text: "字體顏色", modal_ignoreurl_text: "忽略 URL", modal_validurl_text: "有效的 URL", modal_invalidurl_text: "無效的 URL", btn_cancel_text: "取消", btn_save_text: "保存" }; case "ko": //korean return { context_localserversettings_text: "로컬 서버 설정", submenu_serversettings_text: "설정 변경", submenu_resetsettings_text: "서버 재설정", modal_header_text: "로컬 서버 설정", modal_servername_text: "로컬 서버 이름", modal_servershortname_text: "머리 글자", modal_serverurl_text: "상", modal_removeicon_text: "상 삭제", modal_tabheader1_text: "서버", modal_tabheader2_text: "상 색깔", modal_tabheader3_text: "툴팁 색깔", modal_colorpicker1_text: "상 색깔", modal_colorpicker2_text: "글꼴 색깔", modal_colorpicker3_text: "툴팁 색깔", modal_colorpicker4_text: "글꼴 색깔", modal_ignoreurl_text: "URL 무시", modal_validurl_text: "유효한 URL", modal_invalidurl_text: "잘못된 URL", btn_cancel_text: "취소", btn_save_text: "저장" }; default: //default: english return { context_localserversettings_text: "Local Serversettings", submenu_serversettings_text: "Change Settings", submenu_resetsettings_text: "Reset Server", modal_header_text: "Local Serversettings", modal_servername_text: "Local Servername", modal_servershortname_text: "Initials", modal_serverurl_text: "Icon", modal_removeicon_text: "Remove Icon", modal_tabheader1_text: "Server", modal_tabheader2_text: "Iconcolor", modal_tabheader3_text: "Tooltipcolor", modal_colorpicker1_text: "Iconcolor", modal_colorpicker2_text: "Fontcolor", modal_colorpicker3_text: "Tooltipcolor", modal_colorpicker4_text: "Fontcolor", modal_ignoreurl_text: "Ignore URL", modal_validurl_text: "Valid URL", modal_invalidurl_text: "Invalid URL", btn_cancel_text: "Cancel", btn_save_text: "Save" }; } } }