diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-05-30 01:02:59 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-05-30 01:02:59 +0300 |
commit | c5a6623e0f320b2a789e0d2667ccfe2e1bd4335f (patch) | |
tree | dabfa0f2cecf137771f276996f9368922c5aeb64 /src/_locales | |
parent | Fixed typo for CopyRaw #291 (diff) | |
download | libredirect-c5a6623e0f320b2a789e0d2667ccfe2e1bd4335f.zip |
Fixed settings theme and translation flashing #286
Diffstat (limited to 'src/_locales')
-rw-r--r-- | src/_locales/ar/messages.json | 774 | ||||
-rw-r--r-- | src/_locales/de/messages.json | 400 | ||||
-rw-r--r-- | src/_locales/en/messages.json | 392 | ||||
-rw-r--r-- | src/_locales/filter.py | 43 |
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)) |