](https://omar.yt/81c3ae1839831bd9300d75e273b6552a86dc2352/native_notification.png "Example of native notification, available in repository under screnshots/native_notification.png")
+
+It is now possible to receive [Web notifications](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API) from subscribed channels.
+
+You can enable notifications by clicking "Enable web notifications" in your preferences. Generally they appear within 20-60 seconds of a new video being uploaded, and I've found them to be an enormous quality of life improvement.
+
+Although it has been fairly stable, please feel free to report any issues you find [here](https://github.com/omarroth/invidious/issues) or emailing me directly at omarroth@protonmail.com.
+
+Important to note for administrators is that instances require [`use_pubsub_feeds`](https://github.com/omarroth/invidious/wiki/Configuration) and must be served over HTTPS in order to correctly send web notifications.
+
+## Finances
+
+### Donations
+
+- [Patreon](https://www.patreon.com/omarroth) : \$49.73
+- [Liberapay](https://liberapay.com/omarroth) : \$100.57
+- Crypto : ~\$11.12 (converted from BCH, BTC)
+- Total : \$161.42
+
+### Expenses
+
+- invidious-load1 (nyc1) : \$10.00 (load balancer)
+- invidious-update1 (s-1vcpu-1gb) : \$5.00 (updates feeds)
+- invidious-node1 (s-1vcpu-1gb) : \$5.00 (web server)
+- invidious-node2 (s-1vcpu-1gb) : \$5.00 (web server)
+- invidious-node3 (s-1vcpu-1gb) : \$5.00 (web server)
+- invidious-node4 (s-1vcpu-1gb) : \$5.00 (web server)
+- invidious-node5 (s-1vcpu-1gb) : \$5.00 (web server)
+- invidious-node6 (s-1vcpu-1gb) : \$5.00 (web server)
+- invidious-db1 (s-4vcpu-8gb) : \$40.00 (database)
+- Total : \$85.00
+
+See you all next month!
+
 # 0.17.0 (2019-05-06)
 
 # Version 0.17.0: Player and Authentication API
diff --git a/README.md b/README.md
index 2e0a42f2..44254c62 100644
--- a/README.md
+++ b/README.md
@@ -27,12 +27,16 @@ Patreon: https://patreon.com/omarroth
 BTC: 356DpZyMXu6rYd55Yqzjs29n79kGKWcYrY  
 BCH: qq4ptclkzej5eza6a50et5ggc58hxsq5aylqut2npk
 
-Onion links:
+## Invidious Instances
 
-- kgg2m7yk5aybusll.onion
-- axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid.onion
+See [Invidious Instances](https://github.com/omarroth/invidious/wiki/Invidious-Instances) for a full list of publicly available instances.
 
-[Alternative Invidious instances](https://github.com/omarroth/invidious/wiki/Invidious-Instances)
+### Official Instances
+
+- [invidio.us](https://invidio.us) 🇺🇸  
+  Issuer: Let's Encrypt, [SSLLabs Verification](https://www.ssllabs.com/ssltest/analyze.html?d=invidio.us)
+- [kgg2m7yk5aybusll.onion](http://kgg2m7yk5aybusll.onion)
+- [axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid.onion](http://axqzx4s6s54s32yentfqojs3x5i7faxza6xo3ehd4bzzsg2ii4fv2iid.onion)
 
 ## Screenshots
 
diff --git a/config/migrate-scripts/migrate-db-701b5ea.sh b/config/migrate-scripts/migrate-db-701b5ea.sh
new file mode 100755
index 00000000..429531a2
--- /dev/null
+++ b/config/migrate-scripts/migrate-db-701b5ea.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+psql invidious kemal -c "ALTER TABLE users ADD COLUMN feed_needs_update boolean"
diff --git a/docker-compose.yml b/docker-compose.yml
index 2d08e3ff..be8347fd 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -13,7 +13,7 @@ services:
       dockerfile: docker/Dockerfile
     restart: unless-stopped
     ports:
-      - "3000:3000"
+      - "127.0.0.1:3000:3000"
     depends_on:
       - postgres
 
diff --git a/locales/ar.json b/locales/ar.json
index 9e077242..e3716008 100644
--- a/locales/ar.json
+++ b/locales/ar.json
@@ -6,7 +6,7 @@
     "Unsubscribe": "إلغاء الإشتراك",
     "Subscribe": "إشتراك",
     "View channel on YouTube": "زيارة القناة على موقع يوتيوب",
-    "View playlist on YouTube": "",
+    "View playlist on YouTube": "عرض قائمة التشغيل على اليوتيوب",
     "newest": "الأجدد",
     "oldest": "الأقدم",
     "popular": "الاكثر شعبية",
@@ -56,7 +56,7 @@
     "Play next by default: ": "شغل الفيديو التالى تلقائيا",
     "Autoplay next video: ": " شغل الفيديو التالى تلقائيا (فى قوائم التشغيل)",
     "Listen by default: ": "تشغيل النسخة السمعية تلقائى: ",
-    "Proxy videos? ": "عرض الفيديوهات عن طريق الوكيل(proxy) ؟",
+    "Proxy videos: ": "عرض الفيديوهات عن طريق الوكيل(proxy) ؟",
     "Default speed: ": "السرعة الإفتراضية: ",
     "Preferred video quality: ": "الجودة المفضلة للفيديوهات: ",
     "Player volume: ": "صوت المشغل: ",
@@ -65,13 +65,13 @@
     "reddit": "Reddit",
     "Default captions: ": "الترجمات الإفتراضية: ",
     "Fallback captions: ": "الترجمات المصاحبة: ",
-    "Show related videos? ": "عرض مقاطع الفيديو ذات الصلة؟",
-    "Show annotations by default? ": "عرض الملاحظات فى الفيديو تلقائيا ؟",
+    "Show related videos: ": "عرض مقاطع الفيديو ذات الصلة؟",
+    "Show annotations by default: ": "عرض الملاحظات فى الفيديو تلقائيا ؟",
     "Visual preferences": "التفضيلات المرئية",
     "Dark mode: ": "الوضع الليلى: ",
     "Thin mode: ": "الوضع الخفيف: ",
     "Subscription preferences": "تفضيلات الإشتراك",
-    "Show annotations by default for subscribed channels? ": "عرض الملاحظات فى الفيديوهات تلقائيا فى القنوات المشترك بها فقط ؟",
+    "Show annotations by default for subscribed channels: ": "عرض الملاحظات فى الفيديوهات تلقائيا فى القنوات المشترك بها فقط ؟",
     "Redirect homepage to feed: ": "إعادة التوجية من الصفحة الرئيسية لصفحة المشتركين (لرؤية اخر فيديوهات المشتركين): ",
     "Number of videos shown in feed: ": "عدد الفيديوهات التى ستظهر فى صفحة المشتركين: ",
     "Sort videos by: ": "ترتيب الفيديو بـ: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "فقط اظهر اخر فيديو لم يتم رؤيتة من القناة: ",
     "Only show unwatched: ": "فقط اظهر الذى لم يتم رؤيتة: ",
     "Only show notifications (if there are any): ": "إظهار الإشعارات فقط (إذا كان هناك أي): ",
+    "Enable web notifications": "تفعيل إشعارات المتصفح",
+    "`x` uploaded a video": "`x` رفع فيديو",
+    "`x` is live": "`x` فى بث مباشر",
     "Data preferences": "إعدادات التفضيلات",
     "Clear watch history": "حذف سجل المشاهدة",
     "Import/export data": "إضافة\\إستخراج البيانات",
@@ -96,11 +99,11 @@
     "Administrator preferences": "إعدادات المدير",
     "Default homepage: ": "الصفحة الرئيسية الافتراضية ",
     "Feed menu: ": "قائمة التغذية",
-    "Top enabled? ": "تفعيل 'الأفضل' ؟ ",
-    "CAPTCHA enabled? ": "تفعيل الكابتشا ؟",
-    "Login enabled? ": "تفعيل تسجيل الدخول ؟",
-    "Registration enabled? ": "تفعيل التسجيل ؟",
-    "Report statistics? ": "إبلاغ الإحصائيات",
+    "Top enabled: ": "تفعيل 'الأفضل' ؟ ",
+    "CAPTCHA enabled: ": "تفعيل الكابتشا ؟",
+    "Login enabled: ": "تفعيل تسجيل الدخول ؟",
+    "Registration enabled: ": "تفعيل التسجيل ؟",
+    "Report statistics: ": "إبلاغ الإحصائيات",
     "Save preferences": "حفظ التفضيلات",
     "Subscription manager": "مدير الإشتراكات",
     "Token manager": "إداره الرمز",
@@ -133,6 +136,7 @@
     "Shared `x`": "شارك منذ `x`",
     "`x` views": "`x` مشاهدون",
     "Premieres in `x`": "يعرض فى `x`",
+    "Premieres `x`": "يعرض `x`",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "اهلا! يبدو ان الجافاسكريبت معطلة. اضغط هنا لعرض التعليقات, ضع فى إعتبارك انها ستأخذ وقت اطول للعرض.",
     "View YouTube comments": "عرض تعليقات اليوتيوب",
     "View more comments on Reddit": "عرض المزيد من التعليقات على\\من موقع Reddit",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "",
     "(edited)": "(تم تعديلة)",
     "YouTube comment permalink": "رابط التعليق على اليوتيوب",
+    "permalink": "الرابط",
     "`x` marked it with a ❤": "`x` اعجب بهذا",
     "Audio mode": "الوضع الصوتى",
     "Video mode": "وضع الفيديو",
     "Videos": "الفيديوهات",
     "Playlists": "قوائم التشغيل",
+    "Community": "المجتمع",
     "Current version: ": "الإصدار الحالى"
 }
\ No newline at end of file
diff --git a/locales/de.json b/locales/de.json
index 4e243c4e..247eb502 100644
--- a/locales/de.json
+++ b/locales/de.json
@@ -6,7 +6,7 @@
     "Unsubscribe": "Abbestellen",
     "Subscribe": "Abonnieren",
     "View channel on YouTube": "Kanal auf YouTube anzeigen",
-    "View playlist on YouTube": "",
+    "View playlist on YouTube": "Wiedergabeliste auf YouTube anzeigen",
     "newest": "neueste",
     "oldest": "älteste",
     "popular": "beliebt",
@@ -56,7 +56,7 @@
     "Play next by default: ": "Standardmäßig als nächstes abspielen: ",
     "Autoplay next video: ": "nächstes Video automatisch abspielen: ",
     "Listen by default: ": "Nur Ton als Standard: ",
-    "Proxy videos? ": "Proxy-Videos? ",
+    "Proxy videos: ": "Proxy-Videos? ",
     "Default speed: ": "Standardgeschwindigkeit: ",
     "Preferred video quality: ": "Bevorzugte Videoqualität: ",
     "Player volume: ": "Playerlautstärke: ",
@@ -65,13 +65,13 @@
     "reddit": "reddit",
     "Default captions: ": "Standarduntertitel: ",
     "Fallback captions: ": "Ersatzuntertitel: ",
-    "Show related videos? ": "Ähnliche Videos anzeigen? ",
-    "Show annotations by default? ": "Standardmäßig Anmerkungen anzeigen? ",
+    "Show related videos: ": "Ähnliche Videos anzeigen? ",
+    "Show annotations by default: ": "Standardmäßig Anmerkungen anzeigen? ",
     "Visual preferences": "Anzeigeeinstellungen",
     "Dark mode: ": "Nachtmodus: ",
     "Thin mode: ": "Schlanker Modus: ",
     "Subscription preferences": "Abonnementeinstellungen",
-    "Show annotations by default for subscribed channels? ": "Anmerkungen für abonnierte Kanäle standardmäßig anzeigen? ",
+    "Show annotations by default for subscribed channels: ": "Anmerkungen für abonnierte Kanäle standardmäßig anzeigen? ",
     "Redirect homepage to feed: ": "Startseite zu Feed umleiten: ",
     "Number of videos shown in feed: ": "Anzahl von Videos die im Feed angezeigt werden: ",
     "Sort videos by: ": "Videos sortieren nach: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Nur neueste ungesehene Videos des Kanals anzeigen: ",
     "Only show unwatched: ": "Nur ungesehene anzeigen: ",
     "Only show notifications (if there are any): ": "Nur Benachrichtigungen anzeigen (wenn es welche gibt): ",
+    "Enable web notifications": "Webbenachrichtigungen aktivieren",
+    "`x` uploaded a video": "`x` hat ein Video hochgeladen",
+    "`x` is live": "`x` ist live",
     "Data preferences": "Dateneinstellungen",
     "Clear watch history": "Verlauf löschen",
     "Import/export data": "Daten im- exportieren",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Administratoreinstellungen",
     "Default homepage: ": "Standard-Homepage: ",
     "Feed menu: ": "Feed-Menü: ",
-    "Top enabled? ": "Top aktiviert? ",
-    "CAPTCHA enabled? ": "CAPTCHA aktiviert? ",
-    "Login enabled? ": "Login aktiviert? ",
-    "Registration enabled? ": "Registrierung aktiviert? ",
-    "Report statistics? ": "Statistiken berichten? ",
+    "Top enabled: ": "Top aktiviert? ",
+    "CAPTCHA enabled: ": "CAPTCHA aktiviert? ",
+    "Login enabled: ": "Login aktiviert? ",
+    "Registration enabled: ": "Registrierung aktiviert? ",
+    "Report statistics: ": "Statistiken berichten? ",
     "Save preferences": "Einstellungen speichern",
     "Subscription manager": "Abonnementverwaltung",
     "Token manager": "Token-Manager",
@@ -133,6 +136,7 @@
     "Shared `x`": "Geteilt `x`",
     "`x` views": "`x` Ansichten",
     "Premieres in `x`": "Premieren in `x`",
+    "Premieres `x`": "",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Hallo! Anscheinend haben Sie JavaScript deaktiviert. Klicken Sie hier um Kommentare anzuzeigen, beachten sie dass es etwas länger dauern kann um sie zu laden.",
     "View YouTube comments": "YouTube Kommentare anzeigen",
     "View more comments on Reddit": "Mehr Kommentare auf Reddit anzeigen",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "%A %B %-d, %Y",
     "(edited)": "(editiert)",
     "YouTube comment permalink": "YouTube-Kommentar Permalink",
+    "permalink": "",
     "`x` marked it with a ❤": "`x` markierte es mit einem ❤",
     "Audio mode": "Audiomodus",
     "Video mode": "Videomodus",
     "Videos": "Videos",
     "Playlists": "Wiedergabelisten",
+    "Community": "",
     "Current version: ": "Aktuelle Version: "
 }
\ No newline at end of file
diff --git a/locales/el.json b/locales/el.json
index 7a12d2df..03d25533 100644
--- a/locales/el.json
+++ b/locales/el.json
@@ -62,7 +62,7 @@
     "Play next by default: ": "Αναπαραγωγή επόμενου: ",
     "Autoplay next video: ": "Αυτόματη αναπαραγωγή επόμενου: ",
     "Listen by default: ": "Φόρτωση μόνο ήχου: ",
-    "Proxy videos? ": "Αναπαραγωγή με διακομιστή μεσολάβησης (proxy): ",
+    "Proxy videos: ": "Αναπαραγωγή με διακομιστή μεσολάβησης (proxy): ",
     "Default speed: ": "Προεπιλεγμένη ταχύτητα: ",
     "Preferred video quality: ": "Προτιμώμενη ανάλυση: ",
     "Player volume: ": "Ένταση αναπαραγωγής: ",
@@ -71,13 +71,13 @@
     "reddit": "reddit",
     "Default captions: ": "Προεπιλεγμένοι υπότιτλοι: ",
     "Fallback captions: ": "Εναλλακτικοί υπότιτλοι: ",
-    "Show related videos? ": "Προβολή σχετικών βίντεο; ",
-    "Show annotations by default? ": "Αυτόματη προβολή σημειώσεων; :",
+    "Show related videos: ": "Προβολή σχετικών βίντεο; ",
+    "Show annotations by default: ": "Αυτόματη προβολή σημειώσεων; :",
     "Visual preferences": "Προτιμήσεις εμφάνισης",
     "Dark mode: ": "Σκοτεινή λειτουργία: ",
     "Thin mode: ": "Ελαφριά λειτουργία: ",
     "Subscription preferences": "Προτιμήσεις συνδρομών",
-    "Show annotations by default for subscribed channels? ": "Προβολή σημειώσεων μόνο για κανάλια στα οποία είστε συνδρομητής; ",
+    "Show annotations by default for subscribed channels: ": "Προβολή σημειώσεων μόνο για κανάλια στα οποία είστε συνδρομητής; ",
     "Redirect homepage to feed: ": "Ανακατεύθυνση αρχικής στη ροή συνδρομών: ",
     "Number of videos shown in feed: ": "Αριθμός βίντεο ανά σελίδα ροής συνδρομών: ",
     "Sort videos by: ": "Ταξινόμηση ανά: ",
@@ -91,6 +91,9 @@
     "Only show latest unwatched video from channel: ": "Προβολή μόνο του τελευταίου μη-προβεβλημένου βίντεο του καναλιού: ",
     "Only show unwatched: ": "Προβολή μόνο μη-προβεβλημένων: ",
     "Only show notifications (if there are any): ": "Προβολή μόνο ειδοποιήσεων (αν υπάρχουν): ",
+    "Enable web notifications": "",
+    "`x` uploaded a video": "",
+    "`x` is live": "",
     "Data preferences": "Προτιμήσεις δεδομένων",
     "Clear watch history": "Εκκαθάριση ιστορικού προβολής",
     "Import/export data": "Εισαγωγή/εξαγωγή δεδομένων",
@@ -102,11 +105,11 @@
     "Administrator preferences": "Προτιμήσεις διαχειριστή",
     "Default homepage: ": "Προεπιλεγμένη αρχική: ",
     "Feed menu: ": "Μενού ροής συνδρομών: ",
-    "Top enabled? ": "Ενεργοποίηση κορυφαίων; ",
-    "CAPTCHA enabled? ": "Ενεργοποίηση CAPTCHA; ",
-    "Login enabled? ": "Ενεργοποίηση σύνδεσης; ",
-    "Registration enabled? ": "Ενεργοποίηση εγγραφής; ",
-    "Report statistics? ": "Αναφορά στατιστικών; ",
+    "Top enabled: ": "Ενεργοποίηση κορυφαίων; ",
+    "CAPTCHA enabled: ": "Ενεργοποίηση CAPTCHA; ",
+    "Login enabled: ": "Ενεργοποίηση σύνδεσης; ",
+    "Registration enabled: ": "Ενεργοποίηση εγγραφής; ",
+    "Report statistics: ": "Αναφορά στατιστικών; ",
     "Save preferences": "Αποθήκευση προτιμήσεων",
     "Subscription manager": "Διαχειριστής συνδρομών",
     "Token manager": "Διαχειριστής διασυνδέσεων",
@@ -151,6 +154,7 @@
         "": "`x` προβολές"
     },
     "Premieres in `x`": "Πρώτη προβολή σε `x`",
+    "Premieres `x`": "",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Γεια! Φαίνεται πως έχετε απενεργοποιήσει το JavaScript. Πατήστε εδώ για προβολή σχολίων, αλλά έχετε υπ'όψιν σας πως ίσως φορτώσουν πιο αργά. ",
     "View YouTube comments": "Προβολή σχολίων από το YouTube",
     "View more comments on Reddit": "Προβολή περισσότερων σχολίων στο Reddit",
@@ -351,10 +355,12 @@
     "%A %B %-d, %Y": "%A %B %-d, %Y",
     "(edited)": "(τροποποιημένο)",
     "YouTube comment permalink": "Σύνδεσμος YouTube σχολίου",
+    "permalink": "",
     "`x` marked it with a ❤": "Ο χρηστης `x` έβαλε ❤",
     "Audio mode": "Λειτουργία ήχου",
     "Video mode": "Λειτουργία βίντεο",
     "Videos": "Βίντεο",
     "Playlists": "Λίστες Αναπαραγωγής",
+    "Community": "",
     "Current version: ": "Τρέχουσα έκδοση: "
 }
\ No newline at end of file
diff --git a/locales/en-US.json b/locales/en-US.json
index 5f6245f5..16301b1d 100644
--- a/locales/en-US.json
+++ b/locales/en-US.json
@@ -62,7 +62,7 @@
     "Play next by default: ": "Play next by default: ",
     "Autoplay next video: ": "Autoplay next video: ",
     "Listen by default: ": "Listen by default: ",
-    "Proxy videos? ": "Proxy videos? ",
+    "Proxy videos: ": "Proxy videos: ",
     "Default speed: ": "Default speed: ",
     "Preferred video quality: ": "Preferred video quality: ",
     "Player volume: ": "Player volume: ",
@@ -71,13 +71,13 @@
     "reddit": "reddit",
     "Default captions: ": "Default captions: ",
     "Fallback captions: ": "Fallback captions: ",
-    "Show related videos? ": "Show related videos? ",
-    "Show annotations by default? ": "Show annotations by default? ",
+    "Show related videos: ": "Show related videos: ",
+    "Show annotations by default: ": "Show annotations by default: ",
     "Visual preferences": "Visual preferences",
     "Dark mode: ": "Dark mode: ",
     "Thin mode: ": "Thin mode: ",
     "Subscription preferences": "Subscription preferences",
-    "Show annotations by default for subscribed channels? ": "Show annotations by default for subscribed channels? ",
+    "Show annotations by default for subscribed channels: ": "Show annotations by default for subscribed channels? ",
     "Redirect homepage to feed: ": "Redirect homepage to feed: ",
     "Number of videos shown in feed: ": "Number of videos shown in feed: ",
     "Sort videos by: ": "Sort videos by: ",
@@ -91,6 +91,9 @@
     "Only show latest unwatched video from channel: ": "Only show latest unwatched video from channel: ",
     "Only show unwatched: ": "Only show unwatched: ",
     "Only show notifications (if there are any): ": "Only show notifications (if there are any): ",
+    "Enable web notifications": "Enable web notifications",
+    "`x` uploaded a video": "`x` uploaded a video",
+    "`x` is live": "`x` is live",
     "Data preferences": "Data preferences",
     "Clear watch history": "Clear watch history",
     "Import/export data": "Import/export data",
@@ -102,11 +105,11 @@
     "Administrator preferences": "Administrator preferences",
     "Default homepage: ": "Default homepage: ",
     "Feed menu: ": "Feed menu: ",
-    "Top enabled? ": "Top enabled? ",
-    "CAPTCHA enabled? ": "CAPTCHA enabled? ",
-    "Login enabled? ": "Login enabled? ",
-    "Registration enabled? ": "Registration enabled? ",
-    "Report statistics? ": "Report statistics? ",
+    "Top enabled: ": "Top enabled: ",
+    "CAPTCHA enabled: ": "CAPTCHA enabled: ",
+    "Login enabled: ": "Login enabled? ",
+    "Registration enabled: ": "Registration enabled? ",
+    "Report statistics: ": "Report statistics? ",
     "Save preferences": "Save preferences",
     "Subscription manager": "Subscription manager",
     "Token manager": "Token manager",
@@ -151,6 +154,7 @@
         "": "`x` views"
     },
     "Premieres in `x`": "Premieres in `x`",
+    "Premieres `x`": "Premieres `x`",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.",
     "View YouTube comments": "View YouTube comments",
     "View more comments on Reddit": "View more comments on Reddit",
@@ -351,10 +355,12 @@
     "%A %B %-d, %Y": "%A %B %-d, %Y",
     "(edited)": "(edited)",
     "YouTube comment permalink": "YouTube comment permalink",
+    "permalink": "",
     "`x` marked it with a ❤": "`x` marked it with a ❤",
     "Audio mode": "Audio mode",
     "Video mode": "Video mode",
     "Videos": "Videos",
     "Playlists": "Playlists",
+    "Community": "Community",
     "Current version: ": "Current version: "
 }
\ No newline at end of file
diff --git a/locales/eo.json b/locales/eo.json
index 3f06c790..fe85edf2 100644
--- a/locales/eo.json
+++ b/locales/eo.json
@@ -6,7 +6,7 @@
     "Unsubscribe": "Malaboni",
     "Subscribe": "Aboni",
     "View channel on YouTube": "Vidi kanalon en YouTube",
-    "View playlist on YouTube": "",
+    "View playlist on YouTube": "Vidi ludliston en YouTube",
     "newest": "pli novaj",
     "oldest": "pli malnovaj",
     "popular": "popularaj",
@@ -56,7 +56,7 @@
     "Play next by default: ": "Ludi sekvan defaŭlte: ",
     "Autoplay next video: ": "Aŭtomate ludi sekvan videon: ",
     "Listen by default: ": "Aŭskulti defaŭlte: ",
-    "Proxy videos? ": "Ĉu uzi prokuran servilon por videoj? ",
+    "Proxy videos: ": "Ĉu uzi prokuran servilon por videoj? ",
     "Default speed: ": "Defaŭlta rapido: ",
     "Preferred video quality: ": "Preferita videkvalito: ",
     "Player volume: ": "Ludila sonforteco: ",
@@ -65,13 +65,13 @@
     "reddit": "reddit",
     "Default captions: ": "Defaŭltaj subtekstoj: ",
     "Fallback captions: ": "Retrodefaŭltaj subtekstoj: ",
-    "Show related videos? ": "Ĉu montri rilatajn videojn? ",
-    "Show annotations by default? ": "Ĉu montri prinotojn defaŭlte? ",
+    "Show related videos: ": "Ĉu montri rilatajn videojn? ",
+    "Show annotations by default: ": "Ĉu montri prinotojn defaŭlte? ",
     "Visual preferences": "Vidaj preferoj",
     "Dark mode: ": "Malhela reĝimo: ",
     "Thin mode: ": "Maldika reĝimo: ",
     "Subscription preferences": "Abonaj agordoj",
-    "Show annotations by default for subscribed channels? ": "Ĉu montri prinotojn defaŭlte por abonitaj kanaloj? ",
+    "Show annotations by default for subscribed channels: ": "Ĉu montri prinotojn defaŭlte por abonitaj kanaloj? ",
     "Redirect homepage to feed: ": "Alidirekti hejmpâgon al fluo: ",
     "Number of videos shown in feed: ": "Nombro da videoj montritaj en fluo: ",
     "Sort videos by: ": "Ordi videojn laŭ: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Nur montri pli novan malviditan videon el kanalo: ",
     "Only show unwatched: ": "Nur montri malviditajn: ",
     "Only show notifications (if there are any): ": "Nur montri sciigojn (se estas): ",
+    "Enable web notifications": "Ebligi retejajn sciigojn",
+    "`x` uploaded a video": "`x` alŝutis videon",
+    "`x` is live": "`x` estas nuna",
     "Data preferences": "Datumagordoj",
     "Clear watch history": "Forigi vidohistorion",
     "Import/export data": "Importi/Eksporti datumojn",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Agordoj de administranto",
     "Default homepage: ": "Defaŭlta hejmpaĝo: ",
     "Feed menu: ": "Flua menuo: ",
-    "Top enabled? ": "Ĉu pli bonaj ŝaltitaj? ",
-    "CAPTCHA enabled? ": "Ĉu CAPTCHA ŝaltita? ",
-    "Login enabled? ": "Ĉu ensaluto aktivita? ",
-    "Registration enabled? ": "Ĉu registriĝo aktivita? ",
-    "Report statistics? ": "Ĉu raporti statistikojn? ",
+    "Top enabled: ": "Ĉu pli bonaj ŝaltitaj? ",
+    "CAPTCHA enabled: ": "Ĉu CAPTCHA ŝaltita? ",
+    "Login enabled: ": "Ĉu ensaluto aktivita? ",
+    "Registration enabled: ": "Ĉu registriĝo aktivita? ",
+    "Report statistics: ": "Ĉu raporti statistikojn? ",
     "Save preferences": "Konservi agordojn",
     "Subscription manager": "Administrilo de abonoj",
     "Token manager": "Ĵetona administrilo",
@@ -133,6 +136,7 @@
     "Shared `x`": "Konigita `x`",
     "`x` views": "`x` spektaĵoj",
     "Premieres in `x`": "Premieras en `x`",
+    "Premieres `x`": "Premieras `x`",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Saluton! Ŝajnas, ke vi havas Ĝavoskripton malebligitan. Klaku ĉi tie por vidi komentojn, memoru, ke la ŝargado povus daŭri iom pli.",
     "View YouTube comments": "Vidi komentojn de YouTube",
     "View more comments on Reddit": "Vidi pli komentoj en Reddit",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "%A %-d de %B %Y",
     "(edited)": "(redaktita)",
     "YouTube comment permalink": "Fiksligilo de la komento en YouTube",
+    "permalink": "konstanta ligilo",
     "`x` marked it with a ❤": "`x` markis ĝin per ❤",
     "Audio mode": "Aŭda reĝimo",
     "Video mode": "Videa reĝimo",
     "Videos": "Videoj",
     "Playlists": "Ludlistoj",
+    "Community": "Komunumo",
     "Current version: ": "Nuna versio: "
 }
\ No newline at end of file
diff --git a/locales/es.json b/locales/es.json
index 2f6d8560..fdbf2fb2 100644
--- a/locales/es.json
+++ b/locales/es.json
@@ -56,7 +56,7 @@
     "Play next by default: ": "Reproducir siguiente por defecto: ",
     "Autoplay next video: ": "Reproducir automáticamente el vídeo siguiente: ",
     "Listen by default: ": "Activar el sonido por defecto: ",
-    "Proxy videos? ": "¿Usar un proxy para los vídeos? ",
+    "Proxy videos: ": "¿Usar un proxy para los vídeos? ",
     "Default speed: ": "Velocidad por defecto: ",
     "Preferred video quality: ": "Calidad de vídeo preferida: ",
     "Player volume: ": "Volumen del reproductor: ",
@@ -65,13 +65,13 @@
     "reddit": "Reddit",
     "Default captions: ": "Subtítulos por defecto: ",
     "Fallback captions: ": "Subtítulos alternativos: ",
-    "Show related videos? ": "¿Mostrar vídeos relacionados? ",
-    "Show annotations by default? ": "¿Mostrar anotaciones por defecto? ",
+    "Show related videos: ": "¿Mostrar vídeos relacionados? ",
+    "Show annotations by default: ": "¿Mostrar anotaciones por defecto? ",
     "Visual preferences": "Preferencias visuales",
     "Dark mode: ": "Modo oscuro: ",
     "Thin mode: ": "Modo compacto: ",
     "Subscription preferences": "Preferencias de la suscripción",
-    "Show annotations by default for subscribed channels? ": "¿Mostrar anotaciones por defecto para los canales suscritos? ",
+    "Show annotations by default for subscribed channels: ": "¿Mostrar anotaciones por defecto para los canales suscritos? ",
     "Redirect homepage to feed: ": "Redirigir la página de inicio a la fuente: ",
     "Number of videos shown in feed: ": "Número de vídeos mostrados en la fuente: ",
     "Sort videos by: ": "Ordenar los vídeos por: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Mostrar solo el último vídeo sin ver del canal: ",
     "Only show unwatched: ": "Mostrar solo los no vistos: ",
     "Only show notifications (if there are any): ": "Mostrar solo notificaciones (si hay alguna): ",
+    "Enable web notifications": "",
+    "`x` uploaded a video": "",
+    "`x` is live": "",
     "Data preferences": "Preferencias de los datos",
     "Clear watch history": "Borrar el historial de reproducción",
     "Import/export data": "Importar/Exportar datos",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Preferencias de administrador",
     "Default homepage: ": "Página de inicio por defecto: ",
     "Feed menu: ": "Menú de fuentes: ",
-    "Top enabled? ": "¿Habilitar los destacados? ",
-    "CAPTCHA enabled? ": "¿Habilitar los CAPTCHA? ",
-    "Login enabled? ": "¿Habilitar el inicio de sesión? ",
-    "Registration enabled? ": "¿Habilitar el registro? ",
-    "Report statistics? ": "¿Enviar estadísticas? ",
+    "Top enabled: ": "¿Habilitar los destacados? ",
+    "CAPTCHA enabled: ": "¿Habilitar los CAPTCHA? ",
+    "Login enabled: ": "¿Habilitar el inicio de sesión? ",
+    "Registration enabled: ": "¿Habilitar el registro? ",
+    "Report statistics: ": "¿Enviar estadísticas? ",
     "Save preferences": "Guardar las preferencias",
     "Subscription manager": "Gestor de suscripciones",
     "Token manager": "Gestor de tokens",
@@ -133,6 +136,7 @@
     "Shared `x`": "Compartido `x`",
     "`x` views": "`x` visualizaciones",
     "Premieres in `x`": "Se estrena en `x`",
+    "Premieres `x`": "",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "¡Hola! Parece que tiene JavaScript desactivado. Haga clic aquí para ver los comentarios, pero tenga en cuenta que pueden tardar un poco más en cargarse.",
     "View YouTube comments": "Ver los comentarios de YouTube",
     "View more comments on Reddit": "Ver más comentarios en Reddit",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "%A %B %-d, %Y",
     "(edited)": "(editado)",
     "YouTube comment permalink": "Enlace permanente de YouTube del comentario",
+    "permalink": "",
     "`x` marked it with a ❤": "`x` lo ha marcado con un ❤",
     "Audio mode": "Modo de audio",
     "Video mode": "Modo de vídeo",
     "Videos": "Vídeos",
     "Playlists": "Listas de reproducción",
+    "Community": "",
     "Current version: ": "Versión actual: "
-}
+}
\ No newline at end of file
diff --git a/locales/eu.json b/locales/eu.json
index aae43603..5a756154 100644
--- a/locales/eu.json
+++ b/locales/eu.json
@@ -56,7 +56,7 @@
     "Play next by default: ": "",
     "Autoplay next video: ": "",
     "Listen by default: ": "",
-    "Proxy videos? ": "",
+    "Proxy videos: ": "",
     "Default speed: ": "",
     "Preferred video quality: ": "",
     "Player volume: ": "",
@@ -65,13 +65,13 @@
     "reddit": "",
     "Default captions: ": "",
     "Fallback captions: ": "",
-    "Show related videos? ": "",
-    "Show annotations by default? ": "",
+    "Show related videos: ": "",
+    "Show annotations by default: ": "",
     "Visual preferences": "",
     "Dark mode: ": "",
     "Thin mode: ": "",
     "Subscription preferences": "",
-    "Show annotations by default for subscribed channels? ": "",
+    "Show annotations by default for subscribed channels: ": "",
     "Redirect homepage to feed: ": "",
     "Number of videos shown in feed: ": "",
     "Sort videos by: ": "",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "",
     "Only show unwatched: ": "",
     "Only show notifications (if there are any): ": "",
+    "Enable web notifications": "",
+    "`x` uploaded a video": "",
+    "`x` is live": "",
     "Data preferences": "",
     "Clear watch history": "",
     "Import/export data": "",
@@ -96,11 +99,11 @@
     "Administrator preferences": "",
     "Default homepage: ": "",
     "Feed menu: ": "",
-    "Top enabled? ": "",
-    "CAPTCHA enabled? ": "",
-    "Login enabled? ": "",
-    "Registration enabled? ": "",
-    "Report statistics? ": "",
+    "Top enabled: ": "",
+    "CAPTCHA enabled: ": "",
+    "Login enabled: ": "",
+    "Registration enabled: ": "",
+    "Report statistics: ": "",
     "Save preferences": "",
     "Subscription manager": "",
     "Token manager": "",
@@ -306,6 +309,7 @@
     "%A %B %-d, %Y": "",
     "(edited)": "",
     "YouTube comment permalink": "",
+    "permalink": "",
     "`x` marked it with a ❤": "",
     "Audio mode": "",
     "Video mode": "",
diff --git a/locales/fr.json b/locales/fr.json
index 9f042480..f5693ab4 100644
--- a/locales/fr.json
+++ b/locales/fr.json
@@ -56,7 +56,7 @@
     "Play next by default: ": "Jouer suirvante par défaut : ",
     "Autoplay next video: ": "Lire automatiquement la vidéo suivante : ",
     "Listen by default: ": "Audio uniquement : ",
-    "Proxy videos? ": "Charger les vidéos à travers un proxy ? ",
+    "Proxy videos: ": "Charger les vidéos à travers un proxy ? ",
     "Default speed: ": "Vitesse par défaut : ",
     "Preferred video quality: ": "Qualité vidéo souhaitée : ",
     "Player volume: ": "Volume du lecteur : ",
@@ -65,13 +65,13 @@
     "reddit": "Reddit",
     "Default captions: ": "Sous-titres par défaut : ",
     "Fallback captions: ": "Sous-titres de repli : ",
-    "Show related videos? ": "Voir les vidéos liées ? ",
-    "Show annotations by default? ": "Voir les annotations par défaut ? ",
+    "Show related videos: ": "Voir les vidéos liées ? ",
+    "Show annotations by default: ": "Voir les annotations par défaut ? ",
     "Visual preferences": "Préférences du site",
     "Dark mode: ": "Mode Sombre : ",
     "Thin mode: ": "Mode Simplifié : ",
     "Subscription preferences": "Préférences de la page d'abonnements",
-    "Show annotations by default for subscribed channels? ": "Voir les annotations par défaut sur les chaînes suivies ? ",
+    "Show annotations by default for subscribed channels: ": "Voir les annotations par défaut sur les chaînes suivies ? ",
     "Redirect homepage to feed: ": "Rediriger la page d'accueil vers la page d'abonnements : ",
     "Number of videos shown in feed: ": "Nombre de vidéos montrées dans la page d'abonnements : ",
     "Sort videos by: ": "Trier les vidéos par : ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Afficher uniquement la dernière vidéo de la chaîne non regardée : ",
     "Only show unwatched: ": "Afficher uniquement les vidéos non regardées : ",
     "Only show notifications (if there are any): ": "Afficher uniquement les notifications (s'il y en a) : ",
+    "Enable web notifications": "",
+    "`x` uploaded a video": "",
+    "`x` is live": "",
     "Data preferences": "Préférences liées aux données",
     "Clear watch history": "Supprimer l'historique des vidéos regardées",
     "Import/export data": "Importer/exporter les données",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Préferences d'Administrateur",
     "Default homepage: ": "Page d'accueil par défaut : ",
     "Feed menu: ": "Menu des Flux : ",
-    "Top enabled? ": "Top activé ? ",
-    "CAPTCHA enabled? ": "CAPTCHA activé ? ",
-    "Login enabled? ": "Connexion activé ? ",
-    "Registration enabled? ": "Inscription activée ? ",
-    "Report statistics? ": "Télémétrie activé ? ",
+    "Top enabled: ": "Top activé ? ",
+    "CAPTCHA enabled: ": "CAPTCHA activé ? ",
+    "Login enabled: ": "Connexion activé ? ",
+    "Registration enabled: ": "Inscription activée ? ",
+    "Report statistics: ": "Télémétrie activé ? ",
     "Save preferences": "Enregistrer les préférences",
     "Subscription manager": "Gestionnaire d'abonnement",
     "Token manager": "Gestionnaire de tokens",
@@ -133,6 +136,7 @@
     "Shared `x`": "Ajoutée le `x`",
     "`x` views": "`x` vues",
     "Premieres in `x`": "Première dans `x`",
+    "Premieres `x`": "",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Il semblerait que JavaScript soit désactivé. Cliquez ici pour voir les commentaires sans. Gardez à l'esprit que le chargement peut prendre plus de temps.",
     "View YouTube comments": "Voir les commentaires YouTube",
     "View more comments on Reddit": "Voir plus de commentaires sur Reddit",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "%A %-d %B %Y",
     "(edited)": "(modifié)",
     "YouTube comment permalink": "Lien YouTube permanent vers le commentaire",
+    "permalink": "",
     "`x` marked it with a ❤": "`x` l'a marqué d'un ❤",
     "Audio mode": "Mode Audio",
     "Video mode": "Mode Vidéo",
     "Videos": "Vidéos",
     "Playlists": "Liste de lecture",
+    "Community": "",
     "Current version: ": "Version actuelle : "
 }
