about summary refs log tree commit diff stats
path: root/src/_locales
diff options
context:
space:
mode:
Diffstat (limited to 'src/_locales')
-rw-r--r--src/_locales/ar/messages.json774
-rw-r--r--src/_locales/de/messages.json400
-rw-r--r--src/_locales/en/messages.json392
-rw-r--r--src/_locales/filter.py43
4 files changed, 325 insertions, 1284 deletions
diff --git a/src/_locales/ar/messages.json b/src/_locales/ar/messages.json
index f407c964..a8bd46e4 100644
--- a/src/_locales/ar/messages.json
+++ b/src/_locales/ar/messages.json
@@ -1,556 +1,222 @@
 {
-    "extensionName": {
-      "message": "LibRedirect",
-      "description": "name of the extension"
-    },
-
-    "extensionDescription": {
-      "message": "إضافة متصفح تعيد توجيه مواقع مشهورة إلى واجهات أمامية ذات تحترم الخصوصية",
-      "description": "description of the extension"
-    },
-
-    "switchInstance": {
-      "message": "تبديل المَثيل",
-      "description": "used in manifest.json as shortcut description"
-    },
-
-    "instance": {
-      "message": "المَثيل",
-      "description": "used in popup.html"
-    },
-
-    "settings": {
-      "message": "الإعدادات",
-      "description": "used in popup.html"
-    },
-
-    "libOptions": {
-      "message": "LibRedirect إعدادات",
-      "description": "used in general.html"
-    },
-
-    "general": {
-      "message": "العامة",
-      "description": "used in general.html"
-    },
-
-    "search": {
-      "message": "البحث",
-      "description": "used in general.html"
-    },
-
-    "translate": {
-      "message": "الترجمة",
-      "description": "used in general.html"
-    },
-
-    "maps": {
-      "message": "الخرائط",
-      "description": "used in general.html"
-    },
-
-    "sendFiles": {
-      "message": "إرسال الملفات",
-      "description": "used in general.html"
-    },
-
-    "youtube": {
-      "message": "يوتيوب",
-      "description": "used in general.html"
-    },
-
-    "instagram": {
-      "message": "إنستغرام",
-      "description": "used in general.html"
-    },
-
-    "twitter": {
-      "message": "تويتر",
-      "description": "used in general.html"
-    },
-
-    "reddit": {
-      "message": "ريديت",
-      "description": "used in general.html"
-    },
-
-    "tiktok": {
-      "message": "تيك توك",
-      "description": "used in general.html"
-    },
-
-    "ytmusic": {
-      "message": "يوتيوب ميوزيك",
-      "description": "used in general.html"
-    },
-
-    "imgur": {
-      "message": "إمجور",
-      "description": "used in general.html"
-    },
-
-    "wikipedia": {
-      "message": "ويكيبيديا",
-      "description": "used in general.html"
-    },
-
-    "peertube": {
-      "message": "PeerTube",
-      "description": "used in general.html"
-    },
-
-    "medium": {
-      "message": "ميديام",
-      "description": "used in general.html"
-    },
-
-    "tor": {
-      "message": "تور",
-      "description": "used in imgur.html"
-    },
-
-    "theme": {
-      "message": "السمة",
-      "description": "used in general.html"
-    },
-
-    "system": {
-      "message": "النظام",
-      "description": "used in general.html"
-    },
-
-    "light": {
-      "message": "فاتح",
-      "description": "used in general.html"
-    },
-
-    "dark": {
-      "message": "داكن",
-      "description": "used in general.html"
-    },
-
-    "applyTheme": {
-      "message": "تطبيق السمة على الواجهات",
-      "description": "used in general.html"
-    },
-
-    "alwaysPref": {
-      "message": "استخدم المُثلاء المفضلين دائماً",
-      "description": "used in general.html"
-    },
-
-    "autoRedirect": {
-      "message": "إعادة التوجيه تلقائياً من المُثلاء الذين لا يعملون",
-      "description": "used in general.html"
-    },
-
-    "exceptions": {
-      "message": "الاستثناءات",
-      "description": "used in general.html"
-    },
-
-    "updateInstances": {
-      "message": "تحديث قائمة المُثلاء",
-      "description": "used in general.html"
-    },
-
-    "importSettings": {
-      "message": "استيراد الإعدادات",
-      "description": "used in general.html"
-    },
-
-    "exportSettings": {
-      "message": "تصدير الإعدادات",
-      "description": "used in general.html"
-    },
-
-    "resetSettings": {
-      "message": "إعادة تعيين الإعدادات",
-      "description": "used in general.html"
-    },
-
-    "customPopup": {
-      "message": "تخصيص النافذة المنبثقة",
-      "description": "used in general.html"
-    },
-
-    "enable": {
-      "message": "تفعيل",
-      "description": "used in imgur.html"
-    },
-
-    "protocol": {
-      "message": "البروتوكول",
-      "description": "used in imgur.html"
-    },
-
-    "normal": {
-      "message": "العادي",
-      "description": "used in imgur.html"
-    },
-
-    "defaultInstances": {
-      "message": "المُثلاء الافتراضيين",
-      "description": "used in imgur.html"
-    },
-
-    "customInstances": {
-      "message": "المُثلاء المخصصين",
-      "description": "used in imgur.html"
-    },
-
-    "toggleAll": {
-      "message": "تبديل الكل",
-      "description": "used in utils.js"
-    },
-
-    "frontend": {
-      "message": "الواجهة الأمامية",
-      "description": "used in maps.html"
-    },
-
-    "notFullyPrivate": {
-      "message": "هذه الواجهة لا تحترم الخصوصية تماماً",
-      "description": ""
-    },
-
-    "oldReddit": {
-      "message": "ريديت القديم",
-      "description": "used in reddit.html"
-    },
-
-    "searchNote": {
-      "message": "ملاحظة: لاستعمال \"البحث\" بكامل إمكانيته، اجعل LibRedirect محرك البحث الافتراضي",
-      "description": "used in search.html"
-    },
-
-    "libSendFiles": {
-      "message": "LibRedirect: إرسال الملفات",
-      "description": "used in sendTargets.html"
-    },
-
-    "from": {
-      "message": "من",
-      "description": "used in translate.html"
-    },
-
-    "to": {
-      "message": "إلى",
-      "description": "used in translate.html"
-    },
-
-    "default": {
-      "message": "الافتراضي",
-      "description": "used in translate.html"
-    },
-
-    "auto": {
-      "message": "تلقائي",
-      "description": "used in translate.html"
-    },
-
-    "engine": {
-      "message": "محرك البحث",
-      "description": "used in translate.html"
-    },
-
-    "libTranslate": {
-      "message": "LibRedirect: الترجمة",
-      "description": "used in translate.html"
-    },
-
-    "embeddedVids": {
-      "message": "واجهة الفيديوهات المضمنة",
-      "description": "used in youtube.html"
-    },
-
-    "redirectType": {
-      "message": "نوع إعادة التوجيه",
-      "description": "used in youtube.html"
-    },
-
-    "both": {
-      "message": "الإثنين",
-      "description": "used in youtube.html"
-    },
-
-    "onlyEmbedded": {
-      "message": "فقط للتضمينات",
-      "description": "used in youtube.html"
-    },
-
-    "onlyNotEmbedded": {
-      "message": "فقط لغير التضمينات",
-      "description": "used in youtube.html"
-    },
-
-    "enableCustom": {
-      "message": "تمكين الإعدادات الخاصة (ستُستخدم ملفات تعريف الارتباط والـlocalStorage)",
-      "description": "used in youtube.html"
-    },
-
-    "autoplayVid": {
-      "message": "تشغيل الفيديوهات التلقائي",
-      "description": "used in youtube.html"
-    },
-
-    "volume": {
-      "message": "الصوت: ",
-      "description": "used in youtube.html"
-    },
-
-    "playerStyle": {
-      "message": "شكل مشغل الفيديو",
-      "description": "used in youtube.html"
-    },
-
-    "alwaysLoop": {
-      "message": "إعادة تشغيل الفيديو تلقائياً",
-      "description": "used in youtube.html"
-    },
-
-    "playNext": {
-      "message": "تشغيل التالي افتراضياً",
-      "description": "used in youtube.html"
-    },
-
-    "autoplayNext": {
-      "message": "تشغيل الفيديو التالي تلقائياً",
-      "description": "used in youtube.html"
-    },
-
-    "alwaysProxy": {
-      "message": "بروكسي المقاطع المرئيّة",
-      "description": "used in youtube.html"
-    },
-
-    "listenByDefault": {
-      "message": "تشغيل النسخة السمعية تلقائيًا",
-      "description": "used in youtube.html"
-    },
-
-    "defaultSpeed": {
-      "message": "السرعة الافتراضية",
-      "description": "used in youtube.html"
-    },
-
-    "prefQuality": {
-      "message": "الجودة المفضلة للمقاطع",
-      "description": "used in youtube.html"
-    },
-
-    "dash": {
-      "message": "DASH (جودة تكيُّفية)",
-      "description": "used in youtube.html"
-    },
-
-    "prefDashQuality": {
-      "message": "جودة فيديو DASH المفضلة",
-      "description": "used in youtube.html"
-    },
-
-    "best": {
-      "message": "الأفضل",
-      "description": "used in youtube.html"
-    },
-
-    "worst": {
-      "message": "الأسوء",
-      "description": "used in youtube.html"
-    },
-
-    "defaultComments": {
-      "message": "التعليقات الافتراضية",
-      "description": "used in youtube.html"
-    },
-
-    "none": {
-      "message": "لا شيء",
-      "description": "used in youtube.html"
-    },
-
-    "defaultCaptions": {
-      "message": "التسميات التوضيحية الاتفراضية",
-      "description": "used in youtube.html"
-    },
-
-    "showRelated": {
-      "message": "اعرض الفيديوهات ذات الصلة",
-      "description": "used in youtube.html"
-    },
-
-    "showAnnotations": {
-      "message": "إظهار الـAnnotation بشكل افتراضي",
-      "description": "used in youtube.html"
-    },
-
-    "autoExtendDesc": {
-      "message": "توسيع وصف الفيديو تلقائيا",
-      "description": "used in youtube.html"
-    },
-
-    "interactive360": {
-      "message": "مقاطع فيديو تفاعلية بزاوية 360 درجة (تتطلب WebGL)",
-      "description": "used in youtube.html"
-    },
-
-    "savePlaybackPos": {
-      "message": "حفظ موضع التشغيل",
-      "description": "used in youtube.html"
-    },
-
-    "enableSponsorBlock": {
-      "message": "Enable SponsorBlock",
-      "description": "used in youtube.html"
-    },
-
-    "skipSponsors": {
-      "message": "Skip sponsors",
-      "description": "used in youtube.html"
-    },
-
-    "skipIntermission": {
-      "message": "Skip Intermission/Intro Animation",
-      "description": "used in youtube.html"
-    },
-
-    "skipEndcards": {
-      "message": "Skip Endcards/Credits",
-      "description": "used in youtube.html"
-    },
-
-    "skipPreview": {
-      "message": "Skip Preview/Recap",
-      "description": "used in youtube.html"
-    },
-
-    "skipReminder": {
-      "message": "Skip interaction reminder (subscribe)",
-      "description": "used in youtube.html"
-    },
-
-    "skipUnpaidPromo": {
-      "message": "Skip Unpaid/Self Promotion",
-      "description": "used in youtube.html"
-    },
-
-    "skipMusic": {
-      "message": "Skip Music: Non-Music Section",
-      "description": "used in youtube.html"
-    },
-
-    "skipHighlights": {
-      "message": "Skip highlights",
-      "description": "used in youtube.html"
-    },
-
-    "skipFiller": {
-      "message": "Skip Filler Tangent",
-      "description": "used in youtube.html"
-    },
-
-    "audioOnly": {
-      "message": "Audio only",
-      "description": "used in youtube.html"
-    },
-
-    "defaultQuality": {
-      "message": "Default quality",
-      "description": "used in youtube.html"
-    },
-
-    "bufferingGoal": {
-      "message": "Buffering Goal (in seconds)",
-      "description": "used in youtube.html"
-    },
-
-    "countrySelection": {
-      "message": "Country selection",
-      "description": "used in youtube.html"
-    },
-
-    "defaultHomepage": {
-      "message": "Default homepage",
-      "description": "used in youtube.html"
-    },
-
-    "trending": {
-      "message": "Trending",
-      "description": "used in youtube.html"
-    },
-
-    "feed": {
-      "message": "Feed",
-      "description": "used in youtube.html"
-    },
-
-    "showComments": {
-      "message": "Show comments",
-      "description": "used in youtube.html"
-    },
-
-    "minimizeDesc": {
-      "message": "Minimize description by default",
-      "description": "used in youtube.html"
-    },
-
-    "storeHistory": {
-      "message": "Store watch history",
-      "description": "used in youtube.html"
-    },
-
-    "enabledCodecs": {
-      "message": "Enabled codecs (multiple)",
-      "description": "used in youtube.html"
-    },
-
-    "disableLBRY": {
-      "message": "Disable LBRY for streaming",
-      "description": "used in youtube.html"
-    },
-
-    "enableProxyLBRY": {
-      "message": "Enable proxy for LBRY",
-      "description": "used in youtube.html"
-    },
-
-    "proxyLBRY": {
-      "message": "Proxy LBRY videos",
-      "description": "used in youtube.html"
-    },
-
-    "skipNote": {
-      "message": "Skip to the last watched point when encountering a video already seen",
-      "description": "used in youtube.html"
-    },
-
-    "embedExceptions": {
-      "message": "Embed exceptions",
-      "description": "used in youtube.html"
-    },
-
-    "instanceOffline": {
-      "message": "This instance is offline, you'll be redirected after ",
-      "description": "used in instance_offline.html"
-    },
-
-    "sec": {
-      "message": "الثواني",
-      "description": "used in instance_offline.html"
-    },
-
-    "cancel": {
-      "message": "إلغاء",
-      "description": "used in instance_offline.html"
-    },
-
-    "instanceIsOff": {
-      "message": "المَثيل غير متصل على النت",
-      "description": "used in instance_offline.html"
-    },
-
-    "redirectionCanceled": {
-      "message": "تم إلغاء إعادة التوجيه",
-      "description": "used in instance_offline.js"
-    }
+  "extensionName": {
+    "message": "LibRedirect",
+    "description": "extension name"
+  },
+  "extensionDescription": {
+    "message": "إضافة متصفح تعيد توجيه مواقع مشهورة إلى واجهات أمامية تحترم الخصوصية",
+    "description": "extension description"
+  },
+  "switchInstance": {
+    "message": "تبديل النظير",
+    "description": "used in the popup"
+  },
+  "settings": {
+    "message": "الإعدادات",
+    "description": "used in the popup"
+  },
+  "copyRaw": {
+    "message": "الرابط الأصلي",
+    "description": "used in the popup"
+  },
+  "copied": {
+    "message": "تم النسخ",
+    "description": "used in the popup"
+  },
+  "unifySettings": {
+    "message": "توحيد الإعدادات",
+    "description": "used in the popup"
+  },
+  "unified": {
+    "message": "تم التوحيد",
+    "description": "used in the popup"
+  },
+  "general": {
+    "message": "العامة",
+    "description": "used in the settings page"
+  },
+  "youtube": {
+    "message": "يوتيوب",
+    "description": ""
+  },
+  "ytmusic": {
+    "message": "يوتيوب ميوزيك",
+    "description": ""
+  },
+  "instagram": {
+    "message": "إنستغرام",
+    "description": ""
+  },
+  "twitter": {
+    "message": "تويتر",
+    "description": ""
+  },
+  "reddit": {
+    "message": "ريديت",
+    "description": ""
+  },
+  "tiktok": {
+    "message": "تيك توك",
+    "description": ""
+  },
+  "lbry": {
+    "message": "LBRY",
+    "description": ""
+  },
+  "imgur": {
+    "message": "إمجور",
+    "description": ""
+  },
+  "wikipedia": {
+    "message": "ويكيبيديا",
+    "description": ""
+  },
+  "peertube": {
+    "message": "PeerTube",
+    "description": ""
+  },
+  "medium": {
+    "message": "ميديام",
+    "description": ""
+  },
+  "search": {
+    "message": "البحث",
+    "description": ""
+  },
+  "translate": {
+    "message": "الترجمة",
+    "description": ""
+  },
+  "maps": {
+    "message": "الخرائط",
+    "description": ""
+  },
+  "sendFiles": {
+    "message": "إرسال الملفات",
+    "description": ""
+  },
+  "theme": {
+    "message": "السمة",
+    "description": "used in the settings page"
+  },
+  "system": {
+    "message": "النظام",
+    "description": "used in the settings page"
+  },
+  "light": {
+    "message": "فاتح",
+    "description": "used in the settings page"
+  },
+  "dark": {
+    "message": "داكن",
+    "description": "used in the settings page"
+  },
+  "autoRedirect": {
+    "message": "إعادة التوجيه تلقائياً من النظراء الذين لا يعملون",
+    "description": "used in the settings page"
+  },
+  "exceptions": {
+    "message": "الاستثناءات",
+    "description": "used in the settings page"
+  },
+  "updateInstances": {
+    "message": "تحديث قائمة النظراء",
+    "description": "used in the settings page"
+  },
+  "importSettings": {
+    "message": "استيراد الإعدادات",
+    "description": "used in the settings page"
+  },
+  "exportSettings": {
+    "message": "تصدير الإعدادات",
+    "description": "used in the settings page"
+  },
+  "resetSettings": {
+    "message": "إعادة تعيين الإعدادات",
+    "description": "used in the settings page"
+  },
+  "customPopup": {
+    "message": "تخصيص النافذة المنبثقة",
+    "description": "used in the settings page"
+  },
+  "enable": {
+    "message": "تفعيل",
+    "description": "used in the settings page"
+  },
+  "protocol": {
+    "message": "البروتوكول",
+    "description": "used in the settings page"
+  },
+  "normal": {
+    "message": "العادي",
+    "description": "used in the settings page"
+  },
+  "tor": {
+    "message": "تور",
+    "description": "used in the settings page"
+  },
+  "i2p": {
+    "message": "i2p",
+    "description": "used in the settings page"
+  },
+  "defaultInstances": {
+    "message": "النظراء الافتراضيين",
+    "description": "used in the settings page"
+  },
+  "customInstances": {
+    "message": "النظراء المخصصين",
+    "description": "used in the settings page"
+  },
+  "toggleAll": {
+    "message": "تبديل الكل",
+    "description": "used in the settings page"
+  },
+  "frontend": {
+    "message": "الواجهة الأمامية",
+    "description": "used in the settings page"
+  },
+  "notFullyPrivate": {
+    "message": "هذه الواجهة لا تحترم الخصوصية تماماً",
+    "description": "used in the settings page"
+  },
+  "instanceOffline": {
+    "message": "هذا النظير غير متصل بالإنترنت، سيتم إعادة توجيهك بعد ",
+    "description": "used in instance_offline.html"
+  },
+  "cancel": {
+    "message": "إلغاء",
+    "description": "used in instance_offline.html"
+  },
+  "instanceIsOff": {
+    "message": "النظير غير متصل على النت",
+    "description": "used in instance_offline.html"
+  },
+  "redirectionCanceled": {
+    "message": "تم إلغاء إعادة التوجيه",
+    "description": "used in instance_offline.html"
+  },
+  "testInstancesLatency": {
+    "message": "تجربة سرعة استجابة النظراء",
+    "description": "used in the settings page"
+  },
+  "redirectType": {
+    "message": "نوع التوجيه",
+    "description": "used in the settings page"
+  },
+  "both": {
+    "message": "الإثنين",
+    "description": "used in the settings page"
+  },
+  "onlyEmbedded": {
+    "message": "فقط المضمنة",
+    "description": "used in the settings page"
+  },
+  "onlyNotEmbedded": {
+    "message": "فقط الغير مضمنة",
+    "description": "used in the settings page"
+  },
+  "searchNote": {
+    "message": "ملاحظة: لاستعمال خاصية البحث بإماكنيتها الكاملة، اجعل LibRedirect محرك البحث الافتراضي في إعدادات متصفحك.",
+    "description": "used in the settings page"
   }
+}
\ No newline at end of file
diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json
index 50e9f247..ebd87e7d 100644
--- a/src/_locales/de/messages.json
+++ b/src/_locales/de/messages.json
@@ -3,554 +3,220 @@
     "message": "LibRedirect",
     "description": "name of the extension"
   },
