www.fgks.org   »   [go: up one dir, main page]

Localisation updates from https://translatewiki.net.

Change-Id: Idfeeed9e1daa247327aafcbc6205eedb3bd082e5
diff --git a/i18n/api/vi.json b/i18n/api/vi.json
index 13d351b..6c37715 100644
--- a/i18n/api/vi.json
+++ b/i18n/api/vi.json
@@ -4,6 +4,7 @@
 			"Dinhxuanduyet",
 			"Minh Nguyen",
 			"NguoiDungKhongDinhDanh",
+			"NguyenHung",
 			"Nguyenphutrong2",
 			"Pisceskaze"
 		]
@@ -27,6 +28,7 @@
 	"apihelp-abusefilterunblockautopromote-summary": "Bỏ chặn người dùng nhận quảng cáo tự động do hậu quả của bộ lọc lạm dụng.",
 	"apihelp-abusefilterunblockautopromote-param-user": "Tên người dùng của người dùng mà bạn muốn bỏ khóa.",
 	"apihelp-abusefilterunblockautopromote-example-1": "Gỡ lệnh cấm tự động cấp quyền cho [[User:Example]].",
+	"apihelp-query+abusefilters-summary": "Hiển thị chi tiết của các bộ lọc sai phạm.",
 	"apihelp-query+abusefilters-param-startid": "ID bộ lọc để bắt đầu việc đếm.",
 	"apihelp-query+abusefilters-param-endid": "ID bộ lọc để dừng việc đếm.",
 	"apihelp-query+abusefilters-param-show": "Chỉ hiện các bộ lọc đáp ứng được những tiêu chí này.",
@@ -34,6 +36,8 @@
 	"apihelp-query+abusefilters-param-prop": "Thuộc tính mà bạn muốn lấy.",
 	"apihelp-query+abusefilters-example-1": "Danh sách kích hoạt các bộ lọc công cộng",
 	"apihelp-query+abusefilters-example-2": "Hiện một số chi tiết về các bộ lọc",
+	"apihelp-query+abuselog-summary": "Hiển thị các sự kiện bị phát hiện bởi một trong các bộ lọc sai phạm.",
+	"apihelp-query+abuselog-param-logid": "Hiển thị một mục có ID nhật ký nhất định.",
 	"apihelp-query+abuselog-param-start": "Các dấu thời gian (timestamp) để bắt đầu việc đếm.",
 	"apihelp-query+abuselog-param-end": "Dấu thời gian để dừng việc đếm.",
 	"apihelp-query+abuselog-param-user": "Chỉ hiện các mục được thực hiện bởi một người dùng hoặc địa chỉ IP.",
diff --git a/i18n/ar.json b/i18n/ar.json
index f9ac25c..86ca3b9 100644
--- a/i18n/ar.json
+++ b/i18n/ar.json
@@ -346,7 +346,7 @@
 	"abusefilter-edit-builder-op-bool-not": "ليس (!)",
 	"abusefilter-edit-builder-op-bool-and": "و (&)",
 	"abusefilter-edit-builder-op-bool-or": "أو (|)",
-	"abusefilter-edit-builder-op-bool-xor": "حصري أو (^)",
+	"abusefilter-edit-builder-op-bool-xor": "حصري أو ($1)",
 	"abusefilter-edit-builder-group-misc": "منوعات",
 	"abusefilter-edit-builder-misc-in": "موجود في سلسلة (in)",
 	"abusefilter-edit-builder-misc-contains": "السلسلة اليسرى تحتوي على السلسلة اليمنى (contains)",
diff --git a/i18n/arz.json b/i18n/arz.json
index 7da3964..33cb855 100644
--- a/i18n/arz.json
+++ b/i18n/arz.json
@@ -171,7 +171,7 @@
 	"abusefilter-edit-builder-op-bool-not": "ليس (!)",
 	"abusefilter-edit-builder-op-bool-and": "و (&)",
 	"abusefilter-edit-builder-op-bool-or": "أو (|)",
-	"abusefilter-edit-builder-op-bool-xor": "حصرى أو (^)",
+	"abusefilter-edit-builder-op-bool-xor": "حصرى أو ($1)",
 	"abusefilter-edit-builder-group-misc": "منوعات",
 	"abusefilter-edit-builder-misc-in": "موجود فى سلسله (in)",
 	"abusefilter-edit-builder-misc-contains": "السلسله اليسرى تحتوى على السلسله اليمنى (contains)",
diff --git a/i18n/az.json b/i18n/az.json
index 67bcea0..751e8ca 100644
--- a/i18n/az.json
+++ b/i18n/az.json
@@ -257,7 +257,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Qeyd (!)",
 	"abusefilter-edit-builder-op-bool-and": "Və (&)",
 	"abusefilter-edit-builder-op-bool-or": "Və ya (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Müxtəlif",
 	"abusefilter-edit-builder-misc-in": "Sətirdə var (in)",
 	"abusefilter-edit-builder-misc-like": "Şablona müvafiq (like)",
diff --git a/i18n/bar.json b/i18n/bar.json
index baf4826..a73d1ae 100644
--- a/i18n/bar.json
+++ b/i18n/bar.json
@@ -10,6 +10,5 @@
 	"abusefilter-log-search-title": "Titel:",
 	"abusefilter-log-search-submit": "Suachen",
 	"abusefilter-log-linkoncontribs": "Missbrauchsfüter-Lógbiaché",
-	"abusefilter-log-hide-reason": "Grund:",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)"
+	"abusefilter-log-hide-reason": "Grund:"
 }