\ No newline at end of file
diff --git a/locales/is.json b/locales/is.json
new file mode 100644
index 00000000..faf7e07b
--- /dev/null
+++ b/locales/is.json
@@ -0,0 +1,319 @@
+{
+    "`x` subscribers.": "`x` áskrifandar.",
+    "`x` videos.": "`x` myndbönd.",
+    "LIVE": "BEINT",
+    "Shared `x` ago": "Deilt `x` síðan",
+    "Unsubscribe": "Afskrá",
+    "Subscribe": "Áskrifa",
+    "View channel on YouTube": "Skoða rás á YouTube",
+    "View playlist on YouTube": "Skoða spilunarlisti á YouTube",
+    "newest": "nýjasta",
+    "oldest": "elsta",
+    "popular": "vinsællt",
+    "last": "síðast",
+    "Next page": "Næsta síða",
+    "Previous page": "Fyrri síða",
+    "Clear watch history?": "Hreinsa áhorfssögu?",
+    "New password": "Nýtt lykilorð",
+    "New passwords must match": "Nýtt lykilorð verður að passa",
+    "Cannot change password for Google accounts": "Ekki er hægt að breyta lykilorði fyrir Google reikninga",
+    "Authorize token?": "Leyfa tákn?",
+    "Authorize token for `x`?": "Leyfa tákn fyrir `x`?",
+    "Yes": "Já",
+    "No": "Nei",
+    "Import and Export Data": "Innflutningur og Útflutningur Gagna",
+    "Import": "Flytja inn",
+    "Import Invidious data": "Flytja inn Invidious gögn",
+    "Import YouTube subscriptions": "Flytja inn YouTube áskriftir",
+    "Import FreeTube subscriptions (.db)": "Flytja inn FreeTube áskriftir (.db)",
+    "Import NewPipe subscriptions (.json)": "Flytja inn NewPipe áskriftir (.json)",
+    "Import NewPipe data (.zip)": "Flytja inn NewPipe gögn (.zip)",
+    "Export": "Flytja út",
+    "Export subscriptions as OPML": "Flytja út áskriftir sem OPML",
+    "Export subscriptions as OPML (for NewPipe & FreeTube)": "Flytja út áskriftir sem OPML (fyrir NewPipe & FreeTube)",
+    "Export data as JSON": "Flytja út gögn sem JSON",
+    "Delete account?": "Eyða reikningi?",
+    "History": "Saga",
+    "An alternative front-end to YouTube": "Önnur framhlið fyrir YouTube",
+    "JavaScript license information": "JavaScript leyfi upplýsingar",
+    "source": "uppspretta",
+    "Log in": "Skrá inn",
+    "Log in/register": "Innskráning/nýskráning",
+    "Log in with Google": "Skrá inn með Google",
+    "User ID": "Notandakenni",
+    "Password": "Lykilorð",
+    "Time (h:mm:ss):": "Tími (h:mm: ss):",
+    "Text CAPTCHA": "Texta CAPTCHA",
+    "Image CAPTCHA": "Mynd CAPTCHA",
+    "Sign In": "Skrá inn",
+    "Register": "Nýskrá",
+    "E-mail": "Tölvupóstur",
+    "Google verification code": "Google staðfestingarkóði",
+    "Preferences": "Kjörstillingar",
+    "Player preferences": "Kjörstillingar spilara",
+    "Always loop: ": "Alltaf lykkja: ",
+    "Autoplay: ": "Spila sjálfkrafa: ",
+    "Play next by default: ": "Spila næst sjálfgefið: ",
+    "Autoplay next video: ": "Spila næst sjálfkrafa: ",
+    "Listen by default: ": "Hlusta sjálfgefið: ",
+    "Proxy videos: ": "Proxy myndbönd? ",
+    "Default speed: ": "Sjálfgefinn hraði: ",
+    "Preferred video quality: ": "Æskilegt myndbands gæði: ",
+    "Player volume: ": "Spilara bindi: ",
+    "Default comments: ": "Sjálfgefin ummæli: ",
+    "youtube": "youtube",
+    "reddit": "reddit",
+    "Default captions: ": "Sjálfgefin texti: ",
+    "Fallback captions: ": "Varatextar: ",
+    "Show related videos: ": "Sýna tengd myndbönd? ",
+    "Show annotations by default: ": "Á að sýna glósur sjálfgefið? ",
+    "Visual preferences": "Sjónrænar stillingar",
+    "Dark mode: ": "Myrkur ham: ",
+    "Thin mode: ": "Þunnt ham: ",
+    "Subscription preferences": "Áskriftarstillingar",
+    "Show annotations by default for subscribed channels: ": "Á að sýna glósur sjálfgefið fyrir áskriftarrásir? ",
+    "Redirect homepage to feed: ": "Endurbeina heimasíðu að straumi: ",
+    "Number of videos shown in feed: ": "Fjöldi myndbanda sem sýndir eru í straumi: ",
+    "Sort videos by: ": "Raða myndbönd eftir: ",
+    "published": "birt",
+    "published - reverse": "birt - afturábak",
+    "alphabetically": "í stafrófsröð",
+    "alphabetically - reverse": "stafrófsröð - afturábak",
+    "channel name": "heiti rásar",
+    "channel name - reverse": "heiti rásar - afturábak",
+    "Only show latest video from channel: ": "Sýna aðeins nýjasta myndband frá rás: ",
+    "Only show latest unwatched video from channel: ": "Sýna aðeins nýjasta óséð myndband frá rás: ",
+    "Only show unwatched: ": "Sýna aðeins óséð: ",
+    "Only show notifications (if there are any): ": "Sýna aðeins tilkynningar (ef einhverjar eru): ",
+    "Enable web notifications": "Virkja veftilkynningar",
+    "`x` uploaded a video": "`x` hlóð upp myndband",
+    "`x` is live": "`x` er í beinni",
+    "Data preferences": "Gagnastillingar",
+    "Clear watch history": "Hreinsa áhorfssögu",
+    "Import/export data": "Flytja inn/út gögn",
+    "Change password": "Breyta lykilorði",
+    "Manage subscriptions": "Stjórna áskriftum",
+    "Manage tokens": "Stjórna tákn",
+    "Watch history": "Áhorfssögu",
+    "Delete account": "Eyða reikningi",
+    "Administrator preferences": "Kjörstillingar stjórnanda",
+    "Default homepage: ": "Sjálfgefin heimasíða: ",
+    "Feed menu: ": "Straum valmynd: ",
+    "Top enabled: ": "Toppur virkur? ",
+    "CAPTCHA enabled: ": "CAPTCHA virk? ",
+    "Login enabled: ": "Innskráning virk? ",
+    "Registration enabled: ": "Nýskráning virkjuð? ",
+    "Report statistics: ": "Skrá talnagögn? ",
+    "Save preferences": "Vista stillingar",
+    "Subscription manager": "Áskriftarstjóri",
+    "Token manager": "Táknstjóri",
+    "Token": "Tákn",
+    "`x` subscriptions.": "`x` áskriftir.",
+    "`x` tokens.": "`x` tákn.",
+    "Import/export": "Flytja inn/út",
+    "unsubscribe": "afskrá",
+    "revoke": "afturkalla",
+    "Subscriptions": "Áskriftir",
+    "`x` unseen notifications.": "`x` óséðar tilkynningar.",
+    "search": "leita",
+    "Log out": "Útskrá",
+    "Released under the AGPLv3 by Omar Roth.": "Útgefið undir AGPLv3 eftir Omar Roth.",
+    "Source available here.": "Frumkóði aðgengilegur hér.",
+    "View JavaScript license information.": "Skoða JavaScript leyfisupplýsingar.",
+    "View privacy policy.": "Skoða meðferð persónuupplýsinga.",
+    "Trending": "Vinsælt",
+    "Unlisted": "Óskráð",
+    "Watch on YouTube": "Horfa á YouTube",
+    "Hide annotations": "Fela glósur",
+    "Show annotations": "Sýna glósur",
+    "Genre: ": "Tegund: ",
+    "License: ": "Notkunarleyfi: ",
+    "Family friendly? ": "Fjölskylduvænt? ",
+    "Wilson score: ": "Wilson stig: ",
+    "Engagement: ": "Þátttöku: ",
+    "Whitelisted regions: ": "Svæði á hvítum lista: ",
+    "Blacklisted regions: ": "Svæði á svörtum lista: ",
+    "Shared `x`": "Deilt `x`",
+    "`x` views.": "`x` áhorf.",
+    "Premieres in `x`": "Frumflutt eftir `x`",
+    "Premieres `x`": "Frumflutt `x`",
+    "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Hæ! Lítur út eins og þú hafir slökkt á JavaScript. Smelltu hér til að skoða ummæli, hafðu í huga að þær geta tekið aðeins lengri tíma að hlaða.",
+    "View YouTube comments": "Skoða YouTube ummæli",
+    "View more comments on Reddit": "Skoða fleiri ummæli á Reddit",
+    "View `x` comments": "Skoða `x` ummæli",
+    "View Reddit comments": "Skoða Reddit ummæli",
+    "Hide replies": "Fela svör",
+    "Show replies": "Sýna svör",
+    "Incorrect password": "Rangt lykilorð",
+    "Quota exceeded, try again in a few hours": "Kvóti fór yfir, reyndu aftur eftir nokkrar klukkustundir",
+    "Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Ekki er hægt að skrá þig inn, vertu viss um að tvíþætt staðfesting (Authenticator eða SMS) sé kveikt á.",
+    "Invalid TFA code": "Ógildur TFA kóði",
+    "Login failed. This may be because two-factor authentication is not turned on for your account.": "Innskráning mistókst. Þetta gæti verið vegna þess að tvíþátta staðfesting er ekki kveikt á reikningnum þínum.",
+    "Wrong answer": "Rangt svar",
+    "Erroneous CAPTCHA": "Rangt CAPTCHA",
+    "CAPTCHA is a required field": "CAPTCHA er nauðsynlegur reitur",
+    "User ID is a required field": "Notandakenni er nauðsynlegur reitur",
+    "Password is a required field": "Lykilorð er nauðsynlegur reitur",
+    "Wrong username or password": "Rangt notandanafn eða lykilorð",
+    "Please sign in using 'Log in with Google'": "Vinsamlegast skráðu þig inn með því að nota 'Innskráning með Google'",
+    "Password cannot be empty": "Lykilorð má ekki vera autt",
+    "Password cannot be longer than 55 characters": "Lykilorð má ekki vera lengra en 55 stafir",
+    "Please log in": "Vinsamlegast skráðu þig inn",
+    "Invidious Private Feed for `x`": "Invidious Persónulegur Straumur fyrir `x`",
+    "channel:`x`": "rás:`x`",
+    "Deleted or invalid channel": "Eytt eða ógild rás",
+    "This channel does not exist.": "Þessi rás er ekki til.",
+    "Could not get channel info.": "Ekki tókst að fá rásarupplýsingar.",
+    "Could not fetch comments": "Ekki tókst að sækja ummæli",
+    "View `x` replies.": "Skoða `x` svör.",
+    "`x` ago": "' x ' síðan",
+    "Load more": "Hlaða meira",
+    "`x` points.": "`x` stig.",
+    "Could not create mix.": "Ekki tókst að búa til blöndu.",
+    "Empty playlist": "Tómur spilunarlisti",
+    "Not a playlist.": "Ekki spilunarlisti.",
+    "Playlist does not exist.": "Spilunarlisti er ekki til.",
+    "Could not pull trending pages.": "Ekki tókst að draga vinsællar síður.",
+    "Hidden field \"challenge\" is a required field": "Falinn reitur \"áskorun\" er nauðsynlegur reitur",
+    "Hidden field \"token\" is a required field": "Falinn reitur \"tákn\" er nauðsynlegur reitur",
+    "Erroneous challenge": "Röng áskorun",
+    "Erroneous token": "Rangt tákn",
+    "No such user": "Enginn slíkur notandi",
+    "Token is expired, please try again": "Tákn er útrunnið, vinsamlegast reyndu aftur",
+    "English": "Enska",
+    "English (auto-generated)": "Enska (sjálfkrafa)",
+    "Afrikaans": "Afríkanska",
+    "Albanian": "Albanska",
+    "Amharic": "Amharíska",
+    "Arabic": "Arabíska",
+    "Armenian": "Armenska",
+    "Azerbaijani": "Aserbaídsjanska",
+    "Bangla": "Bangla",
+    "Basque": "Baskneska",
+    "Belarusian": "Hvítrússneska",
+    "Bosnian": "Bosníska",
+    "Bulgarian": "Búlgarska",
+    "Burmese": "Búrmíska",
+    "Catalan": "Katalónska",
+    "Cebuano": "Cebúanó",
+    "Chinese (Simplified)": "Kínverska (Einfölduð)",
+    "Chinese (Traditional)": "Kínverska (Hefðbundin)",
+    "Corsican": "Korsíska",
+    "Croatian": "Króatíska",
+    "Czech": "Tékkneska",
+    "Danish": "Danska",
+    "Dutch": "Hollenska",
+    "Esperanto": "Esperantó",
+    "Estonian": "Eistneska",
+    "Filipino": "Filippínska",
+    "Finnish": "Finnska",
+    "French": "Franska",
+    "Galician": "Galisíska",
+    "Georgian": "Georgíska",
+    "German": "Þýska",
+    "Greek": "Gríska",
+    "Gujarati": "Gújaratí",
+    "Haitian Creole": "Haítískt Kreólamál",
+    "Hausa": "Hausa",
+    "Hawaiian": "Havaíska",
+    "Hebrew": "Hebreska",
+    "Hindi": "Hindí",
+    "Hmong": "Hmong",
+    "Hungarian": "Ungverska",
+    "Icelandic": "Íslenska",
+    "Igbo": "Igbo",
+    "Indonesian": "Indónesíska",
+    "Irish": "Írska",
+    "Italian": "Ítalska",
+    "Japanese": "Japanska",
+    "Javanese": "Javanska",
+    "Kannada": "Kanaríska",
+    "Kazakh": "Kasakíska",
+    "Khmer": "Khmeríska",
+    "Korean": "Kóreska",
+    "Kurdish": "Kúrdíska",
+    "Kyrgyz": "Kirgisíska",
+    "Lao": "Laó",
+    "Latin": "Latína",
+    "Latvian": "Lettneska",
+    "Lithuanian": "Litháíska",
+    "Luxembourgish": "Lúxemborgíska",
+    "Macedonian": "Makedóníska",
+    "Malagasy": "Malagasíska",
+    "Malay": "Malaíska",
+    "Malayalam": "Malaíalam",
+    "Maltese": "Maltneska",
+    "Maori": "Maórí",
+    "Marathi": "Marathi",
+    "Mongolian": "Mongólska",
+    "Nepali": "Nepalska",
+    "Norwegian Bokmål": "Norskt bókmál",
+    "Nyanja": "Nyanja",
+    "Pashto": "Pashto",
+    "Persian": "Persneska",
+    "Polish": "Pólska",
+    "Portuguese": "Portúgalska",
+    "Punjabi": "Punjabi",
+    "Romanian": "Rúmenska",
+    "Russian": "Rússneska",
+    "Samoan": "Samóíska",
+    "Scottish Gaelic": "Skosk Gelíska",
+    "Serbian": "Serbneska",
+    "Shona": "Shona",
+    "Sindhi": "Sindí",
+    "Sinhala": "Sinhala",
+    "Slovak": "Slóvakíska",
+    "Slovenian": "Slóvenska",
+    "Somali": "Sómalska",
+    "Southern Sotho": "Suður Sótó",
+    "Spanish": "Spænska",
+    "Spanish (Latin America)": "Spænska (Rómönsku Ameríka)",
+    "Sundanese": "Sundaneska",
+    "Swahili": "Svahílí",
+    "Swedish": "Sænska",
+    "Tajik": "Tadsikíska",
+    "Tamil": "Tamílska",
+    "Telugu": "Telúgú",
+    "Thai": "Taílenska",
+    "Turkish": "Tyrkneska",
+    "Ukrainian": "Úkraníska",
+    "Urdu": "Úrdú",
+    "Uzbek": "Úsbekíska",
+    "Vietnamese": "Víetnamska",
+    "Welsh": "Velska",
+    "Western Frisian": "Vestur Frísneska",
+    "Xhosa": "Xhosa",
+    "Yiddish": "Jiddíska",
+    "Yoruba": "Jórúba",
+    "Zulu": "Zúlú",
+    "`x` years.": "' x ' ár.",
+    "`x` months.": "' x ' mánuði.",
+    "`x` weeks.": "`x` vikur.",
+    "`x` days.": "' x ' dagar.",
+    "`x` hours.": "`x` klukkustundir.",
+    "`x` minutes.": "`x` mínútur.",
+    "`x` seconds.": "`x` sekúndur.",
+    "Fallback comments: ": "Vara ummæli: ",
+    "Popular": "Vinsællt",
+    "Top": "Topp",
+    "About": "Um",
+    "Rating: ": "Einkunn: ",
+    "Language: ": "Tungumál: ",
+    "View as playlist": "Skoða sem spilunarlista",
+    "Default": "Sjálfgefið",
+    "Music": "Tónlist",
+    "Gaming": "Tólvuleikja",
+    "News": "Fréttir",
+    "Movies": "Kvikmyndir",
+    "Download": "Niðurhal",
+    "Download as: ": "Niðurhala sem: ",
+    "%A %B %-d, %Y": "%A %B %-d, %Y",
+    "(edited)": "(breytt)",
+    "YouTube comment permalink": "YouTube ummæli varanlegur tengill",
+    "`x` marked it with a ❤": "`x` merkti það með ❤",
+    "Audio mode": "Hljóð ham",
+    "Video mode": "Myndband ham",
+    "Videos": "Myndbönd",
+    "Playlists": "Spilunarlistar",
+    "Current version: ": "Núverandi útgáfa: "
+}
\ No newline at end of file
diff --git a/locales/it.json b/locales/it.json
index 10527f9f..bf028c91 100644
--- a/locales/it.json
+++ b/locales/it.json
@@ -56,7 +56,7 @@
     "Play next by default: ": "Riproduzione successiva per impostazione predefinita: ",
     "Autoplay next video: ": "Riproduci automaticamente il prossimo video: ",
     "Listen by default: ": "Modalità solo audio come predefinita: ",