-
   "extensionDescription": {
     "message": "Eine Erweiterung, die beliebte Websites zu alternativen datenschutzfreundlichen Frontends und Backends weiterleitet.",
     "description": "description of the extension"
   },
-
   "switchInstance": {
     "message": "Instanz wechseln",
     "description": "used in manifest.json as shortcut description"
   },
-
-  "instance": {
-    "message": "Instanz",
-    "description": "used in popup.html"
-  },
-
   "settings": {
     "message": "Optionen",
     "description": "used in popup.html"
   },
-
-  "libOptions": {
-    "message": "LibRedirect-Optionen",
-    "description": "used in general.html"
-  },
-
   "general": {
     "message": "Allgemein",
     "description": "used in general.html"
   },
-
   "search": {
     "message": "Suche",
     "description": "used in general.html"
   },
-
   "translate": {
     "message": "Übersetzen",
     "description": "used in general.html"
   },
-
   "maps": {
     "message": "Karten",
     "description": "used in general.html"
   },
-
   "sendFiles": {
     "message": "Dateien senden",
     "description": "used in general.html"
   },
-
   "youtube": {
     "message": "YouTube",
     "description": "used in general.html"
   },
-
   "instagram": {
     "message": "Instagram",
     "description": "used in general.html"
   },
-
   "twitter": {
     "message": "Twitter",
     "description": "used in general.html"
   },
