浏览代码

Merge branch 'master' of https://github.com/dianliang233/discord-wiki-bot

Dianliang 5 年之前
父节点
当前提交
57b3fbce73
共有 6 个文件被更改,包括 226 次插入32 次删除
  1. 7 7
      cmds/settings.js
  2. 12 12
      i18n/allLangs.json
  3. 89 0
      i18n/de.json
  4. 6 6
      i18n/en.json
  5. 108 3
      i18n/pl.json
  6. 4 4
      util/i18n.js

+ 7 - 7
cmds/settings.js

@@ -32,13 +32,13 @@ function cmd_settings(lang, msg, args, line, wiki) {
 		var inlinepage = ( lang.localNames.page || 'page' );
 		var text = lang.get('settings.missing', '`' + prefix + 'settings lang`', '`' + prefix + 'settings wiki`');
 		if ( rows.length ) {
-			text = lang.get('settings.current') + '\n' + lang.get('settings.currentlang') + ' `' + allLangs.names[guild.lang][1] + '` - `' + prefix + 'settings lang`';
+			text = lang.get('settings.current') + '\n' + lang.get('settings.currentlang') + ' `' + allLangs.names[guild.lang] + '` - `' + prefix + 'settings lang`';
 			if ( msg.guild.id in patreons ) text += '\n' + lang.get('settings.currentprefix') + ' `' + prefix + '` - `' + prefix + 'settings prefix`';
 			text += '\n' + lang.get('settings.currentinline') + ' ' + ( guild.inline ? '~~' : '' ) + '`[[' + inlinepage + ']]`' + ( guild.inline ? '~~' : '' ) + ' - `' + prefix + 'settings inline`';
 			text += '\n' + lang.get('settings.currentwiki') + ' ' + guild.wiki + ' - `' + prefix + 'settings wiki`';
 			text += '\n' + lang.get('settings.currentchannel') + ' `' + prefix + 'settings channel`\n';
 			if ( rows.length === 1 ) text += lang.get('settings.nochannels');
-			else text += rows.filter( row => row !== guild ).map( row => '<#' + row.channel + '>: ' + ( msg.guild.id in patreons ? '`' + allLangs.names[row.lang][1] + '` - ' : '' ) + '<' + row.wiki + '>' + ( msg.guild.id in patreons ? ' - ' + ( row.inline ? '~~' : '' ) + '`[[' + inlinepage + ']]`' + ( row.inline ? '~~' : '' ) : '' ) ).join('\n');
+			else text += rows.filter( row => row !== guild ).map( row => '<#' + row.channel + '>: ' + ( msg.guild.id in patreons ? '`' + allLangs.names[row.lang] + '` - ' : '' ) + '<' + row.wiki + '>' + ( msg.guild.id in patreons ? ' - ' + ( row.inline ? '~~' : '' ) + '`[[' + inlinepage + ']]`' + ( row.inline ? '~~' : '' ) : '' ) ).join('\n');
 		}
 		
 		if ( !args.length ) {
@@ -55,7 +55,7 @@ function cmd_settings(lang, msg, args, line, wiki) {
 			if ( !channel ) channel = Object.assign({channel:msg.channel.id}, guild);
 			text = lang.get('settings.' + prelang + 'current');
 			if ( msg.guild.id in patreons ) {
-				text += '\n' + lang.get('settings.currentlang') + ' `' + allLangs.names[channel.lang][1] + '` - `' + prefix + 'settings channel lang`';
+				text += '\n' + lang.get('settings.currentlang') + ' `' + allLangs.names[channel.lang] + '` - `' + prefix + 'settings channel lang`';
 				text += '\n' + lang.get('settings.currentinline') + ' ' + ( channel.inline ? '~~' : '' ) + '`[[' + inlinepage + ']]`' + ( channel.inline ? '~~' : '' ) + ' - `' + prefix + 'settings channel inline`';
 			}
 			text += '\n' + lang.get('settings.currentwiki') + ' ' + channel.wiki + ' - `' + prefix + 'settings channel wiki`';
@@ -206,9 +206,9 @@ function cmd_settings(lang, msg, args, line, wiki) {
 		if ( args[0] === 'lang' ) {
 			if ( channel && !( msg.guild.id in patreons ) ) return msg.replyMsg( lang.get('patreon') + '\n<' + process.env.patreon + '>', {}, true );
 			prelang += 'lang';
-			var langhelp = '\n' + lang.get('settings.langhelp', prefix + 'settings ' + prelang) + ' `' + Object.values(allLangs.names).map( val => val[0] ).join('`, `') + '`';
+			var langhelp = '\n' + lang.get('settings.langhelp', prefix + 'settings ' + prelang) + ' `' + Object.values(allLangs.names).join('`, `') + '`';
 			if ( !args[1] ) {
-				return msg.replyMsg( lang.get('settings.' + prelang) + ' `' + allLangs.names[( channel || guild ).lang][1] + '`' + langhelp, {}, true );
+				return msg.replyMsg( lang.get('settings.' + prelang) + ' `' + allLangs.names[( channel || guild ).lang] + '`' + langhelp, {}, true );
 			}
 			if ( !( args[1] in allLangs.map ) ) {
 				return msg.replyMsg( lang.get('settings.langinvalid') + langhelp, {}, true );
@@ -224,7 +224,7 @@ function cmd_settings(lang, msg, args, line, wiki) {
 				sqlargs[2] = msg.channel.id;
 				if ( !rows.includes( channel ) ) {
 					if ( channel.lang === allLangs.map[args[1]] ) {
-						return msg.replyMsg( lang.get('settings.' + prelang + 'changed') + ' `' + allLangs.names[channel.lang][1] + '`' + langhelp, {}, true );
+						return msg.replyMsg( lang.get('settings.' + prelang + 'changed') + ' `' + allLangs.names[channel.lang] + '`' + langhelp, {}, true );
 					}
 					sql = 'INSERT INTO discord(lang, guild, channel, wiki, prefix) VALUES(?, ?, ?, ?, ?)';
 					sqlargs.push(guild.wiki, guild.prefix);
@@ -246,7 +246,7 @@ function cmd_settings(lang, msg, args, line, wiki) {
 					if ( msg.guild.id in voice ) voice[msg.guild.id] = guild.lang;
 				}
 				if ( channel || !( msg.guild.id in patreons ) || !rows.some( row => row.channel === msg.channel.id ) ) lang = new Lang(allLangs.map[args[1]]);
-				msg.replyMsg( lang.get('settings.' + prelang + 'changed') + ' `' + allLangs.names[allLangs.map[args[1]]][1] + '`\n' + lang.get('settings.langhelp', prefix + 'settings ' + prelang) + ' `' + Object.values(allLangs.names).map( val => val[0] ).join('`, `') + '`', {}, true );
+				msg.replyMsg( lang.get('settings.' + prelang + 'changed') + ' `' + allLangs.names[allLangs.map[args[1]]] + '`\n' + lang.get('settings.langhelp', prefix + 'settings ' + prelang) + ' `' + Object.values(allLangs.names).join('`, `') + '`', {}, true );
 				var channels = rows.filter( row => row.channel && row.lang === guild.lang && row.wiki === guild.wiki && row.prefix === guild.prefix && row.inline === guild.inline ).map( row => row.channel );
 				if ( channels.length ) db.run( 'DELETE FROM discord WHERE channel IN (' + channels.map( row => '?' ).join(', ') + ')', channels, function (delerror) {
 					if ( delerror ) {

+ 12 - 12
i18n/allLangs.json

@@ -1,16 +1,16 @@
 {
 	"allLangs": {
 		"names": {
-			"en": ["English", "English"],
-			"de": ["German", "Deutsch"],
-			"fr": ["French", "Français"],
-			"nl": ["Dutch", "Nederlands"],
-			"pl": ["Polish", "Polski"],
-			"pt": ["Portuguese", "Português"],
-			"ru": ["Russian", "Русский"],
-			"tr": ["Turkish", "Türkçe"],
-			"zh-hans": ["Chinese (Simplified)", "简体中文"],
-			"zh-hant": ["Chinese (Traditional)", "繁體中文"]
+			"en": "English",
+			"de": "Deutsch",
+			"fr": "Français",
+			"nl": "Nederlands",
+			"pl": "Polski",
+			"pt": "Português",
+			"ru": "Русский",
+			"tr": "Türkçe",
+			"zh-hans": "简体中文",
+			"zh-hant": "繁體中文"
 		},
 		"map": {
 			"en": "en",
@@ -53,8 +53,8 @@
 	"RcGcDw": {
 		"names": {
 			"en": "English",
-			"de": "German",
-			"pl": "Polish"
+			"de": "Deutsch",
+			"pl": "Polski"
 		},
 		"map": {
 			"en": "en",

+ 89 - 0
i18n/de.json

@@ -157,6 +157,61 @@
 		"help_fandom": "https://community.fandom.com/wiki/Special:VerifyUser",
 		"help_subpage": "Bitte füge dein Discord-Tag ($1) zu deiner Discord-Unterseite im Wiki hinzu:"
 	},
+	"rcscript": {
+		"title": "Letzte Änderungen-Webhook",
+		"ad": "Du möchtest letzte Änderungen direkt in Discord? Nutze `$1rcscript` um einen Letzte Änderungen-Webhook basierend auf **$2** zu deinen Diesocrd server hinzuzufügen!",
+		"missing": "es ist noch kein Letzte Änderungen-Webhook für diesen Server vorhanden.",
+		"current": "dies sind die aktuellen Letzte Änderungen-Webhooks für diesen Server:",
+		"current_selected": "dies ist der Letzte Änderungen-Webhook für diesen Server:",
+		"channel": "Kanal:",
+		"wiki": "Wiki:",
+		"lang": "Sprache:",
+		"display": "Anzeigemodus:",
+		"feeds": "Feeds-basierte Änderungen:",
+		"enabled": "aktiviert",
+		"disabled": "deaktiviert",
+		"toggle": "(umschalten)",
+		"help_feeds": "(Diskussionen, Nachrichtenseiten, Artikelkommentare)",
+		"delete": "Lösche diesen Letzte Änderungen-Webhook:",
+		"add_more": "Füge mehr Letzte Änderungen-Webhooks hinzu:",
+		"noadmin": "du benötigst die `WebHooks verwalten`-Berechtigung für diesen Befehl!",
+		"max_entries": "du hast bereits die maximale Anzahl an Letzte Änderungen-Webhooks erreicht.",
+		"sysmessage": "die Systemnachricht `$1` muss die Server-ID `$2` sein um einen Letzte Änderungen-Webhook hinzuzufügen.",
+		"audit_reason": "Letzte Änderungen-Webhook für \"$1\"",
+		"audit_reason_delete": "Letzte Änderungen-Webhook entfernt",
+		"added": "ein Letzte Änderungen-Webhook wurde hinzugefügt für:",
+		"deleted": "der Letzte Änderungen-Webhook wurde gelöscht.",
+		"webhook_failed": "der Webhook konnten leider nicht erstellt werden, bitte versuche es später erneut.",
+		"current_wiki": "das Wiki für diesen Webhook ist:",
+		"help_wiki": "Link zum Wiki: `https://<Wiki>.gamepedia.com/` oder `https://<Wiki>.fandom.com/`",
+		"new_wiki": "<neues Wiki>",
+		"updated_wiki": "das Wiki für diesen Webhook wurde geändert zu:",
+		"current_lang": "die Sprache für diesen Webhook ist:",
+		"help_lang": "Bisher mögliche Sprachen sind:",
+		"new_lang": "<neue Sprache>",
+		"updated_lang": "die Sprache für diesen Webhook wurde geändert zu:",
+		"current_display": "der Anzeigemodus für diesen Webhook ist:",
+		"help_display_compact": "Kompakte Textnachrichten mit Inline-Links.",
+		"help_display_embed": "Einbettungen mit Bearbeitungsmarkierungen und Kategorieänderungen.",
+		"help_display_image": "Einbettungen mit Bildvorschau.",
+		"help_display_diff": "Einbettungen mit Bildvorschau und Bearbeitungsunterschieden.",
+		"updated_display": "der Anzeigemodus für diesen Webhook wurde geändert zu:",
+		"disabled_feeds": "die Feeds-basierten Änderungen, wie Diskussionen, Nachrichtenseiten und Artikelkommentare, für diesen Webhook wurden deaktiviert.",
+		"enabled_feeds": "die Feeds-basierten Änderungen, wie Diskussionen, Nachrichtenseiten und Artikelkommentare, für diesen Webhook wurden aktiviert.",
+		"no_feeds": "das Wiki für diesen Webhook hat keine Feeds-basierten Funktionen, wie Diskussionen, Nachrichtenseiten oder Artikelkommentare, aktiviert.",
+		"webhook": {
+			"created": "Ein Letzte Änderungen-Webhook für $1 wurde zu diesem Kanal hinzugefügt.",
+			"updated_wiki": "Das Wiki für diesen Letzte Änderungen-Webhook wurde zu $1 geändert.",
+			"updated_lang": "Die Sprache für diesen Letzte Änderungen-Webhook wurde zu `$1` geändert.",
+			"updated_display_compact": "Der Anzeigemodus für diesen Letzte Änderungen-Webhook wurde zu kompakten Textnachrichten mit Inline-Links geändert.",
+			"updated_display_embed": "Der Anzeigemodus für diesen Letzte Änderungen-Webhook wurde zu Einbettungen mit Bearbeitungsmarkierungen und Kategorieänderungen geändert.",
+			"updated_display_image": "Der Anzeigemodus für diesen Letzte Änderungen-Webhook wurde zu Einbettungen mit Bildvorschau geändert.",
+			"updated_display_diff": "Der Anzeigemodus für diesen Letzte Änderungen-Webhook wurde zu Einbettungen mit Bildvorschau und Bearbeitungsunterschieden geändert.",
+			"disabled_feeds": "Die Feeds-basierten Änderungen, wie Diskussionen, Nachrichtenseiten und Artikelkommentare, wurden für diesen Letzte Änderungen-Webhook deaktiviert.",
+			"enabled_feeds": "Die Feeds-basierten Änderungen, wie Diskussionen, Nachrichtenseiten und Artikelkommentare, wurden für diesen Letzte Änderungen-Webhook aktiviert.",
+			"deleted": "Dieser Letzte Änderungen-Webhook wird gelöscht."
+		}
+	},
 	"overview": {
 		"inaccurate": "Statistiken können ungenau sein",
 		"name": "Vollständiger Name:",
@@ -349,6 +404,10 @@
 				"cmd": "??<Wiki> <Suchbegriff>",
 				"desc": "Ich antworte mit einem Link auf einen passenden Artikel im angegebenen Wikia-Wiki: `https://<Wiki>.wikia.org/`"
 			},
+			"mwprojects": {
+				"cmd": "!!<Wiki> <Suchbegriff>",
+				"desc": "Ich antworte mit einem Link auf einen passenden Artikel im angegebenen MediaWiki-Projekt. Beispiel: `$1!!de.wikipedia.org Keks`"
+			},
 			"user": {
 				"cmd": "Benutzer:<Benutzername>",
 				"desc": "Ich liste ein paar Informationen über den Benutzer auf."
@@ -493,6 +552,36 @@
 					"desc": "Ich lösche die Wiki-Verifizierung."
 				}
 			},
+			"rcscript": {
+				"default": {
+					"cmd": "rcscript",
+					"desc": "Ich ändere den Letzte Änderungen-Webhook."
+				},
+				"add": {
+					"cmd": "rcscript add [<Wiki>]",
+					"desc": "Ich füge einen neuen Letzte Änderungen-Webhook hinzu."
+				},
+				"wiki": {
+					"cmd": "rcscript wiki <neues Wiki>",
+					"desc": "Ich ändere das Wiki für den Letzte Änderungen-Webhook."
+				},
+				"lang": {
+					"cmd": "rcscript lang <neue Sprache>",
+					"desc": "Ich ändere die Sprache für den Letzte Änderungen-Webhook."
+				},
+				"display": {
+					"cmd": "rcscript display <neuer Anzeigemodus>",
+					"desc": "Ich ändere den Anzeigemodus für den Letzte Änderungen-Webhook."
+				},
+				"feeds": {
+					"cmd": "rcscript feeds",
+					"desc": "Ich ändere ob Feeds-basierte Änderungen von einen Fandom-Wiki angezeigt werden sollen für den Letzte Änderungen-Webhook."
+				},
+				"delete": {
+					"cmd": "rcscript delete",
+					"desc": "Ich lösche den Letzte Änderungen-Webhook."
+				}
+			},
 			"voice": {
 				"cmd": "voice",
 				"desc": "Ich versuche allen in einem Sprachkanal eine bestimmte Rolle zu geben:"

+ 6 - 6
i18n/en.json

@@ -169,17 +169,17 @@
 		"delete": "Delete this recent changes webhook:",
 		"add_more": "Add more recent changes webhooks:",
 		"noadmin": "you need the `Manage Webhooks` permission for this command!",
-		"max_entries":"you already reached the maximal amount of recent changes webhooks.",
-		"sysmessage": "the system message `$1` has to be the server ID `$2` to add a recent changes webhook.",
+		"max_entries": "you already reached the maximal amount of recent changes webhooks.",
+		"sysmessage": "the system message `$1` has to be the server id `$2` to add a recent changes webhook.",
 		"audit_reason": "Recent changes webhook for \"$1\"",
 		"audit_reason_delete": "Removed recent changes webhook",
 		"added": "a recent changes webhook has been added for:",
-		"deleted":"the recent changes webhook has be deleted.",
+		"deleted": "the recent changes webhook has be deleted.",
 		"webhook_failed": "sadly the webhook couldn't be created, please try again later.",
 		"current_wiki": "the wiki for this webhook is:",
 		"help_wiki": "Link to the wiki: `https://<wiki>.gamepedia.com/` or `https://<wiki>.fandom.com/`",
 		"new_wiki": "<new wiki>",
-		"updated_wiki":"the wiki for this webhook has been changed to:",
+		"updated_wiki": "the wiki for this webhook has been changed to:",
 		"current_lang": "the language for this webhook is:",
 		"help_lang": "Currently supported languages are:",
 		"new_lang": "<new language>",
@@ -192,7 +192,7 @@
 		"updated_display": "the display mode for this webhook has been changed to:",
 		"disabled_feeds": "the feeds based changes, like discussions, message walls and article comments, for this webhook have been disabled.",
 		"enabled_feeds": "the feeds based changes, like discussions, message walls and article comments, for this webhook have been enabled.",
-		"no_feeds": "the wiki for this webhook has no feeds based features, like discussions, message walls and article comments, enabled.",
+		"no_feeds": "the wiki for this webhook has no feeds based features, like discussions, message walls or article comments, enabled.",
 		"webhook": {
 			"created": "A recent changes webhook for $1 has been added to this channel.",
 			"updated_wiki": "The wiki has been changed to $1 for this recent changes webhook.",
@@ -581,7 +581,7 @@
 				"desc": "I try to give everyone in a voice channel a specific role."
 			},
 			"pause": {
-				"inactive":{
+				"inactive": {
 					"cmd": "pause $1",
 					"desc": "I will ignore all commands on this server, except a few admin commands."
 				},

+ 108 - 3
i18n/pl.json

@@ -17,7 +17,7 @@
 	"prefix": "prefiksem komend dla tego serwera jest `$1`. Możesz zmienić prefiks używając `$1settings prefix`. Lista wszystkich komend jest dostępna przez użycie `$1pomoc`.",
 	"missingperm": "Brakuje mi uprawnień:",
 	"limit": "🚨 **Chwila moment! Osiągnięto limit!** 🚨\n\n$1, Twoja wiadomość zawiera zbyt wiele komend!",
-	"disclaimer": "Jestem małym botem, którego zadaniem jest linkowanie do różnych wiki na Gamepedii oraz Fandomie. Zostałem napisany w JavaScript przez $1.\n\n**Nie jestem oficjalny i nie mam żadnego wsparcia lub powiązania z Fandomem!**\n\nMożesz wesprzeć mnie na Patreon-ie:",
+	"disclaimer": "Jestem małym botem, którego zadaniem jest linkowanie do różnych wiki z rodziny MediaWiki takich jak Gamepedia oraz Fandom. Zostałem napisany w JavaScript przez $1.\n\nMożesz wesprzeć mnie na Patreon-ie:",
 	"helpserver": "W przypadku pytań lub problemów, odwiedź mój serwer:",
 	"patreon": "to funkcja tylko dla patronów!\nMożesz wesprzeć moją pracę na Patreonie aby uzyskać dostęp do tej funkcji:",
 	"settings": {
@@ -48,6 +48,7 @@
 		"prefix": "prefiks dla tego serwera:",
 		"prefixinvalid": "podany prefiks nie jest wspierany!",
 		"prefixchanged": "zmieniono prefiks dla tego serwera na:",
+		"prefixhelp": "Użyj `$1 <prefiks>` aby zmienić prefiks.\nUżyj `_` na końcu jako zamiennik spacji na końcu prefiksu.\nPrefiks nie może zawierać wzmianek!",
 		"inline enabled": {
 			"inline": "linkowanie składnią wiki jest obecnie włączone dla tego serwera.",
 			"channel inline": "linkowanie składnią wiki jest obecnie włączone dla tego kanału.",
@@ -153,6 +154,61 @@
 		"help_fandom": "https://community.fandom.com/wiki/Special:VerifyUser",
 		"help_subpage": "Dodaj swoją nazwę użytkownika Discord ($1) do podstrony Discord na wiki:"
 	},
+	"rcscript": {
+		"title": "Webhook ostatnich zmian",
+		"ad": "Chcesz mieć ostatnie zmiany na Discordzie? Użyj `$1rcscript` aby dodać webhook ostatnich zmian bazowany na **$2** do swojego serwera Discord!",
+		"missing": "obecnie nie istnieją żadne webhooki ostatnich zmian na tym serwerze.",
+		"current": "to są istniejące webhooki ostatnich zmian dla tego serwera:",
+		"current_selected": "to jest webhook ostatnich zmian dla tego serwera:",
+		"channel": "Kanał:",
+		"wiki": "Wiki:",
+		"lang": "Język:",
+		"display": "Tryb wyświetlania:",
+		"feeds": "Zmiany bazowane na Feeds:",
+		"enabled": "włączone",
+		"disabled": "wyłączone",
+		"toggle": "(przełącznik)",
+		"help_feeds": "(dyskusje, tablice wiadomości)",
+		"delete": "Usuń ten webhook ostatnich zmian:",
+		"add_more": "Dodaj więcej webhooków ostatnich zmian:",
+		"noadmin": "potrzebujesz uprawnienia `Zarządzaj webhookami` aby używać tej komendy!",
+		"max_entries": "osiągnięto maksymalną ilość webhooków ostatnich zmian.",
+		"sysmessage": "wiadomość systemowa `$1` musi zawierać numer ID tego serwera `$2` aby dodać webhook ostatnich zmian.",
+		"audit_reason": "Webhook ostatnich zmian dla \"$1\"",
+		"audit_reason_delete": "Usunięto webhook ostatnich zmian",
+		"added": "dodano webhook ostatnich zmian dla:",
+		"deleted": "webhook ostatnich zmian został usunięty.",
+		"webhook_failed": "niestety, webhook nie mógł zostać utworzony, spróbuj ponownie później.",
+		"current_wiki": "wiki dla tego webhooka to:",
+		"help_wiki": "Link do wiki: `https://<wiki>.gamepedia.com` lub `https://<wiki>.fandom.com`",
+		"new_wiki": "<nowa wiki>",
+		"updated_wiki": "wiki dla tego webhooka została zmieniona na:",
+		"current_lang": "językiem tego webhooka jest:",
+		"help_lang": "Aktualnie wspieranymi językami są:",
+		"new_lang": "<nowy język>",
+		"updated_lang": "język tego webhooka został zmieniony na:",
+		"current_display": "tryb wyświetlania webhooka jest ustawiony na:",
+		"help_display_compact": "Kompaktowe wiadomości.",
+		"help_display_embed": "Szczegółowe wiadomości z tagami oraz zmianami kategorii.",
+		"help_display_image": "Szczegółowe wiadomości podglądami zdjęć.",
+		"help_display_diff": "Szczegółowe wiadomości podglądami zdjęć oraz podglądem zmian edycji.",
+		"updated_display": "tryb wyświetlania dla tego webhooka został zmieniony na:",
+		"disabled_feeds": "postowanie zmian z Dyskusji dla tego webhooka zostało wyłączone.",
+		"enabled_feeds": "postowanie zmian z Dyskusji dla tego webhooka zostało włączone.",
+		"no_feeds": "wiki dla tego webhooka nie ma włączonej usługi Dyskusji.",
+		"webhook": {
+			"created": "Webhook ostatnich zmian dla $1 został dodany do tego kanału.",
+			"updated_wiki": "Ta wiki została zmieniona na $1 dla tego webhooka ostatnich zmian.",
+			"updated_lang": "Język został zmieniony na `$1` dla tego webhooka ostatnich zmian.",
+			"updated_display_compact": "Tryb wyświetlania został zmieniony na kompaktowy dla tego webhooka ostatnich zmian.",
+			"updated_display_embed": "Tryb wyświetlania został zmieniony na szczegółowy z tagami oraz zmianami w kategoriach dla tego webhooka ostatnich zmian.",
+			"updated_display_image": "Tryb wyświetlania został zmieniony na szczegółowy z podglądami zdjęć dla tego webhooka ostatnich zmian.",
+			"updated_display_diff": "Tryb wyświetlania został zmieniony na szczegółowy z podglądami zdjęć oraz podglądami zmian edycji dla tego webhooka ostatnich zmian.",
+			"disabled_feeds": "Zmiany bazowane na technologii Dyskusji zostały wyłączone dla tego webhooka ostatnich zmian.",
+			"enabled_feeds": "Zmiany bazowane na technologii Dyskusji zostały włączone dla tego webhooka ostatnich zmian.",
+			"deleted": "Ten webhook ostatnich zmian zostanie usunięty."
+		}
+	},
 	"overview": {
 		"inaccurate": "Statystyki mogą być niedokładne",
 		"name": "Pełna nazwa:",
@@ -198,20 +254,31 @@
 			"vanguard": "Vanguard",
 			"voldev": "Volunteer Developer",
 			"bot": "Bot",
+			"checkuser": "Check user",
 			"bureaucrat": "Biurokrata",
 			"sysop": "Administrator",
 			"interface-admin": "Administrator interfejsu",
+			"widgeteditor": "Edytor widżetów",
 			"content-moderator": "moderator treści",
 			"threadmoderator": "moderator dyskusji",
 			"chatmoderator": "moderator czatu",
+			"junioradmin": "Junior administrator",
 			"directors": "Dyrektor",
 			"Patrol": "Inspektor",
 			"editor": "Redaktor",
+			"supmoderator": "Senior moderator",
 			"moderator": "Moderator",
+			"assistant": "Asystent",
+			"blogpatrol": "Patroller blogów",
+			"imagecontrol": "Kontroler zdjęć",
+			"commentcontrol": "Kontroler komentarzy",
 			"Elite_users": "Elitarni użytkownicy",
+			"codeeditor": "Edytor kodu",
 			"patrollers": "Przeglądający",
+			"patroller": "Patroller",
 			"rollback": "rollback",
 			"autoreview": "autoreview",
+			"autopatroller": "Auto patroller",
 			"autopatrol": "autopatrol",
 			"authenticated": "authenticated",
 			"autoconfirmed": "Automatycznie zatwierdzony użytkownik",
@@ -295,7 +362,11 @@
 			"Beep boop"
 		],
 		"default": "Jestem w pełni funkcjonalny!",
-		"time": "Czas odpowiedzi"
+		"time": "Czas odpowiedzi",
+		"notice": "Niepełna funkcjonalność",
+		"MediaWiki": "Wymaga przynajmniej $1 dla pełnej funkcjonalności, znaleziono `$2`.",
+		"TextExtracts": "Wymaga rozszerzenia $1 dla opisów stron.",
+		"PageImages": "Wymaga rozszerzenia $1 dla miniaturek stron."
 	},
 	"help": {
 		"all": "A więc chcesz wiedzieć co potrafię? Tutaj jest lista komend, które rozumiem:",
@@ -330,6 +401,10 @@
 				"cmd": "??<wiki> <wyszukiwana fraza>",
 				"desc": "Odpowiem z pasującym linkiem do podanej wiki na Wikia: `https://<wiki>.wikia.org/`"
 			},
+			"mwprojects": {
+				"cmd": "!!<wiki> <wyszukiwana fraza>",
+				"desc": "Odpowiem linkiem do odpowiedniego artykułu w nazwanym projekcie MediaWiki. Na przykład `$1!!pl.wikipedia.org Ciastko`"
+			},
 			"user": {
 				"cmd": "Użytkownik:<nazwa użytkownika>",
 				"desc": "Pokażę informacje na temat użytkownika."
@@ -389,7 +464,7 @@
 				"desc": "Przedstawie się."
 			},
 			"help": {
-				"default":{
+				"default": {
 					"cmd": "help",
 					"desc": "Wylistuję wszystkie komendy, które rozumiem."
 				},
@@ -474,6 +549,36 @@
 					"desc": "Usunę weryfikację."
 				}
 			},
+			"rcscript": {
+				"default": {
+					"cmd": "rcscript",
+					"desc": "Zmienię webhook ostatnich zmian."
+				},
+				"add": {
+					"cmd": "rcscript add [<wiki>]",
+					"desc": "Dodam webhook ostatnich zmian."
+				},
+				"wiki": {
+					"cmd": "rcscript wiki <nowa wiki>",
+					"desc": "Zmienię wiki dla webhooka ostatnich zmian."
+				},
+				"lang": {
+					"cmd": "rcscript lang <nowy język>",
+					"desc": "Zmienię język dla webhooka ostatnich zmian."
+				},
+				"display": {
+					"cmd": "rcscript display <nowy tryb wyświetlania>",
+					"desc": "Zmienię tryb wyświetlania dla tego webhooka ostatnich zmian."
+				},
+				"feeds": {
+					"cmd": "rcscript feeds",
+					"desc": "Włączę/wyłączę pobieranie zmian z Dyskusji dla webhooka ostatnich zmian."
+				},
+				"delete": {
+					"cmd": "rcscript delete",
+					"desc": "Usunę webhook ostatnich zmian."
+				}
+			},
 			"voice": {
 				"cmd": "voice",
 				"desc": "Nadaję każdej osobie w kanale głosowym specjalną rolę."

+ 4 - 4
util/i18n.js

@@ -5,7 +5,7 @@ Object.keys(i18n.allLangs.names).forEach( lang => i18n[lang] = require('../i18n/
 const defaultAliases = ( i18n?.[defaultSettings.lang]?.aliases || {} );
 
 /**
- * A langauge.
+ * A language.
  * @class
  */
 class Lang {
@@ -18,7 +18,7 @@ class Lang {
 	constructor(lang = defaultSettings.lang, namespace = '') {
 		this.lang = lang;
 		this.namespace = namespace;
-		this.fallback = ( i18n?.[lang]?.fallback.slice() || [] );
+		this.fallback = ( i18n?.[lang]?.fallback.slice() || [defaultSettings.lang] );
 
 		this.localNames = {};
 		this.aliases = {};
@@ -107,8 +107,8 @@ class Lang {
 //	}
 
 	/**
-	 * Get names for all langauges.
-	 * @param {Boolean} isRcGcDw - Get the langauge for RcGcDw?
+	 * Get names for all languages.
+	 * @param {Boolean} isRcGcDw - Get the languages for RcGcDw?
 	 * @returns {Object}
 	 * @static
 	 */