-    "Proxy videos? ": "",
+    "Proxy videos: ": "",
     "Default speed: ": "Velocità di riproduzione predefinita: ",
     "Preferred video quality: ": "Preferenza sulla qualità video: ",
     "Player volume: ": "Volume di riproduzione: ",
@@ -65,13 +65,13 @@
     "reddit": "",
     "Default captions: ": "Sottotitoli predefiniti: ",
     "Fallback captions: ": "Sottotitoli alternativi: ",
-    "Show related videos? ": "Mostra video correlati? ",
-    "Show annotations by default? ": "Mostra le annotazioni per impostazione predefinita? ",
+    "Show related videos: ": "Mostra video correlati? ",
+    "Show annotations by default: ": "Mostra le annotazioni per impostazione predefinita? ",
     "Visual preferences": "Preferenze grafiche",
     "Dark mode: ": "Tema scuro: ",
     "Thin mode: ": "Modalità per connessioni lente: ",
     "Subscription preferences": "Preferenze iscrizioni",
-    "Show annotations by default for subscribed channels? ": "",
+    "Show annotations by default for subscribed channels: ": "",
     "Redirect homepage to feed: ": "Reindirizza la pagina principale a quella delle iscrizioni: ",
     "Number of videos shown in feed: ": "Numero di video da mostrare nelle iscrizioni: ",
     "Sort videos by: ": "Ordinare i video per: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Mostra solo il video più recente non guardato del canale: ",
     "Only show unwatched: ": "Mostra solo i video non guardati: ",
     "Only show notifications (if there are any): ": "Mostra solo le notifiche (se presenti): ",