-
   "reddit": {
     "message": "Reddit",
     "description": "used in general.html"
   },
-
   "tiktok": {
     "message": "TikTok",
     "description": "used in general.html"
   },
-
   "ytmusic": {
     "message": "YT Music",
     "description": "used in general.html"
   },
-
   "imgur": {
     "message": "Imgur",
     "description": "used in general.html"
   },
-
   "wikipedia": {
     "message": "Wikipedia",
     "description": "used in general.html"
   },
-
   "peertube": {
     "message": "PeerTube",
     "description": "used in general.html"
   },
-
   "medium": {
     "message": "Medium",
     "description": "used in general.html"
   },
-
   "tor": {
     "message": "Tor",
     "description": "used in imgur.html"
   },
-
   "theme": {
     "message": "Thema",
     "description": "used in general.html"
   },
-
   "system": {
     "message": "System",
     "description": "used in general.html"
   },
-
   "light": {
     "message": "Hell",
     "description": "used in general.html"
   },
-
   "dark": {
     "message": "Dunkel",
     "description": "used in general.html"
   },
-
-  "applyTheme": {
-    "message": "Thema auf Seiten anwenden",
-    "description": "used in general.html"
-  },
-
-  "alwaysPref": {
-    "message": "Immer bevorzugte Instanzen verwenden",
-    "description": "used in general.html"
-  },
-
   "autoRedirect": {
     "message": "Instanzen automatisch weiterleiten, die offline sind",
     "description": "used in general.html"
   },
