aboutsummaryrefslogtreecommitdiffstats
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))