+    "Enable web notifications": "",
+    "`x` uploaded a video": "",
+    "`x` is live": "",
     "Data preferences": "Preferenze dati",
     "Clear watch history": "Cancella la cronologia dei video guardati",
     "Import/export data": "Importazione/esportazione dati",
@@ -96,11 +99,11 @@
     "Administrator preferences": "",
     "Default homepage: ": "",
     "Feed menu: ": "",
-    "Top enabled? ": "",
-    "CAPTCHA enabled? ": "",
-    "Login enabled? ": "",
-    "Registration enabled? ": "",
-    "Report statistics? ": "",
+    "Top enabled: ": "",
+    "CAPTCHA enabled: ": "",
+    "Login enabled: ": "",
+    "Registration enabled: ": "",
+    "Report statistics: ": "",
     "Save preferences": "Salva le preferenze",
     "Subscription manager": "Gestisci le iscrizioni",
     "Token manager": "",
@@ -306,10 +309,12 @@
     "%A %B %-d, %Y": "%A %-d %B %Y",
     "(edited)": "(modificato)",
     "YouTube comment permalink": "Link permanente al commento di YouTube",
+    "permalink": "",
     "`x` marked it with a ❤": "`x` l'ha contrassegnato con un ❤",
     "Audio mode": "Modalità audio",
     "Video mode": "Modalità video",
     "Videos": "",
     "Playlists": "",