-
   "exceptions": {
     "message": "Ausnahmen",
     "description": "used in general.html"
   },
-
   "updateInstances": {
     "message": "Instanzen aktualisieren",
     "description": "used in general.html"
   },
-
   "importSettings": {
     "message": "Einstellungen importieren",
     "description": "used in general.html"
   },
-
   "exportSettings": {
     "message": "Einstellungen exportieren",
     "description": "used in general.html"
   },
-
   "resetSettings": {
     "message": "Einstellungen zurücksetzen",
     "description": "used in general.html"
   },
-
   "customPopup": {
     "message": "Popup personalisieren",
     "description": "used in general.html"
   },
-
   "enable": {
     "message": "Aktivieren",
     "description": "used in imgur.html"
   },
-
   "protocol": {
     "message": "Protokoll",
     "description": "used in imgur.html"
   },
-
   "normal": {
     "message": "Normal",
     "description": "used in imgur.html"
   },
-
   "defaultInstances": {
     "message": "Standard-Instanzen",
     "description": "used in imgur.html"
   },
-
   "customInstances": {
     "message": "Eigene Instanzen",
     "description": "used in imgur.html"
   },
-
   "toggleAll": {
     "message": "Alle umschalten",
     "description": "used in utils.js"
   },
-
   "frontend": {
     "message": "Frontend",
     "description": "used in maps.html"
   },