diff --git a/i18n/bcc.json b/i18n/bcc.json
deleted file mode 100644
index f43a920..0000000
--- a/i18n/bcc.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Sultanselim baloch"
-		]
-	},
-	"abusefilter-edit-builder-vars-new-text": "نۏکݔں تاکء نبشتہ بے پدگاری اِنت۔"
-}
diff --git a/i18n/be.json b/i18n/be.json
index a896730..eccf0a3 100644
--- a/i18n/be.json
+++ b/i18n/be.json
@@ -1,6 +1,7 @@
 {
 	"@metadata": {
 		"authors": [
+			"Amire80",
 			"Artsiom91",
 			"Kareyac",
 			"LexArt",
@@ -243,7 +244,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Не (!)",
 	"abusefilter-edit-builder-op-bool-and": "І (&)",
 	"abusefilter-edit-builder-op-bool-or": "Або (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Выключаючае АБО (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Выключаючае АБО ($1)",
 	"abusefilter-edit-builder-group-misc": "Розныя",
 	"abusefilter-edit-builder-misc-in": "знаходзіцца ў радку (in)",
 	"abusefilter-edit-builder-misc-contains": "Левы радок змяшчае правы радок (contains)",
diff --git a/i18n/bg.json b/i18n/bg.json
index ce6d384..171c5e3 100644
--- a/i18n/bg.json
+++ b/i18n/bg.json
@@ -302,7 +302,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Не (!)",
 	"abusefilter-edit-builder-op-bool-and": "И (&)",
 	"abusefilter-edit-builder-op-bool-or": "Или (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Изключващо ИЛИ (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Изключващо ИЛИ ($1)",
 	"abusefilter-edit-builder-group-misc": "Разни",
 	"abusefilter-edit-builder-misc-in": "съдържа се в низа (in)",
 	"abusefilter-edit-builder-misc-contains": "Левият низ съдържа десния низ (contains)",
diff --git a/i18n/bho.json b/i18n/bho.json
deleted file mode 100644
index 7708cab..0000000
--- a/i18n/bho.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-	"@metadata": {
-		"authors": [
-			"Nepaboy"
-		]
-	},
-	"abusefilter-edit-builder-vars-user-rights": "अधिकार जौन प्रयोगकर्ता के पास बा"
-}
diff --git a/i18n/bs.json b/i18n/bs.json
index 5339622..fe5528d 100644
--- a/i18n/bs.json
+++ b/i18n/bs.json
@@ -206,7 +206,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Ne (!)",
 	"abusefilter-edit-builder-op-bool-and": "I (&)",
 	"abusefilter-edit-builder-op-bool-or": "Ili (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Više/ili (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Više/ili ($1)",
 	"abusefilter-edit-builder-group-misc": "Različito",
 	"abusefilter-edit-builder-misc-in": "Nalazi se u liniji (in)",
 	"abusefilter-edit-builder-misc-contains": "Lijevi string sadrži desni string (contains)",
diff --git a/i18n/ce.json b/i18n/ce.json
index 54d441f..cda4e00 100644
--- a/i18n/ce.json
+++ b/i18n/ce.json
@@ -315,7 +315,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Дац (!)",
 	"abusefilter-edit-builder-op-bool-and": ", (&)",
 	"abusefilter-edit-builder-op-bool-or": "ЙА (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Йукъарайохурш ЙА (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Йукъарайохурш ЙА ($1)",
 	"abusefilter-edit-builder-group-misc": "Тайп-тайпанара",
 	"abusefilter-edit-builder-misc-in": "МогӀан (in) чохь йу",
 	"abusefilter-edit-builder-misc-contains": "Харцахьара могӀан чохь бу бакъахьара могӀа (contains)",
diff --git a/i18n/de.json b/i18n/de.json
index a91b99a..ea752a6 100644
--- a/i18n/de.json
+++ b/i18n/de.json
@@ -330,139 +330,139 @@
 	"abusefilter-edit-invalid-group": "Die angegebene Filtergruppe („$1“) ist nicht gültig.",
 	"abusefilter-edit-builder-select": "Wähle eine Option aus, um sie am Cursor einzufügen",
 	"abusefilter-edit-builder-group-op-arithmetic": "Arithmetische Operatoren",
-	"abusefilter-edit-builder-op-arithmetic-addition": "Addition (+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "Subtraktion (-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "Multiplikation (*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "Division (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "Modulo (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "Potenz (**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "Addition ($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "Subtraktion ($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "Multiplikation ($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "Division ($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "Modulo ($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "Potenz ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "Vergleichsoperatoren",
-	"abusefilter-edit-builder-op-comparison-equal": "Wert ist gleich (==)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "Wert und Typ sind gleich (===)",
-	"abusefilter-edit-builder-op-comparison-notequal": "Wert ist nicht gleich (!=)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "Wert und Typ sind nicht gleich (!==)",
-	"abusefilter-edit-builder-op-comparison-lt": "Kleiner als (<)",
-	"abusefilter-edit-builder-op-comparison-gt": "Größer als (>)",
-	"abusefilter-edit-builder-op-comparison-lte": "Kleiner oder gleich (<=)",
-	"abusefilter-edit-builder-op-comparison-gte": "Größer oder gleich (>=)",
+	"abusefilter-edit-builder-op-comparison-equal": "Wert ist gleich ($1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "Wert und Typ sind gleich ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "Wert ist nicht gleich ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "Wert und Typ sind nicht gleich ($1)",
+	"abusefilter-edit-builder-op-comparison-lt": "Kleiner als ($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "Größer als ($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "Kleiner oder gleich ($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "Größer oder gleich ($1)",
 	"abusefilter-edit-builder-group-op-bool": "Boolesche Operatoren",
-	"abusefilter-edit-builder-op-bool-not": "Nicht (!)",
-	"abusefilter-edit-builder-op-bool-and": "Und (&)",
-	"abusefilter-edit-builder-op-bool-or": "Oder (|)",
+	"abusefilter-edit-builder-op-bool-not": "Nicht ($1)",
+	"abusefilter-edit-builder-op-bool-and": "Und ($1)",
+	"abusefilter-edit-builder-op-bool-or": "Oder ($1)",
 	"abusefilter-edit-builder-group-misc": "Verschiedenes",
-	"abusefilter-edit-builder-misc-in": "enthalten in Zeichenfolge (in)",
-	"abusefilter-edit-builder-misc-contains": "Linke Zeichenkette beinhaltet rechte Zeichenkette (contains)",
-	"abusefilter-edit-builder-misc-like": "Passt zu Muster (like)",
-	"abusefilter-edit-builder-misc-stringlit": "Feste Zeichenkette (\"\")",
-	"abusefilter-edit-builder-misc-rlike": "Passt auf regulären Ausdruck (rlike)",
-	"abusefilter-edit-builder-misc-irlike": "Passt auf regulären Ausdruck ohne Beachtung von Groß- und Kleinschreibung (irlike)",
-	"abusefilter-edit-builder-misc-tern": "Kurze Operatoren (X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "Konditional (if X then Y else Z end)",
-	"abusefilter-edit-builder-misc-cond-short": "Kurze Bedingung (if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "enthalten in Zeichenfolge ($1)",
+	"abusefilter-edit-builder-misc-contains": "Linke Zeichenkette beinhaltet rechte Zeichenkette ($1)",
+	"abusefilter-edit-builder-misc-like": "Passt zu Muster ($1)",
+	"abusefilter-edit-builder-misc-stringlit": "Feste Zeichenkette ($1)",
+	"abusefilter-edit-builder-misc-rlike": "Passt auf regulären Ausdruck ($1)",
+	"abusefilter-edit-builder-misc-irlike": "Passt auf regulären Ausdruck ohne Beachtung von Groß- und Kleinschreibung ($1)",
+	"abusefilter-edit-builder-misc-tern": "Kurze Operatoren ($1)",
+	"abusefilter-edit-builder-misc-cond": "Konditional ($1)",
+	"abusefilter-edit-builder-misc-cond-short": "Kurze Bedingung ($1)",
 	"abusefilter-edit-builder-group-funcs": "Funktionen",
-	"abusefilter-edit-builder-funcs-length": "Länge der Zeichenfolge (length)",
-	"abusefilter-edit-builder-funcs-lcase": "In Kleinbuchstaben konvertieren (lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "In Großbuchstaben konvertieren (ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "Verwirrende Zeichen normalisieren (ccnorm)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Normalisiert und sucht in der Zeichenfolge nach mehreren Unterzeichenfolgen im OR-Modus (ccnorm_contains_any)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Normalisiert und sucht in der Zeichenfolge nach mehreren Unterzeichenfolgen im AND-Modus (ccnorm_contains_all)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "Doppelte Zeichen entfernen (rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "Sonderzeichen / Gesamtzahl der Zeichen (specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "Normalisieren (norm)",
-	"abusefilter-edit-builder-funcs-count": "Anzahl der Vorkommnisse der Zeichenfolge X in der Zeichenfolge Y (count)",
-	"abusefilter-edit-builder-funcs-rcount": "Anzahl des regulären Ausdrucks X in Zeichenkette Y (rcount)",
-	"abusefilter-edit-builder-funcs-get_matches": "Anordnung von Regex-Treffern innerhalb eines Textes für jede Erfassungsgruppe (get_matches)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "Leerzeichen entfernen (rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "Sonderzeichen entfernen (rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "Befindet sich die IP-Adresse im angegebenen Adressbereich? (ip_in_range)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "Befindet sich die IP-Adresse in einem der Bereiche? (ip_in_ranges)",
-	"abusefilter-edit-builder-funcs-contains-any": "Sucht in der Zeichenfolge nach mehreren Unterzeichenfolgen im OR-Modus (contains_any)",
-	"abusefilter-edit-builder-funcs-contains-all": "Sucht in der Zeichenfolge nach mehreren Unterzeichenfolgen im AND-Modus (contains_all)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "Überprüfen, ob ein angegebenes Argument gleich (===) mit einem der folgenden Argumente ist (equals_to_any)",
-	"abusefilter-edit-builder-funcs-substr": "Teil-Zeichenkette (substr)",
-	"abusefilter-edit-builder-funcs-strpos": "Position der Teil-Zeichenkette in der Zeichenkette (strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "Ersetze Teil-Zeichenkette durch Zeichenkette (str_replace)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "Suchen und Ersetzen durch reguläre Ausdrücke (str_replace_regexp)",
-	"abusefilter-edit-builder-funcs-rescape": "Escape-Zeichenfolge als Buchstabensymbol in einem regulären Ausdruck (rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "Variable setzen (set_var)",
-	"abusefilter-edit-builder-funcs-sanitize": "HTML-Entitäten in Unicode-Zeichen normalisieren (sanitize)",
+	"abusefilter-edit-builder-funcs-length": "Länge der Zeichenfolge ($1)",
+	"abusefilter-edit-builder-funcs-lcase": "In Kleinbuchstaben konvertieren ($1)",
+	"abusefilter-edit-builder-funcs-ucase": "In Großbuchstaben konvertieren ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "Verwirrende Zeichen normalisieren ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Normalisiert und sucht in der Zeichenfolge nach mehreren Unterzeichenfolgen im OR-Modus ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Normalisiert und sucht in der Zeichenfolge nach mehreren Unterzeichenfolgen im AND-Modus ($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "Doppelte Zeichen entfernen ($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "Sonderzeichen / Gesamtzahl der Zeichen ($1)",
+	"abusefilter-edit-builder-funcs-norm": "Normalisieren ($1)",
+	"abusefilter-edit-builder-funcs-count": "Anzahl der Vorkommnisse der Zeichenfolge X in der Zeichenfolge Y ($1)",
+	"abusefilter-edit-builder-funcs-rcount": "Anzahl des regulären Ausdrucks X in Zeichenkette Y ($1)",
+	"abusefilter-edit-builder-funcs-get_matches": "Anordnung von Regex-Treffern innerhalb eines Textes für jede Erfassungsgruppe ($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "Leerzeichen entfernen ($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "Sonderzeichen entfernen ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "Befindet sich die IP-Adresse im angegebenen Adressbereich? ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "Befindet sich die IP-Adresse in einem der Bereiche? ($1)",
+	"abusefilter-edit-builder-funcs-contains-any": "Sucht in der Zeichenfolge nach mehreren Unterzeichenfolgen im OR-Modus ($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "Sucht in der Zeichenfolge nach mehreren Unterzeichenfolgen im AND-Modus ($1)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "Überprüfen, ob ein angegebenes Argument gleich (===) mit einem der folgenden Argumente ist ($1)",
+	"abusefilter-edit-builder-funcs-substr": "Teil-Zeichenkette ($1)",
+	"abusefilter-edit-builder-funcs-strpos": "Position der Teil-Zeichenkette in der Zeichenkette ($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "Ersetze Teil-Zeichenkette durch Zeichenkette ($1)",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "Suchen und Ersetzen durch reguläre Ausdrücke ($1)",
+	"abusefilter-edit-builder-funcs-rescape": "Escape-Zeichenfolge als Buchstabensymbol in einem regulären Ausdruck ($1)",
+	"abusefilter-edit-builder-funcs-set_var": "Variable setzen ($1)",
+	"abusefilter-edit-builder-funcs-sanitize": "HTML-Entitäten in Unicode-Zeichen normalisieren ($1)",
 	"abusefilter-edit-builder-group-vars": "Variablen",
-	"abusefilter-edit-builder-vars-timestamp": "Zeitstempel der Änderung im Unix-Format",
-	"abusefilter-edit-builder-vars-accountname": "Benutzername (bei Erstellung eines Benutzerkontos)",
-	"abusefilter-edit-builder-vars-action": "Aktion",
-	"abusefilter-edit-builder-vars-addedlines": "Durch die Bearbeitung hinzugefügte Zeilen",
-	"abusefilter-edit-builder-vars-delta": "Größenänderung der Bearbeitung",
-	"abusefilter-edit-builder-vars-diff": "Vereinigter Versionsunterschied der Bearbeitung",
-	"abusefilter-edit-builder-vars-newsize": "Neue Seitengröße",
-	"abusefilter-edit-builder-vars-oldsize": "Alte Seitengröße",
-	"abusefilter-edit-builder-vars-new-content-model": "Neues Inhaltsmodell",
-	"abusefilter-edit-builder-vars-old-content-model": "Altes Inhaltsmodell",
-	"abusefilter-edit-builder-vars-removedlines": "Durch die Bearbeitung entfernte Zeilen",
-	"abusefilter-edit-builder-vars-summary": "Zusammenfassung",
-	"abusefilter-edit-builder-vars-page-id": "Seitenkennnummer",
-	"abusefilter-edit-builder-vars-page-ns": "Namensraum der Seite",
-	"abusefilter-edit-builder-vars-page-title": "Titel der Seite (ohne Namensraum)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "Vollständiger Seitentitel",
-	"abusefilter-edit-builder-vars-page-age": "Seitenalter (in Sekunden)",
-	"abusefilter-edit-builder-vars-page-last-edit-age": "Zeit seit der letzten Seitenbearbeitung (in Sekunden)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "Seiten-ID der Quellseite",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "Namensraum der Quellseite",
-	"abusefilter-edit-builder-vars-movedfrom-title": "Titel der Quellseite",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Vollständiger Titel der Quellseite",
-	"abusefilter-edit-builder-vars-movedfrom-age": "Verschiebe-Quellseiten-Alter (in Sekunden)",
-	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Zeit seit der letzten Änderung der Quellseite (in Sekunden)",
-	"abusefilter-edit-builder-vars-movedto-id": "Seiten-ID der Zielseite",
-	"abusefilter-edit-builder-vars-movedto-ns": "Namensraum der Zielseite",
-	"abusefilter-edit-builder-vars-movedto-title": "Titel der Zielseite",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Vollständiger Titel der Zielseite",
-	"abusefilter-edit-builder-vars-movedto-age": "Verschiebe-Zielseiten-Alter (in Sekunden)",
-	"abusefilter-edit-builder-vars-movedto-last-edit-age": "Zeit seit der letzten Änderung der Zielseite (in Sekunden)",
-	"abusefilter-edit-builder-vars-user-editcount": "Beitragszahl des Benutzers",
-	"abusefilter-edit-builder-vars-user-age": "Alter des Benutzerkontos",
-	"abusefilter-edit-builder-vars-user-name": "Name des Benutzerkontos",
-	"abusefilter-edit-builder-vars-user-type": "Typ des Benutzerkontos",
-	"abusefilter-edit-builder-vars-user-groups": "Gruppen (auch implizite), in denen der Benutzer Mitglied ist",
-	"abusefilter-edit-builder-vars-user-rights": "Rechte, die ein Benutzer hat",
-	"abusefilter-edit-builder-vars-user-blocked": "Ob der Benutzer gesperrt ist",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "Zeitpunkt, an dem die E-Mail-Adresse bestätigt wurde",
-	"abusefilter-edit-builder-vars-old-wikitext": "Alter Wikitext der Seite, vor der Bearbeitung",
-	"abusefilter-edit-builder-vars-new-wikitext": "Neuer Wikitext der Seite, nach der Bearbeitung",
-	"abusefilter-edit-builder-vars-added-links": "Alle durch die Bearbeitung hinzugefügten externen Links",
-	"abusefilter-edit-builder-vars-removed-links": "Alle durch die Bearbeitung entfernten externen Links",
-	"abusefilter-edit-builder-vars-all-links": "Alle externen Links im neuen Text",
-	"abusefilter-edit-builder-vars-new-pst": "Neuer Seitenwikitext, vor dem Speichern umgewandelt",
-	"abusefilter-edit-builder-vars-diff-pst": "Vereinigter Änderungsunterschied nach Bearbeitung, vor dem Speichern umgewandelt",
-	"abusefilter-edit-builder-vars-addedlines-pst": "Zeilen in der Bearbeitung hinzugefügt, vor dem Speichern umgewandelt",
-	"abusefilter-edit-builder-vars-new-text": "Neuer Seitentext, von jeglicher Textauszeichnung befreit",
-	"abusefilter-edit-builder-vars-new-html": "HTML-Quelltext der neuen Version",
-	"abusefilter-edit-builder-vars-restrictions-edit": "Bearbeiten-Schutzstufe der Seite",
-	"abusefilter-edit-builder-vars-restrictions-move": "Verschieben-Schutzstufe der Seite",
-	"abusefilter-edit-builder-vars-restrictions-create": "Erstellschutz der Seite",
-	"abusefilter-edit-builder-vars-restrictions-upload": "Hochladeschutz der Datei",
-	"abusefilter-edit-builder-vars-recent-contributors": "Die letzten zehn Bearbeiter der Seite",
-	"abusefilter-edit-builder-vars-first-contributor": "Erster Autor der Seite",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "Bearbeitungs-Schutzstatus der Verschiebe-Quellseite",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Verschiebe-Schutzstatus der Verschiebe-Quellseite",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "Erstellschutz der Verschiebe-Quellseite",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "Hochladeschutz der Verschiebe-Quelldatei",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Letzte zehn Benutzer, die zur Verschiebung der Quellseite beitragen.",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Erster Benutzer, der zur Verschiebung der Quellseite beiträgt.",
-	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "Bearbeitungs-Schutzstatus der Verschiebe-Zielseite",
-	"abusefilter-edit-builder-vars-movedto-restrictions-move": "Verschiebe-Schutzstatus der Verschiebe-Zielseite",
-	"abusefilter-edit-builder-vars-movedto-restrictions-create": "Erstellschutz der Verschiebe-Zielseite",
-	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "Hochladeschutz der Verschiebe-Zieldatei",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "Letzte zehn Benutzer, die zur Verschiebung der Zielseite beitragen.",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "Erster Benutzer, der zur Verschiebung der Zielseite beiträgt.",
-	"abusefilter-edit-builder-vars-old-links": "Links der Seite, vor der Bearbeitung",
-	"abusefilter-edit-builder-vars-file-sha1": "SHA1-Hash von Dateiinhalt",
-	"abusefilter-edit-builder-vars-file-size": "Dateigröße in Bytes",
-	"abusefilter-edit-builder-vars-file-mime": "MIME-Typ der Datei",
-	"abusefilter-edit-builder-vars-file-mediatype": "Medientyp der Datei",
-	"abusefilter-edit-builder-vars-file-width": "Breite der Datei in Pixel",
-	"abusefilter-edit-builder-vars-file-height": "Höhe der Datei in Pixel",
-	"abusefilter-edit-builder-vars-file-bits-per-channel": "Bits pro Farbkanal der Datei",
-	"abusefilter-edit-builder-vars-wiki-name": "Datenbankname des Wikis",
-	"abusefilter-edit-builder-vars-wiki-language": "Sprachcode des Wikis",
+	"abusefilter-edit-builder-vars-timestamp": "Zeitstempel der Änderung im Unix-Format ($1)",
+	"abusefilter-edit-builder-vars-accountname": "Kontoname bei Kontoerstellung ($1)",
+	"abusefilter-edit-builder-vars-action": "Aktion ($1)",
+	"abusefilter-edit-builder-vars-addedlines": "Durch die Bearbeitung hinzugefügte Zeilen ($1)",
+	"abusefilter-edit-builder-vars-delta": "Größenänderung der Bearbeitung ($1)",
+	"abusefilter-edit-builder-vars-diff": "Vereinigter Versionsunterschied der Bearbeitung ($1)",
+	"abusefilter-edit-builder-vars-newsize": "Neue Seitengröße ($1)",
+	"abusefilter-edit-builder-vars-oldsize": "Alte Seitengröße ($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "Neues Inhaltsmodell ($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "Altes Inhaltsmodell ($1)",
+	"abusefilter-edit-builder-vars-removedlines": "Durch die Bearbeitung entfernte Zeilen ($1)",
+	"abusefilter-edit-builder-vars-summary": "Zusammenfassung/Grund ($1)",
+	"abusefilter-edit-builder-vars-page-id": "Seitenkennnummer ($1)",
+	"abusefilter-edit-builder-vars-page-ns": "Namensraum der Seite ($1)",
+	"abusefilter-edit-builder-vars-page-title": "Titel der Seite ohne Namensraum ($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "Vollständiger Seitentitel ($1)",
+	"abusefilter-edit-builder-vars-page-age": "Seitenalter in Sekunden ($1)",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "Zeit seit der letzten Seitenbearbeitung in Sekunden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "Seiten-ID der Quellseite ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "Namensraum der Quellseite ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "Titel der Quellseite ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Vollständiger Titel der Quellseite ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "Verschiebe-Quellseiten-Alter in Sekunden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Zeit seit der letzten Änderung der Quellseite in Sekunden ($1)",
+	"abusefilter-edit-builder-vars-movedto-id": "Seiten-ID der Zielseite ($1)",
+	"abusefilter-edit-builder-vars-movedto-ns": "Namensraum der Zielseite ($1)",
+	"abusefilter-edit-builder-vars-movedto-title": "Titel der Zielseite ($1)",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Vollständiger Titel der Zielseite ($1)",
+	"abusefilter-edit-builder-vars-movedto-age": "Verschiebe-Zielseiten-Alter in Sekunden ($1)",
+	"abusefilter-edit-builder-vars-movedto-last-edit-age": "Zeit seit der letzten Änderung der Zielseite in Sekunden ($1)",
+	"abusefilter-edit-builder-vars-user-editcount": "Beitragszahl des Benutzers ($1)",
+	"abusefilter-edit-builder-vars-user-age": "Alter des Benutzerkontos ($1)",
+	"abusefilter-edit-builder-vars-user-name": "Name des Benutzerkontos ($1)",
+	"abusefilter-edit-builder-vars-user-type": "Typ des Benutzerkontos ($1)",
+	"abusefilter-edit-builder-vars-user-groups": "Gruppen (auch implizite), in denen der Benutzer Mitglied ist ($1)",
+	"abusefilter-edit-builder-vars-user-rights": "Rechte, die ein Benutzer hat ($1)",
+	"abusefilter-edit-builder-vars-user-blocked": "Ob der Benutzer gesperrt ist ($1)",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "Zeitpunkt, an dem die E-Mail-Adresse bestätigt wurde ($1)",
+	"abusefilter-edit-builder-vars-old-wikitext": "Alter Wikitext der Seite, vor der Bearbeitung ($1)",
+	"abusefilter-edit-builder-vars-new-wikitext": "Neuer Wikitext der Seite, nach der Bearbeitung ($1)",
+	"abusefilter-edit-builder-vars-added-links": "Alle durch die Bearbeitung hinzugefügten externen Links ($1)",
+	"abusefilter-edit-builder-vars-removed-links": "Alle durch die Bearbeitung entfernten externen Links ($1)",
+	"abusefilter-edit-builder-vars-all-links": "Alle externen Links im neuen Text ($1)",
+	"abusefilter-edit-builder-vars-new-pst": "Neuer Seitenwikitext, vor dem Speichern umgewandelt ($1)",
+	"abusefilter-edit-builder-vars-diff-pst": "Vereinigter Änderungsunterschied nach Bearbeitung, vor dem Speichern umgewandelt ($1)",
+	"abusefilter-edit-builder-vars-addedlines-pst": "Zeilen in der Bearbeitung hinzugefügt, vor dem Speichern umgewandelt ($1)",
+	"abusefilter-edit-builder-vars-new-text": "Neuer Seitentext, von jeglicher Textauszeichnung befreit ($1)",
+	"abusefilter-edit-builder-vars-new-html": "HTML-Quelltext der neuen Version ($1)",
+	"abusefilter-edit-builder-vars-restrictions-edit": "Bearbeiten-Schutzstufe der Seite ($1)",
+	"abusefilter-edit-builder-vars-restrictions-move": "Verschieben-Schutzstufe der Seite ($1)",
+	"abusefilter-edit-builder-vars-restrictions-create": "Erstellschutz der Seite ($1)",
+	"abusefilter-edit-builder-vars-restrictions-upload": "Hochladeschutz der Datei ($1)",
+	"abusefilter-edit-builder-vars-recent-contributors": "Die letzten zehn Bearbeiter der Seite ($1)",
+	"abusefilter-edit-builder-vars-first-contributor": "Erster Autor der Seite ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "Bearbeitungs-Schutzstatus der Verschiebe-Quellseite ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Verschiebe-Schutzstatus der Verschiebe-Quellseite ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "Erstellschutz der Verschiebe-Quellseite ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "Hochladeschutz der Verschiebe-Quelldatei ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Letzte zehn Benutzer, die zur Verschiebung der Quellseite beitragen ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Erster Benutzer, der zur Verschiebung der Quellseite beiträgt ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "Bearbeitungs-Schutzstatus der Verschiebe-Zielseite ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-move": "Verschiebe-Schutzstatus der Verschiebe-Zielseite ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-create": "Erstellschutz der Verschiebe-Zielseite ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "Hochladeschutz der Verschiebe-Zieldatei ($1)",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "Letzte zehn Benutzer, die zur Verschiebung der Zielseite beitragen ($1)",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "Erster Benutzer, der zur Verschiebung der Zielseite beiträgt ($1)",
+	"abusefilter-edit-builder-vars-old-links": "Links der Seite, vor der Bearbeitung ($1)",
+	"abusefilter-edit-builder-vars-file-sha1": "SHA1-Hash von Dateiinhalt ($1)",
+	"abusefilter-edit-builder-vars-file-size": "Dateigröße in Bytes ($1)",
+	"abusefilter-edit-builder-vars-file-mime": "MIME-Typ der Datei ($1)",
+	"abusefilter-edit-builder-vars-file-mediatype": "Medientyp der Datei ($1)",
+	"abusefilter-edit-builder-vars-file-width": "Breite der Datei in Pixel ($1)",
+	"abusefilter-edit-builder-vars-file-height": "Höhe der Datei in Pixel ($1)",
+	"abusefilter-edit-builder-vars-file-bits-per-channel": "Bits pro Farbkanal der Datei ($1)",
+	"abusefilter-edit-builder-vars-wiki-name": "Datenbankname des Wikis ($1)",
+	"abusefilter-edit-builder-vars-wiki-language": "Sprachcode des Wikis ($1)",
 	"abusefilter-edit-builder-vars-old-text": "Alter Seitentext, von jeglicher Textauszeichnung befreit (nicht mehr in Verwendung)",
 	"abusefilter-edit-builder-vars-old-html": "HTML-Quelltext der alten Version (nicht mehr in Verwendung)",
 	"abusefilter-edit-builder-vars-minor-edit": "Ob die Bearbeitung als geringfügig markiert ist oder nicht (nicht mehr in Verwendung)",
diff --git a/i18n/diq.json b/i18n/diq.json
index 6bb6214..7b63a52 100644
--- a/i18n/diq.json
+++ b/i18n/diq.json
@@ -320,7 +320,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Ne (!)",
 	"abusefilter-edit-builder-op-bool-and": "U (&)",
 	"abusefilter-edit-builder-op-bool-or": "Ya zi (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Binan",
 	"abusefilter-edit-builder-misc-in": "rêza de esto (in)",
 	"abusefilter-edit-builder-misc-contains": "Rêza çepe rêza raşte ihtıwa kena (contains)",
diff --git a/i18n/es.json b/i18n/es.json
index 930774c..814864e 100644
--- a/i18n/es.json
+++ b/i18n/es.json
@@ -407,8 +407,8 @@
 	"abusefilter-edit-builder-funcs-rmspecials": "Eliminar caracteres especiales (rmspecials)",
 	"abusefilter-edit-builder-funcs-ip_in_range": "¿Está la IP dentro del intervalo? (ip_in_range)",
 	"abusefilter-edit-builder-funcs-ip_in_ranges": "Está la IP en alguno de los rangos? (ip_in_ranges)",
-	"abusefilter-edit-builder-funcs-contains-any": "Buscar en una cadena varias subcadenas en el modo OR. (contains_any)",
-	"abusefilter-edit-builder-funcs-contains-all": "Buscar en una cadena varias subcadenas en el modo AND. (contains_all)",
+	"abusefilter-edit-builder-funcs-contains-any": "Cadena de búsqueda para múltiples subcadenas en modo OR ($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "Cadena de búsqueda para múltiples subcadenas en modo AND ($1)",
 	"abusefilter-edit-builder-funcs-equals-to-any": "Comprobar si el primer argumento es igual (===) a alguno de los argumentos siguientes (equals_to_any)",
 	"abusefilter-edit-builder-funcs-substr": "Subcadena (substr)",
 	"abusefilter-edit-builder-funcs-strpos": "Posición de la subcadena en la cadena (strpos)",
diff --git a/i18n/et.json b/i18n/et.json
index 5b6aa64..c37a5ef 100644
--- a/i18n/et.json
+++ b/i18n/et.json
@@ -2,6 +2,7 @@
 	"@metadata": {
 		"authors": [
 			"Avjoska",
+			"Castellum",
 			"Cumbril",
 			"Matma Rex",
 			"Morel",
@@ -13,6 +14,7 @@
 	"abusefilter": "Väärtarvitusfiltrite haldamine",
 	"abuselog": "Väärtarvitusfiltrite logi",
 	"abusefilter-intro": "Tere tulemast väärtarvitusfiltrite haldamisliidesesse.\nVäärtarvitusfilter on mehhanism, mis rakendab kõigi muudatuste juures automaatset heuristikat.\nLiidesega saab vaadata määratletud filtrite loendit ja filtreid muuta.",
+	"abusefilter-mustviewprivateoredit": "Turvalisuse huvides on see liides ainult kasutajatele, kellel on õigus kinniseid väärtarvitusfiltreid vaadata või muuta.",
 	"abusefilter-warning": "'''Hoiatus''': See toiming on automaatselt kahjulikuks arvatud.\nEbaasjalikud tegevused pööratakse kiiresti tagasi\nning korduvate ja halvimate muudatuste tagajärjel blokeeritakse su konto või IP-aadress.\nKui arvad selle toimingu asjaliku olevat, võid kinnituseks selle uuesti salvestada.\nSinu toimingule vastanud väärtarvitusfiltri reegli lühikirjeldus: $1",
 	"abusefilter-disallowed": "See toiming on automaatselt kahjulikuks arvatud ja on seetõttu keelatud.\nKui arvad toimingu asjaliku olevat, võta palun teha soovitud muudatuse asjus administraatoriga ühendust.\nSinu toimingule vastanud väärtarvitusfiltri reegli lühikirjeldus: $1",
 	"abusefilter-blocked-display": "See toiming on automaatselt kahjulikuks arvatud\nja sul ei lastud seda sooritada.\nKaitsmaks {{GRAMMAR:partitive|{{SITENAME}}}} on lisaks sellele sinu konto ja kõikide seostuvate IP-aadresside redigeerimisõigus blokeeritud.\nKui tegu on eksitusega, võta palun ühendust administraatoriga.\nSinu toimingule vastanud väärtarvitusfiltri reegli lühikirjeldus: $1",
@@ -80,6 +82,7 @@
 	"abusefilter-log-detailslink": "üksikasjad",
 	"abusefilter-log-diff": "erin",
 	"abusefilter-log-hidelink": "seadista nähtavust",
+	"abusefilter-log-hide-entries": "Muuda valitud sissekannete nähtavust",
 	"abusefilter-log-description-not-available": "pole saadaval",
 	"abusefilter-log-details-legend": "Logisissekande $1 üksikasjad",
 	"abusefilter-log-details-var": "Muutuja",
@@ -87,6 +90,7 @@
 	"abusefilter-log-details-vars": "Toimingu parameetrid",
 	"abusefilter-log-details-privatedetails": "Isiklikud logiüksikasjad",
 	"abusefilter-log-details-ip": "Põhjustaja IP-aadress",
+	"abusefilter-log-details-checkuser": "Kontrolli kasutajat",
 	"abusefilter-log-noactions": "ei midagi",
 	"abusefilter-log-noactions-filter": "Puudub",
 	"abusefilter-log-details-diff": "Redigeerimisega tehtud muudatused",
@@ -101,23 +105,31 @@
 	"abusefilter-log-cannot-see-privatedetails": "Sul pole lubatud näha selle sissekande isiklikke üksikasju.",
 	"abusefilter-log-nonexistent": "Toodud ID-ga sissekanne puudub.",
 	"abusefilter-log-details-hidden": "Sa ei saa selle sissekande üksikasju vaadata, sest see on üldsuse eest peidetud.",
+	"abusefilter-log-details-hidden-implicit": "Sa ei saa selle sissekande üksikasju vaadata, kuna sellega seotud redaktsioon on avaliku vaate eest peidetud.",
 	"abusefilter-log-private-not-included": "Määratud identifikaatoritest vähemalt üks vastab kinnisele filtrile. Kuna sul pole lubatud vaadata kinniste filtrite andmeid, siis neid filtreid ei otsitud.",
+	"abusefilter-log-hide-no-selected": "Ühtegi sissekannet pole valitud",
 	"abusefilter-log-hide-legend": "Muuda nähtavust",
+	"abusefilter-log-hide-set-visibility": "Määra valitud sissekannete nähtavus:",
 	"abusefilter-log-hide-reason": "Põhjus:",
 	"abusefilter-log-hide-reason-other": "Muu või täiendav põhjus:",
 	"abusefilter-log-hide-forbidden": "Sul pole õigust peita väärtarvituslogi sissekandeid.",
+	"abusefilter-log-hide-show": "Näita",
+	"abusefilter-log-hide-hide": "Peida",
+	"abusefilter-log-hide-no-change": "Kõigil valitud ID-del on juba soovitud nähtavus.",
 	"abusefilter-log-entry-suppress": "$1 {{GENDER:$2|peitis}} logisissekande $3",
 	"abusefilter-log-entry-unsuppress": "$1 {{GENDER:$2|tühistas}} logisissekande $3 peitmise",
 	"logentry-abusefilter-hit": "$1 {{GENDER:$2|vallandas}} filtri $4, {{GENDER:$2|sooritades}} leheküljel $3 tegevust \"$5\". Toiming: $6 ($7)",
 	"log-action-filter-abusefilter": "Filtri muudatuse tüüp:",
 	"log-action-filter-abusefilter-create": "Uue filtri koostamine",
 	"log-action-filter-abusefilter-modify": "Filtri muutmine",
+	"log-action-filter-suppress-abuselog": "Väärkasutuslogi varjamine",
 	"logentry-abusefilterprivatedetails-access": "$1 {{GENDER:$2|pöördus}} logisissekande $3 isiklike üksikasjade poole",
 	"logentry-abusefilterblockeddomainhit-hit": "{{GENDER:$2|$1}} proovis lisada leheküljele $3 blokeeritud domeeni $4",
 	"abusefilterprivatedetails-log-name": "Väärtarvitusfiltrite isiklike üksikasjade juurdepääsu logi",
 	"log-name-abusefilterblockeddomainhit": "Blokeeritud domeenide tabamuslogi",
 	"abusefilter-list": "Kõik filtrid",
 	"abusefilter-list-id": "Filtri ID",
+	"abusefilter-list-pattern": "Muster",
 	"abusefilter-list-status": "Olek",
 	"abusefilter-list-public": "Avalik kirjeldus",
 	"abusefilter-list-consequences": "Tagajärjed",
@@ -155,6 +167,8 @@
 	"abusefilter-list-options-search-like": "Lihtpäring",
 	"abusefilter-list-options-search-rlike": "Regulaaravaldis",
 	"abusefilter-list-options-search-irlike": "Tõstutundetu regulaaravaldis",
+	"abusefilter-list-invalid-searchmode": "Määratud otsirežiim ei kehti.",
+	"abusefilter-list-regexerror": "Otsimisel ilmnes viga: regulaaravaldise süntaksi viga.",
 	"abusefilter-list-options-submit": "Uuenda",
 	"abusefilter-tools-text": "Siin on mõned tööriistad, mis võivad olla väärtarvitusfiltrite koostamise ja veatõrje juures kasulikud.",
 	"abusefilter-tools-expr": "Avaldiste katsetamine",
diff --git a/i18n/fa.json b/i18n/fa.json
index e19fd13..321dea5 100644
--- a/i18n/fa.json
+++ b/i18n/fa.json
@@ -350,7 +350,6 @@
 	"abusefilter-edit-builder-op-bool-not": "نقیض (!)",
 	"abusefilter-edit-builder-op-bool-and": "و (&)",
 	"abusefilter-edit-builder-op-bool-or": "یا (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "متفرقه",
 	"abusefilter-edit-builder-misc-in": "موجود در یک رشته (in)",
 	"abusefilter-edit-builder-misc-contains": "رشته چپ شامل رشته راست (contains)",
diff --git a/i18n/fr.json b/i18n/fr.json
index 40df74e..688a0ea 100644
--- a/i18n/fr.json
+++ b/i18n/fr.json
@@ -13,6 +13,7 @@
 			"Dr Brains",
 			"Eihel",
 			"Elfix",
+			"Funkytoast",
 			"Golmore",
 			"Gomoko",
 			"Grondin",
@@ -364,7 +365,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Non (!)",
 	"abusefilter-edit-builder-op-bool-and": "Et (&)",
 	"abusefilter-edit-builder-op-bool-or": "Ou (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Divers",
 	"abusefilter-edit-builder-misc-in": "Contenu dans la chaîne de caractères (in)",
 	"abusefilter-edit-builder-misc-contains": "La chaîne de gauche contient la chaîne de droite (contains)",
@@ -392,8 +392,8 @@
 	"abusefilter-edit-builder-funcs-rmspecials": "Supprimer les caractères spéciaux (rmspecials)",
 	"abusefilter-edit-builder-funcs-ip_in_range": "L’adresse IP est-elle dans la plage ? (ip_in_range)",
 	"abusefilter-edit-builder-funcs-ip_in_ranges": "L’IP est-elle dans un des intervalles ? (ip-in-range)",
-	"abusefilter-edit-builder-funcs-contains-any": "Rechercher dans une chaîne des multiples sous-chaînes avec le critère OU (contains_any).",
-	"abusefilter-edit-builder-funcs-contains-all": "Rechercher dans une chaîne des multiples sous-chaînes avec le critère ET (contains_all).",
+	"abusefilter-edit-builder-funcs-contains-any": "Rechercher dans une chaîne des multiples sous-chaînes en mode OR ($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "Rechercher dans une chaîne des multiples sous-chaînes en mode AND ($1)",
 	"abusefilter-edit-builder-funcs-equals-to-any": "Vérifier si un argument donné est égal (===) à l’un des arguments suivants (equals_to_any)",
 	"abusefilter-edit-builder-funcs-substr": "Sous-chaîne (substr)",
 	"abusefilter-edit-builder-funcs-strpos": "Position de la sous-chaîne dans la chaîne (strpos)",
@@ -404,7 +404,7 @@
 	"abusefilter-edit-builder-funcs-sanitize": "Normaliser les entités HTML en caractères Unicode (assainir)",
 	"abusefilter-edit-builder-group-vars": "Variables",
 	"abusefilter-edit-builder-vars-timestamp": "Horodatage Unix de la modification",
-	"abusefilter-edit-builder-vars-accountname": "Nom du compte (lors de la création du compte)",
+	"abusefilter-edit-builder-vars-accountname": "Nom du compte (lors de la création du compte) ($1)",
 	"abusefilter-edit-builder-vars-action": "Action",
 	"abusefilter-edit-builder-vars-addedlines": "Lignes ajoutées par la modification",
 	"abusefilter-edit-builder-vars-delta": "Différence de taille lors de la modification",
@@ -441,10 +441,10 @@
 	"abusefilter-edit-builder-vars-user-rights": "Droits dont dispose l’utilisateur",
 	"abusefilter-edit-builder-vars-user-blocked": "Si l’utilisateur est bloqué",
 	"abusefilter-edit-builder-vars-user-emailconfirm": "Temps depuis la confirmation de l’adresse courriel",
-	"abusefilter-edit-builder-vars-old-wikitext": "Texte wiki de l’ancienne page, avant la modification",
+	"abusefilter-edit-builder-vars-old-wikitext": "Texte wiki de l’ancienne page, avant la modification ($1)",
 	"abusefilter-edit-builder-vars-new-wikitext": "Wikicode de la page après la modification",
 	"abusefilter-edit-builder-vars-added-links": "Tous les liens externes ajoutés dans la modification",
-	"abusefilter-edit-builder-vars-removed-links": "Tous les liens externes retirés lors de la modification",
+	"abusefilter-edit-builder-vars-removed-links": "Tous les liens externes retirés lors de la modification ($1)",
 	"abusefilter-edit-builder-vars-all-links": "Tous les liens externes dans le nouveau texte",
 	"abusefilter-edit-builder-vars-new-pst": "Nouveau wikicode de la page, transformé avant enregistrement",
 	"abusefilter-edit-builder-vars-diff-pst": "Différence unifiée des changements, transformés dans l’aperçu avant l’enregistrement de la modification",
@@ -458,7 +458,7 @@
 	"abusefilter-edit-builder-vars-recent-contributors": "Les dix derniers contributeurs de la page",
 	"abusefilter-edit-builder-vars-first-contributor": "Premier utilisateur à contribuer à cette page",
 	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "Modifier le niveau de protection de la page source déplacée",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Niveau de protection contre le déplacement de la page source déplacée",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Niveau de protection contre le déplacement de la page source déplacée ($1)",
 	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "Créer la protection de la page source déplacée",
 	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "Niveau de protection contre le téléversement du fichier source déplacé",
 	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Dix derniers utilisateurs ayant contribué au déplacement de la page source",
diff --git a/i18n/he.json b/i18n/he.json
index 680419f..0cfbad6 100644
--- a/i18n/he.json
+++ b/i18n/he.json
@@ -314,139 +314,139 @@
 	"abusefilter-edit-invalid-group": "קבוצת המסננים שצוינה (\"$1\") אינה תקינה.",
 	"abusefilter-edit-builder-select": "יש לבחור באפשרות כדי להוסיף אותה",
 	"abusefilter-edit-builder-group-op-arithmetic": "אופרטורים חשבוניים",
-	"abusefilter-edit-builder-op-arithmetic-addition": "חיבור (+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "חיסור (-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "כפל (*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "חילוק (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "שארית (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "חזקה (**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "חיבור ($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "חיסור ($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "כפל ($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "חילוק ($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "שארית ($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "חזקה ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "אופרטורים להשוואה",
-	"abusefilter-edit-builder-op-comparison-equal": "הערך שווה ל־ (‎==‎)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "הערך והסוג שווים ל־ (‎===‎)",
-	"abusefilter-edit-builder-op-comparison-notequal": "הערך לא שווה ל־ (‎!=‎)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "הערך והסוג לא שווים ל־ (‎!==‎)",
-	"abusefilter-edit-builder-op-comparison-lt": "קטן מ־ (‪<‬)",
-	"abusefilter-edit-builder-op-comparison-gt": "גדול מ־ (‎>‎)",
-	"abusefilter-edit-builder-op-comparison-lte": "קטן מ־ או שווה ל־ (‪<=‬)",
-	"abusefilter-edit-builder-op-comparison-gte": "גדול מ־ או שווה ל־ (‎>=‎)",
+	"abusefilter-edit-builder-op-comparison-equal": "הערך שווה ל־ (‎$1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "הערך והסוג שווים ל־ (‎$1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "הערך לא שווה ל־ (‎$1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "הערך והסוג לא שווים ל־ (‎$1)",
+	"abusefilter-edit-builder-op-comparison-lt": "קטן מ־ ($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "גדול מ־ ($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "קטן מ־ או שווה ל־ ($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "גדול מ־ או שווה ל־ ($1)",
 	"abusefilter-edit-builder-group-op-bool": "אופרטורים בוליאניים",
-	"abusefilter-edit-builder-op-bool-not": "לא (!)",
-	"abusefilter-edit-builder-op-bool-and": "וגם (&)",
-	"abusefilter-edit-builder-op-bool-or": "או (|)",
+	"abusefilter-edit-builder-op-bool-not": "לא ($1)",
+	"abusefilter-edit-builder-op-bool-and": "וגם ($1)",
+	"abusefilter-edit-builder-op-bool-or": "או ($1)",
 	"abusefilter-edit-builder-group-misc": "שונות",
-	"abusefilter-edit-builder-misc-in": "האם נמצא במחרוזת (in)",
-	"abusefilter-edit-builder-misc-contains": "המחרוזת השמאלית מכילה את המחרוזת הימנית (contains)",
-	"abusefilter-edit-builder-misc-like": "האם תואם לתבנית (like)",
-	"abusefilter-edit-builder-misc-stringlit": "מחרוזת מילולית (\"\")",
-	"abusefilter-edit-builder-misc-rlike": "תואם לביטוי רגולרי (rlike)",
-	"abusefilter-edit-builder-misc-irlike": "ביטוי רגולרי, לא תלוי־רישיות (irlike)",
-	"abusefilter-edit-builder-misc-tern": "האופרטור המשולש (X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "תנאי (if X then Y else Z)",
-	"abusefilter-edit-builder-misc-cond-short": "תנאי קצר (if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "האם נמצא במחרוזת ($1)",
+	"abusefilter-edit-builder-misc-contains": "המחרוזת השמאלית מכילה את המחרוזת הימנית ($1)",
+	"abusefilter-edit-builder-misc-like": "האם תואם לתבנית ($1)",
+	"abusefilter-edit-builder-misc-stringlit": "מחרוזת מילולית ($1)",
+	"abusefilter-edit-builder-misc-rlike": "תואם לביטוי רגולרי ($1)",
+	"abusefilter-edit-builder-misc-irlike": "ביטוי רגולרי, לא תלוי־רישיות ($1)",
+	"abusefilter-edit-builder-misc-tern": "האופרטור המשולש ($1)",
+	"abusefilter-edit-builder-misc-cond": "תנאי ($1)",
+	"abusefilter-edit-builder-misc-cond-short": "תנאי קצר ($1)",
 	"abusefilter-edit-builder-group-funcs": "פונקציות",
-	"abusefilter-edit-builder-funcs-length": "אורך המחרוזת (length)",
-	"abusefilter-edit-builder-funcs-lcase": "המרה לאותיות קטנות (lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "המרה לאותיות רישיות (ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "נירמול תווים מבלבלים (ccnorm)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "לנרמל ולחפש במחרוזת תת־מחרוזות מרובות במצב OR‏ (ccnorm_contains_any)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "נרמול וחיפוש תת־מחרוזות מרובות במחרוזת נתונה במצב AND (ccnorm_contains_all)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "הסרת תווים כפולים (rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "תווים מיוחדים / סך כל התווים (specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "נירמול (norm)",
-	"abusefilter-edit-builder-funcs-count": "מספר הפעמים שהמחרוזת X מופיעה במחרוזת Y‏ (count)",
-	"abusefilter-edit-builder-funcs-rcount": "מספר הפעמים שהביטוי הרגולרי X מופיע במחרוזת Y‏ (rcount)",
-	"abusefilter-edit-builder-funcs-get_matches": "מערך של התאמות ביטויים רגולריים בתו טקסט של כל קבוצת לכידה (get_matches)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "הסרת רווח לבן (rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "הסרת תווים מיוחדים (rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "האם כתובת ה־IP בטווח? (ip_in_range)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "האם כתובת ה־IP הזאת באחד מהטווחים? (ip_in_ranges)",
-	"abusefilter-edit-builder-funcs-contains-any": "חיפוש תת־מחרוזות מרובות בתוך מחרוזת במצב OR‏ (contains_any)",
-	"abusefilter-edit-builder-funcs-contains-all": "חיפוש תת־מחרוזות מרובות במחרוזת נתונה במצב AND‏. (contains_all)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "בדיקה האם פרמטר נתון שווה (===) לאחד הפרמטרים הבאים (equals_to_any)",
-	"abusefilter-edit-builder-funcs-substr": "תת־מחרוזת (substr)",
-	"abusefilter-edit-builder-funcs-strpos": "מיקום תת־מחרוזת במחרוזת (strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "החלפת תת־מחרוזת במחרוזת אחרת (str_replace)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "חיפוש והחלפה עם ביטויים רגולריים (str_replace_regexp)",
-	"abusefilter-edit-builder-funcs-rescape": "לחלף את המחרוזת בתור מחרוזת מפורשת בביטוי רגולרי (rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "הגדרת משתנה (set_var)",
-	"abusefilter-edit-builder-funcs-sanitize": "נרמול ישויות HTML לתווי יוניקוד (sanitize)",
+	"abusefilter-edit-builder-funcs-length": "אורך המחרוזת ($1)",
+	"abusefilter-edit-builder-funcs-lcase": "המרה לאותיות קטנות ($1)",
+	"abusefilter-edit-builder-funcs-ucase": "המרה לאותיות רישיות ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "נרמול תווים שאפשר להתבלבל ביניהם ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "נרמול וחיפוש מחרוזת של כמה תת־מחרוזות במצב OR ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "נרמול וחיפוש מחרוזת של כמה תת־מחרוזות במצב AND ($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "הסרת תווים כפולים ($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "תווים מיוחדים / סך כל התווים ($1)",
+	"abusefilter-edit-builder-funcs-norm": "נרמול ($1)",
+	"abusefilter-edit-builder-funcs-count": "מספר הפעמים שהמחרוזת X מופיעה במחרוזת Y ($1)",
+	"abusefilter-edit-builder-funcs-rcount": "מספר הפעמים שהביטוי הרגולרי X מופיע במחרוזת Y ($1)",
+	"abusefilter-edit-builder-funcs-get_matches": "מערך של התאמות ביטויים רגולריים בתוך טקסט של כל קבוצת לכידה ($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "הסרת רווח לבן ($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "הסרת תווים מיוחדים ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "האם כתובת ה־IP בטווח? ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "האם כתובת ה־IP הזאת באחד מהטווחים? ($1)",
+	"abusefilter-edit-builder-funcs-contains-any": "חיפוש כמה תת־מחרוזות במחרוזת במצב OR ($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "חיפוש תת־מחרוזות מרובות במחרוזת נתונה במצב AND ($1)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "בדיקה האם פרמטר נתון שווה (===) לאחד הפרמטרים הבאים ($1)",
+	"abusefilter-edit-builder-funcs-substr": "תת־מחרוזת ($1)",
+	"abusefilter-edit-builder-funcs-strpos": "מיקום תת־מחרוזת במחרוזת ($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "החלפת תת־מחרוזת במחרוזת אחרת ($1)",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "חיפוש והחלפה עם ביטויים רגולריים ($1)",
+	"abusefilter-edit-builder-funcs-rescape": "לחלף את המחרוזת בתור מחרוזת מפורשת בביטוי רגולרי ($1)",
+	"abusefilter-edit-builder-funcs-set_var": "הגדרת משתנה ($1)",
+	"abusefilter-edit-builder-funcs-sanitize": "נרמול ישויות HTML לתווי יוניקוד ($1)",
 	"abusefilter-edit-builder-group-vars": "משתנים",
-	"abusefilter-edit-builder-vars-timestamp": "זמן השינוי בפורמט יוניקס",
-	"abusefilter-edit-builder-vars-accountname": "שם החשבון (בעת יצירת חשבון)",
-	"abusefilter-edit-builder-vars-action": "פעולה",
-	"abusefilter-edit-builder-vars-addedlines": "שורות שנוספו בעריכה",
-	"abusefilter-edit-builder-vars-delta": "שינוי הגודל בעריכה",
-	"abusefilter-edit-builder-vars-diff": "פלט unified diff של השינויים שבוצעו בעריכה",
-	"abusefilter-edit-builder-vars-newsize": "גודל הדף החדש",
-	"abusefilter-edit-builder-vars-oldsize": "גודל הדף הישן",
-	"abusefilter-edit-builder-vars-new-content-model": "מודל התוכן החדש",
-	"abusefilter-edit-builder-vars-old-content-model": "מודל התוכן הישן",
-	"abusefilter-edit-builder-vars-removedlines": "שורות שהוסרו בעריכה",
-	"abusefilter-edit-builder-vars-summary": "תקציר עריכה/סיבה",
-	"abusefilter-edit-builder-vars-page-id": "מזהה הדף",
-	"abusefilter-edit-builder-vars-page-ns": "מרחב השם של הדף",
-	"abusefilter-edit-builder-vars-page-title": "שם הדף (ללא מרחב השם)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "שם הדף המלא",
-	"abusefilter-edit-builder-vars-page-age": "גיל הדף (בשניות)",
-	"abusefilter-edit-builder-vars-page-last-edit-age": "זמן מאז עריכת הדף האחרונה (בשניות)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "המספר המזהה (ID) של דף המקור בהעברה",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "מרחב השם של דף המקור בהעברה",
-	"abusefilter-edit-builder-vars-movedfrom-title": "שם דף המקור בהעברה",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "השם המלא של דף המקור בהעברה",
-	"abusefilter-edit-builder-vars-movedfrom-age": "גיל הדף של המקור שההעברה נעשתה ממנו (בשניות)",
-	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "זמן מאז העריכה האחרונה של דף המקור בהעברה (בשניות)",
-	"abusefilter-edit-builder-vars-movedto-id": "מזהה הדף של דף היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-ns": "מרחב השם של דף היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-title": "שם דף היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "השם המלא של דף היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-age": "גיל הדף של היעד שההעברה נעשתה אליו (בשניות)",
-	"abusefilter-edit-builder-vars-movedto-last-edit-age": "זמן מאז העריכה האחרונה של דף היעד בהעברה (בשניות)",
-	"abusefilter-edit-builder-vars-user-editcount": "מספר העריכות של המשתמש",
-	"abusefilter-edit-builder-vars-user-age": "הזמן שעבר מאז הרשמת המשתמש",
-	"abusefilter-edit-builder-vars-user-name": "שם חשבון המשתמש",
-	"abusefilter-edit-builder-vars-user-type": "סוג חשבון המשתמש",
-	"abusefilter-edit-builder-vars-user-groups": "קבוצות (כולל קבוצות משתמעות) בהן נמצא המשתמש",
-	"abusefilter-edit-builder-vars-user-rights": "הרשאות שיש למשתמש",
-	"abusefilter-edit-builder-vars-user-blocked": "האם המשתמש חסום",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "הזמן שבו אומתה כתובת הדוא\"ל",
-	"abusefilter-edit-builder-vars-old-wikitext": "קוד הוויקי של הדף הישן, לפני העריכה",
-	"abusefilter-edit-builder-vars-new-wikitext": "קוד הוויקי של הדף החדש, אחרי העריכה",
-	"abusefilter-edit-builder-vars-added-links": "כל הקישורים החיצוניים שנוספו בעריכה",
-	"abusefilter-edit-builder-vars-removed-links": "כל הקישורים החיצוניים שהוסרו בעריכה",
-	"abusefilter-edit-builder-vars-all-links": "כל הקישורים החיצוניים בטקסט החדש",
-	"abusefilter-edit-builder-vars-new-pst": "קוד הוויקי של הדף החדש, מומר לפני שמירה",
-	"abusefilter-edit-builder-vars-diff-pst": "הצגת השינויים שנעשו בעריכה, בצורת השוואה מאוחדת, עם התמרה לפני שמירה",
-	"abusefilter-edit-builder-vars-addedlines-pst": "שורות שנוספו בעריכה, עם התמרה לפני עריכה",
-	"abusefilter-edit-builder-vars-new-text": "טקסט הדף החדש, ללא סימני HTML",
-	"abusefilter-edit-builder-vars-new-html": "מקור ה־HTML המפוענח של הגרסה החדשה",
-	"abusefilter-edit-builder-vars-restrictions-edit": "רמת ההגנה על עריכת הדף",
-	"abusefilter-edit-builder-vars-restrictions-move": "רמת ההגנה על העברת הדף",
-	"abusefilter-edit-builder-vars-restrictions-create": "רמת ההגנה על יצירת הדף",
-	"abusefilter-edit-builder-vars-restrictions-upload": "רמת ההגנה על העלאת הקובץ",
-	"abusefilter-edit-builder-vars-recent-contributors": "עשרת התורמים האחרונים לדף",
-	"abusefilter-edit-builder-vars-first-contributor": "המשתמש הראשון שתרם לדף",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "רמת ההגנה מפני עריכה של הדף המקורי שיועבר",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "רמת ההגנה מפני העברה של הדף המקורי שיועבר",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "הגנה מפני יצירה של הדף המקורי שיועבר",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "הגנה מפני העלאה של הקובץ המקורי שיועבר",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "עשרת המשתמשים האחרונים שתרמו בדף המקורי שיועבר",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "המשתמש הראשון שתרם בדף המקורי שיועבר",
-	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "רמת ההגנה מפני עריכה של דף היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-restrictions-move": "רמת ההגנה מפני העברה של דף היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-restrictions-create": "הגנה מפני יצירה של דף היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "הגנה מפני העלאה של קובץ היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "עשרת המשתמשים האחרונים שתרמו בדף היעד בהעברה",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "המשתמש הראשון שתרם בדף היעד בהעברה",
-	"abusefilter-edit-builder-vars-old-links": "קישורים בדף, לפני העריכה",
-	"abusefilter-edit-builder-vars-file-sha1": "גיבוב SHA1 של תוכן הקובץ",
-	"abusefilter-edit-builder-vars-file-size": "גודל הקובץ בבתים",
-	"abusefilter-edit-builder-vars-file-mime": "סוג ה־MIME של הקובץ",
-	"abusefilter-edit-builder-vars-file-mediatype": "סוג המדיה של הקובץ",
-	"abusefilter-edit-builder-vars-file-width": "רוחב הקובץ בפיקסלים",
-	"abusefilter-edit-builder-vars-file-height": "גובה הקובץ בפיקסלים",
-	"abusefilter-edit-builder-vars-file-bits-per-channel": "ביטים לערוץ צבע של הקובץ",
-	"abusefilter-edit-builder-vars-wiki-name": "שם מסד הנתונים של הוויקי",
-	"abusefilter-edit-builder-vars-wiki-language": "קוד השפה של הוויקי",
+	"abusefilter-edit-builder-vars-timestamp": "זמן השינוי בתסדיר יוניקס ($1)",
+	"abusefilter-edit-builder-vars-accountname": "שם החשבון בעת יצירת חשבון ($1)",
+	"abusefilter-edit-builder-vars-action": "פעולה ($1)",
+	"abusefilter-edit-builder-vars-addedlines": "שורות שנוספו בעריכה ($1)",
+	"abusefilter-edit-builder-vars-delta": "שינוי הגודל בעריכה ($1)",
+	"abusefilter-edit-builder-vars-diff": "פלט unified diff של השינויים שבוצעו בעריכה ($1)",
+	"abusefilter-edit-builder-vars-newsize": "גודל הדף החדש ($1)",
+	"abusefilter-edit-builder-vars-oldsize": "גודל הדף הישן ($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "מודל התוכן החדש ($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "מודל התוכן הישן ($1)",
+	"abusefilter-edit-builder-vars-removedlines": "שורות שהוסרו בעריכה ($1)",
+	"abusefilter-edit-builder-vars-summary": "תקציר עריכה/סיבה ($1)",
+	"abusefilter-edit-builder-vars-page-id": "מזהה הדף ($1)",
+	"abusefilter-edit-builder-vars-page-ns": "מרחב השם של הדף ($1)",
+	"abusefilter-edit-builder-vars-page-title": "שם הדף ללא מרחב השם ($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "שם הדף המלא ($1)",
+	"abusefilter-edit-builder-vars-page-age": "גיל הדף בשניות ($1)",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "זמן מאז עריכת הדף האחרונה בשניות ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "מזהה דף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "מרחב השם של דף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "שם דף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "השם המלא של דף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "גיל דף המקור בהעברה בשניות ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "זמן מאז העריכה האחרונה של דף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-id": "מזהה דף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-ns": "מרחב השם של דף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-title": "שם דף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "השם המלא של דף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-age": "גיל דף היעד בהעברה בשניות ($1)",
+	"abusefilter-edit-builder-vars-movedto-last-edit-age": "זמן מאז העריכה האחרונה של דף היעד בהעברה בשניות ($1)",
+	"abusefilter-edit-builder-vars-user-editcount": "מספר העריכות של המשתמש ($1)",
+	"abusefilter-edit-builder-vars-user-age": "הזמן שעבר מאז הרשמת המשתמש ($1)",
+	"abusefilter-edit-builder-vars-user-name": "שם חשבון המשתמש ($1)",
+	"abusefilter-edit-builder-vars-user-type": "סוג חשבון המשתמש ($1)",
+	"abusefilter-edit-builder-vars-user-groups": "קבוצות (כולל קבוצות משתמעות) שהמשתמש נמצא בהן ($1)",
+	"abusefilter-edit-builder-vars-user-rights": "הרשאות שיש למשתמש ($1)",
+	"abusefilter-edit-builder-vars-user-blocked": "האם המשתמש חסום ($1)",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "הזמן שכתובת הדוא\"ל אומתה בו ($1)",
+	"abusefilter-edit-builder-vars-old-wikitext": "קוד הוויקי של הדף הישן, לפני העריכה ($1)",
+	"abusefilter-edit-builder-vars-new-wikitext": "קוד הוויקי של הדף החדש, אחרי העריכה ($1)",
+	"abusefilter-edit-builder-vars-added-links": "כל הקישורים החיצוניים שנוספו בעריכה ($1)",
+	"abusefilter-edit-builder-vars-removed-links": "כל הקישורים החיצוניים שהוסרו בעריכה ($1)",
+	"abusefilter-edit-builder-vars-all-links": "כל הקישורים החיצוניים בטקסט החדש ($1)",
+	"abusefilter-edit-builder-vars-new-pst": "קוד הוויקי של הדף החדש, עם התמרה לפני שמירה ($1)",
+	"abusefilter-edit-builder-vars-diff-pst": "הצגת השינויים שנעשו בעריכה, בצורת השוואה מאוחדת, עם התמרה לפני שמירה ($1)",
+	"abusefilter-edit-builder-vars-addedlines-pst": "שורות שנוספו בעריכה, עם התמרה לפני עריכה ($1)",
+	"abusefilter-edit-builder-vars-new-text": "טקסט הדף החדש, ללא שום קוד של שפת סימון ($1)",
+	"abusefilter-edit-builder-vars-new-html": "מקור ה־HTML המפוענח של הגרסה החדשה ($1)",
+	"abusefilter-edit-builder-vars-restrictions-edit": "רמת ההגנה על עריכת הדף ($1)",
+	"abusefilter-edit-builder-vars-restrictions-move": "רמת ההגנה על העברת הדף ($1)",
+	"abusefilter-edit-builder-vars-restrictions-create": "רמת ההגנה על יצירת הדף ($1)",
+	"abusefilter-edit-builder-vars-restrictions-upload": "רמת ההגנה על העלאת הקובץ ($1)",
+	"abusefilter-edit-builder-vars-recent-contributors": "עשרת התורמים האחרונים לדף ($1)",
+	"abusefilter-edit-builder-vars-first-contributor": "המשתמש הראשון שתרם לדף ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "רמת ההגנה מפני עריכה של דף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "רמת ההגנה מפני העברה של דף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "הגנה מפני יצירה דף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "הגנה מפני העלאה של הקובץ המקורי בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "עשרת המשתמשים האחרונים שתרמו לדף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "המשתמש הראשון שתרם לדף המקור בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "רמת ההגנה מפני עריכה של דף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-move": "רמת ההגנה מפני העברה של דף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-create": "הגנה מפני יצירה של דף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "הגנה מפני העלאה של קובץ היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "עשרת המשתמשים האחרונים שתרמו בדף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "המשתמש הראשון שתרם לדף היעד בהעברה ($1)",
+	"abusefilter-edit-builder-vars-old-links": "קישורים בדף, לפני העריכה ($1)",
+	"abusefilter-edit-builder-vars-file-sha1": "גיבוב SHA1 של תוכן הקובץ ($1)",
+	"abusefilter-edit-builder-vars-file-size": "גודל הקובץ בבתים ($1)",
+	"abusefilter-edit-builder-vars-file-mime": "סוג ה־MIME של הקובץ ($1)",
+	"abusefilter-edit-builder-vars-file-mediatype": "סוג המדיה של הקובץ ($1)",
+	"abusefilter-edit-builder-vars-file-width": "רוחב הקובץ בפיקסלים ($1)",
+	"abusefilter-edit-builder-vars-file-height": "גובה הקובץ בפיקסלים ($1)",
+	"abusefilter-edit-builder-vars-file-bits-per-channel": "ביטים לערוץ צבע של הקובץ ($1)",
+	"abusefilter-edit-builder-vars-wiki-name": "שם מסד הנתונים של הוויקי ($1)",
+	"abusefilter-edit-builder-vars-wiki-language": "קוד השפה של הוויקי ($1)",
 	"abusefilter-edit-builder-vars-old-text": "טקסט הדף הישן, ללא שום שפת סימון (אינו בשימוש עוד)",
 	"abusefilter-edit-builder-vars-old-html": "טקסט הוויקי של הדף הישן, מפוענח ל־HTML (אינו בשימוש עוד)",
 	"abusefilter-edit-builder-vars-minor-edit": "האם העריכה מסומנת כמשנית או לא (כבר לא בשימוש)",
diff --git a/i18n/hi.json b/i18n/hi.json
index dc0918e..ff320ad 100644
--- a/i18n/hi.json
+++ b/i18n/hi.json
@@ -225,7 +225,7 @@
 	"abusefilter-edit-builder-op-bool-not": "नहीं (!)",
 	"abusefilter-edit-builder-op-bool-and": "और (&)",
 	"abusefilter-edit-builder-op-bool-or": "या (|)",
-	"abusefilter-edit-builder-op-bool-xor": "एक या दूसरा, पर दोनो नहीं (^)",
+	"abusefilter-edit-builder-op-bool-xor": "एक या दूसरा, पर दोनो नहीं ($1)",
 	"abusefilter-edit-builder-group-misc": "विविध",
 	"abusefilter-edit-builder-misc-in": "स्ट्रिंग में मौजूद (in)",
 	"abusefilter-edit-builder-misc-contains": "बाईं ओर दिये स्ट्रिंग में दाहिनी ओर दिया स्ट्रिंग हो (contains)",
diff --git a/i18n/id.json b/i18n/id.json
index 6773f8c..68cc2ae 100644
--- a/i18n/id.json
+++ b/i18n/id.json
@@ -217,7 +217,10 @@
 	"abusefilter-reautoconfirm-notallowed": "Anda tidak memiliki hak untuk mengembalikan status konfirmasi otomatis.",
 	"abusefilter-reautoconfirm-done": "Status konfirmasi otomatis akun tersebut telah dikembalikan",
 	"abusefilter-status": "Dari $1 {{PLURAL:$1|tindakan|tindakan}} terakhir, $2 ($3%) {{PLURAL:$2|telah|telah}} mencapai batasan maksimum $4 kondisi dan $5 ($6%) {{PLURAL:$5|sesuai|sesuai}} dengan salah satu filter yang aktif saat ini.",
+	"abusefilter-add": "Menambah penyaring penyalahgunaan",
 	"abusefilter-edit": "Menyunting filter penyalahgunaan",
+	"abusefilter-edit-specific": "Menyunting penyaring penyalahgunaan $1 : $2",
+	"abusefilter-view-specific": "Melihat penyaring penyalahgunaan $1 : $2",
 	"abusefilter-edit-subtitle": "Menyunting filter $1",
 	"abusefilter-edit-subtitle-new": "Membuat filter",
 	"abusefilter-edit-token-not-match": "Suntingan belum tersimpan! silakan simpan lagi.",
diff --git a/i18n/is.json b/i18n/is.json
index e94c974..714a0c5 100644
--- a/i18n/is.json
+++ b/i18n/is.json
@@ -185,7 +185,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Ekki (!)",
 	"abusefilter-edit-builder-op-bool-and": "Og (&)",
 	"abusefilter-edit-builder-op-bool-or": "Eða (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Ýmislegt",
 	"abusefilter-edit-builder-group-funcs": "Aðgerðir",
 	"abusefilter-edit-builder-funcs-length": "Strengjalengd (length)",
diff --git a/i18n/it.json b/i18n/it.json
index 30d308a..b01ca30 100644
--- a/i18n/it.json
+++ b/i18n/it.json
@@ -2,6 +2,7 @@
 	"@metadata": {
 		"authors": [
 			"Alexmar983",
+			"Amire80",
 			"Ankabel",
 			"ArTrix",
 			"Beta16",
@@ -339,7 +340,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Not logico (!)",
 	"abusefilter-edit-builder-op-bool-and": "And logico (&)",
 	"abusefilter-edit-builder-op-bool-or": "Or logico (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Or esclusivo (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Or esclusivo ($1)",
 	"abusefilter-edit-builder-group-misc": "Varie",
 	"abusefilter-edit-builder-misc-in": "contenuto nella stringa (in)",
 	"abusefilter-edit-builder-misc-contains": "La stringa di sinistra contiene quella di destra (contains)",
diff --git a/i18n/ja.json b/i18n/ja.json
index a55e267..bf8c7fb 100644
--- a/i18n/ja.json
+++ b/i18n/ja.json
@@ -4,6 +4,7 @@
 			"2nd-player",
 			"Aefgh39622",
 			"Afaz",
+			"Amire80",
 			"Anonymoususer12321",
 			"Aotake",
 			"Azeha",
@@ -59,8 +60,8 @@
 	"abuselog": "不正利用フィルター記録",
 	"abusefilter-intro": "不正利用フィルターの管理インターフェイスへようこそ。\n不正利用フィルターは、各種操作を監視し対処操作を行う、自動ソフトウェアです。\nこのインターフェイス上のリストから、各フィルターを編集できます。",
 	"abusefilter-mustviewprivateoredit": "セキュリティ上の理由から、非公開不正利用フィルターの閲覧または編集権限を持つ利用者のみがこのインターフェイスを使用できます。",
-	"abusefilter-warning": "'''警告:''' 行われた操作は自動的に有害と判断されました。\n建設的ではない操作は速やかに差し戻されます。\n被害程度が大きい破壊的編集や頻繁な破壊行為は、アカウントまたはIPアドレスのブロックにつながります。\n行なった操作が確かに建設的だと考える場合は、もう一度投稿してください。\n操作に対して発動した違反規則の概略は次の通りです: $1",
-	"abusefilter-disallowed": "行なった操作は、有害であると自動的に判断されたため実行できませんでした。\n確かに建設的な操作であると考える場合は、行なおうとしていた操作について管理者にお知らせください。\n操作に対して発動した違反規則の概略は以下の通りです: $1",
+	"abusefilter-warning": "'''警告:''' この操作は有害であると自動的に識別されました。\n非建設的な操作はすぐに差し戻されます。\nまた、非建設的な編集が著しく繰り返されると、アカウントまたは IP アドレスがブロックされます。\nこの操作が建設的であると思われる場合は、再度送信して確認することができます。\n操作が一致した不正利用ルールの簡単な説明: $1",
+	"abusefilter-disallowed": "行なった操作は、有害であると自動的に判断されたため実行できませんでした。\n確かに建設的な操作であると考える場合は、行なおうとしていた操作について管理者にお知らせください。\n操作に対して発動した不正利用ルールの概略は以下の通りです: $1",
 	"abusefilter-blocked-display": "行なわれた操作は自動的に有害と判断されたため、実行を中断しました。\n同時に{{SITENAME}}を保護するために、利用者アカウントと関連するすべてのIPアドレスが投稿ブロックされました。\nこの措置が誤りである場合は、管理者に連絡してください。\n操作に対して発動した違反規則の概略は次の通りです: $1",
 	"abusefilter-degrouped": "行なわれた操作は自動的に有害と判断されました。\nそのため操作は実行されず、また、アカウントが乗っ取られていると判断され、すべての権限が剥奪されました。\nこの措置が誤りであると考える場合、この操作についての説明を添えてビューロクラットに連絡し、権限の復帰を依頼してください。\n操作に対して発動した違反規則の概略は次の通りです: $1",
 	"abusefilter-autopromote-blocked": "行なわれた操作は自動的に有害と判断されたため、実行が中断されました。\n同時に、安全を守るため、承認されたアカウントに付与されている権限の一部が、一時的にあなたのアカウントから剥奪されました。\n操作に対して発動した違反規則の概略は次の通りです: $1",
@@ -273,7 +274,7 @@
 	"abusefilter-edit-action-degroup": "利用者をすべての特権グループから除く",
 	"abusefilter-edit-action-block": "利用者および/またはIPアドレスを編集ブロックする",
 	"abusefilter-edit-action-blocktalk": "利用者やIP利用者が自分のトークページを編集できないようにする",
-	"abusefilter-edit-action-throttle": "利用者が設定された速度限界を越えた場合のみ、対処操作を発動する",
+	"abusefilter-edit-action-throttle": "設定された速度限界を利用者が越えた場合のみ、対処操作を発動する",
 	"abusefilter-edit-action-rangeblock": "利用者の発信元を該当する IP レンジでブロックする",
 	"abusefilter-edit-action-tag": "後で再検討するために編集にタグを付ける",
 	"abusefilter-edit-throttle-count": "許可される操作数:",
@@ -345,137 +346,140 @@
 	"abusefilter-edit-invalid-group": "指定されたフィルターグループ「$1」は正しくありません。",
 	"abusefilter-edit-builder-select": "カーソルの位置に追加するものを選択",
 	"abusefilter-edit-builder-group-op-arithmetic": "算術演算子",
-	"abusefilter-edit-builder-op-arithmetic-addition": "加算 (+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "減算 (-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "乗算 (*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "除算 (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "剰余 (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "累乗 (**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "加算 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "減算 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "乗算 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "除算 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "剰余 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "累乗 ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "比較演算子",
-	"abusefilter-edit-builder-op-comparison-equal": "値が等しい (==)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "値と型が等しい (===)",
-	"abusefilter-edit-builder-op-comparison-notequal": "値が等しくない (!=)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "値と型が等しくない (!==)",
-	"abusefilter-edit-builder-op-comparison-lt": "未満 (<)",
-	"abusefilter-edit-builder-op-comparison-gt": "超過 (>)",
-	"abusefilter-edit-builder-op-comparison-lte": "以下 (<=)",
-	"abusefilter-edit-builder-op-comparison-gte": "以上 (>=)",
+	"abusefilter-edit-builder-op-comparison-equal": "値が等しい ($1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "値と型が等しい ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "値が等しくない ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "値と型が等しくない ($1)",
+	"abusefilter-edit-builder-op-comparison-lt": "未満 ($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "超過 ($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "以下 ($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "以上 ($1)",
 	"abusefilter-edit-builder-group-op-bool": "論理演算子",
-	"abusefilter-edit-builder-op-bool-not": "否定 (!)",
-	"abusefilter-edit-builder-op-bool-and": "論理積 (&)",
-	"abusefilter-edit-builder-op-bool-or": "論理和 (|)",
-	"abusefilter-edit-builder-op-bool-xor": "排他的論理和 (^)",
+	"abusefilter-edit-builder-op-bool-not": "否定 ($1)",
+	"abusefilter-edit-builder-op-bool-and": "論理積 ($1)",
+	"abusefilter-edit-builder-op-bool-or": "論理和 ($1)",
+	"abusefilter-edit-builder-op-bool-xor": "排他的論理和 ($1)",
 	"abusefilter-edit-builder-group-misc": "その他",
-	"abusefilter-edit-builder-misc-in": "部分一致 (in)",
-	"abusefilter-edit-builder-misc-contains": "左の文字列が右の文字列を含む (contains)",
-	"abusefilter-edit-builder-misc-like": "パターンとの一致 (like)",
-	"abusefilter-edit-builder-misc-stringlit": "文字列リテラル (\"\")",
-	"abusefilter-edit-builder-misc-rlike": "正規表現に一致 (rlike)",
-	"abusefilter-edit-builder-misc-irlike": "正規表現に一致、大文字と小文字を区別しない (irlike)",
-	"abusefilter-edit-builder-misc-tern": "三項演算子 (X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "条件式 (if X then Y else Z end)",
-	"abusefilter-edit-builder-misc-cond-short": "短縮条件式 (if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "部分一致 ($1)",
+	"abusefilter-edit-builder-misc-contains": "左の文字列が右の文字列を含む ($1)",
+	"abusefilter-edit-builder-misc-like": "パターンとの一致 ($1)",
+	"abusefilter-edit-builder-misc-stringlit": "文字列リテラル ($1)",
+	"abusefilter-edit-builder-misc-rlike": "正規表現に一致 ($1)",
+	"abusefilter-edit-builder-misc-irlike": "正規表現に一致、大文字と小文字を区別しない ($1)",
+	"abusefilter-edit-builder-misc-tern": "三項演算子 ($1)",
+	"abusefilter-edit-builder-misc-cond": "条件式 ($1)",
+	"abusefilter-edit-builder-misc-cond-short": "短縮条件式 ($1)",
 	"abusefilter-edit-builder-group-funcs": "関数",
-	"abusefilter-edit-builder-funcs-length": "文字列の長さ (length)",
-	"abusefilter-edit-builder-funcs-lcase": "小文字化 (lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "大文字化 (ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "紛らわしい文字を正規化 (ccnorm)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "正規化した上で文字列から部分文字列を OR 検索 (ccnorm_contains_any)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "正規化した上で文字列から部分文字列を AND 検索 (ccnorm_contains_all)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "連続する文字を除去 (rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "特殊文字の数 / 全体の文字数 (specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "正規化 (norm)",
-	"abusefilter-edit-builder-funcs-count": "文字列 X が文字列 Y 中に出現する回数 (count)",
-	"abusefilter-edit-builder-funcs-rcount": "正規表現 X が文字列 Y に出現する回数 (rcount)",
-	"abusefilter-edit-builder-funcs-get_matches": "各キャプチャ グループのテキスト内での正規表現の一致の配列 (get_matches)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "空白類を除去 (rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "特殊文字を除去 (rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "IPアドレスがその範囲に含まれるか (ip_in_range)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "IPはどの範囲にありますか?",
-	"abusefilter-edit-builder-funcs-contains-any": "文字列から部分文字列を OR 検索 (contains_any)",
-	"abusefilter-edit-builder-funcs-contains-all": "文字列から部分文字列を AND 検索 (contains_all)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "指定した引数がそれ以降の引数のいずれかに等しい (===) かどうか (equals_to_any)",
-	"abusefilter-edit-builder-funcs-substr": "部分文字列 (substr)",
-	"abusefilter-edit-builder-funcs-strpos": "文字列中での部分文字列の位置 (strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "文字列を部分文字列で置換 (str_replace)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "正規表現による検索と置換 (str_replace_regexp)",
-	"abusefilter-edit-builder-funcs-rescape": "文字列を正規表現リテラルとしてエスケープ (rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "変数を設定 (set_var)",
-	"abusefilter-edit-builder-funcs-sanitize": "HTMLエンティティをUnicode文字に正規化 (sanitize)",
+	"abusefilter-edit-builder-funcs-length": "文字列の長さ ($1)",
+	"abusefilter-edit-builder-funcs-lcase": "小文字化 ($1)",
+	"abusefilter-edit-builder-funcs-ucase": "大文字化 ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "紛らわしい文字を正規化 ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "正規化した上で文字列から部分文字列を OR 検索 ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "正規化した上で文字列から部分文字列を AND 検索 ($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "連続する文字を除去 ($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "特殊文字の数 / 全体の文字数 ($1)",
+	"abusefilter-edit-builder-funcs-norm": "正規化 ($1)",
+	"abusefilter-edit-builder-funcs-count": "文字列 X が文字列 Y 中に出現する回数 ($1)",
+	"abusefilter-edit-builder-funcs-rcount": "正規表現 X が文字列 Y に出現する回数 ($1)",
+	"abusefilter-edit-builder-funcs-get_matches": "各キャプチャ グループのテキスト内での正規表現の一致の配列 ($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "空白を除去 ($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "特殊文字を除去 ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "IPアドレスがその範囲に含まれるか ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "IPアドレスがいずれかの範囲に含まれるか ($1)",
+	"abusefilter-edit-builder-funcs-contains-any": "文字列から部分文字列を OR 検索 ($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "文字列から部分文字列を AND 検索 ($1)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "指定した引数がそれ以降の引数のいずれかに等しい (===) かどうか ($1)",
+	"abusefilter-edit-builder-funcs-substr": "部分文字列 ($1)",
+	"abusefilter-edit-builder-funcs-strpos": "文字列中での部分文字列の位置 ($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "文字列を部分文字列で置換 ($1)",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "正規表現による検索と置換 ($1)",
+	"abusefilter-edit-builder-funcs-rescape": "文字列を正規表現リテラルとしてエスケープ ($1)",
+	"abusefilter-edit-builder-funcs-set_var": "変数を設定 ($1)",
+	"abusefilter-edit-builder-funcs-sanitize": "HTMLエンティティをUnicode文字に正規化 ($1)",
 	"abusefilter-edit-builder-group-vars": "変数",
-	"abusefilter-edit-builder-vars-timestamp": "変更のUnixタイムスタンプ",
-	"abusefilter-edit-builder-vars-accountname": "アカウント名 (アカウント作成時のみ)",
-	"abusefilter-edit-builder-vars-action": "操作",
-	"abusefilter-edit-builder-vars-addedlines": "編集で追加された行",
-	"abusefilter-edit-builder-vars-delta": "編集による変更サイズ",
-	"abusefilter-edit-builder-vars-diff": "編集で変更された部分の Unified diff 形式差分",
-	"abusefilter-edit-builder-vars-newsize": "新しいページのサイズ",
-	"abusefilter-edit-builder-vars-oldsize": "古いページのサイズ",
-	"abusefilter-edit-builder-vars-new-content-model": "新しいコンテンツモデル",
-	"abusefilter-edit-builder-vars-old-content-model": "古いコンテンツモデル",
-	"abusefilter-edit-builder-vars-removedlines": "編集で削除された行",
-	"abusefilter-edit-builder-vars-summary": "編集の要約や理由",
-	"abusefilter-edit-builder-vars-page-id": "ページ ID",
-	"abusefilter-edit-builder-vars-page-ns": "ページの名前空間",
-	"abusefilter-edit-builder-vars-page-title": "ページ名 (名前空間を除く)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "完全なページ名",
-	"abusefilter-edit-builder-vars-page-age": "ページの生存期間 (秒)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "移動元のページID",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "移動元ページの名前空間",
-	"abusefilter-edit-builder-vars-movedfrom-title": "移動元のページ名",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "移動元の完全なページ名",
-	"abusefilter-edit-builder-vars-movedfrom-age": "移動元ページの存在歴(秒単位)",
-	"abusefilter-edit-builder-vars-movedto-id": "移動先のページID",
-	"abusefilter-edit-builder-vars-movedto-ns": "移動先ページの名前空間",
-	"abusefilter-edit-builder-vars-movedto-title": "移動先のページ名",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "移動先の完全なページ名",
-	"abusefilter-edit-builder-vars-movedto-age": "移動先ページの存在歴(秒単位)",
-	"abusefilter-edit-builder-vars-user-editcount": "利用者の編集回数",
-	"abusefilter-edit-builder-vars-user-age": "利用者アカウントの登録期間",
-	"abusefilter-edit-builder-vars-user-name": "利用者のアカウント名",
-	"abusefilter-edit-builder-vars-user-type": "利用者アカウントの種類",
-	"abusefilter-edit-builder-vars-user-groups": "利用者が属するグループ (明示的ではないものも含む)",
-	"abusefilter-edit-builder-vars-user-rights": "利用者が持つ権限",
-	"abusefilter-edit-builder-vars-user-blocked": "利用者がブロックされているかどうか",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "メールアドレスを確認した時刻",
-	"abusefilter-edit-builder-vars-old-wikitext": "編集前の古いウィキテキスト",
-	"abusefilter-edit-builder-vars-new-wikitext": "編集後の新しいウィキテキスト",
-	"abusefilter-edit-builder-vars-added-links": "編集で追加されたすべての外部リンク",
-	"abusefilter-edit-builder-vars-removed-links": "編集で除去されたすべての外部リンク",
-	"abusefilter-edit-builder-vars-all-links": "新しい本文中のすべての外部リンク",
-	"abusefilter-edit-builder-vars-new-pst": "保存前変換適用後の新しいウィキテキスト",
-	"abusefilter-edit-builder-vars-diff-pst": "編集で変更された部分の Unified diff 形式差分(pre-save変換前)",
-	"abusefilter-edit-builder-vars-addedlines-pst": "編集で追加された行 (pre-saveの変換前)",
-	"abusefilter-edit-builder-vars-new-text": "マークアップを除く新しい本文",
-	"abusefilter-edit-builder-vars-new-html": "新しい版のパース済みHTMLソース",
-	"abusefilter-edit-builder-vars-restrictions-edit": "ページの編集保護レベル",
-	"abusefilter-edit-builder-vars-restrictions-move": "ページの移動保護レベル",
-	"abusefilter-edit-builder-vars-restrictions-create": "ページの作成保護レベル",
-	"abusefilter-edit-builder-vars-restrictions-upload": "ファイルのアップロード保護レベル",
-	"abusefilter-edit-builder-vars-recent-contributors": "直前10人のページへの投稿者",
-	"abusefilter-edit-builder-vars-first-contributor": "ページヘの最初の投稿者",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "移動元ページの編集保護レベル",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "移動元ページの移動保護レベル",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "移動元ページの作成保護レベル",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "移動元ファイルのアップロード保護レベル",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "移動元ページに貢献した最近の10人の利用者",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "移動元ページに貢献した1番目の利用者",
-	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "移動先ページの編集保護レベル",
-	"abusefilter-edit-builder-vars-movedto-restrictions-move": "移動先ページの移動保護レベル",
-	"abusefilter-edit-builder-vars-movedto-restrictions-create": "移動先ページの作成保護レベル",
-	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "移動先ファイルのアップロード保護レベル",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "移動目標ページに貢献した最近の10人の利用者",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "移動先ページに貢献した1番目の利用者",
-	"abusefilter-edit-builder-vars-old-links": "編集前のページに含まれていたリンク",
-	"abusefilter-edit-builder-vars-file-sha1": "ファイルのSHA1ハッシュ",
-	"abusefilter-edit-builder-vars-file-size": "ファイルサイズ (bytes)",
-	"abusefilter-edit-builder-vars-file-mime": "ファイルのMIMEタイプ",
-	"abusefilter-edit-builder-vars-file-mediatype": "ファイルのメディア種別",
-	"abusefilter-edit-builder-vars-file-width": "ファイルの幅 (px)",
-	"abusefilter-edit-builder-vars-file-height": "ファイルの高さ (px)",
-	"abusefilter-edit-builder-vars-file-bits-per-channel": "ファイルのカラーチャネル毎のビット数",
-	"abusefilter-edit-builder-vars-wiki-name": "ウィキのデータベース名",
-	"abusefilter-edit-builder-vars-wiki-language": "ウィキの言語コード",
+	"abusefilter-edit-builder-vars-timestamp": "変更のUnixタイムスタンプ ($1)",
+	"abusefilter-edit-builder-vars-accountname": "アカウント名 (アカウント作成時のみ) ($1)",
+	"abusefilter-edit-builder-vars-action": "操作 ($1)",
+	"abusefilter-edit-builder-vars-addedlines": "編集で追加された行 ($1)",
+	"abusefilter-edit-builder-vars-delta": "編集による変更サイズ ($1)",
+	"abusefilter-edit-builder-vars-diff": "編集で変更された部分の Unified diff 形式差分 ($1)",
+	"abusefilter-edit-builder-vars-newsize": "新しいページのサイズ ($1)",
+	"abusefilter-edit-builder-vars-oldsize": "古いページのサイズ ($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "新しいコンテンツモデル ($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "古いコンテンツモデル ($1)",
+	"abusefilter-edit-builder-vars-removedlines": "編集で削除された行 ($1)",
+	"abusefilter-edit-builder-vars-summary": "編集の要約や理由 ($1)",
+	"abusefilter-edit-builder-vars-page-id": "ページ ID ($1)",
+	"abusefilter-edit-builder-vars-page-ns": "ページの名前空間 ($1)",
+	"abusefilter-edit-builder-vars-page-title": "ページ名 (名前空間を除く) ($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "完全なページ名 ($1)",
+	"abusefilter-edit-builder-vars-page-age": "ページ作成からの経過期間 (秒) ($1)",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "最後のページ編集からの経過期間 (秒) ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "移動元のページID ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "移動元ページの名前空間 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "移動元のページ名 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "移動元の完全なページ名 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "移動元ページの作成からの経過期間 (秒単位) ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "最後の移動元ページの編集からの経過期間 (秒) ($1)",
+	"abusefilter-edit-builder-vars-movedto-id": "移動先のページID ($1)",
+	"abusefilter-edit-builder-vars-movedto-ns": "移動先ページの名前空間 ($1)",
+	"abusefilter-edit-builder-vars-movedto-title": "移動先のページ名 ($1)",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "移動先の完全なページ名 ($1)",
+	"abusefilter-edit-builder-vars-movedto-age": "移動先ページの作成からの経過期間 (秒単位) ($1)",
+	"abusefilter-edit-builder-vars-movedto-last-edit-age": "最後の移動先ページの編集からの経過期間 (秒) ($1)",
+	"abusefilter-edit-builder-vars-user-editcount": "利用者の編集回数 ($1)",
+	"abusefilter-edit-builder-vars-user-age": "利用者アカウントの登録期間 ($1)",
+	"abusefilter-edit-builder-vars-user-name": "利用者のアカウント名 ($1)",
+	"abusefilter-edit-builder-vars-user-type": "利用者アカウントの種類 ($1)",
+	"abusefilter-edit-builder-vars-user-groups": "利用者が属するグループ (暗黙的なものも含む) ($1)",
+	"abusefilter-edit-builder-vars-user-rights": "利用者が持つ権限 ($1)",
+	"abusefilter-edit-builder-vars-user-blocked": "利用者がブロックされているかどうか ($1)",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "メールアドレスを確認した時刻 ($1)",
+	"abusefilter-edit-builder-vars-old-wikitext": "編集前の古いウィキテキスト ($1)",
+	"abusefilter-edit-builder-vars-new-wikitext": "編集後の新しいウィキテキスト ($1)",
+	"abusefilter-edit-builder-vars-added-links": "編集で追加されたすべての外部リンク ($1)",
+	"abusefilter-edit-builder-vars-removed-links": "編集で除去されたすべての外部リンク ($1)",
+	"abusefilter-edit-builder-vars-all-links": "新しい本文中のすべての外部リンク ($1)",
+	"abusefilter-edit-builder-vars-new-pst": "保存前変換適用後の新しいウィキテキスト ($1)",
+	"abusefilter-edit-builder-vars-diff-pst": "編集で変更された部分の Unified diff 形式差分 (pre-save変換前) ($1)",
+	"abusefilter-edit-builder-vars-addedlines-pst": "編集で追加された行 (pre-saveの変換前) ($1)",
+	"abusefilter-edit-builder-vars-new-text": "マークアップを除く新しい本文 ($1)",
+	"abusefilter-edit-builder-vars-new-html": "新しい版のパース済みHTMLソース ($1)",
+	"abusefilter-edit-builder-vars-restrictions-edit": "ページの編集保護レベル ($1)",
+	"abusefilter-edit-builder-vars-restrictions-move": "ページの移動保護レベル ($1)",
+	"abusefilter-edit-builder-vars-restrictions-create": "ページの作成保護レベル ($1)",
+	"abusefilter-edit-builder-vars-restrictions-upload": "ファイルのアップロード保護レベル ($1)",
+	"abusefilter-edit-builder-vars-recent-contributors": "直前10人のページへの投稿者 ($1)",
+	"abusefilter-edit-builder-vars-first-contributor": "ページの初版作成者 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "移動元ページの編集保護レベル ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "移動元ページの移動保護レベル ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "移動元ページの作成保護レベル ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "移動元ファイルのアップロード保護レベル ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "移動元ページに貢献した最近の10人の利用者 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "移動元ページの初版作成者 ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "移動先ページの編集保護レベル ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-move": "移動先ページの移動保護レベル ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-create": "移動先ページの作成保護レベル ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "移動先ファイルのアップロード保護レベル ($1)",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "移動先ページに貢献した最近の10人の利用者 ($1)",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "移動先ページの初版作成者 ($1)",
+	"abusefilter-edit-builder-vars-old-links": "編集前のページに含まれていたリンク ($1)",
+	"abusefilter-edit-builder-vars-file-sha1": "ファイルのSHA1ハッシュ ($1)",
+	"abusefilter-edit-builder-vars-file-size": "ファイルサイズ (bytes) ($1)",
+	"abusefilter-edit-builder-vars-file-mime": "ファイルのMIMEタイプ ($1)",
+	"abusefilter-edit-builder-vars-file-mediatype": "ファイルのメディア種別 ($1)",
+	"abusefilter-edit-builder-vars-file-width": "ファイルの幅 (px) ($1)",
+	"abusefilter-edit-builder-vars-file-height": "ファイルの高さ (px) ($1)",
+	"abusefilter-edit-builder-vars-file-bits-per-channel": "ファイルのカラーチャネル毎のビット数 ($1)",
+	"abusefilter-edit-builder-vars-wiki-name": "ウィキのデータベース名 ($1)",
+	"abusefilter-edit-builder-vars-wiki-language": "ウィキの言語コード ($1)",
 	"abusefilter-edit-builder-vars-old-text": "マークアップを除いた、使用されていない古い本文",
 	"abusefilter-edit-builder-vars-old-html": "古いウィキテキストから生成されたHTML",
 	"abusefilter-edit-builder-vars-minor-edit": "その編集が細部の編集かどうか (廃止)",
diff --git a/i18n/km.json b/i18n/km.json
index 042d2c5..8f1b841 100644
--- a/i18n/km.json
+++ b/i18n/km.json
@@ -137,7 +137,6 @@
 	"abusefilter-edit-builder-op-bool-not": "មិន (!)",
 	"abusefilter-edit-builder-op-bool-and": "និង (&)",
 	"abusefilter-edit-builder-op-bool-or": "ឬ (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "ផ្សេងៗ",
 	"abusefilter-edit-builder-misc-tern": "ប្រមាណវិធីត្រីធាតុ (X ? Y : Z)",
 	"abusefilter-edit-builder-misc-cond": "លក្ខខណ្ឌ(if X then Y else Z)",
diff --git a/i18n/ko.json b/i18n/ko.json
index 0cf940d..d854dd1 100644
--- a/i18n/ko.json
+++ b/i18n/ko.json
@@ -325,140 +325,140 @@
 	"abusefilter-edit-invalid-group": "제시한 필터 그룹('$1')이 올바르지 않습니다.",
 	"abusefilter-edit-builder-select": "커서가 있는 위치에 추가할 설정을 선택하세요.",
 	"abusefilter-edit-builder-group-op-arithmetic": "산술 연산자",
-	"abusefilter-edit-builder-op-arithmetic-addition": "더하기 (+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "빼기 (-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "곱하기 (*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "나누기 (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "나머지 (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "제곱 (**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "더하기 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "빼기 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "곱하기 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "나누기 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "나머지 ($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "제곱 ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "비교 연산자",
-	"abusefilter-edit-builder-op-comparison-equal": "다음과 같은 값 (==)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "다음과 같은 값과 유형 (===)",
-	"abusefilter-edit-builder-op-comparison-notequal": "다음과 같지 않은 값 (!=)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "다음과 같지 않은 값과 유형 (!==)",
-	"abusefilter-edit-builder-op-comparison-lt": "보다 작음 (<)",
-	"abusefilter-edit-builder-op-comparison-gt": "보다 큼 (>)",
-	"abusefilter-edit-builder-op-comparison-lte": "작거나 같음 (<=)",
-	"abusefilter-edit-builder-op-comparison-gte": "크거나 같음 (>=)",
+	"abusefilter-edit-builder-op-comparison-equal": "다음과 같은 값 ($1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "다음과 같은 값과 유형 ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "다음과 같지 않은 값 ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "다음과 같지 않은 값과 유형 ($1)",
+	"abusefilter-edit-builder-op-comparison-lt": "보다 작음 ($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "보다 큼 ($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "작거나 같음 ($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "크거나 같음 ($1)",
 	"abusefilter-edit-builder-group-op-bool": "논리 연산자",
-	"abusefilter-edit-builder-op-bool-not": "부정 (!)",
-	"abusefilter-edit-builder-op-bool-and": "그리고 (&)",
-	"abusefilter-edit-builder-op-bool-or": "또는 (|)",
-	"abusefilter-edit-builder-op-bool-xor": "배타적 논리합 (^)",
+	"abusefilter-edit-builder-op-bool-not": "부정 ($1)",
+	"abusefilter-edit-builder-op-bool-and": "그리고 ($1)",
+	"abusefilter-edit-builder-op-bool-or": "또는 ($1)",
+	"abusefilter-edit-builder-op-bool-xor": "배타적 논리합 ($1)",
 	"abusefilter-edit-builder-group-misc": "기타",
-	"abusefilter-edit-builder-misc-in": "문자열에 포함 (in)",
-	"abusefilter-edit-builder-misc-contains": "왼쪽 문자열이 오른쪽 문자열을 포함 (contains)",
-	"abusefilter-edit-builder-misc-like": "패턴 일치 (like)",
-	"abusefilter-edit-builder-misc-stringlit": "문자열 그대로 (\"\")",
-	"abusefilter-edit-builder-misc-rlike": "정규 표현식 일치 (rlike)",
-	"abusefilter-edit-builder-misc-irlike": "정규 표현식 일치, 대소문자 구분하지 않음 (irlike)",
-	"abusefilter-edit-builder-misc-tern": "3단 연산자 (X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "조건부 (if X then Y else Z end)",
-	"abusefilter-edit-builder-misc-cond-short": "짧은 조건부 (if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "문자열에 포함 ($1)",
+	"abusefilter-edit-builder-misc-contains": "왼쪽 문자열이 오른쪽 문자열을 포함 ($1)",
+	"abusefilter-edit-builder-misc-like": "패턴 일치 ($1)",
+	"abusefilter-edit-builder-misc-stringlit": "문자열 그대로 ($1)",
+	"abusefilter-edit-builder-misc-rlike": "정규 표현식 일치 ($1)",
+	"abusefilter-edit-builder-misc-irlike": "정규 표현식 일치, 대소문자 구분하지 않음 ($1)",
+	"abusefilter-edit-builder-misc-tern": "3단 연산자 ($1)",
+	"abusefilter-edit-builder-misc-cond": "조건부 ($1)",
+	"abusefilter-edit-builder-misc-cond-short": "짧은 조건부 ($1)",
 	"abusefilter-edit-builder-group-funcs": "함수",
-	"abusefilter-edit-builder-funcs-length": "문자열 길이 (length)",
-	"abusefilter-edit-builder-funcs-lcase": "소문자로 변환 (lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "대문자로 변환 (ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "혼동되는 글자를 정규화 (ccnorm)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "문자열을 정규화하고 검색하면서 여러 개의 부스트링을 OR 방식으로 찾습니다 (ccnorm_contains_any)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "문자열을 정규화하고 검색하면서 여러 개의 부스트링을 AND 방식으로 찾습니다 (ccnorm_contains_all)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "중복되는 글자를 제거 (rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "특수 문자 비율 (specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "정규화 (norm)",
-	"abusefilter-edit-builder-funcs-count": "문자열 Y 안의 문자열 X의 반복 횟수 (count)",
-	"abusefilter-edit-builder-funcs-rcount": "문자열 Y 안의 정규 표현식으로 표현된 X의 반복 횟수 (rcount)",
-	"abusefilter-edit-builder-funcs-get_matches": "수집되는 각각의 그룹마다 텍스트 내에서 일치하는 정규 표현식 배열 (get_matches)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "공백 제거 (rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "특수 문자를 제거 (rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "IP가 대역 안에 있는지 여부 (ip_in_range)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "IP가 대역에 포함되는지 여부 (ip_in_ranges)",
-	"abusefilter-edit-builder-funcs-contains-any": "문자열에서 여러 하위 문자열을 OR 방식으로 검색합니다. (contains_any)",
-	"abusefilter-edit-builder-funcs-contains-all": "문자열에서 여러 하위 문자열을 AND 방식으로 검색합니다. (contains_all)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "주어진 문자열이 다음의 인수 중 어느 것과 동일(===)한지 확인합니다 (equals_to_any)",
-	"abusefilter-edit-builder-funcs-substr": "하위 문자열 (substr)",
-	"abusefilter-edit-builder-funcs-strpos": "문자열 내의 하위 문자열의 위치 (strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "문자열을 찾아 바꾸기 (str_replace)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "정규 표현식 검색 및 치환 (str_replace_regexp)",
-	"abusefilter-edit-builder-funcs-rescape": "정규 표현식에서 문자열을 리터럴로 이스케이프 (rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "변수 설정 (set_var)",
-	"abusefilter-edit-builder-funcs-sanitize": "HTML 엔티티를 유니코드 문자로 일반화합니다 (sanitize)",
+	"abusefilter-edit-builder-funcs-length": "문자열 길이 ($1)",
+	"abusefilter-edit-builder-funcs-lcase": "소문자로 변환 ($1)",
+	"abusefilter-edit-builder-funcs-ucase": "대문자로 변환 ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "혼동되는 글자를 정규화 ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "문자열을 정규화하고 검색하면서 여러 개의 부스트링을 OR 방식으로 찾습니다 ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "문자열을 정규화하고 검색하면서 여러 개의 부스트링을 AND 방식으로 찾습니다 ($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "중복되는 글자를 제거 ($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "전체 문자 중 특수 문자 비율 ($1)",
+	"abusefilter-edit-builder-funcs-norm": "정규화 ($1)",
+	"abusefilter-edit-builder-funcs-count": "문자열 Y 안의 문자열 X의 반복 횟수 (count, $1)",
+	"abusefilter-edit-builder-funcs-rcount": "문자열 Y 안의 정규 표현식으로 표현된 X의 반복 횟수 ($1)",
+	"abusefilter-edit-builder-funcs-get_matches": "수집되는 각각의 그룹마다 텍스트 내에서 일치하는 정규 표현식 배열 ($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "공백 제거 ($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "특수 문자를 제거 ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "IP가 대역 안에 있는지 여부 ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "IP가 대역에 포함되는지 여부 ($1)",
+	"abusefilter-edit-builder-funcs-contains-any": "문자열에서 여러 하위 문자열을 OR 방식으로 검색합니다. ($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "문자열에서 여러 하위 문자열을 AND 방식으로 검색합니다.  ($1)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "주어진 문자열이 다음의 인수 중 어느 것과 동일(===)한지 확인합니다 ($1)",
+	"abusefilter-edit-builder-funcs-substr": "하위 문자열 ($1)",
+	"abusefilter-edit-builder-funcs-strpos": "문자열 내의 하위 문자열의 위치 ($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "문자열을 찾아 바꾸기 ($1)",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "정규 표현식 검색 및 치환 ($1)",
+	"abusefilter-edit-builder-funcs-rescape": "정규 표현식에서 문자열을 리터럴로 이스케이프 ($1)",
+	"abusefilter-edit-builder-funcs-set_var": "변수 설정 ($1)",
+	"abusefilter-edit-builder-funcs-sanitize": "HTML 엔티티를 유니코드 문자로 일반화합니다 ($1)",
 	"abusefilter-edit-builder-group-vars": "변수",
-	"abusefilter-edit-builder-vars-timestamp": "바뀐 시점의 유닉스 시간 기록",
-	"abusefilter-edit-builder-vars-accountname": "계정 이름 (계정 만들 때)",
-	"abusefilter-edit-builder-vars-action": "동작",
-	"abusefilter-edit-builder-vars-addedlines": "편집 중 추가된 줄",
-	"abusefilter-edit-builder-vars-delta": "편집에서의 문서 크기 변화",
-	"abusefilter-edit-builder-vars-diff": "편집 전후의 차이",
-	"abusefilter-edit-builder-vars-newsize": "새 문서 크기",
-	"abusefilter-edit-builder-vars-oldsize": "이전 문서 크기",
-	"abusefilter-edit-builder-vars-new-content-model": "새 콘텐츠 모델",
-	"abusefilter-edit-builder-vars-old-content-model": "이전 콘텐츠 모델",
-	"abusefilter-edit-builder-vars-removedlines": "편집 중 제거된 줄",
-	"abusefilter-edit-builder-vars-summary": "편집 요약/이유",
-	"abusefilter-edit-builder-vars-page-id": "문서 ID",
-	"abusefilter-edit-builder-vars-page-ns": "문서 이름공간",
-	"abusefilter-edit-builder-vars-page-title": "(이름공간을 뺀) 문서 제목",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "전체 문서 제목",
-	"abusefilter-edit-builder-vars-page-age": "문서의 나이 (단위: 초)",
-	"abusefilter-edit-builder-vars-page-last-edit-age": "마지막 문서 편집 이후의 시간 (단위: 초)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "이동 전 문서의 ID",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "이동 전 문서의 이름공간",
-	"abusefilter-edit-builder-vars-movedfrom-title": "이동 전의 제목",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "이동 전 문서의 전체 이름",
-	"abusefilter-edit-builder-vars-movedfrom-age": "이동 원본 문서의 나이 (단위: 초)",
-	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "마지막 이동 원본 문서 편집 이후의 시간 (단위: 초)",
-	"abusefilter-edit-builder-vars-movedto-id": "이동 후 문서의 ID",
-	"abusefilter-edit-builder-vars-movedto-ns": "이동 후 문서의 이름공간",
-	"abusefilter-edit-builder-vars-movedto-title": "이동 후 문서의 제목",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "이동 후 문서의 전체 제목",
-	"abusefilter-edit-builder-vars-movedto-age": "이동 대상 문서의 나이 (단위: 초)",
-	"abusefilter-edit-builder-vars-movedto-last-edit-age": "마지막 이동 대상 문서 편집 이후의 시간 (단위: 초)",
-	"abusefilter-edit-builder-vars-user-editcount": "사용자의 편집 수",
-	"abusefilter-edit-builder-vars-user-age": "사용자 계정 만든 후 지난 시간",
-	"abusefilter-edit-builder-vars-user-name": "사용자 계정 이름",
-	"abusefilter-edit-builder-vars-user-type": "사용자 계정 유형",
-	"abusefilter-edit-builder-vars-user-groups": "사용자 권한 그룹 (자동으로 부여된 권한 포함)",
-	"abusefilter-edit-builder-vars-user-rights": "사용자가 가진 권한",
-	"abusefilter-edit-builder-vars-user-blocked": "사용자의 차단 여부",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "이메일이 인증된 시각",
-	"abusefilter-edit-builder-vars-old-wikitext": "편집 전 과거 문서의 위키텍스트",
-	"abusefilter-edit-builder-vars-new-wikitext": "편집 후 새 문서의 위키텍스트",
-	"abusefilter-edit-builder-vars-added-links": "편집 중 추가된 모든 외부 링크",
-	"abusefilter-edit-builder-vars-removed-links": "편집 중 제거된 모든 외부 링크",
-	"abusefilter-edit-builder-vars-all-links": "바뀐 글에 포함된 모든 외부 링크",
-	"abusefilter-edit-builder-vars-new-pst": "새 문서 위키 텍스트, 변환을 미리 저장",
-	"abusefilter-edit-builder-vars-diff-pst": "편집으로 인한 바뀐 내용의 차이가 통합됨, 미리 저장 변형됨",
-	"abusefilter-edit-builder-vars-addedlines-pst": "줄이 편집 중 추가됨, 미리 저장 변형됨",
-	"abusefilter-edit-builder-vars-new-text": "편집 후 마크업을 제거한 문서 내용",
-	"abusefilter-edit-builder-vars-new-html": "편집 후의 HTML 소스",
-	"abusefilter-edit-builder-vars-restrictions-edit": "문서 편집 보호 수준",
-	"abusefilter-edit-builder-vars-restrictions-move": "문서 이동 보호 수준",
-	"abusefilter-edit-builder-vars-restrictions-create": "문서의 만들기 보호 설정",
-	"abusefilter-edit-builder-vars-restrictions-upload": "파일의 올리기 보호 설정",
-	"abusefilter-edit-builder-vars-recent-contributors": "이 문서에 마지막으로 기여한 사용자 10명",
-	"abusefilter-edit-builder-vars-first-contributor": "이 문서에 처음으로 기여한 사용자",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "이동 원본 문서의 편집 보호 수준",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "이동 원본 문서의 이동 보호 수준",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "이동 원본 문서의 만들기 보호 설정",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "이동 원본 파일의 올리기 보호 설정",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "이동 원본 문서에 마지막으로 기여한 사용자 10명",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "이동 원본 문서에 처음으로 기여한 사용자",
-	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "이동 대상 문서의 편집 보호 수준",
-	"abusefilter-edit-builder-vars-movedto-restrictions-move": "이동 대상 문서의 이동 보호 수준",
-	"abusefilter-edit-builder-vars-movedto-restrictions-create": "이동 대상 문서의 만들기 보호 설정",
-	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "이동 대상 파일의 올리기 보호 설정",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "이동 대상 문서에 마지막으로 기여한 사용자 10명",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "이동 대상 문서에 처음으로 기여한 사용자",
-	"abusefilter-edit-builder-vars-old-links": "편집하기 전의 문서 링크",
-	"abusefilter-edit-builder-vars-file-sha1": "파일 내용의 SHA1 해시",
-	"abusefilter-edit-builder-vars-file-size": "파일 크기 (바이트 단위)",
-	"abusefilter-edit-builder-vars-file-mime": "파일의 MIME 타입",
-	"abusefilter-edit-builder-vars-file-mediatype": "파일의 미디어 타입",
-	"abusefilter-edit-builder-vars-file-width": "파일의 너비 (단위: 픽셀)",
-	"abusefilter-edit-builder-vars-file-height": "파일의 높이 (단위: 픽셀)",
-	"abusefilter-edit-builder-vars-file-bits-per-channel": "파일의 컬러 채널 당 비트",
-	"abusefilter-edit-builder-vars-wiki-name": "위키의 데이터베이스 이름",
-	"abusefilter-edit-builder-vars-wiki-language": "위키의 언어 코드",
+	"abusefilter-edit-builder-vars-timestamp": "바뀐 시점의 유닉스 시간 기록 ($1)",
+	"abusefilter-edit-builder-vars-accountname": "계정 생성 시 계정 이름 ($1)",
+	"abusefilter-edit-builder-vars-action": "동작 ($1)",
+	"abusefilter-edit-builder-vars-addedlines": "편집 중 추가된 줄 ($1)",
+	"abusefilter-edit-builder-vars-delta": "편집에서의 문서 크기 변화 ($1)",
+	"abusefilter-edit-builder-vars-diff": "편집 전후의 차이 ($1)",
+	"abusefilter-edit-builder-vars-newsize": "새 문서 크기 ($1)",
+	"abusefilter-edit-builder-vars-oldsize": "이전 문서 크기 ($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "새 콘텐츠 모델 ($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "이전 콘텐츠 모델 ($1)",
+	"abusefilter-edit-builder-vars-removedlines": "편집 중 제거된 줄 ($1)",
+	"abusefilter-edit-builder-vars-summary": "편집 요약/이유 ($1)",
+	"abusefilter-edit-builder-vars-page-id": "문서 ID ($1)",
+	"abusefilter-edit-builder-vars-page-ns": "문서 이름공간 ($1)",
+	"abusefilter-edit-builder-vars-page-title": "이름공간을 뺀 문서 제목 ($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "전체 문서 제목 ($1)",
+	"abusefilter-edit-builder-vars-page-age": "문서의 나이 (단위: 초, $1)",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "마지막 문서 편집 이후의 시간 (단위: 초, $1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "이동 전 문서의 ID ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "이동 전 문서의 이름공간 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "이동 전의 제목 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "이동 전 문서의 전체 이름 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "이동 원본 문서의 나이 (단위: 초, $1)",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "마지막 이동 원본 문서 편집 이후의 시간 (단위: 초, $1)",
+	"abusefilter-edit-builder-vars-movedto-id": "이동 후 문서의 ID ($1)",
+	"abusefilter-edit-builder-vars-movedto-ns": "이동 후 문서의 이름공간 ($1)",
+	"abusefilter-edit-builder-vars-movedto-title": "이동 후 문서의 제목 ($1)",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "이동 후 문서의 전체 제목 ($1)",
+	"abusefilter-edit-builder-vars-movedto-age": "이동 대상 문서의 나이 (단위: 초, $1)",
+	"abusefilter-edit-builder-vars-movedto-last-edit-age": "마지막 이동 대상 문서 편집 이후의 시간 (단위: 초, $1)",
+	"abusefilter-edit-builder-vars-user-editcount": "사용자의 편집 수 ($1)",
+	"abusefilter-edit-builder-vars-user-age": "사용자 계정 만든 후 지난 시간 ($1)",
+	"abusefilter-edit-builder-vars-user-name": "사용자 계정 이름 ($1)",
+	"abusefilter-edit-builder-vars-user-type": "사용자 계정 유형 ($1)",
+	"abusefilter-edit-builder-vars-user-groups": "사용자 권한 그룹 (자동으로 부여된 권한 포함, $1)",
+	"abusefilter-edit-builder-vars-user-rights": "사용자가 가진 권한 ($1)",
+	"abusefilter-edit-builder-vars-user-blocked": "사용자의 차단 여부 ($1)",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "이메일 주소가 인증된 시각 ($1)",
+	"abusefilter-edit-builder-vars-old-wikitext": "편집 전 과거 문서의 위키텍스트 ($1)",
+	"abusefilter-edit-builder-vars-new-wikitext": "편집 후 새 문서의 위키텍스트 ($1)",
+	"abusefilter-edit-builder-vars-added-links": "편집 중 추가된 모든 외부 링크 ($1)",
+	"abusefilter-edit-builder-vars-removed-links": "편집 중 제거된 모든 외부 링크 ($1)",
+	"abusefilter-edit-builder-vars-all-links": "바뀐 글에 포함된 모든 외부 링크 ($1)",
+	"abusefilter-edit-builder-vars-new-pst": "새 문서 위키 텍스트, 변환을 미리 저장 ($1)",
+	"abusefilter-edit-builder-vars-diff-pst": "편집으로 인한 바뀐 내용의 차이가 통합됨, 미리 저장 변형됨 ($1)",
+	"abusefilter-edit-builder-vars-addedlines-pst": "줄이 편집 중 추가됨, 미리 저장 변형됨 ($1)",
+	"abusefilter-edit-builder-vars-new-text": "편집 후 마크업을 제거한 문서 내용 ($1)",
+	"abusefilter-edit-builder-vars-new-html": "편집 후의 HTML 원본 ($1)",
+	"abusefilter-edit-builder-vars-restrictions-edit": "문서 편집 보호 수준 ($1)",
+	"abusefilter-edit-builder-vars-restrictions-move": "문서 이동 보호 수준 ($1)",
+	"abusefilter-edit-builder-vars-restrictions-create": "문서의 만들기 보호 설정 ($1)",
+	"abusefilter-edit-builder-vars-restrictions-upload": "파일의 올리기 보호 설정 ($1)",
+	"abusefilter-edit-builder-vars-recent-contributors": "이 문서에 마지막으로 기여한 사용자 10명 ($1)",
+	"abusefilter-edit-builder-vars-first-contributor": "이 문서에 처음으로 기여한 사용자 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "이동 원본 문서의 편집 보호 수준 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "이동 원본 문서의 이동 보호 수준 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "이동 원본 문서의 만들기 보호 설정 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "이동 원본 파일의 올리기 보호 설정 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "이동 원본 문서에 마지막으로 기여한 사용자 10명 ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "이동 원본 문서에 처음으로 기여한 사용자 ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "이동 대상 문서의 편집 보호 수준 ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-move": "이동 대상 문서의 이동 보호 수준 ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-create": "이동 대상 문서의 만들기 보호 설정 ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "이동 대상 파일의 올리기 보호 설정 ($1)",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "이동 대상 문서에 마지막으로 기여한 사용자 10명 ($1)",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "이동 대상 문서에 처음으로 기여한 사용자 ($1)",
+	"abusefilter-edit-builder-vars-old-links": "편집하기 전의 문서 내 링크 ($1)",
+	"abusefilter-edit-builder-vars-file-sha1": "파일 내용의 SHA1 해시 ($1)",
+	"abusefilter-edit-builder-vars-file-size": "파일 크기 ($1)",
+	"abusefilter-edit-builder-vars-file-mime": "파일의 MIME 타입 ($1)",
+	"abusefilter-edit-builder-vars-file-mediatype": "파일의 미디어 타입 ($1)",
+	"abusefilter-edit-builder-vars-file-width": "파일의 너비 (단위: 픽셀, $1)",
+	"abusefilter-edit-builder-vars-file-height": "파일의 높이 (단위: 픽셀, $1)",
+	"abusefilter-edit-builder-vars-file-bits-per-channel": "파일의 컬러 채널 당 비트 ($1)",
+	"abusefilter-edit-builder-vars-wiki-name": "위키의 데이터베이스 이름 ($1)",
+	"abusefilter-edit-builder-vars-wiki-language": "위키의 언어 코드 ($1)",
 	"abusefilter-edit-builder-vars-old-text": "모든 마크업을 제거한 이전 문서 텍스트",
 	"abusefilter-edit-builder-vars-old-html": "HTML로 구문 분석된 과거 문서의 위키텍스트 (더 이상 쓰이지 않음)",
 	"abusefilter-edit-builder-vars-minor-edit": "사소한 편집으로 표시할지의 여부 (더 이상 쓰이지 않음)",
diff --git a/i18n/ksh.json b/i18n/ksh.json
index 5475505..0e22593 100644
--- a/i18n/ksh.json
+++ b/i18n/ksh.json
@@ -192,7 +192,7 @@
 	"abusefilter-edit-builder-op-bool-not": "nit, et Jäjedeil (<code>!</code>)",
 	"abusefilter-edit-builder-op-bool-and": "un, „beeds“ (<code>&</code>)",
 	"abusefilter-edit-builder-op-bool-or": "ov, udder, „et ein, udder et ander, udder beeds“ (<code>|</code>)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR, exklusief-udder, „et ein, udder et ander, ävver nit beeds“ (^)",
+	"abusefilter-edit-builder-op-bool-xor": "XOR, exklusief-udder, „et ein, udder et ander, ävver nit beeds“ ($1)",
 	"abusefilter-edit-builder-group-misc": "Söns jet",
 	"abusefilter-edit-builder-misc-in": "en dä Bochstave-Reih enthallde (<code lang=\"en\">in</code>)",
 	"abusefilter-edit-builder-misc-contains": "Dat Woot odder dä Ußdrock op de rääschte Sigk eß en däm op de lenke Sigk änthallde (<code lang=\"en\">contains</code>)",
diff --git a/i18n/lb.json b/i18n/lb.json
index 4d700b5..6f3209f 100644
--- a/i18n/lb.json
+++ b/i18n/lb.json
@@ -219,7 +219,7 @@
 	"abusefilter-edit-builder-op-arithmetic-multiplication": "Multiplikatioun (*)",
 	"abusefilter-edit-builder-op-arithmetic-divide": "Divisioun (/)",
 	"abusefilter-edit-builder-op-arithmetic-modulo": "Modulo (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "Potenz (**)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "Potenz ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "Operateure fir ze vergläichen",
 	"abusefilter-edit-builder-op-comparison-equal": "Wäert selwecht wéi (==)",
 	"abusefilter-edit-builder-op-comparison-equal-strict": "Wäert an Typ deselwechte wéi (===)",
@@ -231,7 +231,7 @@
 	"abusefilter-edit-builder-op-comparison-gte": "Méi grouss oder dselwecht wéi (>=)",
 	"abusefilter-edit-builder-group-op-bool": "Boolesch Operateuren",
 	"abusefilter-edit-builder-op-bool-not": "Net (!)",
-	"abusefilter-edit-builder-op-bool-and": "An (&)",
+	"abusefilter-edit-builder-op-bool-and": "An ($1)",
 	"abusefilter-edit-builder-op-bool-or": "Oder (|)",
 	"abusefilter-edit-builder-group-misc": "Verschiddenes",
 	"abusefilter-edit-builder-misc-in": "An der Zeechefolleg dran (in)",
@@ -256,7 +256,7 @@
 	"abusefilter-edit-builder-funcs-set_var": "Variabel definéieren (set_var)",
 	"abusefilter-edit-builder-group-vars": "Variabelen",
 	"abusefilter-edit-builder-vars-timestamp": "Unix-Zäitstempel vun der Ännerung",
-	"abusefilter-edit-builder-vars-accountname": "Numm vum Benotzerkont (beim Uleeë vum Benotzerkont)",
+	"abusefilter-edit-builder-vars-accountname": "Numm vum Benotzerkont beim Uleeën ($1)",
 	"abusefilter-edit-builder-vars-action": "Aktioun",
 	"abusefilter-edit-builder-vars-addedlines": "Linnen déi bei der Ännerung derbäigesat goufen",
 	"abusefilter-edit-builder-vars-delta": "Ännerung vun der Gréisst vun der Säit bei der Ännerung",
@@ -265,7 +265,7 @@
 	"abusefilter-edit-builder-vars-oldsize": "Al Säitegréisst",
 	"abusefilter-edit-builder-vars-new-content-model": "Neien Inhaltsmodell",
 	"abusefilter-edit-builder-vars-old-content-model": "Alen Inhaltsmodell",
-	"abusefilter-edit-builder-vars-removedlines": "Linnen déi der Ännerung ewechgeholl goufen",
+	"abusefilter-edit-builder-vars-removedlines": "Zeilen, déi bei der Ännerung ewechgeholl goufen ($1)",
 	"abusefilter-edit-builder-vars-summary": "Resumé/Grond vun der Ännerung",
 	"abusefilter-edit-builder-vars-page-id": "ID (Nummer) vun der Säit",
 	"abusefilter-edit-builder-vars-page-ns": "Nummraum vun der Säit",
@@ -291,7 +291,7 @@
 	"abusefilter-edit-builder-vars-old-wikitext": "Ale Wiki-Text vun der Säit, virun der Ännerung",
 	"abusefilter-edit-builder-vars-new-wikitext": "Neie Wiki-Text vun der Säit, no der Ännerung",
 	"abusefilter-edit-builder-vars-added-links": "All extern Linken déi bei der Ännerung derbäigesat goufen",
-	"abusefilter-edit-builder-vars-removed-links": "All extern Linken déi bei der Ännerung ewechgeholl goufen",
+	"abusefilter-edit-builder-vars-removed-links": "All extern Linken, déi bei der Ännerung ewechgeholl goufen ($1)",
 	"abusefilter-edit-builder-vars-all-links": "All extern Linken am neien Text",
 	"abusefilter-edit-builder-vars-new-pst": "Wikitext vun der neier Säit, virum Späicheren ëmgewandelt",
 	"abusefilter-edit-builder-vars-new-text": "Neien Text vun der Säit ouni iergendwellech Formatéierung",
@@ -302,10 +302,10 @@
 	"abusefilter-edit-builder-vars-recent-contributors": "Déi lescht zeng Benotzer déi un dësem Artikel geschafft hunn",
 	"abusefilter-edit-builder-vars-first-contributor": "Éischte Benotzer deen un der Säit geschafft huet",
 	"abusefilter-edit-builder-vars-old-links": "Linken op der Säit, virun der Ännerung",
-	"abusefilter-edit-builder-vars-file-sha1": "SHA1-Hash vum Inhalt vum Fichier",
+	"abusefilter-edit-builder-vars-file-sha1": "SHA1-Hash vum Inhalt vum Fichier ($1)",
 	"abusefilter-edit-builder-vars-file-size": "Gréisst vum Fichier a Bytes",
-	"abusefilter-edit-builder-vars-file-width": "Breet vum Fichier a Pixel",
-	"abusefilter-edit-builder-vars-file-height": "Héicht vum Fichier a Pixel",
+	"abusefilter-edit-builder-vars-file-width": "Breet vum Fichier a Pixelen ($1)",
+	"abusefilter-edit-builder-vars-file-height": "Héicht vum Fichier a Pixelen ($1)",
 	"abusefilter-edit-builder-vars-wiki-name": "Numm vun der Datebank vun der Wiki",
 	"abusefilter-edit-builder-vars-wiki-language": "Sproochcode vun der Wiki",
 	"abusefilter-edit-builder-vars-old-text": "Alen Text vun der Säit, ouni iergendwellech Formatéierung (gëtt net méi benotzt)",
diff --git a/i18n/lmo.json b/i18n/lmo.json
index 43fafdf..f4dd88f 100644
--- a/i18n/lmo.json
+++ b/i18n/lmo.json
@@ -1,6 +1,7 @@
 {
 	"@metadata": {
 		"authors": [
+			"Amire80",
 			"Dakrismeno",
 			"Salvemm el lombard",
 			"Sciking",
@@ -53,7 +54,7 @@
 	"abusefilter-edit-builder-op-comparison-lt": "Men de (<)",
 	"abusefilter-edit-builder-op-comparison-lte": "Minor de o istess de (<=)",
 	"abusefilter-edit-builder-op-comparison-gte": "Magior de o istess de (<=)",
-	"abusefilter-edit-builder-op-bool-xor": "Or che 'l taja foeura (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Or che 'l taja foeura ($1)",
 	"abusefilter-edit-builder-misc-in": "contegnud in de la stringa (in)",
 	"abusefilter-edit-builder-misc-contains": "La stringa de drizza la gh'ha denter quella de manzina (contains)",
 	"abusefilter-edit-builder-funcs-ccnorm": "Normaliza i carater sconfondibel (ccnorm)",
diff --git a/i18n/mk.json b/i18n/mk.json
index 6d5b550..c26ac40 100644
--- a/i18n/mk.json
+++ b/i18n/mk.json
@@ -1,6 +1,7 @@
 {
 	"@metadata": {
 		"authors": [
+			"Amire80",
 			"Bjankuloski06",
 			"Brest",
 			"Matma Rex",
@@ -300,140 +301,140 @@
 	"abusefilter-edit-invalid-group": "Укажаната филтерска група („$1“) е неважечка.",
 	"abusefilter-edit-builder-select": "Одберете можност за додавање кај курсорот",
 	"abusefilter-edit-builder-group-op-arithmetic": "Аритметички оператори",
-	"abusefilter-edit-builder-op-arithmetic-addition": "Собирање (+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "Одземање (-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "Множење (*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "Делење (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "Модул (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "Степен (**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "Собирање ($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "Одземање ($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "Множење ($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "Делење ($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "Модул ($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "Степен ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "Оператори за споредба",
-	"abusefilter-edit-builder-op-comparison-equal": "Вредност еднаква на (==)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "Вредност и тип еднакви на (===)",
-	"abusefilter-edit-builder-op-comparison-notequal": "Вредноста не е еднаква на (!=)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "Вредноста и типот не се еднакви на (!==)",
-	"abusefilter-edit-builder-op-comparison-lt": "Помало од (<)",
-	"abusefilter-edit-builder-op-comparison-gt": "Поголемо од (>)",
-	"abusefilter-edit-builder-op-comparison-lte": "Помало или еднакво со (<=)",
-	"abusefilter-edit-builder-op-comparison-gte": "Поголемо или еднакво со (>=)",
+	"abusefilter-edit-builder-op-comparison-equal": "Вредност еднаква на ($1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "Вредност и тип еднакви на ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "Вредноста не е еднаква на ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "Вредноста и типот не се еднакви на ($1)",
+	"abusefilter-edit-builder-op-comparison-lt": "Помало од ($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "Поголемо од ($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "Помало или еднакво на ($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "Поголемо или еднакво на ($1)",
 	"abusefilter-edit-builder-group-op-bool": "Булови оператори",
-	"abusefilter-edit-builder-op-bool-not": "Не (!)",
-	"abusefilter-edit-builder-op-bool-and": "И (&)",
-	"abusefilter-edit-builder-op-bool-or": "Или (|)",
-	"abusefilter-edit-builder-op-bool-xor": "ЕКСИЛИ (^)",
+	"abusefilter-edit-builder-op-bool-not": "Не ($1)",
+	"abusefilter-edit-builder-op-bool-and": "И ($1)",
+	"abusefilter-edit-builder-op-bool-or": "Или ($1)",
+	"abusefilter-edit-builder-op-bool-xor": "ЕКСИЛИ ($1)",
 	"abusefilter-edit-builder-group-misc": "Разно",
-	"abusefilter-edit-builder-misc-in": "се содржи во низата (in)",
-	"abusefilter-edit-builder-misc-contains": "Левата низа ја содржи десната низа (contains)",
-	"abusefilter-edit-builder-misc-like": "Се совпаѓа со шемата (like)",
-	"abusefilter-edit-builder-misc-stringlit": "Дословна низа (\"\")",
-	"abusefilter-edit-builder-misc-rlike": "Се совпаѓа со регуларниот израз (rlike)",
-	"abusefilter-edit-builder-misc-irlike": "Пронаоѓа регуларен израз, разликува големи и мали букви (irlike)",
-	"abusefilter-edit-builder-misc-tern": "Тринарен оператор (X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "Услов (if X then Y else Z end)",
-	"abusefilter-edit-builder-misc-cond-short": "Краток услов (if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "се содржи во низата ($1)",
+	"abusefilter-edit-builder-misc-contains": "Левата низа ја содржи десната низа ($1)",
+	"abusefilter-edit-builder-misc-like": "Се совпаѓа со шемата ($1)",
+	"abusefilter-edit-builder-misc-stringlit": "Дословна низа ($1)",
+	"abusefilter-edit-builder-misc-rlike": "Се совпаѓа со регуларниот израз ($1)",
+	"abusefilter-edit-builder-misc-irlike": "Пронаоѓа регуларен израз, разликува големи и мали букви ($1)",
+	"abusefilter-edit-builder-misc-tern": "Троичен оператор ($1)",
+	"abusefilter-edit-builder-misc-cond": "Услов ($1)",
+	"abusefilter-edit-builder-misc-cond-short": "Краток услов ($1)",
 	"abusefilter-edit-builder-group-funcs": "Функции",
-	"abusefilter-edit-builder-funcs-length": "Должина на низата (length)",
-	"abusefilter-edit-builder-funcs-lcase": "Со мали букви (lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "Со големи букви (ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "Нормализирај ги знаците подлежни на забуна (ccnorm)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Нормализирај и пребарај низа со повеќе поднизи во OR-режим (ccnorm_contains_any)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Нормализирај и пребарај низа со повеќе поднизи во режимот И (ccnorm_contains_all)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "Отстрани повторени знаци (rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "Посебни знаци / вкупно знаци (specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "Нормализирај (norm)",
-	"abusefilter-edit-builder-funcs-count": "Број на јавувања на низата X во низата Y (count)",
-	"abusefilter-edit-builder-funcs-rcount": "Број на јавувања на регуларнот израз X во низата Y (rcount)",
-	"abusefilter-edit-builder-funcs-get_matches": "Строј совпаѓања во регуларните изрази во рамките на текстот за секоја зафатна група (get_matches)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "Отстрани празни простори (rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "Отстрани посебни знаци (rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "Проверка дали IP-адресата е во опсегот (ip_in_range)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "Дали IP-адресата е во некој од опсезите? (ip_in_ranges)",
-	"abusefilter-edit-builder-funcs-contains-any": "Пребарај повеќе поднизи во низата во режимот ИЛИ (contains_any)",
-	"abusefilter-edit-builder-funcs-contains-all": "Пребарај повеќе поднизи во низата во режим И. (contains_all)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "Провери дали даден аргумент е еднаков (===) на некој од следниве аргументи (equals_to_any)",
-	"abusefilter-edit-builder-funcs-substr": "Подниза (substr)",
-	"abusefilter-edit-builder-funcs-strpos": "Позиција на поднизата во низата (strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "Замени ја поднизата со низа (str_replace)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "Пребарување и замена на регуларни изрази (str_replace_regexp)",
-	"abusefilter-edit-builder-funcs-rescape": "Извод на низа како дословна во рег. изрази (rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "Постави променлива (set_var)",
-	"abusefilter-edit-builder-funcs-sanitize": "Нормализирај HTML-единици во уникодни знаци (sanitize)",
+	"abusefilter-edit-builder-funcs-length": "Должина на низата ($1)",
+	"abusefilter-edit-builder-funcs-lcase": "Со мали букви ($1)",
+	"abusefilter-edit-builder-funcs-ucase": "Со големи букви ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "Нормализирај ги знаците подлежни на забуна ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Нормализирај и пребарај низа со повеќе поднизи во OR-режим ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Нормализирај и пребарај низа со повеќе поднизи во режимот И ($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "Отстрани повторени знаци ($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "Посебни знаци / вкупно знаци ($1)",
+	"abusefilter-edit-builder-funcs-norm": "Нормализирај ($1)",
+	"abusefilter-edit-builder-funcs-count": "Број на јавувања на низата X во низата Y ($1)",
+	"abusefilter-edit-builder-funcs-rcount": "Број на јавувања на регуларнот израз X во низата Y ($1)",
+	"abusefilter-edit-builder-funcs-get_matches": "Строј совпаѓања во регуларните изрази во рамките на текстот за секоја зафатна група ($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "Отстрани празни простори ($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "Отстрани посебни знаци ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "Проверка дали IP-адресата е во опсегот ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "Дали IP-адресата е во некој од опсезите? ($1)",
+	"abusefilter-edit-builder-funcs-contains-any": "Пребарај повеќе поднизи во низата во режимот ИЛИ ($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "Пребарај повеќе поднизи во низата во режим И. ($1)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "Провери дали даден аргумент е еднаков (===) на некој од следниве аргументи ($1)",
+	"abusefilter-edit-builder-funcs-substr": "Подниза ($1)",
+	"abusefilter-edit-builder-funcs-strpos": "Позиција на поднизата во низата ($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "Замени ја поднизата со низа ($1)",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "Пребарување и замена на регуларни изрази ($1)",
+	"abusefilter-edit-builder-funcs-rescape": "Извод на низа како дословна во рег. изрази ($1)",
+	"abusefilter-edit-builder-funcs-set_var": "Постави променлива ($1)",
+	"abusefilter-edit-builder-funcs-sanitize": "Нормализирај HTML-единици во уникодни знаци ($1)",
 	"abusefilter-edit-builder-group-vars": "Променливи",
-	"abusefilter-edit-builder-vars-timestamp": "Unix-датум и време на промената",
-	"abusefilter-edit-builder-vars-accountname": "Име на сметката (при нејзиното создавање)",
-	"abusefilter-edit-builder-vars-action": "Дејство",
-	"abusefilter-edit-builder-vars-addedlines": "Додадени редови во уредувањето",
-	"abusefilter-edit-builder-vars-delta": "Големинска промена со уредувањето",
-	"abusefilter-edit-builder-vars-diff": "Обединети разлики на промените направени во уредувањето",
-	"abusefilter-edit-builder-vars-newsize": "Нова големина на страницата",
-	"abusefilter-edit-builder-vars-oldsize": "Стара големина на страницата",
-	"abusefilter-edit-builder-vars-new-content-model": "Нов содржински модел",
-	"abusefilter-edit-builder-vars-old-content-model": "Стар содржински модел",
-	"abusefilter-edit-builder-vars-removedlines": "Редови отстранети во уредувањето",
-	"abusefilter-edit-builder-vars-summary": "Опис/причина на уредувањето",
-	"abusefilter-edit-builder-vars-page-id": "Назнака на страницата",
-	"abusefilter-edit-builder-vars-page-ns": "Именски простор на страницата",
-	"abusefilter-edit-builder-vars-page-title": "Наслов на страницата (без именски простор)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "Полн наслов на страницата",
-	"abusefilter-edit-builder-vars-page-age": "Старост на страницата (во секунди)",
-	"abusefilter-edit-builder-vars-page-last-edit-age": "Изминато време од последното уредување на страниците (во секунди)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "Назнака на страницата за преместување",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "Именски простор на преименуваната страница",
-	"abusefilter-edit-builder-vars-movedfrom-title": "Име на преименуваната страница",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Полн наслов на преместената страница",
-	"abusefilter-edit-builder-vars-movedfrom-age": "Старост на изворната страница на преместувањето (во секунди)",
-	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Изминато време од последното уредување на изворната страница на преместувањето (во секунди)",
-	"abusefilter-edit-builder-vars-movedto-id": "Назнака на целната страница за преместување",
-	"abusefilter-edit-builder-vars-movedto-ns": "Именски простор на целната страница за преместување",
-	"abusefilter-edit-builder-vars-movedto-title": "Наслов на целната страница за преместување",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Полн наслов на целната страница за преместување",
-	"abusefilter-edit-builder-vars-movedto-age": "Старост на целната страница на преместувањето (во секунди)",
-	"abusefilter-edit-builder-vars-movedto-last-edit-age": "Изминато време од последното уредување на целната страница на преместувањето (во секунди)",
-	"abusefilter-edit-builder-vars-user-editcount": "Број на уредувања на корисникот",
-	"abusefilter-edit-builder-vars-user-age": "Старост на корисничката сметка",
-	"abusefilter-edit-builder-vars-user-name": "Име на корисничката сметка",
-	"abusefilter-edit-builder-vars-user-type": "Вид на корисничката сметка",
-	"abusefilter-edit-builder-vars-user-groups": "Групи (вклучувајќи нејавни) во кои членува корисникот",
-	"abusefilter-edit-builder-vars-user-rights": "Права што ги има корисникот",
-	"abusefilter-edit-builder-vars-user-blocked": "Дали корисникот е блокиран",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "Време кога била потврдена е-поштата",
-	"abusefilter-edit-builder-vars-old-wikitext": "Викитекст на старата страница, пред уредувањето",
-	"abusefilter-edit-builder-vars-new-wikitext": "Нов викитекст по уредувањето",
-	"abusefilter-edit-builder-vars-added-links": "Сите надворешни врски додадени во уредувањето",
-	"abusefilter-edit-builder-vars-removed-links": "Сите надворешни врски отстранети во уредувањето",
-	"abusefilter-edit-builder-vars-all-links": "Сите надворешни врски во новиот текст",
-	"abusefilter-edit-builder-vars-new-pst": "Викитекст за нова страница, претворен пред зачувување",
-	"abusefilter-edit-builder-vars-diff-pst": "Обединети разлики во уредувањето, претворени пред зачувување",
-	"abusefilter-edit-builder-vars-addedlines-pst": "Додадени редови во уредувањето, претворени пред зачувување",
-	"abusefilter-edit-builder-vars-new-text": "Нов текст на страницата, исчистен од секакви ознаки",
-	"abusefilter-edit-builder-vars-new-html": "Расчленет HTML-извор на новата преработка",
-	"abusefilter-edit-builder-vars-restrictions-edit": "Ниво на заштита на страницата од уредувања",
-	"abusefilter-edit-builder-vars-restrictions-move": "Ниво на заштита од преместување на страницата",
-	"abusefilter-edit-builder-vars-restrictions-create": "Заштита за создавање на страницата",
-	"abusefilter-edit-builder-vars-restrictions-upload": "Заштита за подигање на податотеката",
-	"abusefilter-edit-builder-vars-recent-contributors": "Последните десет уредници на страницата",
-	"abusefilter-edit-builder-vars-first-contributor": "Прв уредник на страницата",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "Степен на заштита на преместената страница",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Степен на заштита на изворната страница",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "Заштита од создавање на изворната преместена страница",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "Заштита од подигање на изворната преместена страница",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Последните десет уредници на изворната преместена страница",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Прв учесник во изворната преместена страница",
-	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "Заштита од уредување на целната страница",
-	"abusefilter-edit-builder-vars-movedto-restrictions-move": "Заштита од преместување на целната страница",
-	"abusefilter-edit-builder-vars-movedto-restrictions-create": "Заштита од создавање на целната страница",
-	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "Заштита од подигање на целната страница",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "Последните десет учесници во целната страница",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "Прв учесник во целната страница",
-	"abusefilter-edit-builder-vars-old-links": "Врски на оваа страница, пред уредувањето",
-	"abusefilter-edit-builder-vars-file-sha1": "SHA1-тараба на содржината на податотеката",
-	"abusefilter-edit-builder-vars-file-size": "Големина на податотеката во бајти",
-	"abusefilter-edit-builder-vars-file-mime": "MIME-тип на податотеката",
-	"abusefilter-edit-builder-vars-file-mediatype": "Медиумски тип на податотеката",
-	"abusefilter-edit-builder-vars-file-width": "Ширина на податотеката во пиксели",
-	"abusefilter-edit-builder-vars-file-height": "Висина на податотеката во пиксели",
-	"abusefilter-edit-builder-vars-file-bits-per-channel": "Битови по боен канал на податотеката",
-	"abusefilter-edit-builder-vars-wiki-name": "Име на базата на викито",
-	"abusefilter-edit-builder-vars-wiki-language": "Јазичен код на викито",
+	"abusefilter-edit-builder-vars-timestamp": "Unix-датум и време на промената ($1)",
+	"abusefilter-edit-builder-vars-accountname": "Име на сметката ($1)",
+	"abusefilter-edit-builder-vars-action": "Дејство ($1)",
+	"abusefilter-edit-builder-vars-addedlines": "Додадени редови во уредувањето ($1)",
+	"abusefilter-edit-builder-vars-delta": "Големинска промена со уредувањето ($1)",
+	"abusefilter-edit-builder-vars-diff": "Обединети разлики на промените направени во уредувањето ($1)",
+	"abusefilter-edit-builder-vars-newsize": "Нова големина на страницата ($1)",
+	"abusefilter-edit-builder-vars-oldsize": "Стара големина на страницата ($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "Нов содржински модел ($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "Стар содржински модел ($1)",
+	"abusefilter-edit-builder-vars-removedlines": "Редови отстранети во уредувањето ($1)",
+	"abusefilter-edit-builder-vars-summary": "Опис/причина на уредувањето ($1)",
+	"abusefilter-edit-builder-vars-page-id": "Назнака на страницата ($1)",
+	"abusefilter-edit-builder-vars-page-ns": "Именски простор на страницата ($1)",
+	"abusefilter-edit-builder-vars-page-title": "Наслов на страницата ($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "Полн наслов на страницата ($1)",
+	"abusefilter-edit-builder-vars-page-age": "Старост на страницата ($1)",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "Изминато време од последното уредување на страниците ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "Назнака на страницата за преместување ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "Именски простор на преименуваната страница ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "Име на преименуваната страница ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Полн наслов на преместената страница ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "Старост на изворната страница на преместувањето во секунди ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Изминато време од последното уредување на изворната страница на преместувањето во секунди ($1)",
+	"abusefilter-edit-builder-vars-movedto-id": "Назнака на целната страница за преместување ($1)",
+	"abusefilter-edit-builder-vars-movedto-ns": "Именски простор на целната страница за преместување ($1)",
+	"abusefilter-edit-builder-vars-movedto-title": "Наслов на целната страница за преместување ($1)",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Полн наслов на целната страница за преместување ($1)",
+	"abusefilter-edit-builder-vars-movedto-age": "Старост на целната страница на преместувањето во секунди ($1)",
+	"abusefilter-edit-builder-vars-movedto-last-edit-age": "Изминато време од последното уредување на целната страница на преместувањето во секунди ($1)",
+	"abusefilter-edit-builder-vars-user-editcount": "Број на уредувања на корисникот ($1)",
+	"abusefilter-edit-builder-vars-user-age": "Старост на корисничката сметка ($1)",
+	"abusefilter-edit-builder-vars-user-name": "Име на корисничката сметка ($1)",
+	"abusefilter-edit-builder-vars-user-type": "Вид на корисничката сметка ($1)",
+	"abusefilter-edit-builder-vars-user-groups": "Групи (вклучувајќи нејавни) во кои членува корисникот ($1)",
+	"abusefilter-edit-builder-vars-user-rights": "Права што ги има корисникот ($1)",
+	"abusefilter-edit-builder-vars-user-blocked": "Дали корисникот е блокиран ($1)",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "Време кога била потврдена е-поштата ($1)",
+	"abusefilter-edit-builder-vars-old-wikitext": "Викитекст на старата страница, пред уредувањето ($1)",
+	"abusefilter-edit-builder-vars-new-wikitext": "Нов викитекст по уредувањето ($1)",
+	"abusefilter-edit-builder-vars-added-links": "Сите надворешни врски додадени во уредувањето ($1)",
+	"abusefilter-edit-builder-vars-removed-links": "Сите надворешни врски отстранети во уредувањето ($1)",
+	"abusefilter-edit-builder-vars-all-links": "Сите надворешни врски во новиот текст ($1)",
+	"abusefilter-edit-builder-vars-new-pst": "Викитекст за нова страница, претворен пред зачувување ($1)",
+	"abusefilter-edit-builder-vars-diff-pst": "Обединети разлики во уредувањето, претворени пред зачувување ($1)",
+	"abusefilter-edit-builder-vars-addedlines-pst": "Додадени редови во уредувањето, претворени пред зачувување ($1)",
+	"abusefilter-edit-builder-vars-new-text": "Нов текст на страницата, исчистен од секакви ознаки ($1)",
+	"abusefilter-edit-builder-vars-new-html": "Расчленет HTML-извор на новата преработка ($1)",
+	"abusefilter-edit-builder-vars-restrictions-edit": "Ниво на заштита на страницата од уредувања ($1)",
+	"abusefilter-edit-builder-vars-restrictions-move": "Ниво на заштита од преместување на страницата ($1)",
+	"abusefilter-edit-builder-vars-restrictions-create": "Заштита за создавање на страницата ($1)",
+	"abusefilter-edit-builder-vars-restrictions-upload": "Заштита за подигање на податотеката ($1)",
+	"abusefilter-edit-builder-vars-recent-contributors": "Последните десет уредници на страницата ($1)",
+	"abusefilter-edit-builder-vars-first-contributor": "Прв уредник на страницата ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "Степен на заштита на преместената страница ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Степен на заштита на изворната страница ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "Заштита од создавање на изворната преместена страница ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "Заштита од подигање на изворната преместена страница ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Последните десет уредници на изворната преместена страница ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Прв учесник во изворната преместена страница ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "Заштита од уредување на целната страница ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-move": "Заштита од преместување на целната страница ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-create": "Заштита од создавање на целната страница ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "Заштита од подигање на целната страница ($1)",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "Последните десет учесници во целната страница ($1)",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "Прв учесник во целната страница ($1)",
+	"abusefilter-edit-builder-vars-old-links": "Врски на оваа страница, пред уредувањето ($1)",
+	"abusefilter-edit-builder-vars-file-sha1": "SHA1-тараба на содржината на податотеката ($1)",
+	"abusefilter-edit-builder-vars-file-size": "Големина на податотеката во бајти ($1)",
+	"abusefilter-edit-builder-vars-file-mime": "MIME-тип на податотеката ($1)",
+	"abusefilter-edit-builder-vars-file-mediatype": "Медиумски тип на податотеката ($1)",
+	"abusefilter-edit-builder-vars-file-width": "Ширина на податотеката во пиксели ($1)",
+	"abusefilter-edit-builder-vars-file-height": "Висина на податотеката во пиксели ($1)",
+	"abusefilter-edit-builder-vars-file-bits-per-channel": "Битови по боен канал на податотеката ($1)",
+	"abusefilter-edit-builder-vars-wiki-name": "Име на базата на викито ($1)",
+	"abusefilter-edit-builder-vars-wiki-language": "Јазичен код на викито ($1)",
 	"abusefilter-edit-builder-vars-old-text": "Текст на старата страница, со отстранети ознаки (вон употреба)",
 	"abusefilter-edit-builder-vars-old-html": "Викитекст на старата страница, расчленет во HTML (вон употреба)",
 	"abusefilter-edit-builder-vars-minor-edit": "Дали уредувањето е обележано како ситно (вон употреба)",
diff --git a/i18n/nb.json b/i18n/nb.json
index f584fb6..d5867d5 100644
--- a/i18n/nb.json
+++ b/i18n/nb.json
@@ -319,139 +319,139 @@
 	"abusefilter-edit-invalid-group": "Den angitte filtergruppa («$1») er ikke gyldig.",
 	"abusefilter-edit-builder-select": "Velg et alternativ for å legge det til på markøren",
 	"abusefilter-edit-builder-group-op-arithmetic": "Aritmetiske operatorer",
-	"abusefilter-edit-builder-op-arithmetic-addition": "Addisjon (+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "Subtraksjon (-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "Multiplikasjon (*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "Divisjon (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "Modulo (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "Eksponent (**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "Addisjon ($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "Subtraksjon ($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "Multiplikasjon ($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "Divisjon ($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "Modulo ($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "Eksponent ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "Sammenligningsoperatorer",
-	"abusefilter-edit-builder-op-comparison-equal": "Verdien er lik (==)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "Verdien og typen er lik (===)",
-	"abusefilter-edit-builder-op-comparison-notequal": "Verdien er ikke lik (!=)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "Verdien og typen er ikke lik (!==)",
-	"abusefilter-edit-builder-op-comparison-lt": "Mindre enn (<)",
-	"abusefilter-edit-builder-op-comparison-gt": "Større enn (>)",
-	"abusefilter-edit-builder-op-comparison-lte": "Mindre enn eller lik med (<=)",
-	"abusefilter-edit-builder-op-comparison-gte": "Større enn eller lik med (>=)",
+	"abusefilter-edit-builder-op-comparison-equal": "Verdien er lik ($1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "Verdien og typen er lik ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "Verdien er ikke lik ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "Verdien og typen er ikke lik ($1)",
+	"abusefilter-edit-builder-op-comparison-lt": "Mindre enn ($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "Større enn ($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "Mindre enn eller lik med ($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "Større enn eller lik med ($1)",
 	"abusefilter-edit-builder-group-op-bool": "Boolske operatorer",
-	"abusefilter-edit-builder-op-bool-not": "Ikke (!)",
-	"abusefilter-edit-builder-op-bool-and": "Og (&)",
-	"abusefilter-edit-builder-op-bool-or": "Eller (|)",
+	"abusefilter-edit-builder-op-bool-not": "Ikke ($1)",
+	"abusefilter-edit-builder-op-bool-and": "Og ($1)",
+	"abusefilter-edit-builder-op-bool-or": "Eller ($1)",
 	"abusefilter-edit-builder-group-misc": "Diverse",
-	"abusefilter-edit-builder-misc-in": "inneholdt i strengen (in)",
-	"abusefilter-edit-builder-misc-contains": "Venstre tekst inneholder tekst til høyre (contains)",
-	"abusefilter-edit-builder-misc-like": "Passer regulært uttrykk (like)",
-	"abusefilter-edit-builder-misc-stringlit": "Konstant streng (\"\")",
-	"abusefilter-edit-builder-misc-rlike": "Passer regulært uttrykk (rlike)",
-	"abusefilter-edit-builder-misc-irlike": "Passer regulært uttrykk, skiller ikke mellom store og små tegn (irlike)",
-	"abusefilter-edit-builder-misc-tern": "Trefoldig operator (X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "Betinget (if X then Y else Z)",
-	"abusefilter-edit-builder-misc-cond-short": "Kort betingelse (if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "inneholdt i strengen ($1)",
+	"abusefilter-edit-builder-misc-contains": "Venstre tekst inneholder tekst til høyre ($1)",
+	"abusefilter-edit-builder-misc-like": "Passer regulært uttrykk ($1)",
+	"abusefilter-edit-builder-misc-stringlit": "Konstant streng ($1)",
+	"abusefilter-edit-builder-misc-rlike": "Passer regulært uttrykk ($1)",
+	"abusefilter-edit-builder-misc-irlike": "Passer regulært uttrykk, skiller ikke mellom store og små tegn ($1)",
+	"abusefilter-edit-builder-misc-tern": "Trefoldig operator ($1)",
+	"abusefilter-edit-builder-misc-cond": "Betingelse ($1)",
+	"abusefilter-edit-builder-misc-cond-short": "Kort betingelse ($1)",
 	"abusefilter-edit-builder-group-funcs": "Funksjoner",
-	"abusefilter-edit-builder-funcs-length": "Strenglengde (length)",
-	"abusefilter-edit-builder-funcs-lcase": "Gjør om til små bokstaver (lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "Gjør om til store bokstaver (ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "Normaliser forvirrende bokstaver (ccnorm)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Normaliser og søk etter flere understrenger i en streng i OR-modus (ccnorm_contains_any)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Normaliser og søk etter flere understrenger i en streng i AND-modus (ccnorm_contains_all)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "Fjern doble bokstaver (rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "Spesialbokstaver / totalt antall bokstaver (specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "Normaliser (norm)",
-	"abusefilter-edit-builder-funcs-count": "Antall ganger streng X finnes i streng Y (count)",
-	"abusefilter-edit-builder-funcs-rcount": "Antall ganger regulæruttrykket X dukker opp i strengen Y (rcount)",
-	"abusefilter-edit-builder-funcs-get_matches": "Tabell over treff i regulære uttrykk innen en tekst for hver oppfangsgruppe (get_matches)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "Fjern mellomrom (rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "Fjern spesialtegn (rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "Er IP-en i innenfor område? (ip_in_range)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "Er IP-en i noen av disse intervallene? (ip_in_ranges)",
+	"abusefilter-edit-builder-funcs-length": "Strenglengde ($1)",
+	"abusefilter-edit-builder-funcs-lcase": "Gjør om til små bokstaver ($1)",
+	"abusefilter-edit-builder-funcs-ucase": "Gjør om til store bokstaver ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "Normaliser forvirrende bokstaver ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Normaliser og søk etter flere understrenger i en streng i OR-modus ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Normaliser og søk etter flere understrenger i en streng i AND-modus ($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "Fjern doble bokstaver ($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "Spesialbokstaver / totalt antall bokstaver ($1)",
+	"abusefilter-edit-builder-funcs-norm": "Normaliser ($1)",
+	"abusefilter-edit-builder-funcs-count": "Antall ganger streng X finnes i streng Y ($1)",
+	"abusefilter-edit-builder-funcs-rcount": "Antall ganger regulæruttrykket X dukker opp i strengen Y ($1)",
+	"abusefilter-edit-builder-funcs-get_matches": "Tabell over treff i regulære uttrykk innen en tekst for hver oppfangsgruppe ($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "Fjern mellomrom ($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "Fjern spesialtegn ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "Er IP-en i innenfor område? ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "Er IP-en i noen av disse intervallene? ($1)",
 	"abusefilter-edit-builder-funcs-contains-any": "Søk etter flere understrenger i en streng i OR-modus. (contains_any)",
 	"abusefilter-edit-builder-funcs-contains-all": "Søk etter flere understrenger i en streng i AND-modus. (contains_all)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "Sjekk om et gitt argument er likt (===) noen av de etterfølgende argumentene (equals_to_any)",
-	"abusefilter-edit-builder-funcs-substr": "Delstreng (substr)",
-	"abusefilter-edit-builder-funcs-strpos": "Delstrengens posisjon i strengen (strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "Erstatt delstreng med streng (str_replace)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "Søk og erstatt med regulære uttrykk (str_replace_regexp)",
-	"abusefilter-edit-builder-funcs-rescape": "Escape-streng som litteral i regulæruttrykk (regex/rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "Sett variabel (set_var)",
-	"abusefilter-edit-builder-funcs-sanitize": "Normaliser HTML-entiteter til Unicode-tegn (sanitize)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "Sjekk om et gitt argument er likt (===) noen av de etterfølgende argumentene ($1)",
+	"abusefilter-edit-builder-funcs-substr": "Delstreng ($1)",
+	"abusefilter-edit-builder-funcs-strpos": "Delstrengens posisjon i strengen ($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "Erstatt delstreng med streng ($1)",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "Søk og erstatt med regulære uttrykk ($1)",
+	"abusefilter-edit-builder-funcs-rescape": "Escape-streng som litteral i regulæruttrykk ($1)",
+	"abusefilter-edit-builder-funcs-set_var": "Sett variabel ($1)",
+	"abusefilter-edit-builder-funcs-sanitize": "Normaliser HTML-entiteter til Unicode-tegn ($1)",
 	"abusefilter-edit-builder-group-vars": "Variabler",
-	"abusefilter-edit-builder-vars-timestamp": "Unix-tidsstempel ved endring",
-	"abusefilter-edit-builder-vars-accountname": "Kontonavn (on account creation)",
-	"abusefilter-edit-builder-vars-action": "Handling",
-	"abusefilter-edit-builder-vars-addedlines": "Linjer lagt til i redigering",
-	"abusefilter-edit-builder-vars-delta": "Størrelsesendring i redigering",
-	"abusefilter-edit-builder-vars-diff": "Enhentlig differanse av endringer i redigering",
-	"abusefilter-edit-builder-vars-newsize": "Ny sidestørrelse",
-	"abusefilter-edit-builder-vars-oldsize": "Gammel sidestørrelse",
-	"abusefilter-edit-builder-vars-new-content-model": "Ny innholdsmodell",
-	"abusefilter-edit-builder-vars-old-content-model": "Gammel innholdsmodell",
-	"abusefilter-edit-builder-vars-removedlines": "Linjer fjernet i redigering",
-	"abusefilter-edit-builder-vars-summary": "Redigeringsforklaring",
-	"abusefilter-edit-builder-vars-page-id": "Side-ID",
-	"abusefilter-edit-builder-vars-page-ns": "Sidenavnerom",
-	"abusefilter-edit-builder-vars-page-title": "Sidetittel (uten navnerom)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "Full sidetittel",
-	"abusefilter-edit-builder-vars-page-age": "Sidealder (i sekunder)",
-	"abusefilter-edit-builder-vars-page-last-edit-age": "Tid siden forrige redigering på siden (i antall sekunder)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "Side-ID til kildeside ved flytting",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "Navnerom til målside ved flytting",
-	"abusefilter-edit-builder-vars-movedfrom-title": "Tittel til kildeside ved flytting",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Full tittel til kildeside ved flytting",
-	"abusefilter-edit-builder-vars-movedfrom-age": "Sidealder for flyttekilde (i sekunder)",
-	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Tid siden forrige redigering på kildesiden for flyttingen (i antall sekunder)",
-	"abusefilter-edit-builder-vars-movedto-id": "Side-ID til målside ved flytting",
-	"abusefilter-edit-builder-vars-movedto-ns": "Navnerom til målside ved flytting",
-	"abusefilter-edit-builder-vars-movedto-title": "Tittel til målside ved flytting",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Full tittel til målside ved flytting",
-	"abusefilter-edit-builder-vars-movedto-age": "Sidealder for flyttemål (i sekunder)",
-	"abusefilter-edit-builder-vars-movedto-last-edit-age": "Tid siden forrige redigering på målsiden for flyttingen (i antall sekunder)",
-	"abusefilter-edit-builder-vars-user-editcount": "Brukers redigeringsteller",
-	"abusefilter-edit-builder-vars-user-age": "Alder på brukerkontoen",
-	"abusefilter-edit-builder-vars-user-name": "Navn på brukerkonto",
-	"abusefilter-edit-builder-vars-user-type": "Type brukerkonto",
-	"abusefilter-edit-builder-vars-user-groups": "Grupper (inkludert implisitte) bruker er i",
-	"abusefilter-edit-builder-vars-user-rights": "Rettigheter som en bruker har",
-	"abusefilter-edit-builder-vars-user-blocked": "Hvorvidt brukeren er blokkert",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "Tid e-postadresse ble bekreftet",
-	"abusefilter-edit-builder-vars-old-wikitext": "Den gamle wikiteksten til siden, før endringen",
-	"abusefilter-edit-builder-vars-new-wikitext": "Den nye wikiteksten til siden, etter endringen",
-	"abusefilter-edit-builder-vars-added-links": "Alle eksterne lenker lagt til i endringen",
-	"abusefilter-edit-builder-vars-removed-links": "Alle eksterne lenker fjernet i endringen",
-	"abusefilter-edit-builder-vars-all-links": "Alle eksterne lenker i den nye teksten",
-	"abusefilter-edit-builder-vars-new-pst": "Ny side med wikitekst, transformert fra «pre-save»",
-	"abusefilter-edit-builder-vars-diff-pst": "Enhetlig diff av endringer gjort under redigering, transformert fra «pre-save»",
-	"abusefilter-edit-builder-vars-addedlines-pst": "Linjer lagt til under redigering, transformert fra «pre-save»",
-	"abusefilter-edit-builder-vars-new-text": "Ny sidetekst, uten markeringer",
-	"abusefilter-edit-builder-vars-new-html": "Tolket HTML-kode for den nye sideversjonen",
-	"abusefilter-edit-builder-vars-restrictions-edit": "Beskyttelsesnivå for redigering av siden",
-	"abusefilter-edit-builder-vars-restrictions-move": "Beskyttelsesnivå for flytting av siden",
-	"abusefilter-edit-builder-vars-restrictions-create": "Beskytt siden mot opprettelse",
-	"abusefilter-edit-builder-vars-restrictions-upload": "Opplastingsbeskyttelse for filen",
-	"abusefilter-edit-builder-vars-recent-contributors": "De siste ti bidragsyterene til siden",
-	"abusefilter-edit-builder-vars-first-contributor": "Første bidragsyter til siden",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "Redigeringsbeskyttelsesnivået til flyttekildesiden",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Flyttebeskyttelsesnivået til flyttekildesiden",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "Opprettelsesbeskyttelsesnivået til flyttekildesiden",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "Opplastingsbeskyttelsesnivået til flyttekildefila",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "De siste ti brukerne som har bidratt til flyttekilden",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Den første brukeren som bidro til flyttekildesiden",
-	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "Redigeringsbeskyttelsesnivået til flyttemålsiden",
-	"abusefilter-edit-builder-vars-movedto-restrictions-move": "Flyttebeskyttelsesnivået til flyttemålsiden",
-	"abusefilter-edit-builder-vars-movedto-restrictions-create": "Opprettelsesbeskyttelsesnivået til flyttemålsiden",
-	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "Opplastingsbeskyttelsesnivået til flyttemålfila",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "De siste ti brukerne som har bidratt til flyttemålsiden",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "Den første brukeren som bidro til flyttemålsiden",
-	"abusefilter-edit-builder-vars-old-links": "Lenker på denne siden, før redigeringen",
-	"abusefilter-edit-builder-vars-file-sha1": "SHA1-hash av filinnhold",
-	"abusefilter-edit-builder-vars-file-size": "Filstørrelsen i byte",
-	"abusefilter-edit-builder-vars-file-mime": "Filas MIME-type",
-	"abusefilter-edit-builder-vars-file-mediatype": "Filas medietype",
-	"abusefilter-edit-builder-vars-file-width": "Filas bredde i piksler",
-	"abusefilter-edit-builder-vars-file-height": "Filas høyde i piksler",
-	"abusefilter-edit-builder-vars-file-bits-per-channel": "Filas bit per fargekanal",
-	"abusefilter-edit-builder-vars-wiki-name": "Databasenavnet til wikien",
-	"abusefilter-edit-builder-vars-wiki-language": "Wikiens språkkode",
+	"abusefilter-edit-builder-vars-timestamp": "Unix-tidsstempel ved endring ($1)",
+	"abusefilter-edit-builder-vars-accountname": "Kontonavn ved kontoopprettelse ($1)",
+	"abusefilter-edit-builder-vars-action": "Handling ($1)",
+	"abusefilter-edit-builder-vars-addedlines": "Linjer lagt til i redigering ($1)",
+	"abusefilter-edit-builder-vars-delta": "Størrelsesendring i redigering ($1)",
+	"abusefilter-edit-builder-vars-diff": "Enhentlig differanse av endringer i redigering ($1)",
+	"abusefilter-edit-builder-vars-newsize": "Ny sidestørrelse ($1)",
+	"abusefilter-edit-builder-vars-oldsize": "Gammel sidestørrelse ($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "Ny innholdsmodell ($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "Gammel innholdsmodell ($1)",
+	"abusefilter-edit-builder-vars-removedlines": "Linjer fjernet i redigering ($1)",
+	"abusefilter-edit-builder-vars-summary": "Redigeringsforklaring ($1)",
+	"abusefilter-edit-builder-vars-page-id": "Side-ID ($1)",
+	"abusefilter-edit-builder-vars-page-ns": "Sidenavnerom ($1)",
+	"abusefilter-edit-builder-vars-page-title": "Sidetittel uten navnerom ($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "Full sidetittel ($1)",
+	"abusefilter-edit-builder-vars-page-age": "Sidealder i sekunder ($1)",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "Tid siden forrige redigering på siden i antall sekunder ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "Side-ID til kildeside ved flytting ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "Navnerom til målside ved flytting ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "Tittel til kildeside ved flytting ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Full tittel til kildeside ved flytting ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "Sidealder for flyttekilde i sekunder ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Tid siden forrige redigering på kildesiden for flyttingen i antall sekunder ($1)",
+	"abusefilter-edit-builder-vars-movedto-id": "Side-ID til målside ved flytting ($1)",
+	"abusefilter-edit-builder-vars-movedto-ns": "Navnerom til målside ved flytting ($1)",
+	"abusefilter-edit-builder-vars-movedto-title": "Tittel til målside ved flytting ($1)",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Full tittel til målside ved flytting ($1)",
+	"abusefilter-edit-builder-vars-movedto-age": "Sidealder for flyttemål i sekunder ($1)",
+	"abusefilter-edit-builder-vars-movedto-last-edit-age": "Tid siden forrige redigering på målsiden for flyttingen i antall sekunder ($1)",
+	"abusefilter-edit-builder-vars-user-editcount": "Brukers redigeringsteller ($1)",
+	"abusefilter-edit-builder-vars-user-age": "Alder på brukerkontoen ($1)",
+	"abusefilter-edit-builder-vars-user-name": "Navn på brukerkonto ($1)",
+	"abusefilter-edit-builder-vars-user-type": "Type brukerkonto ($1)",
+	"abusefilter-edit-builder-vars-user-groups": "Grupper (inkludert implisitte) bruker er i ($1)",
+	"abusefilter-edit-builder-vars-user-rights": "Rettigheter som en bruker har ($1)",
+	"abusefilter-edit-builder-vars-user-blocked": "Hvorvidt brukeren er blokkert ($1)",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "Tid e-postadresse ble bekreftet ($1)",
+	"abusefilter-edit-builder-vars-old-wikitext": "Den gamle wikiteksten til siden, før endringen ($1)",
+	"abusefilter-edit-builder-vars-new-wikitext": "Den nye wikiteksten til siden, etter endringen ($1)",
+	"abusefilter-edit-builder-vars-added-links": "Alle eksterne lenker lagt til i endringen ($1)",
+	"abusefilter-edit-builder-vars-removed-links": "Alle eksterne lenker fjernet i endringen ($1)",
+	"abusefilter-edit-builder-vars-all-links": "Alle eksterne lenker i den nye teksten ($1)",
+	"abusefilter-edit-builder-vars-new-pst": "Ny side med wikitekst, transformert fra «pre-save» ($1)",
+	"abusefilter-edit-builder-vars-diff-pst": "Enhetlig diff av endringer gjort under redigering, transformert fra «pre-save» ($1)",
+	"abusefilter-edit-builder-vars-addedlines-pst": "Linjer lagt til under redigering, transformert fra «pre-save» ($1)",
+	"abusefilter-edit-builder-vars-new-text": "Ny sidetekst, uten markeringer ($1)",
+	"abusefilter-edit-builder-vars-new-html": "Tolket HTML-kode for den nye sideversjonen ($1)",
+	"abusefilter-edit-builder-vars-restrictions-edit": "Beskyttelsesnivå for redigering av siden ($1)",
+	"abusefilter-edit-builder-vars-restrictions-move": "Beskyttelsesnivå for flytting av siden ($1)",
+	"abusefilter-edit-builder-vars-restrictions-create": "Beskytt siden mot opprettelse ($1)",
+	"abusefilter-edit-builder-vars-restrictions-upload": "Opplastingsbeskyttelse for filen ($1)",
+	"abusefilter-edit-builder-vars-recent-contributors": "De siste ti bidragsyterene til siden ($1)",
+	"abusefilter-edit-builder-vars-first-contributor": "Første bidragsyter til siden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "Redigeringsbeskyttelsesnivået til flyttekildesiden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "Flyttebeskyttelsesnivået til flyttekildesiden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "Opprettelsesbeskyttelsesnivået til flyttekildesiden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "Opplastingsbeskyttelsesnivået til flyttekildefila ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "De siste ti brukerne som har bidratt til flyttekilden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Den første brukeren som bidro til flyttekildesiden ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "Redigeringsbeskyttelsesnivået til flyttemålsiden ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-move": "Flyttebeskyttelsesnivået til flyttemålsiden ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-create": "Opprettelsesbeskyttelsesnivået til flyttemålsiden ($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "Opplastingsbeskyttelsesnivået til flyttemålfila ($1)",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "De siste ti brukerne som har bidratt til flyttemålsiden ($1)",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "Den første brukeren som bidro til flyttemålsiden ($1)",
+	"abusefilter-edit-builder-vars-old-links": "Lenker på denne siden, før redigeringen ($1)",
+	"abusefilter-edit-builder-vars-file-sha1": "SHA1-hash av filinnhold ($1)",
+	"abusefilter-edit-builder-vars-file-size": "Filstørrelsen i byte ($1)",
+	"abusefilter-edit-builder-vars-file-mime": "Filas MIME-type ($1)",
+	"abusefilter-edit-builder-vars-file-mediatype": "Filas medietype ($1)",
+	"abusefilter-edit-builder-vars-file-width": "Filas bredde i piksler ($1)",
+	"abusefilter-edit-builder-vars-file-height": "Filas høyde i piksler ($1)",
+	"abusefilter-edit-builder-vars-file-bits-per-channel": "Filas bit per fargekanal ($1)",
+	"abusefilter-edit-builder-vars-wiki-name": "Databasenavnet til wikien ($1)",
+	"abusefilter-edit-builder-vars-wiki-language": "Wikiens språkkode ($1)",
 	"abusefilter-edit-builder-vars-old-text": "Gammel sidetekst, renset for all koding",
 	"abusefilter-edit-builder-vars-old-html": "Gammel wikitekst på siden, tolket til HTML (ikke lenger ikke bruk)",
 	"abusefilter-edit-builder-vars-minor-edit": "Hvorvidt denne endringen er markert som mindre endring (ikke lenger i bruk)",
diff --git a/i18n/nl.json b/i18n/nl.json
index 23e92c6..c6192e0 100644
--- a/i18n/nl.json
+++ b/i18n/nl.json
@@ -328,87 +328,87 @@
 	"abusefilter-edit-invalid-group": "De opgegeven filtergroep ('$1') is niet geldig.",
 	"abusefilter-edit-builder-select": "Selecteer een optie om deze aan de cursor toe te voegen",
 	"abusefilter-edit-builder-group-op-arithmetic": "Rekenkundige operatoren",
-	"abusefilter-edit-builder-op-arithmetic-addition": "Optellen (+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "Aftrekken (-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "Vermenigvuldigen (*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "Delen (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "Modulus (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "Machtsverheffen (**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "Optellen ($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "Aftrekken ($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "Vermenigvuldigen ($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "Delen ($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "Modulus ($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "Machtsverheffen ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "Vergelijkingsoperatoren",
-	"abusefilter-edit-builder-op-comparison-equal": "Waarde gelijk aan (==)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "Waarde en type gelijk aan (===)",
-	"abusefilter-edit-builder-op-comparison-notequal": "Waarde niet gelijk aan (!=)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "Waarde en type niet gelijk aan (!==)",
-	"abusefilter-edit-builder-op-comparison-lt": "Kleiner dan (<)",
-	"abusefilter-edit-builder-op-comparison-gt": "Groter dan (>)",
-	"abusefilter-edit-builder-op-comparison-lte": "Kleiner dan of gelijk aan (<=)",
-	"abusefilter-edit-builder-op-comparison-gte": "Groter dan of gelijk aan (>=)",
+	"abusefilter-edit-builder-op-comparison-equal": "Waarde gelijk aan ($1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "Waarde en type gelijk aan ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "Waarde niet gelijk aan ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "Waarde en type niet gelijk aan ($1)",
+	"abusefilter-edit-builder-op-comparison-lt": "Kleiner dan ($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "Groter dan ($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "Kleiner dan of gelijk aan ($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "Groter dan of gelijk aan ($1)",
 	"abusefilter-edit-builder-group-op-bool": "Booleaanse operatoren",
-	"abusefilter-edit-builder-op-bool-not": "Niet (!)",
-	"abusefilter-edit-builder-op-bool-and": "En (&)",
-	"abusefilter-edit-builder-op-bool-or": "Of (|)",
+	"abusefilter-edit-builder-op-bool-not": "Niet ($1)",
+	"abusefilter-edit-builder-op-bool-and": "En ($1)",
+	"abusefilter-edit-builder-op-bool-or": "Of ($1)",
 	"abusefilter-edit-builder-group-misc": "Overige",
-	"abusefilter-edit-builder-misc-in": "maakt onderdeel uit van tekst (in)",
-	"abusefilter-edit-builder-misc-contains": "De linker tekst bevat de rechter tekst (contains)",
-	"abusefilter-edit-builder-misc-like": "Voldoet aan patroon (like)",
-	"abusefilter-edit-builder-misc-stringlit": "Letterlijke tekst (\"\")",
-	"abusefilter-edit-builder-misc-rlike": "Voldoet aan reguliere expressie (rlike)",
-	"abusefilter-edit-builder-misc-irlike": "Voldoet aan reguliere expressie, ongevoelig voor hoofdletters (irlike)",
-	"abusefilter-edit-builder-misc-tern": "Ternaire operator (X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "Voorwaardelijk (if X then Y else Z)",
-	"abusefilter-edit-builder-misc-cond-short": "Korte voorwaardelijkheidsdefinitie (if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "maakt onderdeel uit van tekst ($1)",
+	"abusefilter-edit-builder-misc-contains": "De linker tekst bevat de rechter tekst ($1)",
+	"abusefilter-edit-builder-misc-like": "Voldoet aan patroon ($1)",
+	"abusefilter-edit-builder-misc-stringlit": "Letterlijke tekst ($1)",
+	"abusefilter-edit-builder-misc-rlike": "Voldoet aan reguliere expressie ($1)",
+	"abusefilter-edit-builder-misc-irlike": "Voldoet aan reguliere expressie, ongevoelig voor hoofdletters ($1)",
+	"abusefilter-edit-builder-misc-tern": "Ternaire operator ($1)",
+	"abusefilter-edit-builder-misc-cond": "Voorwaardelijk ($1)",
+	"abusefilter-edit-builder-misc-cond-short": "Korte voorwaardelijkheidsdefinitie ($1)",
 	"abusefilter-edit-builder-group-funcs": "Functies",
-	"abusefilter-edit-builder-funcs-length": "Tekstlengte (length)",
-	"abusefilter-edit-builder-funcs-lcase": "Naar kleine letters (lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "Naar hoofdletters (ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "Verwarrende tekens normaliseren (ccnorm)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Normaliseer en doorzoek een string voor meerdere substringen in OR-modus (ccnorm_contains_any)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Normaliseer en doorzoek een string voor meerdere substringen in AND-modus (ccnorm_contains_all)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "Dubbele tekens verwijderen (rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "Speciale tekens / totaal aantal tekens (specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "Normaliseren (norm)",
-	"abusefilter-edit-builder-funcs-count": "Aantal keren dat tekst X voorkomt in tekst Y (count)",
-	"abusefilter-edit-builder-funcs-rcount": "Aantal keren dat reguliere expressie X voorkomt in tekst Y (rcount)",
-	"abusefilter-edit-builder-funcs-get_matches": "Array van regex-overeenkomsten in een tekst voor elke vastleggende groep (get_matches)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "Witruimte verwijderen (rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "Speciale tekens verwijderen (rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "Bevindt het IP-adres zich in de opgegeven range? (ip_in_range)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "Ligt IP in één van de bereiken? (ip_in_ranges)",
-	"abusefilter-edit-builder-funcs-contains-any": "Zoekreeks voor meerdere substrings in de OF-modus. (Contains_any)",
-	"abusefilter-edit-builder-funcs-contains-all": "Zoekreeks voor meerdere substrings in EN-modus (contains_all)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "Controleer of het gegeven argument gelijk is (===) aan een van de volgende argumenten (equals_to_any)",
-	"abusefilter-edit-builder-funcs-substr": "Tekstdeel (substr)",
-	"abusefilter-edit-builder-funcs-strpos": "Plaats van het tekstdeel (strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "Tekstdeel vervangen door tekst (str_replace)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "Zoeken en vervangen met reguliere expressies (str_replace_regexp)",
-	"abusefilter-edit-builder-funcs-rescape": "Tekst escapen als letterlijk in reguliere expressies (rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "Variabele instellen (set_var)",
-	"abusefilter-edit-builder-funcs-sanitize": "Normaliseer HTML-entiteiten naar unicodekarakters (sanitize)",
+	"abusefilter-edit-builder-funcs-length": "Tekstlengte ($1)",
+	"abusefilter-edit-builder-funcs-lcase": "Naar kleine letters ($1)",
+	"abusefilter-edit-builder-funcs-ucase": "Naar hoofdletters ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "Verwarrende tekens normaliseren ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Normaliseer en doorzoek een string voor meerdere substringen in OR-modus ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Normaliseer en doorzoek een string voor meerdere substringen in AND-modus ($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "Dubbele tekens verwijderen ($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "Speciale tekens / totaal aantal tekens ($1)",
+	"abusefilter-edit-builder-funcs-norm": "Normaliseren ($1)",
+	"abusefilter-edit-builder-funcs-count": "Aantal keren dat tekst X voorkomt in tekst Y ($1)",
+	"abusefilter-edit-builder-funcs-rcount": "Aantal keren dat reguliere expressie X voorkomt in tekst Y ($1)",
+	"abusefilter-edit-builder-funcs-get_matches": "Array van regex-overeenkomsten in een tekst voor elke vastleggende groep ($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "Witruimte verwijderen ($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "Speciale tekens verwijderen ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "Bevindt het IP-adres zich in de opgegeven range? ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "Ligt IP in één van de bereiken? ($1)",
+	"abusefilter-edit-builder-funcs-contains-any": "Zoekreeks voor meerdere substrings in de OF-modus. ($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "Zoekreeks voor meerdere substrings in EN-modus ($1)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "Controleer of het gegeven argument gelijk is (===) aan een van de volgende argumenten ($1)",
+	"abusefilter-edit-builder-funcs-substr": "Tekstdeel ($1)",
+	"abusefilter-edit-builder-funcs-strpos": "Plaats van het tekstdeel ($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "Tekstdeel vervangen door tekst ($1)",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "Zoeken en vervangen met reguliere expressies ($1)",
+	"abusefilter-edit-builder-funcs-rescape": "Tekst escapen als letterlijk in reguliere expressies ($1)",
+	"abusefilter-edit-builder-funcs-set_var": "Variabele instellen ($1)",
+	"abusefilter-edit-builder-funcs-sanitize": "HTML-entiteiten normaliseren tot Unicode-tekens ($1)",
 	"abusefilter-edit-builder-group-vars": "Variabelen",
-	"abusefilter-edit-builder-vars-timestamp": "UNIX-tijdstempel van wijziging",
-	"abusefilter-edit-builder-vars-accountname": "Accountnaam (tijdens aanmaken)",
-	"abusefilter-edit-builder-vars-action": "Handeling",
-	"abusefilter-edit-builder-vars-addedlines": "Regels toegevoegd in bewerking",
-	"abusefilter-edit-builder-vars-delta": "Groottewijziging",
-	"abusefilter-edit-builder-vars-diff": "Unified diff van wijzigingen in bewerking",
-	"abusefilter-edit-builder-vars-newsize": "Nieuwe paginagrootte",
-	"abusefilter-edit-builder-vars-oldsize": "Oude paginagrootte",
-	"abusefilter-edit-builder-vars-new-content-model": "Nieuw inhoudsmodel",
-	"abusefilter-edit-builder-vars-old-content-model": "Oude inhoudsmodel",
-	"abusefilter-edit-builder-vars-removedlines": "Regels verwijderd in bijdrage",
-	"abusefilter-edit-builder-vars-summary": "Bewerkingssamenvatting",
-	"abusefilter-edit-builder-vars-page-id": "Pagina-ID",
-	"abusefilter-edit-builder-vars-page-ns": "Paginanaamruimte",
-	"abusefilter-edit-builder-vars-page-title": "Paginanaam (zonder naamruimte)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "Volledige paginanaam",
-	"abusefilter-edit-builder-vars-page-age": "Paginaleeftijd (in seconden)",
-	"abusefilter-edit-builder-vars-page-last-edit-age": "Tijd sinds laatste paginabewerking (in seconden)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "Pagina-ID van de te hernoemen pagina",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "Naamruimte van de te verplaatsen pagina",
-	"abusefilter-edit-builder-vars-movedfrom-title": "Naam van de te verplaatsen pagina",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Volledige naam van de te verplaatsen pagina",
-	"abusefilter-edit-builder-vars-movedfrom-age": "Leeftijd van te verplaatsen pagina (in seconden)",
-	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Tijd sinds laatste bewerking te hernoemen pagina (in seconden)",
+	"abusefilter-edit-builder-vars-timestamp": "UNIX-tijdstempel van wijziging ($1)",
+	"abusefilter-edit-builder-vars-accountname": "Accountnaam tijdens aanmaken ($1)",
+	"abusefilter-edit-builder-vars-action": "Handeling ($1)",
+	"abusefilter-edit-builder-vars-addedlines": "Regels toegevoegd in bewerking ($1)",
+	"abusefilter-edit-builder-vars-delta": "Groottewijziging in bewerking ($1)",
+	"abusefilter-edit-builder-vars-diff": "Unified diff van wijzigingen in bewerking ($1)",
+	"abusefilter-edit-builder-vars-newsize": "Nieuwe paginagrootte ($1)",
+	"abusefilter-edit-builder-vars-oldsize": "Oude paginagrootte ($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "Nieuw inhoudsmodel ($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "Oude inhoudsmodel ($1)",
+	"abusefilter-edit-builder-vars-removedlines": "Regels verwijderd in bijdrage ($1)",
+	"abusefilter-edit-builder-vars-summary": "Bewerkingssamenvatting/reden ($1)",
+	"abusefilter-edit-builder-vars-page-id": "Pagina-ID ($1)",
+	"abusefilter-edit-builder-vars-page-ns": "Paginanaamruimte ($1)",
+	"abusefilter-edit-builder-vars-page-title": "Paginatitel zonder naamruimte ($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "Volledige paginatitel ($1)",
+	"abusefilter-edit-builder-vars-page-age": "Paginaleeftijd in seconden ($1)",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "Tijd sinds laatste paginabewerking in seconden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "Pagina-ID van de te hernoemen pagina ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "Naamruimte van de te hernoemen pagina ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "Titel van de te hernoemen pagina ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Volledige titel van de te hernoemen pagina ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "Leeftijd van te hernoemen pagina in seconden ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Tijd sinds laatste bewerking te hernoemen pagina in seconden ($1)",
 	"abusefilter-edit-builder-vars-movedto-id": "Pagina-ID van de bestemming van de te hernoemen pagina",
 	"abusefilter-edit-builder-vars-movedto-ns": "Naamruimte van de bestemming van de te verplaatsen pagina",
 	"abusefilter-edit-builder-vars-movedto-title": "Naam van de bestemming van de te verplaatsen pagina",
diff --git a/i18n/or.json b/i18n/or.json
index 06c01fd..3fa8897 100644
--- a/i18n/or.json
+++ b/i18n/or.json
@@ -272,7 +272,7 @@
 	"abusefilter-exception-unclosedstring": "$1 ଅକ୍ଷରରେ ସରିନଥିବା ଷ୍ଟ୍ରିଙ୍ଗ ଆରମ୍ଭ ।",
 	"abusefilter-exception-invalidoperator": "$1 ଅକ୍ଷରରେ ଥିବା ଅବୈଧ ଅପରେଟର \"$2\" ।",
 	"abusefilter-exception-unrecognisedtoken": "$1 ଅକ୍ଷରରେ ଅଚିହ୍ନା ଟୋକନ \"$2\" ।",
-	"abusefilter-action-tag": "ଟାଗ",
+	"abusefilter-action-tag": "ଟ୍ୟାଗ",
 	"abusefilter-action-throttle": "ଚପା",
 	"abusefilter-action-warn": "ଚେତାବନୀ",
 	"abusefilter-action-blockautopromote": "ଆପେଆପେ ପ୍ରଚାରକରିବାକିଉ ଅଟକାଇବା",
diff --git a/i18n/pl.json b/i18n/pl.json
index 84733ab..eb36d40 100644
--- a/i18n/pl.json
+++ b/i18n/pl.json
@@ -349,7 +349,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Negacja (!)",
 	"abusefilter-edit-builder-op-bool-and": "Koniunkcja (&)",
 	"abusefilter-edit-builder-op-bool-or": "Alternatywa (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Alternatywa wykluczająca (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Alternatywa wykluczająca ($1)",
 	"abusefilter-edit-builder-group-misc": "Różne",
 	"abusefilter-edit-builder-misc-in": "zawiera ciąg znaków (in)",
 	"abusefilter-edit-builder-misc-contains": "Lewy ciąg znaków zawiera prawy (contains)",
diff --git a/i18n/pt-br.json b/i18n/pt-br.json
index 052bb92..54a590f 100644
--- a/i18n/pt-br.json
+++ b/i18n/pt-br.json
@@ -351,7 +351,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Negação (!)",
 	"abusefilter-edit-builder-op-bool-and": "E (&)",
 	"abusefilter-edit-builder-op-bool-or": "Ou (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Diversos",
 	"abusefilter-edit-builder-misc-in": "contido num texto (in)",
 	"abusefilter-edit-builder-misc-contains": "Texto da esquerda contém o da direita (contains)",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 6fad594..6ccfa47 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -340,140 +340,140 @@
 	"abusefilter-edit-invalid-group": "Error message when trying to save a filter with an invalid group. Parameters:\n* $1 - the group\n\nSee also {{msg-mw|Abusefilter-edit-group}}.",
 	"abusefilter-edit-builder-select": "Default value for dropdown menu that allows inserting abuse filter syntax in the filter definition field.",
 	"abusefilter-edit-builder-group-op-arithmetic": "Group entry in dropdown menu.",
-	"abusefilter-edit-builder-op-arithmetic-addition": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}. ($1 is the text that will be inserted into the filter code editor.)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-arithmetic-divide": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-arithmetic-pow": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-arithmetic}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
 	"abusefilter-edit-builder-group-op-comparison": "Group entry in dropdown menu.",
-	"abusefilter-edit-builder-op-comparison-equal": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-comparison-notequal": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-comparison-lt": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n{{Identical|Less than}} ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-comparison-gt": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n{{Identical|Greater than}} ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-comparison-lte": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-comparison-gte": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}. ($1 is the text that will be inserted into the filter code editor.)",
+	"abusefilter-edit-builder-op-comparison-equal": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-comparison-notequal": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-comparison-lt": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\n{{Identical|Less than}}",
+	"abusefilter-edit-builder-op-comparison-gt": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\n{{Identical|Greater than}}",
+	"abusefilter-edit-builder-op-comparison-lte": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-comparison-gte": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-comparison}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
 	"abusefilter-edit-builder-group-op-bool": "Group entry in dropdown menu.",
-	"abusefilter-edit-builder-op-bool-not": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-bool-and": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-bool-or": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-op-bool-xor": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}. {{optional}} ($1 is the text that will be inserted into the filter code editor.)",
+	"abusefilter-edit-builder-op-bool-not": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-bool-and": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-bool-or": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-op-bool-xor": "{{optional}}\nAbuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-op-bool}}. ($1 is the text that will be inserted into the filter code editor.)",
 	"abusefilter-edit-builder-group-misc": "Group entry in dropdown menu.\n{{Identical|Miscellaneous}}",
-	"abusefilter-edit-builder-misc-in": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-misc-contains": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-misc-like": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-misc-stringlit": "{{doc-important|Do not \"translate\" quotation marks in brackets to any other styles (<code><nowiki>“”, ‘’, 「」, 『』, «», „“...</nowiki></code>).}}\nAbuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-misc-rlike": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\n\"regex\" stands for \"regular expression\". ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-misc-irlike": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\n\"regex\" stands for \"regular expression\". ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-misc-tern": "{{doc-important|Do not change \"X ? Y : Z\".}} Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-misc-cond": "{{doc-important|Do not change \"if X then Y else Z end\".}} Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-misc-cond-short": "{{doc-important|Do not change \"if X then Y end\".}} Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}. ($1 is the text that will be inserted into the filter code editor.)",
+	"abusefilter-edit-builder-misc-in": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-misc-contains": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-misc-like": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-misc-stringlit": "{{doc-important|Do not \"translate\" quotation marks in brackets to any other styles (<code><nowiki>“”, ‘’, 「」, 『』, «», „“...</nowiki></code>).}}\nAbuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-misc-rlike": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\n\"regex\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-misc-irlike": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\n\"regex\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-misc-tern": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-misc-cond": "{{doc-important|Do not change \"if X then Y else Z end\".}} Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-misc-cond-short": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-misc}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
 	"abusefilter-edit-builder-group-funcs": "Group entry in dropdown menu.\n{{Identical|Function}}",
-	"abusefilter-edit-builder-funcs-length": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-lcase": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-ucase": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-ccnorm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nFunctional explanation: rmdoubles removes repeated characters in the argument, and returns the result. For example: \"foobybboo\" will return \"fobybo\". ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-specialratio": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-norm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-count": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-rcount": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regex\" stands for \"regular expression\". ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-get_matches": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-rmspecials": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
+	"abusefilter-edit-builder-funcs-length": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-lcase": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-ucase": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-ccnorm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-rmdoubles": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nFunctional explanation: rmdoubles removes repeated characters in the argument, and returns the result. For example: \"foobybboo\" will return \"fobybo\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-specialratio": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-norm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-count": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-rcount": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regex\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-get_matches": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-rmspecials": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-ip_in_range": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
 	"abusefilter-edit-builder-funcs-contains-any": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
 	"abusefilter-edit-builder-funcs-contains-all": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-substr": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-strpos": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-str_replace": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regexp\" stands for \"regular expression\". ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-rescape": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regex\" stands for \"regular expression\". ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-set_var": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-funcs-sanitize": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}. ($1 is the text that will be inserted into the filter code editor.)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-substr": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-strpos": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-str_replace": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regexp\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-rescape": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\n\"regex\" stands for \"regular expression\".\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-set_var": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-funcs-sanitize": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-funcs}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
 	"abusefilter-edit-builder-group-vars": "Group entry in dropdown menu.\n{{Identical|Variable}}",
-	"abusefilter-edit-builder-vars-timestamp": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-accountname": "This variable is used only during account creation and contains the username of the newly created account. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-action": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n{{Identical|Action}} ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-addedlines": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-delta": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-diff": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-newsize": "New size of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-oldsize": "Old size of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-new-content-model": "New content model of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-old-content-model": "Old content model of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-removedlines": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-summary": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-page-id": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-vars}}.\n{{Identical|Page ID}} ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-page-ns": "The namespace that the page for the trigger is supposed to be in. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-page-title": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-page-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-page-last-edit-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "Paraphrase: The page ID of the page to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "Paraphrase: Namespace of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-title": "Paraphrase: Name of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Paraphrase: Full name of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-age": "Paraphrase: The number of seconds since the first revision was made on the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Paraphrase: The number of seconds since the last revision was made on the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-id": "Paraphrased: Page ID of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-ns": "Paraphrased: Namespace of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-title": "Paraphrased: Name of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Paraphrased: Full name of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-age": "Paraphrase: The number of seconds since the first revision was made on the destination of the page that is to be moved. Returns zero when page is non-existent. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-last-edit-age": "Paraphrase: The number of seconds since the last revision was made on the destination of the page that is to be moved. Returns zero when page is non-existent. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-user-editcount": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-user-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-user-name": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-user-type": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-user-groups": "See also:\n* {{msg-mw|Abusefilter-edit-builder-vars-global-user-groups}} ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-user-rights": "Paraphrased: List of rights that the user has. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-user-blocked": "Paraphrased: Boolean value on whether the user is blocked. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-old-wikitext": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-new-wikitext": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-added-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-removed-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-all-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-new-pst": "Paraphrased: The output wikitext after pre-save transform is applied to new_wikitext. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-diff-pst": "Paraphrased: Edit diff of new_pst against old_wikitext. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-addedlines-pst": "Paraphrased: Added lines in edit_diff_pst. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-new-text": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-new-html": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-restrictions-edit": "This variable contains the level of protection required to edit the page. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-restrictions-move": "This variable contains the level of protection required to move the page. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-restrictions-create": "This variable contains the level of protection required to create the page. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-restrictions-upload": "This variable contains the level of protection required to upload a file. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-first-contributor": "Paraphrased: The user who created the earliest revision of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "This variable contains the level of protection required to edit the page that is to be moved. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "This variable contains the level of protection required to move the page that is to be moved. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "This variable contains the level of protection required to create the page that is to be moved. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "This variable contains the level of protection required to upload the file that is to be moved. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Paraphrased: The user who created the earliest revision of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "This variable contains the level of protection required to edit the page that is to be moved. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-restrictions-move": "This variable contains the level of protection required to move the page that is to be moved. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-restrictions-create": "This variable contains the level of protection required to create the page that is to be moved. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "This variable contains the level of protection required to upload the file that is to be moved. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "Paraphrased: The user who created the earliest revision of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-old-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-file-sha1": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-file-size": "This variable contains the size of the uploaded file. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-file-mime": "This variable contains the MIME type of the file ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-file-mediatype": "This variable contains the media type of the file ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-file-width": "This variable contains the width of the file in pixels ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-file-height": "This variable contains the height of the file in pixels ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-file-bits-per-channel": "This variable contains the number of bits per color channel of the file ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-wiki-name": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
-	"abusefilter-edit-builder-vars-wiki-language": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}. ($1 is the text that will be inserted into the filter code editor.)",
+	"abusefilter-edit-builder-vars-timestamp": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-accountname": "This variable is used only during account creation and contains the username of the newly created account. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-action": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\n{{Identical|Action}}",
+	"abusefilter-edit-builder-vars-addedlines": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-delta": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-diff": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-newsize": "New size of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-oldsize": "Old size of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-new-content-model": "New content model of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-old-content-model": "Old content model of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-removedlines": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-summary": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-page-id": "Abuse filter syntax option in a dropdown from the group {{msg-mw|Abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\n{{Identical|Page ID}}",
+	"abusefilter-edit-builder-vars-page-ns": "The namespace that the page for the trigger is supposed to be in. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-page-title": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-page-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-id": "Paraphrase: The page ID of the page to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "Paraphrase: Namespace of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-title": "Paraphrase: Name of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Paraphrase: Full name of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-age": "Paraphrase: The number of seconds since the first revision was made on the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "Paraphrase: The number of seconds since the last revision was made on the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedto-id": "Paraphrased: Page ID of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedto-ns": "Paraphrased: Namespace of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedto-title": "Paraphrased: Name of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Paraphrased: Full name of the destination of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedto-age": "Paraphrase: The number of seconds since the first revision was made on the destination of the page that is to be moved. Returns zero when page is non-existent. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedto-last-edit-age": "Paraphrase: The number of seconds since the last revision was made on the destination of the page that is to be moved. Returns zero when page is non-existent. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-user-editcount": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-user-age": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-user-name": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-user-type": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-user-groups": "Parameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also:\n* {{msg-mw|Abusefilter-edit-builder-vars-global-user-groups}}",
+	"abusefilter-edit-builder-vars-user-rights": "Paraphrased: List of rights that the user has. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-user-blocked": "Paraphrased: Boolean value on whether the user is blocked. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-old-wikitext": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-new-wikitext": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-added-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-removed-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-all-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-new-pst": "Paraphrased: The output wikitext after pre-save transform is applied to new_wikitext. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-diff-pst": "Paraphrased: Edit diff of new_pst against old_wikitext. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-addedlines-pst": "Paraphrased: Added lines in edit_diff_pst. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-new-text": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-new-html": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-restrictions-edit": "This variable contains the level of protection required to edit the page. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}.",
+	"abusefilter-edit-builder-vars-restrictions-move": "This variable contains the level of protection required to move the page. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}.",
+	"abusefilter-edit-builder-vars-restrictions-create": "This variable contains the level of protection required to create the page. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-upload}}.",
+	"abusefilter-edit-builder-vars-restrictions-upload": "This variable contains the level of protection required to upload a file. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-restrictions-create}}.",
+	"abusefilter-edit-builder-vars-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-first-contributor": "Paraphrased: The user who created the earliest revision of the page. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "This variable contains the level of protection required to edit the page that is to be moved. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}.",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "This variable contains the level of protection required to move the page that is to be moved. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "This variable contains the level of protection required to create the page that is to be moved. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-upload}}.",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "This variable contains the level of protection required to upload the file that is to be moved. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedfrom-restrictions-create}}.",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Paraphrased: The user who created the earliest revision of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "This variable contains the level of protection required to edit the page that is to be moved. (\"Edit\" here is not a verb, but an adjective, like \"Edit-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}.",
+	"abusefilter-edit-builder-vars-movedto-restrictions-move": "This variable contains the level of protection required to move the page that is to be moved. (\"Move\" here is not a verb, but an adjective, like \"Move-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}.",
+	"abusefilter-edit-builder-vars-movedto-restrictions-create": "This variable contains the level of protection required to create the page that is to be moved. (\"Create\" here is not a verb, but an adjective, like \"Create-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-upload}}.",
+	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "This variable contains the level of protection required to upload the file that is to be moved. (\"Upload\" here is not a verb, but an adjective, like \"Upload-related protection level\"). Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor\n\nSee also {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-edit}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-move}}, {{msg-mw|Abusefilter-edit-builder-vars-movedto-restrictions-create}}.",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "Paraphrased: The user who created the earliest revision of the page that is to be moved. Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-old-links": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-file-sha1": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-file-size": "This variable contains the size of the uploaded file.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-file-mime": "This variable contains the MIME type of the file.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-file-mediatype": "This variable contains the media type of the file.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-file-width": "This variable contains the width of the file in pixels.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-file-height": "This variable contains the height of the file in pixels.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-file-bits-per-channel": "This variable contains the number of bits per color channel of the file.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-wiki-name": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
+	"abusefilter-edit-builder-vars-wiki-language": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.\n\nParameters:\n* $1 - text that will be inserted into the filter code editor",
 	"abusefilter-edit-builder-vars-old-text": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.",
 	"abusefilter-edit-builder-vars-old-html": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.",
 	"abusefilter-edit-builder-vars-minor-edit": "Abuse filter syntax option in a dropdown from the group {{msg-mw|abusefilter-edit-builder-group-vars}}.",
diff --git a/i18n/ro.json b/i18n/ro.json
index 7b3ba09..f6557a5 100644
--- a/i18n/ro.json
+++ b/i18n/ro.json
@@ -2,6 +2,7 @@
 	"@metadata": {
 		"authors": [
 			"Alesaru",
+			"Amire80",
 			"Andrei Stroe",
 			"Andreyyshore",
 			"Carcassonne93",
@@ -324,7 +325,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Nu (!)",
 	"abusefilter-edit-builder-op-bool-and": "Și (&)",
 	"abusefilter-edit-builder-op-bool-or": "Sau (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Sau exclusiv (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Sau exclusiv ($1)",
 	"abusefilter-edit-builder-group-misc": "Diverse",
 	"abusefilter-edit-builder-misc-in": "conținut în șir (in)",
 	"abusefilter-edit-builder-misc-contains": "Șirul din stânga conține șirul din dreapta (contains)",
diff --git a/i18n/roa-tara.json b/i18n/roa-tara.json
index 1590db4..d6f8b35 100644
--- a/i18n/roa-tara.json
+++ b/i18n/roa-tara.json
@@ -318,7 +318,6 @@
 	"abusefilter-edit-builder-op-bool-not": "A smerse (!)",
 	"abusefilter-edit-builder-op-bool-and": "E (&)",
 	"abusefilter-edit-builder-op-bool-or": "O (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Misckate",
 	"abusefilter-edit-builder-misc-in": "condenute jndr'à stringhe (in)",
 	"abusefilter-edit-builder-misc-contains": "'A righe de mmanghe contène 'a righe de destre (contène)",
diff --git a/i18n/ru.json b/i18n/ru.json
index fdcff66..52e3740 100644
--- a/i18n/ru.json
+++ b/i18n/ru.json
@@ -385,7 +385,7 @@
 	"abusefilter-edit-builder-op-bool-not": "НЕ (!)",
 	"abusefilter-edit-builder-op-bool-and": "И (&)",
 	"abusefilter-edit-builder-op-bool-or": "ИЛИ (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Исключающее ИЛИ (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Исключающее ИЛИ ($1)",
 	"abusefilter-edit-builder-group-misc": "Разные",
 	"abusefilter-edit-builder-misc-in": "Содержится в строке (in)",
 	"abusefilter-edit-builder-misc-contains": "Левая строка содержит правую строку (contains)",
diff --git a/i18n/skr-arab.json b/i18n/skr-arab.json
index 089a497..f6ecced 100644
--- a/i18n/skr-arab.json
+++ b/i18n/skr-arab.json
@@ -120,18 +120,18 @@
 	"abusefilter-edit-done": "[[Special:AbuseFilter/history/$1/diff/prev/$2|تہاݙیاں تبدیلیاں]] [[Special:AbuseFilter/$1|چھاݨاں $3]] وچ محفوظ تھی ڳیاں ہن ـ",
 	"abusefilter-edit-history": "تاریخ:",
 	"abusefilter-edit-tools": "اوزار:",
-	"abusefilter-edit-builder-op-arithmetic-addition": "جمع (+)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "جمع ($1)",
 	"abusefilter-edit-builder-op-arithmetic-subtraction": "تفریق (-)",
 	"abusefilter-edit-builder-op-arithmetic-multiplication": "ضرب (*)",
 	"abusefilter-edit-builder-op-arithmetic-divide": "تقسیم (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "ماڈولو (%)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "ماڈولو ($1)",
 	"abusefilter-edit-builder-op-bool-not": "کائناں (!)",
 	"abusefilter-edit-builder-op-bool-and": "تے (&)",
-	"abusefilter-edit-builder-op-bool-or": "یا (|)",
+	"abusefilter-edit-builder-op-bool-or": "یا ($1)",
 	"abusefilter-edit-builder-group-misc": "متفرق",
 	"abusefilter-edit-builder-group-funcs": "فنکشن",
 	"abusefilter-edit-builder-group-vars": "متغیرات",
-	"abusefilter-edit-builder-vars-action": "عمل",
+	"abusefilter-edit-builder-vars-action": "عمل ($1)",
 	"abusefilter-edit-builder-vars-newsize": "نواں ورقہ سائز",
 	"abusefilter-edit-builder-vars-oldsize": "پراݨا ورقہ سائز",
 	"abusefilter-edit-builder-vars-new-content-model": "نواں مواد ماڈل",
diff --git a/i18n/sl.json b/i18n/sl.json
index 54b3fc5..fdf1ca4 100644
--- a/i18n/sl.json
+++ b/i18n/sl.json
@@ -321,7 +321,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Ne (!)",
 	"abusefilter-edit-builder-op-bool-and": "In (&)",
 	"abusefilter-edit-builder-op-bool-or": "Ali (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Razno",
 	"abusefilter-edit-builder-misc-in": "vsebovano v nizu (in)",
 	"abusefilter-edit-builder-misc-contains": "Levi niz vsebuje desni niz (contains)",
diff --git a/i18n/sr-ec.json b/i18n/sr-ec.json
index 941f3d8..d328d5b 100644
--- a/i18n/sr-ec.json
+++ b/i18n/sr-ec.json
@@ -2,6 +2,7 @@
 	"@metadata": {
 		"authors": [
 			"Acamicamacaraca",
+			"Amire80",
 			"BadDog",
 			"Dungodung",
 			"FriedrickMILBarbarossa",
@@ -291,117 +292,117 @@
 	"abusefilter-edit-invalid-throttlegroups": "Наведена група регулатора није важећа.",
 	"abusefilter-edit-builder-select": "Изаберите опцију да бисте је додали у оквир уређивања",
 	"abusefilter-edit-builder-group-op-arithmetic": "Аритметички оператори",
-	"abusefilter-edit-builder-op-arithmetic-addition": "Сабирање (+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "Одузимање (-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "Множење (*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "Дељење (/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "Модул (%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "Степеновање (**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "Сабирање ($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "Одузимање ($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "Множење ($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "Дељење ($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "Модул ($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "Степеновање ($1)",
 	"abusefilter-edit-builder-group-op-comparison": "Оператори за поређење",
-	"abusefilter-edit-builder-op-comparison-equal": "Вредност једнака са (==)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "Једнака вредност и тип (===)",
-	"abusefilter-edit-builder-op-comparison-notequal": "Вредност није једнака са (!=)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "Неједнака вредност и тип (!==)",
-	"abusefilter-edit-builder-op-comparison-lt": "Мање од (<)",
-	"abusefilter-edit-builder-op-comparison-gt": "Веће од (>)",
-	"abusefilter-edit-builder-op-comparison-lte": "Мање или једнако са (<=)",
-	"abusefilter-edit-builder-op-comparison-gte": "Веће или једнако са (>=)",
+	"abusefilter-edit-builder-op-comparison-equal": "Вредност једнака са ($1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "Једнака вредност и тип ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "Вредност није једнака са ($1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "Неједнака вредност и тип ($1)",
+	"abusefilter-edit-builder-op-comparison-lt": "Мање од ($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "Веће од ($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "Мање или једнако са ($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "Веће или једнако са ($1)",
 	"abusefilter-edit-builder-group-op-bool": "Булови оператори",
-	"abusefilter-edit-builder-op-bool-not": "Не (!)",
-	"abusefilter-edit-builder-op-bool-and": "И (&)",
-	"abusefilter-edit-builder-op-bool-or": "Или (|)",
-	"abusefilter-edit-builder-op-bool-xor": "ЕКСИЛИ (^)",
+	"abusefilter-edit-builder-op-bool-not": "Не ($1)",
+	"abusefilter-edit-builder-op-bool-and": "И ($1)",
+	"abusefilter-edit-builder-op-bool-or": "Или ($1)",
+	"abusefilter-edit-builder-op-bool-xor": "ЕКСИЛИ ($1)",
 	"abusefilter-edit-builder-group-misc": "Разно",
-	"abusefilter-edit-builder-misc-in": "садржано у ниски (in)",
-	"abusefilter-edit-builder-misc-contains": "Лева ниска садржи десну ниску (contains)",
-	"abusefilter-edit-builder-misc-like": "Одговара обрасцу (like)",
-	"abusefilter-edit-builder-misc-stringlit": "Буквалан израз у ниски (\"\")",
-	"abusefilter-edit-builder-misc-rlike": "Одговара регуларном изразу (rlike)",
-	"abusefilter-edit-builder-misc-irlike": "Одговара регуларном изразу, без разликовања малих и великих слова (irlike)",
-	"abusefilter-edit-builder-misc-tern": "Тринарни оператор (X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "Услов (if X then Y else Z end)",
-	"abusefilter-edit-builder-misc-cond-short": "Кратки услов (if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "садржано у ниски ($1)",
+	"abusefilter-edit-builder-misc-contains": "Лева ниска садржи десну ниску ($1)",
+	"abusefilter-edit-builder-misc-like": "Одговара обрасцу ($1)",
+	"abusefilter-edit-builder-misc-stringlit": "Буквалан израз у ниски ($1)",
+	"abusefilter-edit-builder-misc-rlike": "Одговара регуларном изразу ($1)",
+	"abusefilter-edit-builder-misc-irlike": "Одговара регуларном изразу, разликовања малих и великих слова ($1)",
+	"abusefilter-edit-builder-misc-tern": "Тринарни оператор ($1)",
+	"abusefilter-edit-builder-misc-cond": "Услов ($1)",
+	"abusefilter-edit-builder-misc-cond-short": "Кратки услов ($1)",
 	"abusefilter-edit-builder-group-funcs": "Функције",
-	"abusefilter-edit-builder-funcs-length": "Дужина ниске (length)",
-	"abusefilter-edit-builder-funcs-lcase": "Малим словима (lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "Великим словима (ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "Нормализуј знаке подложне забуни (ccnorm)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "Уклони поновљене знакове (rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "Посебни знакови / укупно знакова (specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "Нормализуј (norm)",
-	"abusefilter-edit-builder-funcs-count": "Број јављања ниске X у нисци Y (count)",
-	"abusefilter-edit-builder-funcs-rcount": "Број јављања регуларног израза X у нисци Y (rcount)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "Уклони размаке (rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "Уклони посебне знакове (rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "Да ли је IP у опсегу? (ip_in_range)",
-	"abusefilter-edit-builder-funcs-contains-any": "Претражи ниску за више подниски у OR режиму. (contains_any)",
-	"abusefilter-edit-builder-funcs-substr": "Подниска (substr)",
-	"abusefilter-edit-builder-funcs-strpos": "Положај подниске у нисци (strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "Замени подниску с ниском (str_replace)",
-	"abusefilter-edit-builder-funcs-rescape": "Избегни буквалне ниске у регексу (rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "Постави променљиву (set_var)",
+	"abusefilter-edit-builder-funcs-length": "Дужина ниске ($1)",
+	"abusefilter-edit-builder-funcs-lcase": "Малим словима ($1)",
+	"abusefilter-edit-builder-funcs-ucase": "Великим словима ($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "Нормализуј знаке подложне забуни ($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "Уклони поновљене знакове ($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "Посебни знакови / укупно знакова ($1)",
+	"abusefilter-edit-builder-funcs-norm": "Нормализуј ($1)",
+	"abusefilter-edit-builder-funcs-count": "Број јављања ниске X у нисци Y ($1)",
+	"abusefilter-edit-builder-funcs-rcount": "Број јављања регуларног израза X у нисци Y ($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "Уклони размаке ($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "Уклони посебне знакове ($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "Да ли је IP у опсегу? ($1)",
+	"abusefilter-edit-builder-funcs-contains-any": "Претражи ниску за више подниски у OR режиму. ($1)",
+	"abusefilter-edit-builder-funcs-substr": "Подниска ($1)",
+	"abusefilter-edit-builder-funcs-strpos": "Положај подниске у нисци ($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "Замени подниску с ниском ($1)",
+	"abusefilter-edit-builder-funcs-rescape": "Избегни буквалне ниске у регексу ($1)",
+	"abusefilter-edit-builder-funcs-set_var": "Постави променљиву ($1)",
 	"abusefilter-edit-builder-group-vars": "Променљиве",
-	"abusefilter-edit-builder-vars-timestamp": "Јуниксов временски потпис измене",
-	"abusefilter-edit-builder-vars-accountname": "Име налога (у тренутку отварања)",
-	"abusefilter-edit-builder-vars-action": "Радња",
-	"abusefilter-edit-builder-vars-addedlines": "Додати редови у измени",
-	"abusefilter-edit-builder-vars-delta": "Промена величине у измени",
-	"abusefilter-edit-builder-vars-newsize": "Нова величина странице",
-	"abusefilter-edit-builder-vars-oldsize": "Стара величина странице",
-	"abusefilter-edit-builder-vars-new-content-model": "Нови модел садржаја",
-	"abusefilter-edit-builder-vars-old-content-model": "Стари модел садржаја",
-	"abusefilter-edit-builder-vars-removedlines": "Уклоњени редови у измени",
-	"abusefilter-edit-builder-vars-summary": "Опис/разлог измене",
-	"abusefilter-edit-builder-vars-page-id": "ID странице",
-	"abusefilter-edit-builder-vars-page-ns": "Именски простор странице",
-	"abusefilter-edit-builder-vars-page-title": "Наслов странице (без именског простора)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "Пун наслов странице",
-	"abusefilter-edit-builder-vars-page-age": "Старост странице (у секундама)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "ID изворне странице премештања",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "Именски простор премештене странице",
-	"abusefilter-edit-builder-vars-movedfrom-title": "Наслов странице коју премештате",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Пун наслов странице коју премештате",
-	"abusefilter-edit-builder-vars-movedfrom-age": "Премести старост изворне странице (у секундама)",
-	"abusefilter-edit-builder-vars-movedto-id": "ID одредишне странице премештања",
-	"abusefilter-edit-builder-vars-movedto-ns": "Именски простор одредишне странице",
-	"abusefilter-edit-builder-vars-movedto-title": "Наслов одредишне странице",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Пун наслов одредишне странице",
-	"abusefilter-edit-builder-vars-movedto-age": "Премести старост одредишне странице (у секундама)",
-	"abusefilter-edit-builder-vars-user-editcount": "Бројач корисничких измена",
-	"abusefilter-edit-builder-vars-user-age": "Старост корисничког налога",
-	"abusefilter-edit-builder-vars-user-name": "Име корисничког налога",
-	"abusefilter-edit-builder-vars-user-type": "Врста корисничког налога",
-	"abusefilter-edit-builder-vars-user-groups": "Групе (укључујући посредне) у којима је корисник",
-	"abusefilter-edit-builder-vars-user-rights": "Права која корисник има",
-	"abusefilter-edit-builder-vars-user-blocked": "Корисник блокиран",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "Време када је имејл адреса потврђена",
-	"abusefilter-edit-builder-vars-old-wikitext": "Стари викитекст странице пре измене",
-	"abusefilter-edit-builder-vars-new-wikitext": "Нови викитекст странице после измене",
-	"abusefilter-edit-builder-vars-added-links": "Све спољашње везе додате у измени",
-	"abusefilter-edit-builder-vars-removed-links": "Све спољашње везе уклоњене у измени",
-	"abusefilter-edit-builder-vars-all-links": "Све спољашње везе у новом тексту",
-	"abusefilter-edit-builder-vars-addedlines-pst": "Линије додане у уређивању, трансформиране у несачуване",
-	"abusefilter-edit-builder-vars-new-text": "Текст нове странице, без икаквих обележавања",
-	"abusefilter-edit-builder-vars-new-html": "Рашчлањени HTML извор нове измене",
-	"abusefilter-edit-builder-vars-restrictions-edit": "Степен заштите странице (уређивање)",
-	"abusefilter-edit-builder-vars-restrictions-move": "Степен заштите странице (премештање)",
-	"abusefilter-edit-builder-vars-restrictions-create": "Заштита од прављења странице",
-	"abusefilter-edit-builder-vars-restrictions-upload": "Заштита за отпремање датотеке",
-	"abusefilter-edit-builder-vars-recent-contributors": "Последњих десет уредника странице",
-	"abusefilter-edit-builder-vars-first-contributor": "Први уредник странице",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Последњих десет уредника изворне странице премештања",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Први уредник изворне странице премештања",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "Последњих десет уредника одредишне странице премештања",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "Први уредник одредишне странице премештања",
-	"abusefilter-edit-builder-vars-old-links": "Везе на страници, пре уређивања",
-	"abusefilter-edit-builder-vars-file-sha1": "Дисперзија SHA1 садржаја датотеке",
-	"abusefilter-edit-builder-vars-file-size": "Величина датотеке у бајтовима",
-	"abusefilter-edit-builder-vars-file-mime": "MIME тип датотеке",
-	"abusefilter-edit-builder-vars-file-mediatype": "Медијски тип датотеке",
-	"abusefilter-edit-builder-vars-file-width": "Ширина датотеке у пикселима",
-	"abusefilter-edit-builder-vars-file-height": "Висина датотеке у пикселима",
-	"abusefilter-edit-builder-vars-wiki-name": "Име базе података викија",
-	"abusefilter-edit-builder-vars-wiki-language": "Језички код викија",
+	"abusefilter-edit-builder-vars-timestamp": "Јуниксов временски потпис измене ($1)",
+	"abusefilter-edit-builder-vars-accountname": "Име налога у тренутку отварања ($1)",
+	"abusefilter-edit-builder-vars-action": "Радња ($1)",
+	"abusefilter-edit-builder-vars-addedlines": "Додати редови у измени ($1)",
+	"abusefilter-edit-builder-vars-delta": "Промена величине у измени ($1)",
+	"abusefilter-edit-builder-vars-newsize": "Нова величина странице ($1)",
+	"abusefilter-edit-builder-vars-oldsize": "Стара величина странице ($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "Нови модел садржаја ($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "Стари модел садржаја ($1)",
+	"abusefilter-edit-builder-vars-removedlines": "Уклоњени редови у измени ($1)",
+	"abusefilter-edit-builder-vars-summary": "Опис/разлог измене ($1)",
+	"abusefilter-edit-builder-vars-page-id": "ID странице ($1)",
+	"abusefilter-edit-builder-vars-page-ns": "Именски простор странице ($1)",
+	"abusefilter-edit-builder-vars-page-title": "Наслов странице (без именског простора) ($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "Пун наслов странице ($1)",
+	"abusefilter-edit-builder-vars-page-age": "Старост странице у секундама ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "ID изворне странице премештања ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "Именски простор премештене странице ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "Наслов странице коју премештате ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "Пун наслов странице коју премештате ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "Премести старост изворне странице (у секундама) ($1)",
+	"abusefilter-edit-builder-vars-movedto-id": "ID одредишне странице премештања ($1)",
+	"abusefilter-edit-builder-vars-movedto-ns": "Именски простор одредишне странице ($1)",
+	"abusefilter-edit-builder-vars-movedto-title": "Наслов одредишне странице ($1)",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "Пун наслов одредишне странице ($1)",
+	"abusefilter-edit-builder-vars-movedto-age": "Премести старост одредишне странице (у секундама) ($1)",
+	"abusefilter-edit-builder-vars-user-editcount": "Бројач корисничких измена ($1)",
+	"abusefilter-edit-builder-vars-user-age": "Старост корисничког налога ($1)",
+	"abusefilter-edit-builder-vars-user-name": "Име корисничког налога ($1)",
+	"abusefilter-edit-builder-vars-user-type": "Врста корисничког налога ($1)",
+	"abusefilter-edit-builder-vars-user-groups": "Групе (укључујући посредне) у којима је корисник ($1)",
+	"abusefilter-edit-builder-vars-user-rights": "Права која корисник има ($1)",
+	"abusefilter-edit-builder-vars-user-blocked": "Корисник блокиран ($1)",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "Време када је имејл адреса потврђена ($1)",
+	"abusefilter-edit-builder-vars-old-wikitext": "Стари викитекст странице пре измене ($1)",
+	"abusefilter-edit-builder-vars-new-wikitext": "Нови викитекст странице после измене ($1)",
+	"abusefilter-edit-builder-vars-added-links": "Све спољашње везе додате у измени ($1)",
+	"abusefilter-edit-builder-vars-removed-links": "Све спољашње везе уклоњене у измени ($1)",
+	"abusefilter-edit-builder-vars-all-links": "Све спољашње везе у новом тексту ($1)",
+	"abusefilter-edit-builder-vars-addedlines-pst": "Линије додане у уређивању, трансформиране у несачуване ($1)",
+	"abusefilter-edit-builder-vars-new-text": "Текст нове странице, без икаквих обележавања ($1)",
+	"abusefilter-edit-builder-vars-new-html": "Рашчлањени HTML извор нове измене ($1)",
+	"abusefilter-edit-builder-vars-restrictions-edit": "Степен заштите странице (уређивање) ($1)",
+	"abusefilter-edit-builder-vars-restrictions-move": "Степен заштите странице (премештање) ($1)",
+	"abusefilter-edit-builder-vars-restrictions-create": "Заштита од прављења странице ($1)",
+	"abusefilter-edit-builder-vars-restrictions-upload": "Заштита за отпремање датотеке ($1)",
+	"abusefilter-edit-builder-vars-recent-contributors": "Последњих десет уредника странице ($1)",
+	"abusefilter-edit-builder-vars-first-contributor": "Први уредник странице ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "Последњих десет уредника премештене изворне странице ($1)",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "Први уредник премештене изворне странице ($1)",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "Последњих десет уредника премештене одредишне странице ($1)",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "Први уредник премештене одредишне странице ($1)",
+	"abusefilter-edit-builder-vars-old-links": "Везе у страници, пре измене ($1)",
+	"abusefilter-edit-builder-vars-file-sha1": "Дисперзија SHA1 садржаја датотеке ($1)",
+	"abusefilter-edit-builder-vars-file-size": "Величина датотеке у бајтовима ($1)",
+	"abusefilter-edit-builder-vars-file-mime": "MIME тип датотеке ($1)",
+	"abusefilter-edit-builder-vars-file-mediatype": "Медијски тип датотеке ($1)",
+	"abusefilter-edit-builder-vars-file-width": "Ширина датотеке у пикселима ($1)",
+	"abusefilter-edit-builder-vars-file-height": "Висина датотеке у пикселима ($1)",
+	"abusefilter-edit-builder-vars-wiki-name": "Име базе података викија ($1)",
+	"abusefilter-edit-builder-vars-wiki-language": "Језички код викија ($1)",
 	"abusefilter-edit-builder-vars-old-text": "Текст старе странице, са одстрањеним назнакама (није више у употреби)",
 	"abusefilter-edit-builder-vars-old-html": "Викитекст старе странице, рашчлањен у HTML (није више у употреби)",
 	"abusefilter-edit-builder-vars-minor-edit": "Да ли је измена била означена као мања (није више у употреби)",
diff --git a/i18n/sr-el.json b/i18n/sr-el.json
index bcd9fdb..28eb020 100644
--- a/i18n/sr-el.json
+++ b/i18n/sr-el.json
@@ -1,6 +1,7 @@
 {
 	"@metadata": {
 		"authors": [
+			"Amire80",
 			"FriedrickMILBarbarossa",
 			"Kizule",
 			"Matma Rex",
@@ -290,7 +291,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Ne (!)",
 	"abusefilter-edit-builder-op-bool-and": "I (&)",
 	"abusefilter-edit-builder-op-bool-or": "Ili (|)",
-	"abusefilter-edit-builder-op-bool-xor": "EKSILI (^)",
+	"abusefilter-edit-builder-op-bool-xor": "EKSILI ($1)",
 	"abusefilter-edit-builder-group-misc": "Razno",
 	"abusefilter-edit-builder-misc-in": "sadržano u niski (in)",
 	"abusefilter-edit-builder-misc-contains": "Leva niska sadrži desnu nisku (contains)",
diff --git a/i18n/stq.json b/i18n/stq.json
index 4a143dc..bc3c08f 100644
--- a/i18n/stq.json
+++ b/i18n/stq.json
@@ -142,7 +142,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Nit (!)",
 	"abusefilter-edit-builder-op-bool-and": "Un (&)",
 	"abusefilter-edit-builder-op-bool-or": "Of (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Ferskeedenhaide",
 	"abusefilter-edit-builder-misc-in": "äntheelden in Teekenfoulge (in)",
 	"abusefilter-edit-builder-misc-like": "Paaset tou Muster (like)",
diff --git a/i18n/tl.json b/i18n/tl.json
index 8e6bdc5..0fcd71d 100644
--- a/i18n/tl.json
+++ b/i18n/tl.json
@@ -199,7 +199,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Hindi (!)",
 	"abusefilter-edit-builder-op-bool-and": "At (&)",
 	"abusefilter-edit-builder-op-bool-or": "O (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Samu't sari",
 	"abusefilter-edit-builder-misc-in": "nilalaman ng bagting (in)",
 	"abusefilter-edit-builder-misc-contains": "Naglalaman ang pangkaliwang bagting ng pangkanang bagting (naglalaman ng)",
diff --git a/i18n/ug-arab.json b/i18n/ug-arab.json
index d7d9f05..ad30cc9 100644
--- a/i18n/ug-arab.json
+++ b/i18n/ug-arab.json
@@ -187,7 +187,6 @@
 	"abusefilter-edit-builder-op-bool-not": "ئەمەس (!)",
 	"abusefilter-edit-builder-op-bool-and": "ۋە (&)",
 	"abusefilter-edit-builder-op-bool-or": "ياكى (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "باشقىلار",
 	"abusefilter-edit-builder-misc-in": "ھەرپنىڭ ئىچىدە (in)",
 	"abusefilter-edit-builder-misc-contains": "سول ھەرپ تىزىقى ئوڭ ھەرپ تىزىقى (contains)نى ئۆز ئىچىگە ئالغان",
diff --git a/i18n/uk.json b/i18n/uk.json
index ad9baee..498c24d 100644
--- a/i18n/uk.json
+++ b/i18n/uk.json
@@ -340,7 +340,7 @@
 	"abusefilter-edit-builder-op-bool-not": "Не (!)",
 	"abusefilter-edit-builder-op-bool-and": "І (&)",
 	"abusefilter-edit-builder-op-bool-or": "Або (|)",
-	"abusefilter-edit-builder-op-bool-xor": "Виключне АБО (^)",
+	"abusefilter-edit-builder-op-bool-xor": "Виключне АБО ($1)",
 	"abusefilter-edit-builder-group-misc": "Різні",
 	"abusefilter-edit-builder-misc-in": "Міститься в рядку (in)",
 	"abusefilter-edit-builder-misc-contains": "Лівий рядок містить правий (contains)",
diff --git a/i18n/vi.json b/i18n/vi.json
index 6a4ca3a..41062dd 100644
--- a/i18n/vi.json
+++ b/i18n/vi.json
@@ -336,7 +336,6 @@
 	"abusefilter-edit-builder-op-bool-not": "Phủ định (!)",
 	"abusefilter-edit-builder-op-bool-and": "Và (&)",
 	"abusefilter-edit-builder-op-bool-or": "Hoặc (|)",
-	"abusefilter-edit-builder-op-bool-xor": "XOR (^)",
 	"abusefilter-edit-builder-group-misc": "Khác",
 	"abusefilter-edit-builder-misc-in": "Có trong chuỗi (in)",
 	"abusefilter-edit-builder-misc-contains": "Chuỗi trái có chứa chuỗi phải hay không (contains)",
diff --git a/i18n/yue-hant.json b/i18n/yue-hant.json
index 0ba5770..786ffcd 100644
--- a/i18n/yue-hant.json
+++ b/i18n/yue-hant.json
@@ -1,6 +1,7 @@
 {
 	"@metadata": {
 		"authors": [
+			"Amire80",
 			"H78c67c",
 			"Hello903hello",
 			"Winston Sung",
@@ -210,7 +211,7 @@
 	"abusefilter-edit-builder-op-bool-not": "非/Not (!)",
 	"abusefilter-edit-builder-op-bool-and": "同/And (&)",
 	"abusefilter-edit-builder-op-bool-or": "或/Or (|)",
-	"abusefilter-edit-builder-op-bool-xor": "異/XOR (^)",
+	"abusefilter-edit-builder-op-bool-xor": "異/XOR ($1)",
 	"abusefilter-edit-builder-group-misc": "雜項",
 	"abusefilter-edit-builder-misc-in": "字串有 (in)",
 	"abusefilter-edit-builder-misc-contains": "左字串有右字串 (contains)",
diff --git a/i18n/zh-hans.json b/i18n/zh-hans.json
index 499666e..74a64cf 100644
--- a/i18n/zh-hans.json
+++ b/i18n/zh-hans.json
@@ -6,6 +6,7 @@
 			"A Chinese Wikipedian",
 			"A2093064",
 			"AYZ04",
+			"Amire80",
 			"Anakmalaysia",
 			"Angrydog001",
 			"Anterdc99",
@@ -34,6 +35,7 @@
 			"Impersonator 1",
 			"JerryLiu",
 			"Jimmy xu wrk",
+			"Kichin",
 			"Lakejason0",
 			"Liangent",
 			"Linforest",
@@ -379,140 +381,140 @@
 	"abusefilter-edit-invalid-group": "指定的过滤器组('$1')无效。",
 	"abusefilter-edit-builder-select": "选择需添加到光标处的选项",
 	"abusefilter-edit-builder-group-op-arithmetic": "算术运算符",
-	"abusefilter-edit-builder-op-arithmetic-addition": "加(+)",
-	"abusefilter-edit-builder-op-arithmetic-subtraction": "减(-)",
-	"abusefilter-edit-builder-op-arithmetic-multiplication": "乘(*)",
-	"abusefilter-edit-builder-op-arithmetic-divide": "除(/)",
-	"abusefilter-edit-builder-op-arithmetic-modulo": "模(%)",
-	"abusefilter-edit-builder-op-arithmetic-pow": "幂(**)",
+	"abusefilter-edit-builder-op-arithmetic-addition": "加($1)",
+	"abusefilter-edit-builder-op-arithmetic-subtraction": "减($1)",
+	"abusefilter-edit-builder-op-arithmetic-multiplication": "乘($1)",
+	"abusefilter-edit-builder-op-arithmetic-divide": "除($1)",
+	"abusefilter-edit-builder-op-arithmetic-modulo": "模($1)",
+	"abusefilter-edit-builder-op-arithmetic-pow": "幂($1)",
 	"abusefilter-edit-builder-group-op-comparison": "比较运算符",
-	"abusefilter-edit-builder-op-comparison-equal": "值等于(==)",
-	"abusefilter-edit-builder-op-comparison-equal-strict": "值和类型等于(===)",
-	"abusefilter-edit-builder-op-comparison-notequal": "值不等于(!=)",
-	"abusefilter-edit-builder-op-comparison-notequal-strict": "值和类型不等于(!==)",
-	"abusefilter-edit-builder-op-comparison-lt": "小于(<)",
-	"abusefilter-edit-builder-op-comparison-gt": "大于(>)",
-	"abusefilter-edit-builder-op-comparison-lte": "小于或等于(<=)",
-	"abusefilter-edit-builder-op-comparison-gte": "大于或等于(>=)",
+	"abusefilter-edit-builder-op-comparison-equal": "值等于($1)",
+	"abusefilter-edit-builder-op-comparison-equal-strict": "值和类型等于($1)",
+	"abusefilter-edit-builder-op-comparison-notequal": "值不等于($1)",
+	"abusefilter-edit-builder-op-comparison-notequal-strict": "值和类型不等于($1)",
+	"abusefilter-edit-builder-op-comparison-lt": "小于($1)",
+	"abusefilter-edit-builder-op-comparison-gt": "大于($1)",
+	"abusefilter-edit-builder-op-comparison-lte": "小于或等于($1)",
+	"abusefilter-edit-builder-op-comparison-gte": "大于或等于($1)",
 	"abusefilter-edit-builder-group-op-bool": "逻辑运算符",
-	"abusefilter-edit-builder-op-bool-not": "非(!)",
-	"abusefilter-edit-builder-op-bool-and": "与(&)",
-	"abusefilter-edit-builder-op-bool-or": "或(|)",
-	"abusefilter-edit-builder-op-bool-xor": "异或(^)",
+	"abusefilter-edit-builder-op-bool-not": "非($1)",
+	"abusefilter-edit-builder-op-bool-and": "与($1)",
+	"abusefilter-edit-builder-op-bool-or": "或($1)",
+	"abusefilter-edit-builder-op-bool-xor": "异或 ($1)",
 	"abusefilter-edit-builder-group-misc": "杂项",
-	"abusefilter-edit-builder-misc-in": "包含字符串(in)",
-	"abusefilter-edit-builder-misc-contains": "左字符串包含右字符串(contains)",
-	"abusefilter-edit-builder-misc-like": "匹配模式(like)",
-	"abusefilter-edit-builder-misc-stringlit": "字符串(\"\")",
-	"abusefilter-edit-builder-misc-rlike": "匹配正则表达式(rlike)",
-	"abusefilter-edit-builder-misc-irlike": "正则匹配,不区分大小写(irlike)",
-	"abusefilter-edit-builder-misc-tern": "三元运算符(X ? Y : Z)",
-	"abusefilter-edit-builder-misc-cond": "条件表达式(if X then Y else Z end)",
-	"abusefilter-edit-builder-misc-cond-short": "简短条件表达式(if X then Y end)",
+	"abusefilter-edit-builder-misc-in": "包含字符串($1)",
+	"abusefilter-edit-builder-misc-contains": "左字符串包含右字符串($1)",
+	"abusefilter-edit-builder-misc-like": "匹配模式($1)",
+	"abusefilter-edit-builder-misc-stringlit": "字符串($1)",
+	"abusefilter-edit-builder-misc-rlike": "匹配正则表达式($1)",
+	"abusefilter-edit-builder-misc-irlike": "正则匹配,不区分大小写($1)",
+	"abusefilter-edit-builder-misc-tern": "三元运算符($1)",
+	"abusefilter-edit-builder-misc-cond": "条件表达式($1)",
+	"abusefilter-edit-builder-misc-cond-short": "简短条件表达式($1)",
 	"abusefilter-edit-builder-group-funcs": "函数",
-	"abusefilter-edit-builder-funcs-length": "字符串长度(length)",
-	"abusefilter-edit-builder-funcs-lcase": "字母小写化(lcase)",
-	"abusefilter-edit-builder-funcs-ucase": "字母大写(ucase)",
-	"abusefilter-edit-builder-funcs-ccnorm": "规范化易混淆字符(ccnorm)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "在OR模式中标准化并搜索字符串以获取多个子字符串(ccnorm_contains_any)",
-	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "在AND模式中标准化并搜索字符串以获取多个子字符串(ccnorm_contains_all)",
-	"abusefilter-edit-builder-funcs-rmdoubles": "去除双字节字符(rmdoubles)",
-	"abusefilter-edit-builder-funcs-specialratio": "特殊字符比(specialratio)",
-	"abusefilter-edit-builder-funcs-norm": "规范化(norm)",
-	"abusefilter-edit-builder-funcs-count": "字符串 X 在字符串 Y 中出现的次数(count)",
-	"abusefilter-edit-builder-funcs-rcount": "正则表达式 X 在字符串 Y 中匹配的次数(rcount)",
-	"abusefilter-edit-builder-funcs-get_matches": "匹配文本中每个捕捉组的正则表达式数组(get_matches)",
-	"abusefilter-edit-builder-funcs-rmwhitespace": "删除空格字符(rmwhitespace)",
-	"abusefilter-edit-builder-funcs-rmspecials": "移除特殊字符(rmspecials)",
-	"abusefilter-edit-builder-funcs-ip_in_range": "IP地址是否在范围内?(ip_in_range)",
-	"abusefilter-edit-builder-funcs-ip_in_ranges": "IP地址是否在任一范围内?(ip_in_ranges)",
-	"abusefilter-edit-builder-funcs-contains-any": "在OR模式中搜索字符串以获得多个子字符串。(contains_any)",
-	"abusefilter-edit-builder-funcs-contains-all": "在AND模式中搜索字符串以获得多个子字符串。(contains_all)",
-	"abusefilter-edit-builder-funcs-equals-to-any": "检查指定参数是否等同于(===)以下任意参数之一(equals_to_any)",
-	"abusefilter-edit-builder-funcs-substr": "子字符串(substr)",
-	"abusefilter-edit-builder-funcs-strpos": "子字符串在字符串中的位置(strpos)",
-	"abusefilter-edit-builder-funcs-str_replace": "在字符串中替换子字符串(str_replace)",
-	"abusefilter-edit-builder-funcs-str_replace_regexp": "正则表达式搜索和替换(str_replace_regexp)",
-	"abusefilter-edit-builder-funcs-rescape": "转义字符串以在正则表达式中使用 (rescape)",
-	"abusefilter-edit-builder-funcs-set_var": "设置变量(set_var)",
-	"abusefilter-edit-builder-funcs-sanitize": "标准化HTML记录为unicode字符(sanitize)",
+	"abusefilter-edit-builder-funcs-length": "字符串长度($1)",
+	"abusefilter-edit-builder-funcs-lcase": "字母小写化($1)",
+	"abusefilter-edit-builder-funcs-ucase": "字母大写($1)",
+	"abusefilter-edit-builder-funcs-ccnorm": "规范化易混淆字符($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-any": "在OR模式中标准化并搜索字符串以获取多个子字符串($1)",
+	"abusefilter-edit-builder-funcs-ccnorm-contains-all": "在AND模式中标准化并搜索字符串以获取多个子字符串($1)",
+	"abusefilter-edit-builder-funcs-rmdoubles": "去除双字节字符($1)",
+	"abusefilter-edit-builder-funcs-specialratio": "特殊字符比($1)",
+	"abusefilter-edit-builder-funcs-norm": "规范化($1)",
+	"abusefilter-edit-builder-funcs-count": "字符串 X 在字符串 Y 中出现的次数($1)",
+	"abusefilter-edit-builder-funcs-rcount": "正则表达式 X 在字符串 Y 中匹配的次数($1)",
+	"abusefilter-edit-builder-funcs-get_matches": "匹配文本中每个捕捉组的正则表达式数组($1)",
+	"abusefilter-edit-builder-funcs-rmwhitespace": "删除空格字符($1)",
+	"abusefilter-edit-builder-funcs-rmspecials": "移除特殊字符($1)",
+	"abusefilter-edit-builder-funcs-ip_in_range": "IP地址是否在范围内?($1)",
+	"abusefilter-edit-builder-funcs-ip_in_ranges": "IP地址是否在任一范围内?($1)",
+	"abusefilter-edit-builder-funcs-contains-any": "在OR模式中搜索字符串以获得多个子字符串($1)",
+	"abusefilter-edit-builder-funcs-contains-all": "在AND模式中搜索字符串以获得多个子字符串($1)",
+	"abusefilter-edit-builder-funcs-equals-to-any": "检查指定参数是否等同于(===)以下任意参数之一($1)",
+	"abusefilter-edit-builder-funcs-substr": "子字符串($1)",
+	"abusefilter-edit-builder-funcs-strpos": "子字符串在字符串中的位置($1)",
+	"abusefilter-edit-builder-funcs-str_replace": "在字符串中替换子字符串($1)",
+	"abusefilter-edit-builder-funcs-str_replace_regexp": "正则表达式搜索和替换($1)",
+	"abusefilter-edit-builder-funcs-rescape": "转义字符串以在正则表达式中使用($1)",
+	"abusefilter-edit-builder-funcs-set_var": "设置变量($1)",
+	"abusefilter-edit-builder-funcs-sanitize": "标准化HTML字符实体为Unicode字符($1)",
 	"abusefilter-edit-builder-group-vars": "变量",
-	"abusefilter-edit-builder-vars-timestamp": "更改的Unix时间戳",
-	"abusefilter-edit-builder-vars-accountname": "账号(创建时)的名称",
-	"abusefilter-edit-builder-vars-action": "操作",
-	"abusefilter-edit-builder-vars-addedlines": "编辑增加的行",
-	"abusefilter-edit-builder-vars-delta": "编辑前后的大小改变",
-	"abusefilter-edit-builder-vars-diff": "编辑产生的差异",
-	"abusefilter-edit-builder-vars-newsize": "新页面大小",
-	"abusefilter-edit-builder-vars-oldsize": "旧页面大小",
-	"abusefilter-edit-builder-vars-new-content-model": "新的内容模型",
-	"abusefilter-edit-builder-vars-old-content-model": "旧的内容模型",
-	"abusefilter-edit-builder-vars-removedlines": "编辑移除的行",
-	"abusefilter-edit-builder-vars-summary": "编辑摘要/原因",
-	"abusefilter-edit-builder-vars-page-id": "页面编号",
-	"abusefilter-edit-builder-vars-page-ns": "页面命名空间",
-	"abusefilter-edit-builder-vars-page-title": "页面标题(不含命名空间)",
-	"abusefilter-edit-builder-vars-page-prefixedtitle": "完整页面标题",
-	"abusefilter-edit-builder-vars-page-age": "页面年龄(以秒为单位)",
-	"abusefilter-edit-builder-vars-page-last-edit-age": "自页面的最近编辑以来的时间(以秒为单位)",
-	"abusefilter-edit-builder-vars-movedfrom-id": "移动源页面的页面编号",
-	"abusefilter-edit-builder-vars-movedfrom-ns": "移动源页面的命名空间",
-	"abusefilter-edit-builder-vars-movedfrom-title": "移动源页面的标题",
-	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "移动源页面的完整标题",
-	"abusefilter-edit-builder-vars-movedfrom-age": "移动来源页面年龄(以秒为单位)",
-	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "自移动来源页面的最近编辑以来的时间(以秒为单位)",
-	"abusefilter-edit-builder-vars-movedto-id": "移动目的页面的页面编号",
-	"abusefilter-edit-builder-vars-movedto-ns": "移动目的页面的命名空间",
-	"abusefilter-edit-builder-vars-movedto-title": "移动目的页面的标题",
-	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "移动目的页面的完整标题",
-	"abusefilter-edit-builder-vars-movedto-age": "移动目标页面年龄(以秒为单位)",
-	"abusefilter-edit-builder-vars-movedto-last-edit-age": "自移动目标页面的最近编辑以来的时间(以秒为单位)",
-	"abusefilter-edit-builder-vars-user-editcount": "用户的编辑次数",
-	"abusefilter-edit-builder-vars-user-age": "用户账号的年龄",
-	"abusefilter-edit-builder-vars-user-name": "用户账号名称",
-	"abusefilter-edit-builder-vars-user-type": "用户账号类型",
-	"abusefilter-edit-builder-vars-user-groups": "用户所在群组(包括隐藏群组)",
-	"abusefilter-edit-builder-vars-user-rights": "用户拥有的权限",
-	"abusefilter-edit-builder-vars-user-blocked": "用户是否被封禁",
-	"abusefilter-edit-builder-vars-user-emailconfirm": "电子邮件地址得到确认的时间",
-	"abusefilter-edit-builder-vars-old-wikitext": "在编辑之前旧页面的wikitext",
-	"abusefilter-edit-builder-vars-new-wikitext": "在编辑之后新页面的wikitext",
-	"abusefilter-edit-builder-vars-added-links": "新内容中新增的所有外部链接",
-	"abusefilter-edit-builder-vars-removed-links": "新内容中移除的所有外部链接",
-	"abusefilter-edit-builder-vars-all-links": "新内容中的所有外部链接",
-	"abusefilter-edit-builder-vars-new-pst": "新页面的wikitext,已进行预保存转换",
-	"abusefilter-edit-builder-vars-diff-pst": "统一所有由编辑、预保存转换更改的差异",
-	"abusefilter-edit-builder-vars-addedlines-pst": "编辑中加入了行,并在保存前转换",
-	"abusefilter-edit-builder-vars-new-text": "编辑后的新页面,去除所有标记",
-	"abusefilter-edit-builder-vars-new-html": "编辑后的新页面,已解析为HTML源码",
-	"abusefilter-edit-builder-vars-restrictions-edit": "页面的编辑保护级别",
-	"abusefilter-edit-builder-vars-restrictions-move": "页面的移动保护级别",
-	"abusefilter-edit-builder-vars-restrictions-create": "创建页面的保护",
-	"abusefilter-edit-builder-vars-restrictions-upload": "上传文件的保护",
-	"abusefilter-edit-builder-vars-recent-contributors": "最后十位对该页面贡献的用户",
-	"abusefilter-edit-builder-vars-first-contributor": "贡献页面的第一位用户",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "移动来源页面的编辑保护级别",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "移动来源页面的移动保护级别",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "移动来源页面的创建保护",
-	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "移动来源文件的上传保护",
-	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "最近十位对移动来源页面有贡献的用户",
-	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "第一位对移动来源页面有贡献的用户",
-	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "移动目标页面的编辑保护级别",
-	"abusefilter-edit-builder-vars-movedto-restrictions-move": "移动目标页面的移动保护级别",
-	"abusefilter-edit-builder-vars-movedto-restrictions-create": "移动目标页面的创建保护",
-	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "移动目标文件的上传保护",
-	"abusefilter-edit-builder-vars-movedto-recent-contributors": "最近十位对移动目标页面有贡献的用户",
-	"abusefilter-edit-builder-vars-movedto-first-contributor": "第一位对移动目标页面有贡献的用户",
-	"abusefilter-edit-builder-vars-old-links": "旧内容中的所有外部链接",
-	"abusefilter-edit-builder-vars-file-sha1": "文件内容的SHA1散列值",
-	"abusefilter-edit-builder-vars-file-size": "文件大小(单位为字节)",
-	"abusefilter-edit-builder-vars-file-mime": "文件的MIME类型",
-	"abusefilter-edit-builder-vars-file-mediatype": "文件的媒体类型",
-	"abusefilter-edit-builder-vars-file-width": "文件宽度(像素)",
-	"abusefilter-edit-builder-vars-file-height": "文件高度(像素)",
-	"abusefilter-edit-builder-vars-file-bits-per-channel": "文件的位/颜色通道",
-	"abusefilter-edit-builder-vars-wiki-name": "Wiki的数据库名称",
-	"abusefilter-edit-builder-vars-wiki-language": "Wiki的语言代码",
+	"abusefilter-edit-builder-vars-timestamp": "更改的Unix时间戳($1)",
+	"abusefilter-edit-builder-vars-accountname": "创建账号时的账号名称($1)",
+	"abusefilter-edit-builder-vars-action": "操作($1)",
+	"abusefilter-edit-builder-vars-addedlines": "编辑中添加的行($1)",
+	"abusefilter-edit-builder-vars-delta": "编辑前后的大小变化($1)",
+	"abusefilter-edit-builder-vars-diff": "编辑产生的差异($1)",
+	"abusefilter-edit-builder-vars-newsize": "新页面大小($1)",
+	"abusefilter-edit-builder-vars-oldsize": "旧页面大小($1)",
+	"abusefilter-edit-builder-vars-new-content-model": "新内容模型($1)",
+	"abusefilter-edit-builder-vars-old-content-model": "旧内容模型($1)",
+	"abusefilter-edit-builder-vars-removedlines": "编辑中删除的行($1)",
+	"abusefilter-edit-builder-vars-summary": "编辑摘要/原因($1)",
+	"abusefilter-edit-builder-vars-page-id": "页面ID($1)",
+	"abusefilter-edit-builder-vars-page-ns": "页面命名空间($1)",
+	"abusefilter-edit-builder-vars-page-title": "不包含命名空间的页面标题($1)",
+	"abusefilter-edit-builder-vars-page-prefixedtitle": "完整页面标题($1)",
+	"abusefilter-edit-builder-vars-page-age": "页面年龄(秒)($1)",
+	"abusefilter-edit-builder-vars-page-last-edit-age": "自上次编辑页面以来的时间(以秒为单位)($1)",
+	"abusefilter-edit-builder-vars-movedfrom-id": "移动源页面的页面ID($1)",
+	"abusefilter-edit-builder-vars-movedfrom-ns": "移动源页面的命名空间($1)",
+	"abusefilter-edit-builder-vars-movedfrom-title": "移动源页面的标题($1)",
+	"abusefilter-edit-builder-vars-movedfrom-prefixedtitle": "移动源页面的完整标题($1)",
+	"abusefilter-edit-builder-vars-movedfrom-age": "移动源页面年龄(秒)($1)",
+	"abusefilter-edit-builder-vars-movedfrom-last-edit-age": "自上次移动源页面编辑以来的时间(以秒为单位)($1)",
+	"abusefilter-edit-builder-vars-movedto-id": "移动目标页面的页面ID($1)",
+	"abusefilter-edit-builder-vars-movedto-ns": "移动目标页面的命名空间($1)",
+	"abusefilter-edit-builder-vars-movedto-title": "移动目标页面的标题($1)",
+	"abusefilter-edit-builder-vars-movedto-prefixedtitle": "移动目标页面的完整标题($1)",
+	"abusefilter-edit-builder-vars-movedto-age": "移动目标页面的时间(秒)($1)",
+	"abusefilter-edit-builder-vars-movedto-last-edit-age": "自上次移动目标页面编辑以来的时间(以秒为单位)($1)",
+	"abusefilter-edit-builder-vars-user-editcount": "用户编辑次数($1)",
+	"abusefilter-edit-builder-vars-user-age": "用户账号年龄($1)",
+	"abusefilter-edit-builder-vars-user-name": "用户账号名称($1)",
+	"abusefilter-edit-builder-vars-user-type": "账号类型($1)",
+	"abusefilter-edit-builder-vars-user-groups": "用户所在的组(包括隐藏组)($1)",
+	"abusefilter-edit-builder-vars-user-rights": "用户拥有的权限($1)",
+	"abusefilter-edit-builder-vars-user-blocked": "用户是否被封禁($1)",
+	"abusefilter-edit-builder-vars-user-emailconfirm": "确认电子邮件地址的时间($1)",
+	"abusefilter-edit-builder-vars-old-wikitext": "编辑之前的旧页面的wikitext($1)",
+	"abusefilter-edit-builder-vars-new-wikitext": "编辑之后的新页面的wikitext($1)",
+	"abusefilter-edit-builder-vars-added-links": "编辑中添加的所有外部链接($1)",
+	"abusefilter-edit-builder-vars-removed-links": "编辑中删除的所有外部链接($1)",
+	"abusefilter-edit-builder-vars-all-links": "新文本中的所有外部链接($1)",
+	"abusefilter-edit-builder-vars-new-pst": "新页面的wikitext(已预保存转换)($1)",
+	"abusefilter-edit-builder-vars-diff-pst": "编辑的统一变更差异(已预保存转换)($1)",
+	"abusefilter-edit-builder-vars-addedlines-pst": "编辑中添加的行(已经过预保存转换)($1)",
+	"abusefilter-edit-builder-vars-new-text": "新页面文本(不含标记)($1)",
+	"abusefilter-edit-builder-vars-new-html": "解析新修订版本的HTML源代码($1)",
+	"abusefilter-edit-builder-vars-restrictions-edit": "编辑页面的保护级别($1)",
+	"abusefilter-edit-builder-vars-restrictions-move": "移动页面的保护级别($1)",
+	"abusefilter-edit-builder-vars-restrictions-create": "创建页面保护($1)",
+	"abusefilter-edit-builder-vars-restrictions-upload": "上传文件保护($1)",
+	"abusefilter-edit-builder-vars-recent-contributors": "最后十位为该页面做出贡献的用户($1)",
+	"abusefilter-edit-builder-vars-first-contributor": "第一个为页面做出贡献的用户($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-edit": "编辑移动源页面的保护级别($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-move": "移动源页面的保护级别($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-create": "创建移动源页面的保护($1)",
+	"abusefilter-edit-builder-vars-movedfrom-restrictions-upload": "上传移动源文件的保护($1)",
+	"abusefilter-edit-builder-vars-movedfrom-recent-contributors": "对移动源页面做出贡献的最后十位用户($1)",
+	"abusefilter-edit-builder-vars-movedfrom-first-contributor": "第一个为移动源页面做出贡献的用户($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-edit": "编辑移动目标页面的保护级别($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-move": "移动目标页面的移动保护级别($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-create": "创建移动目标页面的保护($1)",
+	"abusefilter-edit-builder-vars-movedto-restrictions-upload": "移动目标文件的上传保护($1)",
+	"abusefilter-edit-builder-vars-movedto-recent-contributors": "最近十位对移动目标页面有贡献的用户($1)",
+	"abusefilter-edit-builder-vars-movedto-first-contributor": "第一个为移动目标页面做出贡献的用户($1)",
+	"abusefilter-edit-builder-vars-old-links": "编辑之前页面中的链接($1)",
+	"abusefilter-edit-builder-vars-file-sha1": "文件内容的SHA1哈希值($1)",
+	"abusefilter-edit-builder-vars-file-size": "文件大小(以字节为单位)($1)",
+	"abusefilter-edit-builder-vars-file-mime": "文件的MIME类型($1)",
+	"abusefilter-edit-builder-vars-file-mediatype": "文件的媒体类型($1)",
+	"abusefilter-edit-builder-vars-file-width": "文件宽度(以像素为单位)($1)",
+	"abusefilter-edit-builder-vars-file-height": "文件高度(以像素为单位)($1)",
+	"abusefilter-edit-builder-vars-file-bits-per-channel": "文件每个颜色通道的位数($1)",
+	"abusefilter-edit-builder-vars-wiki-name": "Wiki的数据库名称($1)",
+	"abusefilter-edit-builder-vars-wiki-language": "Wiki的语言代码($1)",
 	"abusefilter-edit-builder-vars-old-text": "编辑前的旧页面,去除所有标记(不再使用)",
 	"abusefilter-edit-builder-vars-old-html": "旧页面的wikitext,解析为HTML(不再使用)",
 	"abusefilter-edit-builder-vars-minor-edit": "编辑是否被标记为小编辑(不再使用)",
diff --git a/i18n/zh-hant.json b/i18n/zh-hant.json
index 978f5f5..9bcd8f8 100644
--- a/i18n/zh-hant.json
+++ b/i18n/zh-hant.json
@@ -364,7 +364,7 @@
 	"abusefilter-edit-builder-op-bool-not": "非 (!)",
 	"abusefilter-edit-builder-op-bool-and": "且 (&)",
 	"abusefilter-edit-builder-op-bool-or": "或 (|)",
-	"abusefilter-edit-builder-op-bool-xor": "異或(^)",
+	"abusefilter-edit-builder-op-bool-xor": "異或($1)",
 	"abusefilter-edit-builder-group-misc": "其他",
 	"abusefilter-edit-builder-misc-in": "於字串中 (in)",
 	"abusefilter-edit-builder-misc-contains": "左邊的字串含有右邊的字串 (contains)",