+    "Community": "",
     "Current version: ": ""
 }
\ No newline at end of file
diff --git a/locales/nb_NO.json b/locales/nb_NO.json
index 63492245..589512d4 100644
--- a/locales/nb_NO.json
+++ b/locales/nb_NO.json
@@ -6,7 +6,7 @@
     "Unsubscribe": "Opphev abonnement",
     "Subscribe": "Abonner",
     "View channel on YouTube": "Vis kanal på YouTube",
-    "View playlist on YouTube": "",
+    "View playlist on YouTube": "Vis spilleliste på YouTube",
     "newest": "nyeste",
     "oldest": "eldste",
     "popular": "populært",
@@ -56,7 +56,7 @@
     "Play next by default: ": "Spill neste som forvalg: ",
     "Autoplay next video: ": "Autospill neste video: ",
     "Listen by default: ": "Lytt som forvalg: ",
-    "Proxy videos? ": "Mellomtjen videoer? ",
+    "Proxy videos: ": "Mellomtjen videoer? ",
     "Default speed: ": "Forvalgt hastighet: ",
     "Preferred video quality: ": "Foretrukket videokvalitet: ",
     "Player volume: ": "Avspillerlydstyrke: ",
@@ -65,13 +65,13 @@
     "reddit": "Reddit",
     "Default captions: ": "Forvalgte undertitler: ",
     "Fallback captions: ": "Tilbakefallsundertitler: ",
-    "Show related videos? ": "Vis relaterte videoer? ",
-    "Show annotations by default? ": "Vis merknader som forvalg? ",
+    "Show related videos: ": "Vis relaterte videoer? ",
+    "Show annotations by default: ": "Vis merknader som forvalg? ",
     "Visual preferences": "Visuelle innstillinger",
     "Dark mode: ": "Mørk drakt: ",
     "Thin mode: ": "Tynt modus: ",
     "Subscription preferences": "Abonnementsinnstillinger",
-    "Show annotations by default for subscribed channels? ": "Vis merknader som forvalg for kanaler det abonneres på? ",
+    "Show annotations by default for subscribed channels: ": "Vis merknader som forvalg for kanaler det abonneres på? ",
     "Redirect homepage to feed: ": "Videresend hjemmeside til flyt: ",
     "Number of videos shown in feed: ": "Antall videoer å vise i flyt: ",
     "Sort videos by: ": "Sorter videoer etter: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Kun vis siste usette video fra kanal: ",
     "Only show unwatched: ": "Kun vis usette: ",
     "Only show notifications (if there are any): ": "Kun vis merknader (hvis det er noen): ",
+    "Enable web notifications": "Skru på nettmerknader",
+    "`x` uploaded a video": "`x` lastet opp en video",
+    "`x` is live": "`x` er pålogget",
     "Data preferences": "Datainnstillinger",
     "Clear watch history": "Tøm visningshistorikk",
     "Import/export data": "Importer/eksporter data",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Administratorinnstillinger",
     "Default homepage: ": "Forvalgt hjemmeside: ",
     "Feed menu: ": "Flyt-meny: ",