-
   "notFullyPrivate": {
     "message": "Das ist kein völlig privates Frontend.",
     "description": ""
   },
-
-  "oldReddit": {
-    "message": "Altes Reddit",
-    "description": "used in reddit.html"
-  },
-
   "searchNote": {
     "message": "Hinweis: Um das volle Potenzial der Suchweiterleitung auszunutzen, lege LibRedirect als Standardsuchmaschine fest.",
     "description": "used in search.html"
   },
-
-  "libSendFiles": {
-    "message": "LibRedirect: Dateien senden",
-    "description": "used in sendTargets.html"
-  },
-
-  "from": {
-    "message": "Von",
-    "description": "used in translate.html"
-  },
-
-  "to": {
-    "message": "Nach",
-    "description": "used in translate.html"
-  },
-
-  "default": {
-    "message": "Standard",
-    "description": "used in translate.html"
-  },
-
-  "auto": {
-    "message": "Auto",
-    "description": "used in translate.html"
-  },
-
-  "engine": {
-    "message": "Übersetzer",
-    "description": "used in translate.html"
-  },
-
-  "libTranslate": {
-    "message": "LibRedirect: Übersetzen",
-    "description": "used in translate.html"
-  },
-
-  "invidious": {
-    "message": "Invidious",
-    "description": "used in youtube.html"
-  },
-
-  "embeddedVids": {
-    "message": "Frontend für eingebettete Videos",
-    "description": "used in youtube.html"
-  },
-
   "redirectType": {
     "message": "Art der Weiterleitung",
     "description": "used in youtube.html"
   },
-
   "both": {
     "message": "beides",
     "description": "used in youtube.html"
   },
-
   "onlyEmbedded": {
     "message": "nur eingebettet",
     "description": "used in youtube.html"
   },
-
   "onlyNotEmbedded": {
     "message": "nur nicht-eingebunden",
     "description": "used in youtube.html"
   },
-
-  "enableCustom": {
-    "message": "Aktiviere benutzerdefinierte Einstellungen (verwendet Cookies und localStorage)",
-    "description": "used in youtube.html"
-  },
-
-  "autoplayVid": {
-    "message": "Video automatisch abspielen",
-    "description": "used in youtube.html"
-  },
-
-  "volume": {
-    "message": "Lautstärke: ",
-    "description": "used in youtube.html"
-  },
-
-  "playerStyle": {
-    "message": "Player-Stil",
-    "description": "used in youtube.html"
-  },
-
-  "alwaysLoop": {
-    "message": "Immer wiederholen",
-    "description": "used in youtube.html"
-  },
-
-  "playNext": {
-    "message": "Immer automatisch nächstes Video abspielen",
-    "description": "used in youtube.html"
-  },
-
-  "autoplayNext": {
-    "message": "Nächstes Video automatisch abspielen",
-    "description": "used in youtube.html"
-  },
-
-  "alwaysProxy": {
-    "message": "Videos immer durch Proxy leiten",
-    "description": "used in youtube.html"
-  },
-
-  "listenByDefault": {
-    "message": "Nur Ton als Standard",
-    "description": "used in youtube.html"
-  },
-
-  "defaultSpeed": {
-    "message": "Standardgeschwindigkeit",
-    "description": "used in youtube.html"
-  },
-
-  "prefQuality": {
-    "message": "Bevorzugte Videoqualität",
-    "description": "used in youtube.html"
-  },
-
-  "dash": {
-    "message": "DASH (automatische Qualität)",
-    "description": "used in youtube.html"
-  },
-
-  "prefDashQuality": {
-    "message": "Bevorzugte DASH-Videoqualität",
-    "description": "used in youtube.html"
-  },
-
-  "best": {
-    "message": "Höchste",
-    "description": "used in youtube.html"
-  },
-
-  "worst": {
-    "message": "Niedrigste",
-    "description": "used in youtube.html"
-  },
-
-  "defaultComments": {
-    "message": "Standardkommentare",
-    "description": "used in youtube.html"
-  },
-
-  "none": {
-    "message": "keine",
-    "description": "used in youtube.html"
-  },
-
-  "defaultCaptions": {
-    "message": "Standarduntertitel",
-    "description": "used in youtube.html"
-  },
-
-  "showRelated": {
-    "message": "Ähnliche Videos anzeigen",
-    "description": "used in youtube.html"
-  },
-
-  "showAnnotations": {
-    "message": "Anmerkungen standardmäßig anzeigen",
-    "description": "used in youtube.html"
-  },
-
-  "autoExtendDesc": {
-    "message": "Videobeschreibung automatisch erweitern",
-    "description": "used in youtube.html"
-  },
-
-  "interactive360": {
-    "message": "Interaktive 360-Grad-Videos (erfordert WebGL)",
-    "description": "used in youtube.html"
-  },
-
-  "savePlaybackPos": {
-    "message": "Wiedergabeposition speichern",
-    "description": "used in youtube.html"
-  },
-
-  "enableSponsorBlock": {
-    "message": "SponsorBlock einschalten",
-    "description": "used in youtube.html"
-  },
-
-  "skipSponsors": {
-    "message": "Sponsoren überspringen",
-    "description": "used in youtube.html"
-  },
-
-  "skipIntermission": {
-    "message": "Pausen-/Intro-Animation überspringen",
-    "description": "used in youtube.html"
-  },
-
-  "skipEndcards": {
-    "message": "Abspann überspringen",
-    "description": "used in youtube.html"
-  },
-
-  "skipPreview": {
-    "message": "Vorschau/Rückschau überspringen",
-    "description": "used in youtube.html"
-  },
-
-  "skipReminder": {
-    "message": "Interaktionserinnerung überspringen (Abonnieren)",
-    "description": "used in youtube.html"
-  },
-
-  "skipUnpaidPromo": {
-    "message": "Unbezahlte Werbung/Eigenwerbung überspringen",
-    "description": "used in youtube.html"
-  },
-
-  "skipMusic": {
-    "message": "Musik überspringen: Nicht-Musik-Bereich",
-    "description": "used in youtube.html"
-  },
-
-  "skipHighlight": {
-    "message": "Höhepunkt überspringen",
-    "description": "used in youtube.html"
-  },
-
-  "skipFiller": {
-    "message": "Lückenfüller überspringen",
-    "description": "used in youtube.html"
-  },
-
-  "audioOnly": {
-    "message": "Nur Audio",
-    "description": "used in youtube.html"
-  },
-
-  "defaultQuality": {
-    "message": "Standardqualität",
-    "description": "used in youtube.html"
-  },
-
-  "bufferingGoal": {
-    "message": "Pufferungsziel (in Sekunden)",
-    "description": "used in youtube.html"
-  },
-
-  "countrySelection": {
-    "message": "Länderauswahl",
-    "description": "used in youtube.html"
-  },
-
-  "defaultHomepage": {
-    "message": "Standard-Startseite",
-    "description": "used in youtube.html"
-  },
-
-  "trending": {
-    "message": "Trends",
-    "description": "used in youtube.html"
-  },
-
-  "feed": {
-    "message": "Abonnements",
-    "description": "used in youtube.html"
-  },
-
-  "showComments": {
-    "message": "Kommentare anzeigen",
-    "description": "used in youtube.html"
-  },
-
-  "minimizeDesc": {
-    "message": "Beschreibung standardmäßig minimieren",
-    "description": "used in youtube.html"
-  },
-
-  "storeHistory": {
-    "message": "Wiedergabeverlauf speichern",
-    "description": "used in youtube.html"
-  },
-
-  "enabledCodecs": {
-    "message": "Aktivierte Codecs (mehrere)",
-    "description": "used in youtube.html"
-  },
-
-  "disableLBRY": {
-    "message": "LBRY für Streaming deaktivieren",
-    "description": "used in youtube.html"
-  },
-
-  "enableProxyLBRY": {
-    "message": "Proxy für LBRY einschalten",
-    "description": "used in youtube.html"
-  },
-
-  "proxyLBRY": {
-    "message": "LBRY-Videos durch Proxy leiten",
-    "description": "used in youtube.html"
-  },
-
-  "skipNote": {
-    "message": "Springe zum letzten Wiedergabezeitpunkt bei bereits angesehenen Videos",
-    "description": "used in youtube.html"
-  },
-
-  "embedExceptions": {
-    "message": "Ausnahmen einbetten",
-    "description": "used in youtube.html"
-  },
-
-  "sec": {
-    "message": "Sekunden",
-    "description": "used in instance_offline.html"
-  },
-
   "cancel": {
     "message": "Abbrechen",
     "description": "used in instance_offline.html"
   },