-    "Top enabled? ": "Topp påskrudd? ",
-    "CAPTCHA enabled? ": "CAPTCHA påskrudd? ",
-    "Login enabled? ": "Innlogging påskrudd? ",
-    "Registration enabled? ": "Registrering påskrudd? ",
-    "Report statistics? ": "Innrapporter statistikk? ",
+    "Top enabled: ": "Topp påskrudd? ",
+    "CAPTCHA enabled: ": "CAPTCHA påskrudd? ",
+    "Login enabled: ": "Innlogging påskrudd? ",
+    "Registration enabled: ": "Registrering påskrudd? ",
+    "Report statistics: ": "Innrapporter statistikk? ",
     "Save preferences": "Lagre innstillinger",
     "Subscription manager": "Abonnementsbehandler",
     "Token manager": "Symbolbehandler",
@@ -133,6 +136,7 @@
     "Shared `x`": "Delt `x`",
     "`x` views": "`x` visninger",
     "Premieres in `x`": "Premiere om `x`",
+    "Premieres `x`": "",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Hei. Det ser ut til at du har JavaScript avslått. Klikk her for å vise kommentarer, ha i minnet at innlasting tar lengre tid.",
     "View YouTube comments": "Vis YouTube-kommentarer",
     "View more comments on Reddit": "Vis flere kommenterer på Reddit",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "",
     "(edited)": "(redigert)",
     "YouTube comment permalink": "Permanent YouTube-lenke til innholdet",
+    "permalink": "permanent lenke",
     "`x` marked it with a ❤": "`x` levnet et ❤",
     "Audio mode": "Lydmodus",
     "Video mode": "Video-modus",
     "Videos": "Videoer",
     "Playlists": "Spillelister",
+    "Community": "",
     "Current version: ": "Nåværende versjon: "
 }
\ No newline at end of file
diff --git a/locales/nl.json b/locales/nl.json
index 5da8548a..b24b13b8 100644
--- a/locales/nl.json
+++ b/locales/nl.json
@@ -56,7 +56,7 @@
     "Play next by default: ": "Standaard volgende video afspelen: ",
     "Autoplay next video: ": "Volgende video automatisch afspelen: ",
     "Listen by default: ": "Standaard luisteren: ",
-    "Proxy videos? ": "Video's afspelen via proxy? ",
+    "Proxy videos: ": "Video's afspelen via proxy? ",
     "Default speed: ": "Standaard afspeelsnelheid: ",
     "Preferred video quality: ": "Voorkeurskwaliteit: ",
     "Player volume: ": "Spelervolume: ",
@@ -65,13 +65,13 @@
     "reddit": "Reddit",
     "Default captions: ": "Standaard ondertiteling: ",
     "Fallback captions: ": "Alternatieve ondertiteling: ",
-    "Show related videos? ": "Gerelateerde video's tonen? ",
-    "Show annotations by default? ": "Standaard annotaties tonen? ",
+    "Show related videos: ": "Gerelateerde video's tonen? ",
+    "Show annotations by default: ": "Standaard annotaties tonen? ",
     "Visual preferences": "Visuele instellingen",
     "Dark mode: ": "Donkere modus: ",
     "Thin mode: ": "Smalle modus: ",
     "Subscription preferences": "Abonnementsinstellingen",
-    "Show annotations by default for subscribed channels? ": "Standaard annotaties tonen voor geabonneerde kanalen? ",
+    "Show annotations by default for subscribed channels: ": "Standaard annotaties tonen voor geabonneerde kanalen? ",
     "Redirect homepage to feed: ": "Startpagina omleiden naar feed: ",
     "Number of videos shown in feed: ": "Aantal te tonen video's in feed: ",
     "Sort videos by: ": "Video's sorteren op: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Alleen nieuwste niet-bekeken video van kanaal tonen: ",
     "Only show unwatched: ": "Alleen niet-bekeken videos tonen: ",
     "Only show notifications (if there are any): ": "Alleen meldingen tonen (als die er zijn): ",
+    "Enable web notifications": "Systemmeldingen inschakelen",
+    "`x` uploaded a video": "`x` heeft een video geüpload",
+    "`x` is live": "`x` zendt nu live uit",
     "Data preferences": "Gegevensinstellingen",
     "Clear watch history": "Kijkgeschiedenis wissen",
     "Import/export data": "Gegevens im-/exporteren",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Beheerdersinstellingen",
     "Default homepage: ": "Standaard startpagina: ",
     "Feed menu: ": "Feedmenu:",
-    "Top enabled? ": "Bovenkant inschakelen? ",
-    "CAPTCHA enabled? ": "CAPTCHA gebruiken? ",
-    "Login enabled? ": "Inloggen toestaan? ",
-    "Registration enabled? ": "Registratie toestaan? ",
-    "Report statistics? ": "Statistieken bijhouden? ",
+    "Top enabled: ": "Bovenkant inschakelen? ",
+    "CAPTCHA enabled: ": "CAPTCHA gebruiken? ",
+    "Login enabled: ": "Inloggen toestaan? ",
+    "Registration enabled: ": "Registratie toestaan? ",
+    "Report statistics: ": "Statistieken bijhouden? ",
     "Save preferences": "Instellingen opslaan",
     "Subscription manager": "Abonnementen beheren",
     "Token manager": "Toegangssleutels beheren",
@@ -114,13 +117,13 @@
     "`x` unseen notifications": "`x` ongelezen meldingen",
     "search": "zoeken",
     "Log out": "Uitloggen",
-    "Released under the AGPLv3 by Omar Roth.": "Uitgegeven onder de AGPLv3-licentie door Omar Roth.",
+    "Released under the AGPLv3 by Omar Roth.": "Uitgebracht onder de AGPLv3-licentie, door Omar Roth.",
     "Source available here.": "De broncode is hier beschikbaar.",
     "View JavaScript license information.": "JavaScript-licentieinformatie tonen.",
     "View privacy policy.": "Privacybeleid tonen",
     "Trending": "Uitgelicht",
     "Unlisted": "Verborgen",
-    "Watch on YouTube": "Bekijk video op YouTube",
+    "Watch on YouTube": "Video bekijken op YouTube",
     "Hide annotations": "Annotaties verbergen",
     "Show annotations": "Annotaties tonen",
     "Genre: ": "Genre: ",
@@ -133,6 +136,7 @@
     "Shared `x`": "`x` gedeeld",
     "`x` views": "`x` weergaven",
     "Premieres in `x`": "Verschijnt over `x`",
+    "Premieres `x`": "",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Hoi! Het lijkt erop dat je JavaScript hebt uitgeschakeld. Klik hier om de reacties te bekijken. Let op: het laden duurt wat langer.",
     "View YouTube comments": "YouTube-reacties tonen",
     "View more comments on Reddit": "Meer reacties bekijken op Reddit",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "%A %B %-d, %Y",
     "(edited)": "(bewerkt)",
     "YouTube comment permalink": "Link naar YouTube-reactie",
+    "permalink": "",
     "`x` marked it with a ❤": "`x` heeft dit gemarkeerd met ❤",
     "Audio mode": "Audiomodus",
     "Video mode": "Videomodus",
     "Videos": "Video's",
     "Playlists": "Afspeellijsten",
+    "Community": "",
     "Current version: ": "Huidige versie: "
-}
+}
\ No newline at end of file
diff --git a/locales/pl.json b/locales/pl.json
index 621bdd76..550e664b 100644
--- a/locales/pl.json
+++ b/locales/pl.json
@@ -56,7 +56,7 @@
     "Play next by default: ": "",
     "Autoplay next video: ": "Odtwórz następny film: ",
     "Listen by default: ": "Tryb dźwiękowy: ",
-    "Proxy videos? ": "Filmy przez proxy? ",
+    "Proxy videos: ": "Filmy przez proxy? ",
     "Default speed: ": "Domyślna prędkość: ",
     "Preferred video quality: ": "Preferowana jakość filmów: ",
     "Player volume: ": "Głośność odtwarzacza: ",
@@ -65,13 +65,13 @@
     "reddit": "",
     "Default captions: ": "Domyślne napisy: ",
     "Fallback captions: ": "Zastępcze napisy: ",
-    "Show related videos? ": "Pokaż powiązane filmy? ",
-    "Show annotations by default? ": "",
+    "Show related videos: ": "Pokaż powiązane filmy? ",
+    "Show annotations by default: ": "",
     "Visual preferences": "Preferencje Wizualne",
     "Dark mode: ": "Ciemny motyw: ",
     "Thin mode: ": "Tryb minimalny: ",
     "Subscription preferences": "Preferencje subskrybcji",
-    "Show annotations by default for subscribed channels? ": "",
+    "Show annotations by default for subscribed channels: ": "",
     "Redirect homepage to feed: ": "Przekieruj stronę główną do subskrybcji: ",
     "Number of videos shown in feed: ": "Liczba filmów widoczna na stronie subskrybcji: ",
     "Sort videos by: ": "Sortuj filmy: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Pokazuj tylko najnowszy nie obejrzany film z kanału: ",
     "Only show unwatched: ": "Pokazuj tylko nie obejrzane: ",
     "Only show notifications (if there are any): ": "Pokazuj tylko powiadomienia (jeśli są): ",
+    "Enable web notifications": "",
+    "`x` uploaded a video": "",
+    "`x` is live": "",
     "Data preferences": "Preferencje danych",
     "Clear watch history": "Wyczyść historię",
     "Import/export data": "Import/Eksport danych",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Preferencje administratora",
     "Default homepage: ": "Domyślna strona główna: ",
     "Feed menu: ": "",
-    "Top enabled? ": "",
-    "CAPTCHA enabled? ": "CAPTCHA aktywna? ",
-    "Login enabled? ": "Logowanie włączone? ",
-    "Registration enabled? ": "Rejestracja włączona? ",
-    "Report statistics? ": "Raportować statystyki? ",
+    "Top enabled: ": "",
+    "CAPTCHA enabled: ": "CAPTCHA aktywna? ",
+    "Login enabled: ": "Logowanie włączone? ",
+    "Registration enabled: ": "Rejestracja włączona? ",
+    "Report statistics: ": "Raportować statystyki? ",
     "Save preferences": "Zapisz preferencje",
     "Subscription manager": "Manager subskrybcji",
     "Token manager": "",
@@ -133,6 +136,7 @@
     "Shared `x`": "Udostępniono `x`",
     "`x` views": "`x` wyświetleń",
     "Premieres in `x`": "Publikacja za `x`",
+    "Premieres `x`": "",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Cześć! Wygląda na to, że masz wyłączoną obsługę JavaScriptu. Kliknij tutaj, żeby zobaczyć komentarze. Pamiętaj, że wczytywanie może potrwać dłużej.",
     "View YouTube comments": "Wyświetl komentarze z YouTube",
     "View more comments on Reddit": "Wyświetl więcej komentarzy na Reddicie",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "",
     "(edited)": "(edytowany)",
     "YouTube comment permalink": "Odnośnik bezpośredni do komentarza na YouTube",
+    "permalink": "",
     "`x` marked it with a ❤": "`x` oznaczonych ❤",
     "Audio mode": "Tryb audio",
     "Video mode": "Tryb wideo",
     "Videos": "Filmy",
     "Playlists": "Playlisty",
+    "Community": "",
     "Current version: ": "Aktualna wersja: "
 }
\ No newline at end of file
diff --git a/locales/ru.json b/locales/ru.json
index f9c56204..f9cc1e2d 100644
--- a/locales/ru.json
+++ b/locales/ru.json
@@ -6,7 +6,7 @@
     "Unsubscribe": "Отписаться",
     "Subscribe": "Подписаться",
     "View channel on YouTube": "Смотреть канал на YouTube",
-    "View playlist on YouTube": "",
+    "View playlist on YouTube": "Посмотреть плейлист на YouTube",
     "newest": "самые свежие",
     "oldest": "самые старые",
     "popular": "популярные",
@@ -56,7 +56,7 @@
     "Play next by default: ": "Всегда включать следующее видео? ",
     "Autoplay next video: ": "Автопроигрывание следующего видео: ",
     "Listen by default: ": "Режим «только аудио» по умолчанию: ",
-    "Proxy videos? ": "Проигрывать видео через прокси? ",
+    "Proxy videos: ": "Проигрывать видео через прокси? ",
     "Default speed: ": "Скорость видео по умолчанию: ",
     "Preferred video quality: ": "Предпочтительное качество видео: ",
     "Player volume: ": "Громкость видео: ",
@@ -65,13 +65,13 @@
     "reddit": "Reddit",
     "Default captions: ": "Основной язык субтитров: ",
     "Fallback captions: ": "Дополнительный язык субтитров: ",
-    "Show related videos? ": "Показывать похожие видео? ",
-    "Show annotations by default? ": "Всегда показывать аннотации? ",
+    "Show related videos: ": "Показывать похожие видео? ",
+    "Show annotations by default: ": "Всегда показывать аннотации? ",
     "Visual preferences": "Настройки сайта",
     "Dark mode: ": "Тёмное оформление: ",
     "Thin mode: ": "Облегчённое оформление: ",
     "Subscription preferences": "Настройки подписок",
-    "Show annotations by default for subscribed channels? ": "Всегда показывать аннотации в видео каналов, на которые вы подписаны? ",
+    "Show annotations by default for subscribed channels: ": "Всегда показывать аннотации в видео каналов, на которые вы подписаны? ",
     "Redirect homepage to feed: ": "Отображать видео с каналов, на которые вы подписаны, как главную страницу: ",
     "Number of videos shown in feed: ": "Число видео, на которые вы подписаны, в ленте: ",
     "Sort videos by: ": "Сортировать видео: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Показывать только непросмотренные видео с каналов: ",
     "Only show unwatched: ": "Показывать только непросмотренные видео: ",
     "Only show notifications (if there are any): ": "Показывать только оповещения, если они есть: ",
+    "Enable web notifications": "Включить уведомления в браузере",
+    "`x` uploaded a video": "`x` разместил видео",
+    "`x` is live": "`x` в прямом эфире",
     "Data preferences": "Настройки данных",
     "Clear watch history": "Очистить историю просмотров",
     "Import/export data": "Импорт/Экспорт данных",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Администраторские настройки",
     "Default homepage: ": "Главная страница по умолчанию: ",
     "Feed menu: ": "Меню ленты видео: ",
-    "Top enabled? ": "Включить топ видео? ",
-    "CAPTCHA enabled? ": "Включить капчу? ",
-    "Login enabled? ": "Включить авторизацию? ",
-    "Registration enabled? ": "Включить регистрацию? ",
-    "Report statistics? ": "Сообщать статистику? ",
+    "Top enabled: ": "Включить топ видео? ",
+    "CAPTCHA enabled: ": "Включить капчу? ",
+    "Login enabled: ": "Включить авторизацию? ",
+    "Registration enabled: ": "Включить регистрацию? ",
+    "Report statistics: ": "Сообщать статистику? ",
     "Save preferences": "Сохранить настройки",
     "Subscription manager": "Менеджер подписок",
     "Token manager": "Менеджер токенов",
@@ -133,6 +136,7 @@
     "Shared `x`": "Опубликовано `x`",
     "`x` views": "`x` просмотров",
     "Premieres in `x`": "Премьера через `x`",
+    "Premieres `x`": "Премьера `x`",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Похоже, у вас отключён JavaScript. Чтобы увидить комментарии, нажмите сюда, но учтите: они могут загружаться немного медленнее.",
     "View YouTube comments": "Смотреть комментарии с YouTube",
     "View more comments on Reddit": "Посмотреть больше комментариев на Reddit",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "%-d %B %Y, %A",
     "(edited)": "(изменено)",
     "YouTube comment permalink": "Прямая ссылка на YouTube",
+    "permalink": "",
     "`x` marked it with a ❤": "❤ от автора канала \"`x`\"",
     "Audio mode": "Аудио режим",
     "Video mode": "Видео режим",
     "Videos": "Видео",
     "Playlists": "Плейлисты",
+    "Community": "",
     "Current version: ": "Текущая версия: "
 }
\ No newline at end of file
diff --git a/locales/uk.json b/locales/uk.json
index e666e280..95e5798d 100644
--- a/locales/uk.json
+++ b/locales/uk.json
@@ -6,7 +6,7 @@
     "Unsubscribe": "Відписатися",
     "Subscribe": "Підписатися",
     "View channel on YouTube": "Подивитися канал на YouTube",
-    "View playlist on YouTube": "",
+    "View playlist on YouTube": "Подивитися плейлист на YouTube",
     "newest": "найновіше",
     "oldest": "найстаріше",
     "popular": "популярне",
@@ -56,7 +56,7 @@
     "Play next by default: ": "Завжди вмикати наступне відео: ",
     "Autoplay next video: ": "Автовідтворення наступного відео: ",
     "Listen by default: ": "Режим «тільки звук» як усталений: ",
-    "Proxy videos? ": "Програвати відео через проксі? ",
+    "Proxy videos: ": "Програвати відео через проксі? ",
     "Default speed: ": "Усталена швидкість відео: ",
     "Preferred video quality: ": "Пріорітетна якість відео: ",
     "Player volume: ": "Гучність відео: ",
@@ -65,13 +65,13 @@
     "reddit": "Reddit",
     "Default captions: ": "Основна мова субтитрів: ",
     "Fallback captions: ": "Запасна мова субтитрів: ",
-    "Show related videos? ": "Показувати схожі відео? ",
-    "Show annotations by default? ": "Завжди показувати анотації? ",
+    "Show related videos: ": "Показувати схожі відео? ",
+    "Show annotations by default: ": "Завжди показувати анотації? ",
     "Visual preferences": "Налаштування сайту",
     "Dark mode: ": "Темне оформлення: ",
     "Thin mode: ": "Полегшене оформлення: ",
     "Subscription preferences": "Налаштування підписок",
-    "Show annotations by default for subscribed channels? ": "Завжди показувати анотації у відео каналів, на які ви підписані? ",
+    "Show annotations by default for subscribed channels: ": "Завжди показувати анотації у відео каналів, на які ви підписані? ",
     "Redirect homepage to feed: ": "Показувати відео з каналів, на які підписані, як головну сторінку: ",
     "Number of videos shown in feed: ": "Кількість відео з каналів, на які підписані, у потоці: ",
     "Sort videos by: ": "Сортувати відео: ",
@@ -85,6 +85,9 @@
     "Only show latest unwatched video from channel: ": "Показувати тільки непереглянуті відео з каналів: ",
     "Only show unwatched: ": "Показувати тільки непереглянуті відео: ",
     "Only show notifications (if there are any): ": "Показувати лише сповіщення, якщо вони є: ",
+    "Enable web notifications": "Ввімкнути сповіщення в браузері",
+    "`x` uploaded a video": "`x` розмістив відео",
+    "`x` is live": "`x` у прямому ефірі",
     "Data preferences": "Налаштування даних",
     "Clear watch history": "Очистити історію переглядів",
     "Import/export data": "Імпорт і експорт даних",
@@ -96,11 +99,11 @@
     "Administrator preferences": "Адміністраторські налаштування",
     "Default homepage: ": "Усталена домашня сторінка: ",
     "Feed menu: ": "Меню потоку з відео: ",
-    "Top enabled? ": "Увімкнути топ відео? ",
-    "CAPTCHA enabled? ": "Увімкнути капчу? ",
-    "Login enabled? ": "Увімкнути авторизацію? ",
-    "Registration enabled? ": "Увімкнути реєстрацію? ",
-    "Report statistics? ": "Повідомляти статистику? ",
+    "Top enabled: ": "Увімкнути топ відео? ",
+    "CAPTCHA enabled: ": "Увімкнути капчу? ",
+    "Login enabled: ": "Увімкнути авторизацію? ",
+    "Registration enabled: ": "Увімкнути реєстрацію? ",
+    "Report statistics: ": "Повідомляти статистику? ",
     "Save preferences": "Зберегти налаштування",
     "Subscription manager": "Менеджер підписок",
     "Token manager": "Менеджер токенів",
@@ -133,6 +136,7 @@
     "Shared `x`": "Розміщено `x`",
     "`x` views": "`x` переглядів",
     "Premieres in `x`": "Прем’єра через `x`",
+    "Premieres `x`": "Прем’єра `x`",
     "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Схоже, у вас відключений JavaScript. Щоб побачити коментарі, натисніть сюда, але майте на увазі, що вони можуть завантажуватися трохи довше.",
     "View YouTube comments": "Переглянути коментарі з YouTube",
     "View more comments on Reddit": "Переглянути більше коментарів на Reddit",
@@ -306,10 +310,12 @@
     "%A %B %-d, %Y": "%-d %B %Y, %A",
     "(edited)": "(змінено)",
     "YouTube comment permalink": "Пряме посилання на коментар в YouTube",
+    "permalink": "",
     "`x` marked it with a ❤": "❤ цьому від каналу `x`",
     "Audio mode": "Аудіорежим",
     "Video mode": "Відеорежим",
     "Videos": "Відео",
     "Playlists": "Плейлисти",
+    "Community": "",
     "Current version: ": "Поточна версія: "
 }