-
   "instanceIsOff": {
     "message": "Instanz ist offline",
     "description": "used in instance_offline.html"
   },
-
   "redirectionCanceled": {
     "message": "Weiterleitung abgebrochen",
     "description": "used in instance_offline.js"
+  },
+  "copyRaw": {
+    "message": "",
+    "description": ""
+  },
+  "copied": {
+    "message": "",
+    "description": ""
+  },
+  "unifySettings": {
+    "message": "",
+    "description": ""
+  },
+  "unified": {
+    "message": "",
+    "description": ""
+  },
+  "lbry": {
+    "message": "",
+    "description": ""
+  },
+  "i2p": {
+    "message": "",
+    "description": ""
+  },
+  "instanceOffline": {
+    "message": "",
+    "description": ""
+  },
+  "testInstancesLatency": {
+    "message": "",
+    "description": ""
   }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
index daeff4b7..c7cd3768 100644
--- a/src/_locales/en/messages.json
+++ b/src/_locales/en/messages.json
@@ -3,554 +3,220 @@
     "message": "LibRedirect",
     "description": "name of the extension"
   },
-
   "extensionDescription": {
     "message": "A web extension that redirects popular sites to alternative privacy-friendly frontends and backends",
     "description": "description of the extension"
   },
-
   "switchInstance": {
     "message": "Switch Instance",
     "description": "used in manifest.json as shortcut description"
   },
-
-  "instance": {
-    "message": "Instance",
-    "description": "used in popup.html"
-  },
-
   "settings": {
     "message": "Settings",
     "description": "used in popup.html"
   },
-
-  "libOptions": {
-    "message": "LibRedirect Options",
-    "description": "used in general.html"
-  },
-
   "general": {
     "message": "General",
     "description": "used in general.html"
   },
-
   "search": {
     "message": "Search",
     "description": "used in general.html"
   },
-
   "translate": {
     "message": "Translate",
     "description": "used in general.html"
   },
-
   "maps": {
     "message": "Maps",
     "description": "used in general.html"
   },
-
   "sendFiles": {
     "message": "Send Files",
     "description": "used in general.html"
   },
-
   "youtube": {
     "message": "YouTube",
     "description": "used in general.html"
   },
-
   "instagram": {
     "message": "Instagram",
     "description": "used in general.html"
   },
-
   "twitter": {
     "message": "Twitter",
     "description": "used in general.html"
   },
-
   "reddit": {
     "message": "Reddit",
     "description": "used in general.html"
   },
-
   "tiktok": {
     "message": "TikTok",
     "description": "used in general.html"
   },
-
   "ytmusic": {
     "message": "YT Music",
     "description": "used in general.html"
   },
-
   "imgur": {
     "message": "Imgur",
     "description": "used in general.html"
   },
-
   "wikipedia": {
     "message": "Wikipedia",
     "description": "used in general.html"
   },