\ No newline at end of file
diff --git a/locales/zh-CN.json b/locales/zh-CN.json
new file mode 100644
index 00000000..0a3f53d9
--- /dev/null
+++ b/locales/zh-CN.json
@@ -0,0 +1,321 @@
+{
+    "`x` subscribers": "`x` 订阅者",
+    "`x` videos": "`x` 视频",
+    "LIVE": "直播",
+    "Shared `x` ago": "`x` 前分享",
+    "Unsubscribe": "取消订阅",
+    "Subscribe": "订阅",
+    "View channel on YouTube": "在 YouTube 查看频道",
+    "View playlist on YouTube": "在 YouTube 查看播放列表",
+    "newest": "最新",
+    "oldest": "最老",
+    "popular": "时下流行",
+    "last": "last",
+    "Next page": "下一页",
+    "Previous page": "上一页",
+    "Clear watch history?": "清除观看历史?",
+    "New password": "新密码",
+    "New passwords must match": "新密码必须匹配",
+    "Cannot change password for Google accounts": "无法为 Google 账户更改密码",
+    "Authorize token?": "授权令牌?",
+    "Authorize token for `x`?": "`x` 的授权令牌?",
+    "Yes": "是",
+    "No": "否",
+    "Import and Export Data": "导入与导出数据",
+    "Import": "导入",
+    "Import Invidious data": "导入 Invidious 数据",
+    "Import YouTube subscriptions": "导入 YouTube 订阅",
+    "Import FreeTube subscriptions (.db)": "导入 FreeTube 订阅 (.db)",
+    "Import NewPipe subscriptions (.json)": "导入 NewPipe 订阅 (.json)",
+    "Import NewPipe data (.zip)": "导入 NewPipe 数据 (.zip)",
+    "Export": "导出",
+    "Export subscriptions as OPML": "导出订阅到 OPML 格式",
+    "Export subscriptions as OPML (for NewPipe & FreeTube)": "导出订阅到 OPML 格式(用于 NewPipe 及 FreeTube)",
+    "Export data as JSON": "导出数据为 JSON 格式",
+    "Delete account?": "删除账户?",
+    "History": "历史",
+    "An alternative front-end to YouTube": "另一个 YouTube 前端",
+    "JavaScript license information": "JavaScript 授权信息",
+    "source": "source",
+    "Log in": "登录",
+    "Log in/register": "登录/注册",
+    "Log in with Google": "使用 Google 账户登录",
+    "User ID": "用户 ID",
+    "Password": "密码",
+    "Time (h:mm:ss):": "时间 (h:mm:ss):",
+    "Text CAPTCHA": "文本验证码",
+    "Image CAPTCHA": "图片验证码",
+    "Sign In": "登录",
+    "Register": "注册",
+    "E-mail": "E-mail",
+    "Google verification code": "Google 验证代码",
+    "Preferences": "偏好设置",
+    "Player preferences": "播放器偏好设置",
+    "Always loop: ": "循环:",
+    "Autoplay: ": "自动播放:",
+    "Play next by default: ": "默认自动播放下一个视频:",
+    "Autoplay next video: ": "自动播放下一个视频:",
+    "Listen by default: ": "默认只聆听声音:",
+    "Proxy videos: ": "代理视频?",
+    "Default speed: ": "默认速度:",
+    "Preferred video quality: ": "视频质量偏好:",
+    "Player volume: ": "播放器音量:",
+    "Default comments: ": "默认评论源:",
+    "youtube": "YouTube",
+    "reddit": "Reddit",
+    "Default captions: ": "默认字幕语言:",
+    "Fallback captions: ": "后备字幕语言:",
+    "Show related videos: ": "显示相关视频?",
+    "Show annotations by default: ": "默认显示视频注释?",
+    "Visual preferences": "视觉选项",
+    "Dark mode: ": "暗色模式:",
+    "Thin mode: ": "窄页模式:",
+    "Subscription preferences": "订阅设置",
+    "Show annotations by default for subscribed channels: ": "在订阅频道的视频默认显示注释?",
+    "Redirect homepage to feed: ": "跳转主页到 feed: ",
+    "Number of videos shown in feed: ": "Feed 中显示的视频数量:",
+    "Sort videos by: ": "视频排序方式:",
+    "published": "发布时间",
+    "published - reverse": "发布时间(反向)",
+    "alphabetically": "字母序",
+    "alphabetically - reverse": "字母序(反向)",
+    "channel name": "频道名称",
+    "channel name - reverse": "频道名称(反向)",
+    "Only show latest video from channel: ": "只显示订阅频道的最新一条视频:",
+    "Only show latest unwatched video from channel: ": "只显示订阅频道的最新未看过视频:",
+    "Only show unwatched: ": "只显示未看过的视频:",
+    "Only show notifications (if there are any): ": "只显示通知(如有):",
+    "Enable web notifications": "启用浏览器通知",
+    "`x` uploaded a video": "`x` 上传了视频",
+    "`x` is live": "`x` 正在直播",
+    "Data preferences": "数据选项",
+    "Clear watch history": "清除观看历史",
+    "Import/export data": "导入/导出数据",
+    "Change password": "更改密码",
+    "Manage subscriptions": "管理订阅",
+    "Manage tokens": "管理令牌",
+    "Watch history": "观看历史",
+    "Delete account": "删除账户",
+    "Administrator preferences": "管理员选项",
+    "Default homepage: ": "默认主页:",
+    "Feed menu: ": "Feed 菜单:",
+    "Top enabled: ": "启用“热门视频”页?",
+    "CAPTCHA enabled: ": "启用验证码?",
+    "Login enabled: ": "启用登录?",
+    "Registration enabled: ": "启用注册?",
+    "Report statistics: ": "报告统计信息?",
+    "Save preferences": "保存选项",
+    "Subscription manager": "订阅管理器",
+    "Token manager": "令牌管理器",
+    "Token": "令牌",
+    "`x` subscriptions": "`x` 个订阅",
+    "`x` tokens": "`x` 个令牌",
+    "Import/export": "导入/导出",
+    "unsubscribe": "取消订阅",
+    "revoke": "吊销",
+    "Subscriptions": "订阅",
+    "`x` unseen notifications": "`x` 条未读通知",
+    "search": "搜索",
+    "Log out": "登出",
+    "Released under the AGPLv3 by Omar Roth.": "由 Omar Roth 开发,以 AGPLv3 授权。",
+    "Source available here.": "源码可在此查看。",
+    "View JavaScript license information.": "查看 JavaScript 协议信息。",
+    "View privacy policy.": "查看隐私政策。",
+    "Trending": "时下流行",
+    "Unlisted": "不公开",
+    "Watch on YouTube": "在 YouTube 观看",
+    "Hide annotations": "隐藏注释",
+    "Show annotations": "显示注释",
+    "Genre: ": "风格:",
+    "License: ": "协议:",
+    "Family friendly? ": "家庭友好?",
+    "Wilson score: ": "威尔逊得分:",
+    "Engagement: ": "参与度:",
+    "Whitelisted regions: ": "白名单区域:",
+    "Blacklisted regions: ": "黑名单区域:",
+    "Shared `x`": "`x`发布",
+    "`x` views": "`x` 播放",
+    "Premieres in `x`": "首映于 `x` 后",
+    "Premieres `x`": "首映于 `x`",
+    "Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "你好!看起来你关闭了 JavaScript。点击这里阅读评论。注意它们加载的时间可能会稍长。",
+    "View YouTube comments": "查看 YouTube 评论",
+    "View more comments on Reddit": "在 Reddit 查看更多评论",
+    "View `x` comments": "查看 `x` 条评论",
+    "View Reddit comments": "查看 Reddit 评论",
+    "Hide replies": "隐藏回复",
+    "Show replies": "显示回复",
+    "Incorrect password": "密码错误",
+    "Quota exceeded, try again in a few hours": "已超出限额,请于几小时后重试",
+    "Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "无法登录。请确认你的短信或验证器的二步验证已打开。",
+    "Invalid TFA code": "无效的二步验证码",
+    "Login failed. This may be because two-factor authentication is not turned on for your account.": "登录失败。可能是因为二步验证未打开。",
+    "Wrong answer": "错误的回复",
+    "Erroneous CAPTCHA": "验证码错误",
+    "CAPTCHA is a required field": "验证码必填",
+    "User ID is a required field": "用户名必填",
+    "Password is a required field": "密码必填",
+    "Wrong username or password": "用户名或密码错误",
+    "Please sign in using 'Log in with Google'": "请通过谷歌账户登录",
+    "Password cannot be empty": "密码不能为空",
+    "Password cannot be longer than 55 characters": "密码长度不能大于 55",
+    "Please log in": "请登录",
+    "Invidious Private Feed for `x`": "`x` 的 Invidious 私人 feed",
+    "channel:`x`": "频道:`x`",
+    "Deleted or invalid channel": "已删除或无效频道",
+    "This channel does not exist.": "频道不存在。",
+    "Could not get channel info.": "无法获取频道信息。",
+    "Could not fetch comments": "无法获取评论",
+    "View `x` replies": "查看 `x` 条回复",
+    "`x` ago": "`x` 前",
+    "Load more": "加载更多",
+    "`x` points": "`x` 分",
+    "Could not create mix.": "无法创建合集。",
+    "Empty playlist": "空播放列表",
+    "Not a playlist.": "非播放列表。",
+    "Playlist does not exist.": "播放列表不存在。",
+    "Could not pull trending pages.": "无法获取“时下流行”页面。",
+    "Hidden field \"challenge\" is a required field": "隐藏表单项 \"challenge\" 为必填",
+    "Hidden field \"token\" is a required field": "隐藏表单项 \"token\" 为必填",
+    "Erroneous challenge": "错误的验证回复(challenge)",
+    "Erroneous token": "错误的令牌",
+    "No such user": "用户不存在",
+    "Token is expired, please try again": "令牌过期,请重试",
+    "English": "英语",
+    "English (auto-generated)": "英语(自动生成)",
+    "Afrikaans": "南非荷兰语",
+    "Albanian": "阿尔巴尼亚语",
+    "Amharic": "阿姆哈拉语",
+    "Arabic": "阿拉伯语",
+    "Armenian": "亚美尼亚语",
+    "Azerbaijani": "阿塞拜疆语",
+    "Bangla": "孟加拉语",
+    "Basque": "巴斯克语",
+    "Belarusian": "白俄罗斯语",
+    "Bosnian": "波黑语",
+    "Bulgarian": "保加利亚语",
+    "Burmese": "缅甸语",
+    "Catalan": "加泰罗尼亚语",
+    "Cebuano": "宿雾语",
+    "Chinese (Simplified)": "中文(简体)",
+    "Chinese (Traditional)": "中文(繁体)",
+    "Corsican": "科西嘉语",
+    "Croatian": "克罗地亚语",
+    "Czech": "捷克语",
+    "Danish": "丹麦语",
+    "Dutch": "荷兰语",
+    "Esperanto": "世界语",
+    "Estonian": "爱沙尼亚语",
+    "Filipino": "菲律宾语",
+    "Finnish": "芬兰语",
+    "French": "法语",
+    "Galician": "加利西亚语",
+    "Georgian": "格鲁吉亚语",
+    "German": "德语",
+    "Greek": "希腊语",
+    "Gujarati": "古吉拉特语",
+    "Haitian Creole": "海地克里奥尔语",
+    "Hausa": "豪萨语",
+    "Hawaiian": "夏威夷语",
+    "Hebrew": "希伯来语",
+    "Hindi": "印地语",
+    "Hmong": "苗语",
+    "Hungarian": "匈牙利语",
+    "Icelandic": "冰岛语",
+    "Igbo": "伊博语",
+    "Indonesian": "印度尼西亚语",
+    "Irish": "爱尔兰语",
+    "Italian": "意大利语",
+    "Japanese": "日语",
+    "Javanese": "爪哇语",
+    "Kannada": "卡纳达语",
+    "Kazakh": "哈萨克语",
+    "Khmer": "高棉语",
+    "Korean": "韩语",
+    "Kurdish": "库尔德语",
+    "Kyrgyz": "柯尔克孜语",
+    "Lao": "老挝语",
+    "Latin": "拉丁语",
+    "Latvian": "拉脱维亚语",
+    "Lithuanian": "立陶宛语",
+    "Luxembourgish": "卢森堡语",
+    "Macedonian": "马其顿语",
+    "Malagasy": "马尔加什语",
+    "Malay": "马来语",
+    "Malayalam": "马拉雅拉姆语",
+    "Maltese": "马耳他语",
+    "Maori": "毛利语",
+    "Marathi": "马拉语",
+    "Mongolian": "蒙古语",
+    "Nepali": "尼泊尔语",
+    "Norwegian Bokmål": "书面挪威语",
+    "Nyanja": "尼昂加语",
+    "Pashto": "普什图语",
+    "Persian": "波斯语",
+    "Polish": "抛光",
+    "Portuguese": "葡萄牙语",
+    "Punjabi": "旁遮普语",
+    "Romanian": "罗马尼亚语",
+    "Russian": "俄语",
+    "Samoan": "萨摩亚语",
+    "Scottish Gaelic": "苏格兰盖尔语",
+    "Serbian": "塞尔维亚语",
+    "Shona": "绍纳语",
+    "Sindhi": "信德语",
+    "Sinhala": "僧伽罗语",
+    "Slovak": "斯洛伐克语",
+    "Slovenian": "斯洛文尼亚语",
+    "Somali": "索马里语",
+    "Southern Sotho": "南索托语",
+    "Spanish": "西班牙语",
+    "Spanish (Latin America)": "西班牙语(拉丁美洲)",
+    "Sundanese": "巽丹语",
+    "Swahili": "斯瓦希里语",
+    "Swedish": "瑞典语",
+    "Tajik": "塔吉克语",
+    "Tamil": "泰米尔语",
+    "Telugu": "泰卢固语",
+    "Thai": "泰语",
+    "Turkish": "土耳其语",
+    "Ukrainian": "乌克兰语",
+    "Urdu": "乌尔都语",
+    "Uzbek": "乌兹别克",
+    "Vietnamese": "越南语",
+    "Welsh": "威尔士语",
+    "Western Frisian": "西弗里西亚语",
+    "Xhosa": "科萨语",
+    "Yiddish": "意第绪语",
+    "Yoruba": "约鲁巴语",
+    "Zulu": "祖鲁语",
+    "`x` years": "`x` 年",
+    "`x` months": "`x` 月",
+    "`x` weeks": "`x` 周",
+    "`x` days": "`x` 天",
+    "`x` hours": "`x` 小时",
+    "`x` minutes": "`x` 分钟",
+    "`x` seconds": "`x` 秒",
+    "Fallback comments: ": "后备评论:",
+    "Popular": "热门频道",
+    "Top": "热门视频",
+    "About": "关于",
+    "Rating: ": "评分:",
+    "Language: ": "语言:",
+    "View as playlist": "作为播放列表查看",
+    "Default": "默认",
+    "Music": "音乐",
+    "Gaming": "游戏",
+    "News": "新闻",
+    "Movies": "电影",
+    "Download": "下载",
+    "Download as: ": "下载为:",
+    "%A %B %-d, %Y": "%Y年%-m月%-d日 %a",
+    "(edited)": "(已编辑)",
+    "YouTube comment permalink": "YouTube 评论永久链接",
+    "permalink": "",
+    "`x` marked it with a ❤": "`x` 为此加 ❤",
+    "Audio mode": "音频模式",
+    "Video mode": "视频模式",
+    "Videos": "视频",
+    "Playlists": "播放列表",
+    "Community": "",
+    "Current version: ": "当前版本:"
+}
\ No newline at end of file
diff --git a/screenshots/native_notification.png b/screenshots/native_notification.png
new file mode 100644
index 00000000..be246d1d
Binary files /dev/null and b/screenshots/native_notification.png differ
diff --git a/shard.yml b/shard.yml
index a93ac9d3..3e2b3d03 100644
--- a/shard.yml
+++ b/shard.yml
@@ -1,5 +1,5 @@
 name: invidious
-version: 0.17.0
+version: 0.19.0
 
 authors:
   - Omar Roth - #{translate(locale, "View `x` replies", child["replies"]["replyCount"].to_s)} -
+ String.build do |html| + root = comments["comments"].as_a + root.each do |child| + if child["replies"]? + replies_html = <<-END_HTML + -- - #{child["author"]} - -
#{child["contentHtml"]}
- #{translate(locale, "`x` ago", recode_date(Time.unix(child["published"].as_i64), locale))} #{child["isEdited"] == true ? translate(locale, "(edited)") : ""} - | - [YT] - | - #{number_with_separator(child["likeCount"])} - END_HTML - - if child["creatorHeart"]? - if !thin_mode - creator_thumbnail = "/ggpht#{URI.parse(child["creatorHeart"]["creatorThumbnail"].as_s).full_path}" - else - creator_thumbnail = "" + END_HTML end - html += <<-END_HTML + if !thin_mode + author_thumbnail = "/ggpht#{URI.parse(child["authorThumbnails"][-1]["url"].as_s).full_path}" + else + author_thumbnail = "" + end + + html << <<-END_HTML ++ + #{child["author"]} + +
#{child["contentHtml"]}
+ END_HTML + + if child["attachment"]? + attachment = child["attachment"] + + case attachment["type"] + when "image" + attachment = attachment["imageThumbnails"][1] + + html << <<-END_HTML +#{attachment["error"]}
+ END_HTML + else + html << <<-END_HTML + + END_HTML + end + + html << <<-END_HTML +- [ - ] - #{author} - #{translate(locale, "`x` points", number_with_separator(score))} - #{translate(locale, "`x` ago", recode_date(child.created_utc, locale))} -
-+ [ - ] + #{child.author} + #{translate(locale, "`x` points", number_with_separator(child.score))} + #{translate(locale, "`x` ago", recode_date(child.created_utc, locale))} + #{translate(locale, "permalink")} +
+