-
   "peertube": {
     "message": "PeerTube",
     "description": "used in general.html"
   },
-
   "medium": {
     "message": "Medium",
     "description": "used in general.html"
   },
-
   "tor": {
     "message": "Tor",
     "description": "used in imgur.html"
   },
-
   "theme": {
     "message": "Theme",
     "description": "used in general.html"
   },
-
   "system": {
     "message": "System",
     "description": "used in general.html"
   },
-
   "light": {
     "message": "Light",
     "description": "used in general.html"
   },
-
   "dark": {
     "message": "Dark",
     "description": "used in general.html"
   },
-
-  "alwaysPref": {
-    "message": "Always use Preferred Instances",
-    "description": "used in general.html"
-  },
-
   "autoRedirect": {
     "message": "Auto Redirect of offline instances",
     "description": "used in general.html"
   },
-
   "exceptions": {
     "message": "Exceptions",
     "description": "used in general.html"
   },
-
   "updateInstances": {
     "message": "Update Instances",
     "description": "used in general.html"
   },
-
   "importSettings": {
     "message": "Import Settings",
     "description": "used in general.html"
   },
-
   "exportSettings": {
     "message": "Export Settings",
     "description": "used in general.html"
   },
-
   "resetSettings": {
     "message": "Reset Settings",
     "description": "used in general.html"
   },
-
   "customPopup": {
     "message": "Customize Popup",
     "description": "used in general.html"
   },
-
   "enable": {
     "message": "Enable",
     "description": "used in imgur.html"
   },
-
   "protocol": {
     "message": "Protocol",
     "description": "used in imgur.html"
   },
-
   "normal": {
     "message": "Normal",
     "description": "used in imgur.html"
   },
-
   "defaultInstances": {
     "message": "Default Instances",
     "description": "used in imgur.html"
   },
-
   "customInstances": {
     "message": "Custom Instances",
     "description": "used in imgur.html"
   },
-
   "toggleAll": {
     "message": "Toggle all",
     "description": "used in utils.js"
   },
-
   "frontend": {
     "message": "Frontend",
     "description": "used in maps.html"
   },
-
   "notFullyPrivate": {
     "message": "This isn't a fully private frontend.",
     "description": ""
   },
-
-  "oldReddit": {
-    "message": "Old Reddit",
-    "description": "used in reddit.html"
-  },
-
   "searchNote": {
     "message": "Note: To use Search to its full potential, make LibRedirect as the Default Search Engine",
     "description": "used in search.html"
   },
-
-  "libSendFiles": {
-    "message": "LibRedirect: Send Files",
-    "description": "used in sendTargets.html"
-  },
-
-  "from": {
-    "message": "From",
-    "description": "used in translate.html"
-  },
-
-  "to": {
-    "message": "To",
-    "description": "used in translate.html"
-  },
-
-  "default": {
-    "message": "Default",
-    "description": "used in translate.html"
-  },
-
-  "auto": {
-    "message": "Auto",
-    "description": "used in translate.html"
-  },
-
-  "engine": {
-    "message": "Engine",
-    "description": "used in translate.html"
-  },
-
-  "libTranslate": {
-    "message": "LibRedirect: Translate",
-    "description": "used in translate.html"
-  },
-
-  "invidious": {
-    "message": "Invidious",
-    "description": "used in youtube.html"
-  },
-
-  "embeddedVids": {
-    "message": "Embedded Videos Frontend",
-    "description": "used in youtube.html"
-  },
-
   "redirectType": {
     "message": "Redirect Type",
     "description": "used in youtube.html"
   },
-
   "both": {
     "message": "both",
     "description": "used in youtube.html"
   },
-
   "onlyEmbedded": {
     "message": "only embedded",
     "description": "used in youtube.html"
   },
-
   "onlyNotEmbedded": {
     "message": "only not embedded",
     "description": "used in youtube.html"
   },
-
-  "enableCustom": {
-    "message": "Enable Custom Settings (will use cookies and localStorage)",
-    "description": "used in youtube.html"
-  },
-
-  "autoplayVid": {
-    "message": "Autoplay Video",
-    "description": "used in youtube.html"
-  },
-
-  "volume": {
-    "message": "Volume: ",
-    "description": "used in youtube.html"
-  },
-
-  "playerStyle": {
-    "message": "Player Style",
-    "description": "used in youtube.html"
-  },
-
-  "alwaysLoop": {
-    "message": "Always loop",
-    "description": "used in youtube.html"
-  },
-
-  "playNext": {
-    "message": "Play next by default",
-    "description": "used in youtube.html"
-  },
-
-  "autoplayNext": {
-    "message": "Autoplay next video",
-    "description": "used in youtube.html"
-  },
-
-  "alwaysProxy": {
-    "message": "Always proxy videos",
-    "description": "used in youtube.html"
-  },
-
-  "listenByDefault": {
-    "message": "Listen by default",
-    "description": "used in youtube.html"
-  },
-
-  "defaultSpeed": {
-    "message": "Default speed",
-    "description": "used in youtube.html"
-  },
-
-  "prefQuality": {
-    "message": "Preferred video quality",
-    "description": "used in youtube.html"
-  },
-
-  "dash": {
-    "message": "DASH (adaptive quality)",
-    "description": "used in youtube.html"
-  },
-
-  "prefDashQuality": {
-    "message": "Preferred DASH video quality",
-    "description": "used in youtube.html"
-  },
-
-  "best": {
-    "message": "Best",
-    "description": "used in youtube.html"
-  },
-
-  "worst": {
-    "message": "Worst",
-    "description": "used in youtube.html"
-  },
-
-  "defaultComments": {
-    "message": "Default comments",
-    "description": "used in youtube.html"
-  },
-
-  "none": {
-    "message": "None",
-    "description": "used in youtube.html"
-  },
-
-  "defaultCaptions": {
-    "message": "Default captions",
-    "description": "used in youtube.html"
-  },
-
-  "showRelated": {
-    "message": "Show related videos",
-    "description": "used in youtube.html"
-  },
-
-  "showAnnotations": {
-    "message": "Show annotations by default",
-    "description": "used in youtube.html"
-  },
-
-  "autoExtendDesc": {
-    "message": "Automatically extend video description",
-    "description": "used in youtube.html"
-  },
-
-  "interactive360": {
-    "message": "Interactive 360 degree videos (requires WebGL)",
-    "description": "used in youtube.html"
-  },
-
-  "savePlaybackPos": {
-    "message": "Save playback position",
-    "description": "used in youtube.html"
-  },
-
-  "enableSponsorBlock": {
-    "message": "Enable SponsorBlock",
-    "description": "used in youtube.html"
-  },
-
-  "skipSponsors": {
-    "message": "Skip sponsors",
-    "description": "used in youtube.html"
-  },
-
-  "skipIntermission": {
-    "message": "Skip Intermission/Intro Animation",
-    "description": "used in youtube.html"
-  },
-
-  "skipEndcards": {
-    "message": "Skip Endcards/Credits",
-    "description": "used in youtube.html"
-  },
-
-  "skipPreview": {
-    "message": "Skip Preview/Recap",
-    "description": "used in youtube.html"
-  },
-
-  "skipReminder": {
-    "message": "Skip interaction reminder (subscribe)",
-    "description": "used in youtube.html"
-  },
-
-  "skipUnpaidPromo": {
-    "message": "Skip Unpaid/Self Promotion",
-    "description": "used in youtube.html"
-  },
-
-  "skipMusic": {
-    "message": "Skip Music: Non-Music Section",
-    "description": "used in youtube.html"
-  },
-
-  "skipHighlight": {
-    "message": "Skip Highlight",
-    "description": "used in youtube.html"
-  },
-
-  "skipFiller": {
-    "message": "Skip Filler Tangent",
-    "description": "used in youtube.html"
-  },
-
-  "audioOnly": {
-    "message": "Audio only",
-    "description": "used in youtube.html"
-  },
-
-  "defaultQuality": {
-    "message": "Default quality",
-    "description": "used in youtube.html"
-  },
-
-  "bufferingGoal": {
-    "message": "Buffering Goal (in seconds)",
-    "description": "used in youtube.html"
-  },
-
-  "countrySelection": {
-    "message": "Country selection",
-    "description": "used in youtube.html"
-  },
-
-  "defaultHomepage": {
-    "message": "Default homepage",
-    "description": "used in youtube.html"
-  },
-
-  "trending": {
-    "message": "Trending",
-    "description": "used in youtube.html"
-  },
-
-  "feed": {
-    "message": "Feed",
-    "description": "used in youtube.html"
-  },
-
-  "showComments": {
-    "message": "Show comments",
-    "description": "used in youtube.html"
-  },
-
-  "minimizeDesc": {
-    "message": "Minimize description by default",
-    "description": "used in youtube.html"
-  },
-
-  "storeHistory": {
-    "message": "Store watch history",
-    "description": "used in youtube.html"
-  },
-
-  "enabledCodecs": {
-    "message": "Enabled codecs (multiple)",
-    "description": "used in youtube.html"
-  },
-
-  "disableLBRY": {
-    "message": "Disable LBRY for streaming",
-    "description": "used in youtube.html"
-  },
-
-  "enableProxyLBRY": {
-    "message": "Enable proxy for LBRY",
-    "description": "used in youtube.html"
-  },
-
-  "proxyLBRY": {
-    "message": "Proxy LBRY videos",
-    "description": "used in youtube.html"
-  },
-
-  "skipNote": {
-    "message": "Skip to the last watched point when encountering a video already seen",
-    "description": "used in youtube.html"
-  },
-
-  "embedExceptions": {
-    "message": "Embed exceptions",
-    "description": "used in youtube.html"
-  },
-
   "instanceOffline": {
     "message": "This instance is offline, you'll be redirected after ",
     "description": "used in instance_offline.html"
   },
-
-  "sec": {
-    "message": "seconds",
-    "description": "used in instance_offline.html"
-  },
-
   "cancel": {
     "message": "Cancel",
     "description": "used in instance_offline.html"
   },
-
   "instanceIsOff": {
     "message": "Instance is offline",
     "description": "used in instance_offline.html"
   },
-
   "redirectionCanceled": {
     "message": "Redirection canceled",
     "description": "used in instance_offline.js"
+  },
+  "copyRaw": {
+    "message": "Copy Raw",
+    "description": ""
+  },
+  "copied": {
+    "message": "Copied",
+    "description": ""
+  },
+  "unifySettings": {
+    "message": "Unify Settings",
+    "description": ""
+  },
+  "unified": {
+    "message": "Unified",
+    "description": ""
+  },
+  "lbry": {
+    "message": "LBRY",
+    "description": ""
+  },
+  "i2p": {
+    "message": "I2P",
+    "description": ""
+  },
+  "testInstancesLatency": {
+    "message": "Test Instances Latency",
+    "description": ""
   }
-}
+}
\ No newline at end of file
diff --git a/src/_locales/filter.py b/src/_locales/filter.py
new file mode 100644
index 00000000..1576b1fb
--- /dev/null
+++ b/src/_locales/filter.py
@@ -0,0 +1,43 @@
+import requests
+import json
+from urllib.parse import urlparse
+from bs4 import BeautifulSoup
+import re
+from colorama import Fore, Back, Style
+from urllib.parse import urlparse
+import socket
+import subprocess
+
+
+ar_json = {}
+with open('ar/messages.json') as data:
+    ar_json = json.load(data)
+
+
+en_json = {}
+with open('en/messages.json') as data:
+    en_json = json.load(data)
+
+
+remove_keys = []
+for item in en_json.keys():
+    if item not in ar_json.keys():
+        remove_keys.append(item)
+
+for item in remove_keys:
+    en_json.pop(item)
+
+add_keys = []
+for item in ar_json.keys():
+    if item not in en_json.keys():
+        print(item)
+        add_keys.append(item)
+
+for item in add_keys:
+    en_json[item] = {
+        "message": "",
+        "description": ""
+    }
+
+with open('en/messages.json', 'w') as outfile:
+    outfile.write(json.dumps(en_json, ensure_ascii=False, indent=2))