User: Remove broken Google login (#3893)
This commit is contained in:
commit
c3a3f98014
|
@ -255,8 +255,7 @@ https_only: false
|
|||
#registration_enabled: true
|
||||
|
||||
##
|
||||
## Allow/Forbid users to log-in. This setting affects the ability
|
||||
## to connect with BOTH Google and Invidious (local) accounts.
|
||||
## Allow/Forbid users to log-in.
|
||||
##
|
||||
## Accepted values: true, false
|
||||
## Default: true
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "هل تريد محو سجل المشاهدة؟",
|
||||
"New password": "كلمة مرور جديدة",
|
||||
"New passwords must match": "يَجبُ أن تكون كلمتا المرور متطابقتين",
|
||||
"Cannot change password for Google accounts": "لا يُمكن تغيير كلمة المرور لِحسابات جوجل",
|
||||
"Authorize token?": "رمز التفويض؟",
|
||||
"Authorize token for `x`?": "السماح بالرمز المميز ل 'x'؟",
|
||||
"Yes": "نعم",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "المصدر",
|
||||
"Log in": "تسجيل الدخول",
|
||||
"Log in/register": "تسجيل الدخول \\ إنشاء حساب",
|
||||
"Log in with Google": "تسجيل الدخول باستخدام جوجل",
|
||||
"User ID": "مُعرِّف المُستخدم",
|
||||
"Password": "كلمة المرور",
|
||||
"Time (h:mm:ss):": "الوقت (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "تسجيل الدخول",
|
||||
"Register": "التسجيل",
|
||||
"E-mail": "البريد الإلكتروني",
|
||||
"Google verification code": "رمز تحقق جوجل",
|
||||
"Preferences": "الإعدادات",
|
||||
"preferences_category_player": "إعدادات المُشغِّل",
|
||||
"preferences_video_loop_label": "كرر المقطع المرئيّ دائما: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"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.": "غير قادر على تسجيل الدخول، تأكد من تشغيل المصادقة الثنائية 2FA.",
|
||||
"Invalid TFA code": "كود مصادقة ثنائية 2FA غير صحيح",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "فشل تسجيل الدخول. قد يكون هذا بسبب أن المصادقة الثنائية 2FA معطلة في حسابك.",
|
||||
"Wrong answer": "إجابة خاطئة",
|
||||
"Erroneous CAPTCHA": "الكابتشا CAPTCHA غير صاحلة",
|
||||
"CAPTCHA is a required field": "مكان الكابتشا CAPTCHA مطلوب",
|
||||
"User ID is a required field": "مكان اسم المستخدم مطلوب",
|
||||
"Password is a required field": "مكان كلمة السر مطلوب",
|
||||
"Wrong username or password": "اسم المستخدم او كلمة السر غير صحيح",
|
||||
"Please sign in using 'Log in with Google'": "الرجاء تسجيل الدخول باستخدام \"تسجيل الدخول باستخدام Google\"",
|
||||
"Password cannot be empty": "لا يمكن أن تكون كلمة السر فارغة",
|
||||
"Password cannot be longer than 55 characters": "يجب أن لا تتعدى كلمة السر 55 حرفًا",
|
||||
"Please log in": "الرجاء تسجيل الدخول",
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
"Clear watch history?": "দেখার ইতিহাস সাফ করবেন?",
|
||||
"New password": "নতুন পাসওয়ার্ড",
|
||||
"New passwords must match": "নতুন পাসওয়ার্ড অবশ্যই মিলতে হবে",
|
||||
"Cannot change password for Google accounts": "গুগল অ্যাকাউন্টগুলোর জন্য পাসওয়ার্ড পরিবর্তন করা যায় না",
|
||||
"Authorize token?": "টোকেন অনুমোদন করবেন?",
|
||||
"Authorize token for `x`?": "`x` -এর জন্য টোকেন অনুমোদন?",
|
||||
"Yes": "হ্যাঁ",
|
||||
|
@ -34,7 +33,6 @@
|
|||
"source": "সূত্র",
|
||||
"Log in": "লগ ইন",
|
||||
"Log in/register": "লগ ইন/রেজিস্টার",
|
||||
"Log in with Google": "গুগল দিয়ে লগ ইন করুন",
|
||||
"User ID": "ইউজার আইডি",
|
||||
"Password": "পাসওয়ার্ড",
|
||||
"Time (h:mm:ss):": "সময় (ঘণ্টা:মিনিট:সেকেন্ড):",
|
||||
|
@ -43,7 +41,6 @@
|
|||
"Sign In": "সাইন ইন",
|
||||
"Register": "নিবন্ধন",
|
||||
"E-mail": "ই-মেইল",
|
||||
"Google verification code": "গুগল যাচাইকরণ কোড",
|
||||
"Preferences": "পছন্দসমূহ",
|
||||
"preferences_category_player": "প্লেয়ারের পছন্দসমূহ",
|
||||
"preferences_video_loop_label": "সর্বদা লুপ: ",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "দেখার ইতিহাস সাফ করবেন?",
|
||||
"New password": "নতুন পাসওয়ার্ড",
|
||||
"New passwords must match": "নতুন পাসওয়ার্ড অবশ্যই মিলতে হবে",
|
||||
"Cannot change password for Google accounts": "গুগল অ্যাকাউন্টগুলোর জন্য পাসওয়ার্ড পরিবর্তন করা যায় না",
|
||||
"Authorize token?": "টোকেন অনুমোদন করবেন?",
|
||||
"Authorize token for `x`?": "`x` -এর জন্য টোকেন অনুমোদন?",
|
||||
"Yes": "হ্যাঁ",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "সূত্র",
|
||||
"Log in": "লগ ইন",
|
||||
"Log in/register": "লগ ইন/রেজিস্টার",
|
||||
"Log in with Google": "গুগল দিয়ে লগ ইন করুন",
|
||||
"User ID": "ইউজার আইডি",
|
||||
"Password": "পাসওয়ার্ড",
|
||||
"Time (h:mm:ss):": "সময় (ঘণ্টা:মিনিট:সেকেন্ড):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "সাইন ইন",
|
||||
"Register": "নিবন্ধন",
|
||||
"E-mail": "ই-মেইল",
|
||||
"Google verification code": "গুগল যাচাইকরণ কোড",
|
||||
"Preferences": "পছন্দসমূহ",
|
||||
"preferences_category_player": "প্লেয়ারের পছন্দসমূহ",
|
||||
"preferences_video_loop_label": "সর্বদা লুপ: ",
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
"preferences_quality_label": "Qualitat de vídeo preferida: ",
|
||||
"newest": "més nou",
|
||||
"No": "No",
|
||||
"Google verification code": "Codi de verificació de Google",
|
||||
"User ID": "ID d'usuari",
|
||||
"Preferences": "Preferències",
|
||||
"Dark mode: ": "Mode fosc: ",
|
||||
|
@ -137,7 +136,6 @@
|
|||
"channel_tab_channels_label": "Canals",
|
||||
"channel_tab_playlists_label": "Llistes de reproducció",
|
||||
"channel_tab_community_label": "Comunitat",
|
||||
"Invalid TFA code": "Codi TFA no vàlid",
|
||||
"Czech": "Txec",
|
||||
"Default": "Per defecte",
|
||||
"Amharic": "Amàric",
|
||||
|
@ -186,7 +184,6 @@
|
|||
"Released under the AGPLv3 on Github.": "Publicat sota l'AGPLv3 a GitHub.",
|
||||
"Token manager": "Gestor de testimonis",
|
||||
"Watch history": "Historial de reproduccions",
|
||||
"Cannot change password for Google accounts": "No es pot canviar la contrasenya dels comptes de Google",
|
||||
"Authorize token?": "Autoritzar testimoni?",
|
||||
"Source available here.": "Font disponible aquí.",
|
||||
"Export subscriptions as OPML (for NewPipe & FreeTube)": "Exporta subscripcions com a OPML (per a NewPipe i FreeTube)",
|
||||
|
@ -225,7 +222,6 @@
|
|||
},
|
||||
"View Reddit comments": "Veure comentaris de Reddit",
|
||||
"Incorrect password": "Contrasenya incorrecta",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "No es pot iniciar la sessió, assegureu-vos que l'autenticació de dos factors (Autenticador o SMS) estigui activada.",
|
||||
"Erroneous CAPTCHA": "CAPTCHA erroni",
|
||||
"CAPTCHA is a required field": "El CAPTCHA és un camp obligatori",
|
||||
"Korean (auto-generated)": "Coreà (generat automàticament)",
|
||||
|
@ -272,7 +268,6 @@
|
|||
"Khmer": "Khmer",
|
||||
"This channel does not exist.": "Aquest canal no existeix.",
|
||||
"Song: ": "Cançó: ",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "S'ha produït un error en iniciar sessió. Això pot ser perquè l'autenticació de dos factors no està activada per al vostre compte.",
|
||||
"channel:`x`": "canal: `x`",
|
||||
"Deleted or invalid channel": "Canal suprimit o no vàlid",
|
||||
"Could not get channel info.": "No s'ha pogut obtenir la informació del canal.",
|
||||
|
@ -291,7 +286,6 @@
|
|||
"User ID is a required field": "L'identificador d'usuari és un camp obligatori",
|
||||
"Password is a required field": "La contrasenya és un camp obligatori",
|
||||
"Wrong username or password": "Nom d'usuari o contrasenya incorrectes",
|
||||
"Please sign in using 'Log in with Google'": "Si us plau, inicieu la sessió amb 'Inicieu sessió amb Google'",
|
||||
"Password cannot be longer than 55 characters": "La contrasenya no pot tenir més de 55 caràcters",
|
||||
"Invidious Private Feed for `x`": "Feed privat Invidious per a `x`",
|
||||
"generic_views_count": "{{count}} visualització",
|
||||
|
@ -436,7 +430,6 @@
|
|||
"preferences_quality_dash_option_240p": "240p",
|
||||
"preferences_quality_dash_option_720p": "720p",
|
||||
"preferences_quality_dash_option_480p": "480p",
|
||||
"Log in with Google": "Inicia sessió amb Google",
|
||||
"preferences_quality_dash_option_1440p": "1440p",
|
||||
"Previous page": "Pàgina anterior",
|
||||
"Only show latest video from channel: ": "Mostra només l'últim vídeo del canal: ",
|
||||
|
@ -445,7 +438,6 @@
|
|||
"Import NewPipe subscriptions (.json)": "Importar subscripcions de NewPipe (.json)",
|
||||
"crash_page_you_found_a_bug": "Heu trobat un error a Invidious!",
|
||||
"Subscribe": "Subscriu-me",
|
||||
"Quota exceeded, try again in a few hours": "S'ha superat la quota, torna-ho a provar d'aquí a unes hores",
|
||||
"generic_count_days": "{{count}} dia",
|
||||
"generic_count_days_plural": "{{count}} dies",
|
||||
"Trending": "Tendència",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Smazat historii?",
|
||||
"New password": "Nové heslo",
|
||||
"New passwords must match": "Hesla se musí shodovat",
|
||||
"Cannot change password for Google accounts": "Nelze změnit heslo pro účty Google",
|
||||
"Authorize token?": "Autorizovat token?",
|
||||
"Authorize token for `x`?": "Autorizovat token pro `x`?",
|
||||
"Yes": "Ano",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "zdrojový kód",
|
||||
"Log in": "Přihlásit se",
|
||||
"Log in/register": "Přihlásit se/vytvořit účet",
|
||||
"Log in with Google": "Přihlásit se s Googlem",
|
||||
"User ID": "ID uživatele",
|
||||
"Password": "Heslo",
|
||||
"Time (h:mm:ss):": "Čas (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Přihlásit se",
|
||||
"Register": "Vytvořit účet",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Verifikační číslo Google",
|
||||
"Preferences": "Nastavení",
|
||||
"preferences_category_player": "Nastavení přehravače",
|
||||
"preferences_video_loop_label": "Vždy opakovat: ",
|
||||
|
@ -335,7 +332,6 @@
|
|||
"preferences_quality_dash_option_1440p": "1440p",
|
||||
"invidious": "Invidious",
|
||||
"View more comments on Reddit": "Zobrazit více komentářů na Redditu",
|
||||
"Invalid TFA code": "Nesprávný TFA kód",
|
||||
"generic_playlists_count_0": "{{count}} playlist",
|
||||
"generic_playlists_count_1": "{{count}} playlisty",
|
||||
"generic_playlists_count_2": "{{count}} playlistů",
|
||||
|
@ -349,7 +345,6 @@
|
|||
"subscriptions_unseen_notifs_count_1": "{{count}} nezobrazená oznámení",
|
||||
"subscriptions_unseen_notifs_count_2": "{{count}} nezobrazených oznámení",
|
||||
"Show replies": "Zobrazit odpovědi",
|
||||
"Quota exceeded, try again in a few hours": "Kvóta překročena, zkuste to znovu za pár hodin",
|
||||
"Password cannot be longer than 55 characters": "Heslo nesmí být delší než 55 znaků",
|
||||
"comments_view_x_replies_0": "Zobrazit {{count}} odpověď",
|
||||
"comments_view_x_replies_1": "Zobrazit {{count}} odpovědi",
|
||||
|
@ -433,7 +428,6 @@
|
|||
"View YouTube comments": "Zobrazit YouTube komentáře",
|
||||
"Blacklisted regions: ": "Oblasti na černé listině: ",
|
||||
"Wrong username or password": "Nesprávné uživatelské jméno nebo heslo",
|
||||
"Please sign in using 'Log in with Google'": "Přihlaste se prosím pomocí Googlu",
|
||||
"Password cannot be empty": "Heslo nemůže být prázné",
|
||||
"preferences_category_misc": "Různá nastavení",
|
||||
"preferences_show_nick_label": "Zobrazit přezdívku na vrchu: ",
|
||||
|
@ -452,8 +446,6 @@
|
|||
"([^.,0-9]|^)1([^.,0-9]|$)": "Zobrazit `x` komentář",
|
||||
"": "Zobrazit `x` komentářů"
|
||||
},
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Nepodařilo se přihlásit, ujistěte se, že je povoleno dvoufázové ověřování (autentifikátor nebo SMS).",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Přihlášení selhalo. Toto se může stát, když není na vašem účtu povolené dvoufázové ověřování.",
|
||||
"Could not get channel info.": "Nepodařilo se získat informace o kanálu.",
|
||||
"Could not fetch comments": "Nepodařilo se získat komentáře",
|
||||
"Could not create mix.": "Nepodařilo se vytvořit mix.",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Ryd afspilningshistorik?",
|
||||
"New password": "Nyt kodeord",
|
||||
"New passwords must match": "Nye kodeord skal matche",
|
||||
"Cannot change password for Google accounts": "Kan ikke skifte kodeord til Google-konti",
|
||||
"Authorize token?": "Godkend token?",
|
||||
"Authorize token for `x`?": "Godkend token til `x`?",
|
||||
"Yes": "Ja",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "kilde",
|
||||
"Log in": "Log på",
|
||||
"Log in/register": "Log på/registrer",
|
||||
"Log in with Google": "Log på med Google",
|
||||
"User ID": "Bruger ID",
|
||||
"Password": "Kodeord",
|
||||
"Time (h:mm:ss):": "Tid (t:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Log ind",
|
||||
"Register": "Registrer",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Google-verifikationskode",
|
||||
"Preferences": "Præferencer",
|
||||
"preferences_category_player": "Afspillerindstillinger",
|
||||
"preferences_video_loop_label": "Altid gentag: ",
|
||||
|
@ -159,17 +156,12 @@
|
|||
"Hide replies": "Skjul svar",
|
||||
"Show replies": "Vis svar",
|
||||
"Incorrect password": "Forkert adgangskode",
|
||||
"Quota exceeded, try again in a few hours": "Kvota overskredet, prøv igen om et par timer",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Login fejlet, tjek at totrinsbekræftelse (Authenticator eller SMS) er slået til.",
|
||||
"Invalid TFA code": "Ugyldig TFA kode",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Login fejlede. Dette kan skyldes, at to-faktor autentificering ikke er aktiveret for din konto.",
|
||||
"Wrong answer": "Forkert svar",
|
||||
"Erroneous CAPTCHA": "Fejlagtig CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA er et obligatorisk felt",
|
||||
"User ID is a required field": "Bruger ID er et krævet felt",
|
||||
"Password is a required field": "Adgangskode er et obligatorisk felt",
|
||||
"Wrong username or password": "Forkert brugernavn eller adgangskode",
|
||||
"Please sign in using 'Log in with Google'": "Log ind via 'Log ind med Google'",
|
||||
"Password cannot be empty": "Adgangskoden må ikke være tom",
|
||||
"Password cannot be longer than 55 characters": "Adgangskoden må ikke være længere end 55 tegn",
|
||||
"Please log in": "Venligst log ind",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Verlauf löschen?",
|
||||
"New password": "Neues Passwort",
|
||||
"New passwords must match": "Neue Passwörter müssen übereinstimmen",
|
||||
"Cannot change password for Google accounts": "Ich kann das Passwort deines Google Kontos nicht ändern",
|
||||
"Authorize token?": "Token autorisieren?",
|
||||
"Authorize token for `x`?": "Token für `x` autorisieren?",
|
||||
"Yes": "Ja",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "Quelle",
|
||||
"Log in": "Anmelden",
|
||||
"Log in/register": "Anmelden/registrieren",
|
||||
"Log in with Google": "Mit Google anmelden",
|
||||
"User ID": "Benutzer-ID",
|
||||
"Password": "Passwort",
|
||||
"Time (h:mm:ss):": "Zeit (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Anmelden",
|
||||
"Register": "Registrieren",
|
||||
"E-mail": "E-Mail",
|
||||
"Google verification code": "Google-Bestätigungscode",
|
||||
"Preferences": "Einstellungen",
|
||||
"preferences_category_player": "Wiedergabeeinstellungen",
|
||||
"preferences_video_loop_label": "Immer wiederholen: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"Hide replies": "Antworten verstecken",
|
||||
"Show replies": "Antworten anzeigen",
|
||||
"Incorrect password": "Falsches Passwort",
|
||||
"Quota exceeded, try again in a few hours": "Kontingent überschritten, versuche es in ein paar Stunden erneut",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Anmeldung nicht möglich, stellen Sie sicher, dass die Zwei-Faktor-Authentisierung (Authenticator oder SMS) aktiviert ist.",
|
||||
"Invalid TFA code": "Ungültiger TFA Code",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Die Anmeldung ist fehlgeschlagen. Dies kann daran liegen, dass die Zwei-Faktor-Authentisierung für Ihr Konto nicht aktiviert ist.",
|
||||
"Wrong answer": "Ungültige Antwort",
|
||||
"Erroneous CAPTCHA": "Ungültiges CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA ist eine erforderliche Eingabe",
|
||||
"User ID is a required field": "Benutzer ID ist eine erforderliche Eingabe",
|
||||
"Password is a required field": "Passwort ist eine erforderliche Eingabe",
|
||||
"Wrong username or password": "Ungültiger Benutzername oder Passwort",
|
||||
"Please sign in using 'Log in with Google'": "Bitte melden Sie sich mit „Mit Google anmelden“ an",
|
||||
"Password cannot be empty": "Passwort darf nicht leer sein",
|
||||
"Password cannot be longer than 55 characters": "Passwort darf nicht länger als 55 Zeichen sein",
|
||||
"Please log in": "Bitte anmelden",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Διαγραφή ιστορικού προβολής;",
|
||||
"New password": "Νέος κωδικός πρόσβασης",
|
||||
"New passwords must match": "Οι νέοι κωδικοί πρόσβασης πρέπει να ταιριάζουν",
|
||||
"Cannot change password for Google accounts": "Δεν επιτρέπεται η αλλαγή κωδικού πρόσβασης λογαριασμών Google",
|
||||
"Authorize token?": "Εξουσιοδότηση διασύνδεσης;",
|
||||
"Authorize token for `x`?": "Εξουσιοδότηση διασύνδεσης με `x`;",
|
||||
"Yes": "Ναι",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "πηγή",
|
||||
"Log in": "Σύνδεση",
|
||||
"Log in/register": "Σύνδεση/εγγραφή",
|
||||
"Log in with Google": "Σύνδεση με Google",
|
||||
"User ID": "Ταυτότητα χρήστη",
|
||||
"Password": "Κωδικός πρόσβασης",
|
||||
"Time (h:mm:ss):": "Ώρα (ω:λλ:δδ):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Σύνδεση",
|
||||
"Register": "Εγγραφή",
|
||||
"E-mail": "Ηλεκτρονικό ταχυδρομείο",
|
||||
"Google verification code": "Κωδικός επαλήθευσης Google",
|
||||
"Preferences": "Προτιμήσεις",
|
||||
"preferences_category_player": "Προτιμήσεις αναπαραγωγής",
|
||||
"preferences_video_loop_label": "Αυτόματη επανάληψη: ",
|
||||
|
@ -155,17 +152,12 @@
|
|||
"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.": "Αδυναμία σύνδεσης, βεβαιωθείτε πως ο έλεγχος ταυτότητας δύο παραγόντων (με Authenticator ή SMS) είναι ενεργοποιημένος.",
|
||||
"Invalid TFA code": "Μη έγκυρος κωδικός ελέγχου ταυτότητας δύο παραγόντων",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Αποτυχία σύνδεσης. Ίσως ευθύνεται η έλλειψη ελέγχου ταυτότητας δύο παραγόντων για το λογαριασμό σας.",
|
||||
"Wrong answer": "Λανθασμένη απάντηση",
|
||||
"Erroneous CAPTCHA": "Λανθασμένο CAPTCHA",
|
||||
"CAPTCHA is a required field": "Το CAPTCHA είναι απαιτούμενο πεδίο",
|
||||
"User ID is a required field": "Η ταυτότητα χρήστη είναι απαιτούμενο πεδίο",
|
||||
"Password is a required field": "Ο κωδικός πρόσβασης είναι απαιτούμενο πεδίο",
|
||||
"Wrong username or password": "Λανθασμένο όνομα χρήστη ή κωδικός πρόσβασης",
|
||||
"Please sign in using 'Log in with Google'": "Συνδεθείτε με την επιλογή 'Σύνδεση με Google'",
|
||||
"Password cannot be empty": "Ο κωδικός πρόσβασης δεν γίνεται να είναι κενός",
|
||||
"Password cannot be longer than 55 characters": "Ο κωδικός πρόσβασης δεν γίνεται να υπερβαίνει τους 55 χαρακτήρες",
|
||||
"Please log in": "Συνδεθείτε",
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
"Clear watch history?": "Clear watch history?",
|
||||
"New password": "New password",
|
||||
"New passwords must match": "New passwords must match",
|
||||
"Cannot change password for Google accounts": "Cannot change password for Google accounts",
|
||||
"Authorize token?": "Authorize token?",
|
||||
"Authorize token for `x`?": "Authorize token for `x`?",
|
||||
"Yes": "Yes",
|
||||
|
@ -48,7 +47,6 @@
|
|||
"source": "source",
|
||||
"Log in": "Log in",
|
||||
"Log in/register": "Log in/register",
|
||||
"Log in with Google": "Log in with Google",
|
||||
"User ID": "User ID",
|
||||
"Password": "Password",
|
||||
"Time (h:mm:ss):": "Time (h:mm:ss):",
|
||||
|
@ -57,7 +55,6 @@
|
|||
"Sign In": "Sign In",
|
||||
"Register": "Register",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Google verification code",
|
||||
"Preferences": "Preferences",
|
||||
"preferences_category_player": "Player preferences",
|
||||
"preferences_video_loop_label": "Always loop: ",
|
||||
|
@ -208,17 +205,12 @@
|
|||
"Hide replies": "Hide replies",
|
||||
"Show replies": "Show replies",
|
||||
"Incorrect password": "Incorrect password",
|
||||
"Quota exceeded, try again in a few hours": "Quota exceeded, try again in a few hours",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.",
|
||||
"Invalid TFA code": "Invalid TFA code",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Login failed. This may be because two-factor authentication is not turned on for your account.",
|
||||
"Wrong answer": "Wrong answer",
|
||||
"Erroneous CAPTCHA": "Erroneous CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA is a required field",
|
||||
"User ID is a required field": "User ID is a required field",
|
||||
"Password is a required field": "Password is a required field",
|
||||
"Wrong username or password": "Wrong username or password",
|
||||
"Please sign in using 'Log in with Google'": "Please sign in using 'Log in with Google'",
|
||||
"Password cannot be empty": "Password cannot be empty",
|
||||
"Password cannot be longer than 55 characters": "Password cannot be longer than 55 characters",
|
||||
"Please log in": "Please log in",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Ĉu forigi vidohistorion?",
|
||||
"New password": "Nova pasvorto",
|
||||
"New passwords must match": "Novaj pasvortoj devas kongrui",
|
||||
"Cannot change password for Google accounts": "Ne eblas ŝanĝi pasvorton por kontoj de Google",
|
||||
"Authorize token?": "Ĉu rajtigi ĵetonon?",
|
||||
"Authorize token for `x`?": "Ĉu rajtigi ĵetonon por `x`?",
|
||||
"Yes": "Jes",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "fonto",
|
||||
"Log in": "Ensaluti",
|
||||
"Log in/register": "Ensaluti/Registriĝi",
|
||||
"Log in with Google": "Ensaluti al Google",
|
||||
"User ID": "Uzula identigilo",
|
||||
"Password": "Pasvorto",
|
||||
"Time (h:mm:ss):": "Horo (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Ensaluti",
|
||||
"Register": "Registriĝi",
|
||||
"E-mail": "Retpoŝto",
|
||||
"Google verification code": "Kontrolkodo de Google",
|
||||
"Preferences": "Agordoj",
|
||||
"preferences_category_player": "Spektilaj agordoj",
|
||||
"preferences_video_loop_label": "Ĉiam ripeti: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"Hide replies": "Kaŝi respondojn",
|
||||
"Show replies": "Montri respondojn",
|
||||
"Incorrect password": "Malbona pasvorto",
|
||||
"Quota exceeded, try again in a few hours": "Kvoto transpasita, provu denove post iuj horoj",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Ne povas ensaluti, certigu, ke dufaktora aŭtentigo (Authenticator aŭ SMS) estas ebligita.",
|
||||
"Invalid TFA code": "Nevalida TFA-kodo",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Ensalutado fiaskis. Eble ĉar la dufaktora aŭtentigo estas malebligita en via konto.",
|
||||
"Wrong answer": "Nevalida respondo",
|
||||
"Erroneous CAPTCHA": "Nevalida CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA estas deviga kampo",
|
||||
"User ID is a required field": "Uzula identigilo estas deviga kampo",
|
||||
"Password is a required field": "Pasvorto estas deviga kampo",
|
||||
"Wrong username or password": "Nevalida uzantnomo aŭ pasvorto",
|
||||
"Please sign in using 'Log in with Google'": "Bonvolu ensaluti per 'Ensaluti per Google'",
|
||||
"Password cannot be empty": "Pasvorto ne povas esti malplena",
|
||||
"Password cannot be longer than 55 characters": "Pasvorto ne povas esti pli longa ol 55 signoj",
|
||||
"Please log in": "Bonvolu ensaluti",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "¿Quiere borrar el historial de reproducción?",
|
||||
"New password": "Nueva contraseña",
|
||||
"New passwords must match": "Las nuevas contraseñas deben coincidir",
|
||||
"Cannot change password for Google accounts": "No se puede cambiar la contraseña de la cuenta de Google",
|
||||
"Authorize token?": "¿Autorizar el token?",
|
||||
"Authorize token for `x`?": "¿Autorizar el token para `x`?",
|
||||
"Yes": "Sí",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "código fuente",
|
||||
"Log in": "Iniciar sesión",
|
||||
"Log in/register": "Iniciar sesión/Registrarse",
|
||||
"Log in with Google": "Iniciar sesión en Google",
|
||||
"User ID": "Nombre",
|
||||
"Password": "Contraseña",
|
||||
"Time (h:mm:ss):": "Hora (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Iniciar sesión",
|
||||
"Register": "Registrarse",
|
||||
"E-mail": "Correo",
|
||||
"Google verification code": "Código de verificación de Google",
|
||||
"Preferences": "Preferencias",
|
||||
"preferences_category_player": "Preferencias del reproductor",
|
||||
"preferences_video_loop_label": "Repetir siempre: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"Hide replies": "Ocultar las respuestas",
|
||||
"Show replies": "Mostrar las respuestas",
|
||||
"Incorrect password": "Contraseña incorrecta",
|
||||
"Quota exceeded, try again in a few hours": "Cuota excedida, prueba otra vez en unas horas",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "No se puede iniciar sesión, asegúrese de que la autentificación de dos factores (autentificador o SMS) esté habilitada.",
|
||||
"Invalid TFA code": "Código TFA no válido",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Error de inicio de sesion. Puede deberse a que la autentificación de dos factores no está habilitada en su cuenta.",
|
||||
"Wrong answer": "Respuesta no válida",
|
||||
"Erroneous CAPTCHA": "CAPTCHA no válido",
|
||||
"CAPTCHA is a required field": "El CAPTCHA es un campo obligatorio",
|
||||
"User ID is a required field": "El nombre es un campo obligatorio",
|
||||
"Password is a required field": "La contraseña es un campo obligatorio",
|
||||
"Wrong username or password": "Nombre o contraseña incorrecto",
|
||||
"Please sign in using 'Log in with Google'": "Inicie sesión con «Iniciar sesión con Google»",
|
||||
"Password cannot be empty": "La contraseña no puede estar en blanco",
|
||||
"Password cannot be longer than 55 characters": "La contraseña no debe tener más de 55 caracteres",
|
||||
"Please log in": "Inicie sesión, por favor",
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
"Clear watch history?": "Kustuta vaatamiste ajalugu?",
|
||||
"New password": "Uus salasõna",
|
||||
"New passwords must match": "Uued salasõnad peavad ühtima",
|
||||
"Cannot change password for Google accounts": "Google'i kasutaja salasõna ei saa muuta",
|
||||
"Import and Export Data": "Impordi ja ekspordi andmed",
|
||||
"Import": "Impordi",
|
||||
"Import YouTube subscriptions": "Impordi tellimused Youtube'ist/OPML-ist",
|
||||
|
@ -38,7 +37,6 @@
|
|||
"History": "Ajalugu",
|
||||
"JavaScript license information": "JavaScripti litsentsi info",
|
||||
"source": "allikas",
|
||||
"Log in with Google": "Logi sisse Google'iga",
|
||||
"User ID": "Kasutada ID",
|
||||
"Password": "Salasõna",
|
||||
"Time (h:mm:ss):": "Aeg (h:mm:ss):",
|
||||
|
@ -118,12 +116,10 @@
|
|||
"Hide replies": "Peida vastused",
|
||||
"Show replies": "Näita vastuseid",
|
||||
"Incorrect password": "Vale salasõna",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Sisselogimine ei õnnestunud. Asi võib olla selles, et",
|
||||
"Wrong answer": "Vale vastus",
|
||||
"User ID is a required field": "Kasutaja ID on kohustuslik väli",
|
||||
"Password is a required field": "Salasõna on kohustuslik väli",
|
||||
"Wrong username or password": "Vale kasutajanimi või salasõna",
|
||||
"Please sign in using 'Log in with Google'": "Palun kasutage 'Logi sisse Google'iga'",
|
||||
"Password cannot be longer than 55 characters": "Salasõna ei tohi olla pikem kui 55 tähemärki",
|
||||
"Password cannot be empty": "Salasõna ei tohi olla tühi",
|
||||
"Please log in": "Palun logige sisse",
|
||||
|
@ -290,8 +286,6 @@
|
|||
"": "Vaata `x` kommentaare"
|
||||
},
|
||||
"Khmer": "Khmeeri",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Sisselogimine ei õnnestunud. Kontrollige, kas two-factor authentication (Authenticator või SMS) on sisselülitatud.",
|
||||
"Invalid TFA code": "Vale TFA-kood",
|
||||
"Bosnian": "Bosnia",
|
||||
"Corsican": "Korsika",
|
||||
"Javanese": "Jaava",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Garbitu ikusitakoen historia?",
|
||||
"New password": "Pasahitz berria",
|
||||
"New passwords must match": "Pasahitza berriek bat egin behar dute",
|
||||
"Cannot change password for Google accounts": "Ezin da pasahitza aldatu Google kontuetan",
|
||||
"Authorize token?": "Baimendu tokena?",
|
||||
"Yes": "Bai",
|
||||
"No": "Ez",
|
||||
|
@ -36,7 +35,6 @@
|
|||
"source": "iturburua",
|
||||
"Log in": "Saioa hasi",
|
||||
"Log in/register": "Hasi saioa / Eman izena",
|
||||
"Log in with Google": "Hasi saioa Googlekin",
|
||||
"User ID": "Erabiltzaile IDa",
|
||||
"Password": "Pasahitza",
|
||||
"Time (h:mm:ss):": "Denbora (h:mm:ss):",
|
||||
|
@ -93,7 +91,6 @@
|
|||
"Import/export data": "Inportatu/exportatu data",
|
||||
"Create playlist": "Zerrenda sortu",
|
||||
"Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Aditu! JavaScript itzalita dakazula ematen du. Hemen sakatu iruzkinak ikusteko. Denbora luza leikeela kontuan hartu.",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Ezinezkoa izena eman. Ziurtatu berresteko bi faktoreak (Authenticator edo SMS) piztuta daudela.",
|
||||
"generic_views_count": "{{count}}ikusia",
|
||||
"generic_views_count_plural": "{{count}}ikusiak",
|
||||
"generic_playlists_count": "{{count}}zerrenda",
|
||||
|
@ -136,7 +133,6 @@
|
|||
"License: ": "Lizentzia: ",
|
||||
"Family friendly? ": "Adeikorra familiarekin? ",
|
||||
"Wilson score: ": "Wilsonen puntuazioa: ",
|
||||
"Quota exceeded, try again in a few hours": "Kuota gaindituta, ordu batzuren bueltan berriro saiatu",
|
||||
"comments_view_x_replies": "{{count}} erantzuna ikusi",
|
||||
"comments_view_x_replies_plural": "{{count}} erantzunak ikusi",
|
||||
"Catalan": "Katalaniera",
|
||||
|
@ -204,7 +200,6 @@
|
|||
"preferences_category_data": "Dataren lehentasunak",
|
||||
"preferences_default_home_label": "Homepage lehenetsia: ",
|
||||
"preferences_automatic_instance_redirect_label": "berbideratze adibide automatikoa (atzera egin berbideratzeko: invidious.io) ",
|
||||
"Please sign in using 'Log in with Google'": "'Log in Googlerekin' erabili",
|
||||
"`x` uploaded a video": "' x'(e)k bideo bat igo du",
|
||||
"published - reverse": "argitaratuta - alderantziz",
|
||||
"Could not get channel info.": "Kanalaren adierazpena ezin lortu.",
|
||||
|
@ -220,7 +215,6 @@
|
|||
"Premieres in `x`": "'x'eko estrenaldiak",
|
||||
"Delete playlist `x`?": "'x' zerrenda ezabatu nahi?",
|
||||
"Token is expired, please try again": "Token kadukatua, saiatu berriro",
|
||||
"Invalid TFA code": "TFA kodea ez da zuzena",
|
||||
"CAPTCHA enabled: ": "CAPTCHA gaitu: ",
|
||||
"Released under the AGPLv3 on Github.": "GitHubeko AGPLv3pean argitaratuta.",
|
||||
"channel:`x`": "Kanal: 'x'",
|
||||
|
@ -242,9 +236,7 @@
|
|||
"preferences_category_subscription": "Harpidetzaren lehentasunak",
|
||||
"Hidden field \"challenge\" is a required field": "\"challenge\" eremu ezkutua beharrezkoa da",
|
||||
"German": "Alemaniarra",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Ezin izena eman. Izan leike zure konturako berresteko bi faktoreak piztuta ez daudela.",
|
||||
"View YouTube comments": "YouTubeko iruzkinak ikusi",
|
||||
"Google verification code": "Googleren berresteko kodea",
|
||||
"`x` is live": "'x' bizirik darrai",
|
||||
"Password cannot be empty": "Pasahitza ezin da hutsik utzi",
|
||||
"preferences_video_loop_label": "Beti begiztatu: ",
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
"Clear watch history?": "پاک کردن تاریخچه نمایش؟",
|
||||
"New password": "گذرواژه تازه",
|
||||
"New passwords must match": "گذارواژه های تازه باید باهم همخوانی داشته باشند",
|
||||
"Cannot change password for Google accounts": "نمیتوان گذرواژه را برای حساب های کاربری گوگل تغییر داد",
|
||||
"Authorize token?": "توکن دسترسی؟",
|
||||
"Authorize token for `x`?": "توکن دسترسی برای `x`؟",
|
||||
"Yes": "بله",
|
||||
|
@ -42,7 +41,6 @@
|
|||
"source": "منبع",
|
||||
"Log in": "ورود",
|
||||
"Log in/register": "ورود/ثبت نام",
|
||||
"Log in with Google": "ورود با گوگل",
|
||||
"User ID": "شناسه کاربری",
|
||||
"Password": "گذرواژه",
|
||||
"Time (h:mm:ss):": "زمان (h:mm:ss):",
|
||||
|
@ -51,7 +49,6 @@
|
|||
"Sign In": "ورود",
|
||||
"Register": "ثبت نام",
|
||||
"E-mail": "ایمیل",
|
||||
"Google verification code": "کد تایید گوگل",
|
||||
"Preferences": "ترجیحات",
|
||||
"preferences_category_player": "ترجیحات نمایشدهنده",
|
||||
"preferences_video_loop_label": "همواره ویدئو را بازپخش کن ",
|
||||
|
@ -171,17 +168,12 @@
|
|||
"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.": "قادر به ورود نیستید، مطمئن شوید احراز تایید-دومرحله (Authenticator یا پیامکوتاه) خاموش باشد.",
|
||||
"Invalid TFA code": "کد TFA نادرست است",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "ورود با خطا مواجه شد. این ممکن است به خاطر احراز تایید-دومرحله باشد که برای حساب کاربری شما فعال نشده است.",
|
||||
"Wrong answer": "پاسخ غلط",
|
||||
"Erroneous CAPTCHA": "CAPTCHA نا درست",
|
||||
"CAPTCHA is a required field": "CAPTCHA یک فیلد ضروری است",
|
||||
"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": "گذر واژه نمیتواند از ۵۵ کاراکتر بیشتر باشد",
|
||||
"Please log in": "لطفا وارد شوید",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Tyhjennä katseluhistoria?",
|
||||
"New password": "Uusi salasana",
|
||||
"New passwords must match": "Uusien salasanojen täytyy täsmätä",
|
||||
"Cannot change password for Google accounts": "Google-tilien salasanaa ei voi vaihtaa",
|
||||
"Authorize token?": "Valuutetaanko tunnus?",
|
||||
"Authorize token for `x`?": "Valtuutetaanko tunnus `x`:lle?",
|
||||
"Yes": "Kyllä",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "lähde",
|
||||
"Log in": "Kirjaudu sisään",
|
||||
"Log in/register": "Kirjaudu sisään/rekisteröidy",
|
||||
"Log in with Google": "Kirjaudu sisään Googlella",
|
||||
"User ID": "Käyttäjätunnus",
|
||||
"Password": "Salasana",
|
||||
"Time (h:mm:ss):": "Aika (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Kirjaudu sisään",
|
||||
"Register": "Rekisteröidy",
|
||||
"E-mail": "Sähköposti",
|
||||
"Google verification code": "Google-vahvistuskoodi",
|
||||
"Preferences": "Asetukset",
|
||||
"preferences_category_player": "Soittimen asetukset",
|
||||
"preferences_video_loop_label": "Toista jatkuvasti aina: ",
|
||||
|
@ -163,17 +160,12 @@
|
|||
"Hide replies": "Piilota vastaukset",
|
||||
"Show replies": "Näytä vastaukset",
|
||||
"Incorrect password": "Väärä salasana",
|
||||
"Quota exceeded, try again in a few hours": "Kiintiö ylitetty, yritä parin tunnin kuluttua uudestaan",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Sisäänkirjautuminen epäonnistui. Varmista, että kaksivaiheinen tunnistautuminen (Authenticator tai tekstiviesti) on käytössä.",
|
||||
"Invalid TFA code": "Virheellinen turvakoodi",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Sisäänkirjautuminen epäonnistui. Tämä voi johtua siitä, että kaksivaiheinen tunnistautuminen on pois käytöstä tunnuksellasi.",
|
||||
"Wrong answer": "Väärä vastaus",
|
||||
"Erroneous CAPTCHA": "Virheellinen CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA-kenttä vaaditaan",
|
||||
"User ID is a required field": "Käyttäjätunnus vaaditaan",
|
||||
"Password is a required field": "Salasana vaaditaan",
|
||||
"Wrong username or password": "Väärä käyttäjänimi tai salasana",
|
||||
"Please sign in using 'Log in with Google'": "Ole hyvä ja kirjaudu sisään Google-tunnuksella",
|
||||
"Password cannot be empty": "Salasana ei voi olla tyhjä",
|
||||
"Password cannot be longer than 55 characters": "Salasana ei voi olla yli 55 merkkiä pitkä",
|
||||
"Please log in": "Kirjaudu sisään, ole hyvä",
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
"Clear watch history?": "Êtes-vous sûr de vouloir supprimer l'historique des vidéos regardées ?",
|
||||
"New password": "Nouveau mot de passe",
|
||||
"New passwords must match": "Les nouveaux mots de passe doivent correspondre",
|
||||
"Cannot change password for Google accounts": "Le mot de passe d'un compte Google ne peut pas être changé depuis Invidious",
|
||||
"Authorize token?": "Autoriser le token ?",
|
||||
"Authorize token for `x`?": "Autoriser le token pour `x` ?",
|
||||
"Yes": "Oui",
|
||||
|
@ -47,7 +46,6 @@
|
|||
"source": "source",
|
||||
"Log in": "Se connecter",
|
||||
"Log in/register": "Se connecter/S'inscrire",
|
||||
"Log in with Google": "Se connecter avec Google",
|
||||
"User ID": "Identifiant utilisateur",
|
||||
"Password": "Mot de passe",
|
||||
"Time (h:mm:ss):": "Heure (h:mm:ss) :",
|
||||
|
@ -56,7 +54,6 @@
|
|||
"Sign In": "Se connecter",
|
||||
"Register": "S'inscrire",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Code de vérification Google",
|
||||
"Preferences": "Préférences",
|
||||
"preferences_category_player": "Préférences du lecteur",
|
||||
"preferences_video_loop_label": "Lire en boucle : ",
|
||||
|
@ -179,17 +176,12 @@
|
|||
"Hide replies": "Masquer les réponses",
|
||||
"Show replies": "Afficher les réponses",
|
||||
"Incorrect password": "Mot de passe incorrect",
|
||||
"Quota exceeded, try again in a few hours": "Nombre de tentatives de connexion dépassé, réessayez dans quelques heures",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Impossible de se connecter, si après plusieurs tentative vous ne parvenez toujours pas à vous connecter, assurez-vous que l'authentification à deux facteurs (Authenticator ou SMS) est activée.",
|
||||
"Invalid TFA code": "Code d'authentification à deux facteurs invalide",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "La connexion a échoué. Cela peut être dû au fait que l'authentification à deux facteurs n'est pas activée sur votre compte.",
|
||||
"Wrong answer": "Réponse invalide",
|
||||
"Erroneous CAPTCHA": "CAPTCHA invalide",
|
||||
"CAPTCHA is a required field": "Veuillez entrer un CAPTCHA",
|
||||
"User ID is a required field": "Veuillez entrer un Identifiant Utilisateur",
|
||||
"Password is a required field": "Veuillez entrer un Mot de passe",
|
||||
"Wrong username or password": "Nom d'utilisateur ou mot de passe invalide",
|
||||
"Please sign in using 'Log in with Google'": "Veuillez vous connecter en utilisant \"Se connecter avec Google\"",
|
||||
"Password cannot be empty": "Le mot de passe ne peut pas être vide",
|
||||
"Password cannot be longer than 55 characters": "Le mot de passe ne doit pas comporter plus de 55 caractères",
|
||||
"Please log in": "Veuillez vous connecter",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "לנקות את היסטוריית הצפייה?",
|
||||
"New password": "סיסמה חדשה",
|
||||
"New passwords must match": "על הסיסמאות החדשות להתאים",
|
||||
"Cannot change password for Google accounts": "לא ניתן לשנות את הסיסמה לחשבונות Google",
|
||||
"Authorize token?": "לאשר את האסימון?",
|
||||
"Authorize token for `x`?": "האם לאשר את האסימון עבור `x`?",
|
||||
"Yes": "כן",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "source",
|
||||
"Log in": "כניסה",
|
||||
"Log in/register": "כניסה/הרשמה",
|
||||
"Log in with Google": "כניסה עם Google",
|
||||
"User ID": "שם משתמש",
|
||||
"Password": "סיסמה",
|
||||
"Time (h:mm:ss):": "זמן (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "התחברות",
|
||||
"Register": "הרשמה",
|
||||
"E-mail": "דוא״ל",
|
||||
"Google verification code": "קוד האימות של Google",
|
||||
"Preferences": "העדפות",
|
||||
"preferences_category_player": "העדפות הנגן",
|
||||
"preferences_autoplay_label": "ניגון אוטומטי: ",
|
||||
|
@ -137,7 +134,6 @@
|
|||
"User ID is a required field": "חובה למלא את שדה שם המשתמש",
|
||||
"Password is a required field": "חובה למלא את שדה הסיסמה",
|
||||
"Wrong username or password": "שם משתמש שגוי או סיסמה שגויה",
|
||||
"Please sign in using 'Log in with Google'": "נא להתחבר בעזרת \"התחברות עם Google\"",
|
||||
"Password cannot be longer than 55 characters": "על אורך הסיסמה להיות 55 תווים לכל היותר",
|
||||
"Please log in": "נא להתחבר",
|
||||
"channel:`x`": "ערוץ:`x`",
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
"No": "नहीं",
|
||||
"Export subscriptions as OPML (for NewPipe & FreeTube)": "OPML के रूप में सदस्यताएँ निर्यात करें (NewPipe और FreeTube के लिए)",
|
||||
"Log in/register": "लॉग-इन/पंजीकृत करें",
|
||||
"Log in with Google": "Google के साथ लॉग-इन करें",
|
||||
"preferences_autoplay_label": "अपने आप चलाने की सुविधा: ",
|
||||
"preferences_dark_mode_label": "थीम: ",
|
||||
"preferences_default_home_label": "डिफ़ॉल्ट मुखपृष्ठ: ",
|
||||
|
@ -58,7 +57,6 @@
|
|||
"Clear watch history?": "देखने का इतिहास मिटाएँ?",
|
||||
"New password": "नया पासवर्ड",
|
||||
"New passwords must match": "पासवर्ड्स को मेल खाना होगा",
|
||||
"Cannot change password for Google accounts": "Google खातों के लिए पासवर्ड नहीं बदल सकते",
|
||||
"Authorize token?": "टोकन को प्रमाणित करें?",
|
||||
"Authorize token for `x`?": "`x` के लिए टोकन को प्रमाणित करें?",
|
||||
"Import and Export Data": "डेटा को आयात और निर्यात करें",
|
||||
|
@ -81,7 +79,6 @@
|
|||
"Password": "पासवर्ड",
|
||||
"Register": "पंजीकृत करें",
|
||||
"E-mail": "ईमेल",
|
||||
"Google verification code": "Google प्रमाणीकरण कोड",
|
||||
"Time (h:mm:ss):": "समय (घं:मिमि:सेसे):",
|
||||
"Text CAPTCHA": "टेक्स्ट CAPTCHA",
|
||||
"Image CAPTCHA": "चित्र CAPTCHA",
|
||||
|
@ -224,15 +221,10 @@
|
|||
"Hide replies": "जवाब छिपाएँ",
|
||||
"Show replies": "जवाब दिखाएँ",
|
||||
"Incorrect password": "गलत पासवर्ड",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "लॉग-इन नहीं किया जा सका, सुनिश्चित करें कि दो-कारक प्रमाणीकरण (Authenticator या SMS) सक्षम है।",
|
||||
"Invalid TFA code": "अमान्य TFA कोड",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "लॉग-इन नाकाम रहा। ऐसा इसलिए हो सकता है कि दो-कारक प्रमाणीकरण आपके खाते पर सक्षम नहीं है।",
|
||||
"Quota exceeded, try again in a few hours": "कोटा पार हो चुका है, कृपया कुछ घंटों में फिर कोशिश करें",
|
||||
"CAPTCHA is a required field": "CAPTCHA एक ज़रूरी फ़ील्ड है",
|
||||
"User ID is a required field": "सदस्य ID एक ज़रूरी फ़ील्ड है",
|
||||
"Password is a required field": "पासवर्ड एक ज़रूरी फ़ील्ड है",
|
||||
"Wrong username or password": "गलत सदस्यनाम या पासवर्ड",
|
||||
"Please sign in using 'Log in with Google'": "कृपया 'Google के साथ लॉग-इन करें' के साथ साइन-इन करें",
|
||||
"Password cannot be empty": "पासवर्ड खाली नहीं हो सकता",
|
||||
"Password cannot be longer than 55 characters": "पासवर्ड में अधिकतम 55 अक्षर हो सकते हैं",
|
||||
"Invidious Private Feed for `x`": "`x` के लिए Invidious निजी फ़ीड",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Izbrisati povijest gledanja?",
|
||||
"New password": "Nova lozinka",
|
||||
"New passwords must match": "Nove lozinke se moraju poklapati",
|
||||
"Cannot change password for Google accounts": "Nije moguće promijeniti lozinku za Google račune",
|
||||
"Authorize token?": "Autorizirati token?",
|
||||
"Authorize token for `x`?": "Autorizirati token za `x`?",
|
||||
"Yes": "Da",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "izvor",
|
||||
"Log in": "Prijavi se",
|
||||
"Log in/register": "Prijavi se/registriraj se",
|
||||
"Log in with Google": "Prijavi se pomoću Googlea",
|
||||
"User ID": "Korisnički ID",
|
||||
"Password": "Lozinka",
|
||||
"Time (h:mm:ss):": "Vrijeme (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Prijavi se",
|
||||
"Register": "Registriraj se",
|
||||
"E-mail": "E-mail adresa",
|
||||
"Google verification code": "Googleov potvrdni kod",
|
||||
"Preferences": "Postavke",
|
||||
"preferences_category_player": "Postavke playera",
|
||||
"preferences_video_loop_label": "Uvijek ponavljaj: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"Hide replies": "Sakrij odgovore",
|
||||
"Show replies": "Prikaži odgovore",
|
||||
"Incorrect password": "Neispravna lozinka",
|
||||
"Quota exceeded, try again in a few hours": "Kvota je prekoračena. Pokušaj ponovo za par sati",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Prijava neuspjela. Provjeri da je dvofaktorska autentifikacija uključena (Authenticator ili SMS).",
|
||||
"Invalid TFA code": "Neispravan TFA kod",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Prijava neuspjela. Možda zato što za tvoj račun nije uključena dvofaktorska autentifikacija.",
|
||||
"Wrong answer": "Krivi odgovor",
|
||||
"Erroneous CAPTCHA": "Neispravan CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA je obavezno polje",
|
||||
"User ID is a required field": "Korisnički ID je obavezno polje",
|
||||
"Password is a required field": "Polje lozinke je obavezno polje",
|
||||
"Wrong username or password": "Krivo korisničko ime ili lozinka",
|
||||
"Please sign in using 'Log in with Google'": "Za prijavu koristi „Prijavi se pomoću Googlea”",
|
||||
"Password cannot be empty": "Polje lozinke ne smije ostati prazno",
|
||||
"Password cannot be longer than 55 characters": "Lozinka ne može biti duža od 55 znakova",
|
||||
"Please log in": "Prijavi se",
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
"Clear watch history?": "Törölve legyen a megnézett videók naplója?",
|
||||
"New password": "Új jelszó",
|
||||
"New passwords must match": "Az új jelszavaknak egyezniük kell.",
|
||||
"Cannot change password for Google accounts": "A Google-fiók jelszavát nem lehet megváltoztatni.",
|
||||
"Authorize token?": "Engedélyezve legyen a token?",
|
||||
"Authorize token for `x`?": "Engedélyezve legyen a token erre? „`x`”",
|
||||
"Yes": "Igen",
|
||||
|
@ -47,7 +46,6 @@
|
|||
"source": "forrás",
|
||||
"Log in": "Bejelentkezés",
|
||||
"Log in/register": "Bejelentkezés/Regisztrálás",
|
||||
"Log in with Google": "Bejelentkezés Google-fiókkal",
|
||||
"User ID": "Felhasználói azonosító",
|
||||
"Password": "Jelszó",
|
||||
"Time (h:mm:ss):": "A pontos idő (ó:pp:mm):",
|
||||
|
@ -56,7 +54,6 @@
|
|||
"Sign In": "Bejelentkezés",
|
||||
"Register": "Regisztrálás",
|
||||
"E-mail": "E-mail-cím",
|
||||
"Google verification code": "A Google ellenőrző kódja",
|
||||
"Preferences": "Beállítások",
|
||||
"preferences_category_player": "Lejátszó beállításai",
|
||||
"preferences_video_loop_label": "Videó állandó ismétlése: ",
|
||||
|
@ -173,16 +170,12 @@
|
|||
"Hide replies": "Válaszok elrejtése",
|
||||
"Show replies": "Válaszok mutatása",
|
||||
"Incorrect password": "A jelszó nem megfelelő",
|
||||
"Quota exceeded, try again in a few hours": "A kvótát meghaladták. Néhány órával később próbáld meg újból betölteni.",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Nem sikerült bejelentkezni. A kétlépcsős (hitelesítő vagy szöveges üzenet általi) hitelesítésnek bekapcsolva kell lennie.",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Nem sikerült bejelentkezni. Ennek oka lehet, hogy a kétlépcsős hitelesítés nincs bekapcsolva a fiók beállításaiban.",
|
||||
"Wrong answer": "Nem jól válaszoltál.",
|
||||
"Erroneous CAPTCHA": "A CAPTCHA hibás.",
|
||||
"CAPTCHA is a required field": "A CAPTCHA-mezőt ki kell tölteni.",
|
||||
"User ID is a required field": "A felhasználói azonosítót meg kell adni.",
|
||||
"Password is a required field": "Meg kell adni egy jelszót.",
|
||||
"Wrong username or password": "Vagy a felhasználói név, vagy pedig a jelszó nem megfelelő.",
|
||||
"Please sign in using 'Log in with Google'": "A „Bejelentkezés Google-el” gombbal jelentkezz be.",
|
||||
"Password cannot be empty": "A jelszót nem lehet kihagyni.",
|
||||
"Password cannot be longer than 55 characters": "A jelszó nem lehet hosszabb 55 karakternél.",
|
||||
"Please log in": "Kérjük, jelentkezz be.",
|
||||
|
@ -419,7 +412,6 @@
|
|||
"Switch Invidious Instance": "Váltás másik Invidious-oldalra",
|
||||
"Urdu": "urdu",
|
||||
"search_filters_date_option_week": "Ezen a héten",
|
||||
"Invalid TFA code": "A kétlépéses hitelesítés kódja nem megfelelő",
|
||||
"footer_documentation": "Dokumentáció",
|
||||
"search_filters_features_option_hd": "HD",
|
||||
"next_steps_error_message_go_to_youtube": "Ugrás a YouTube-ra",
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
"Clear watch history?": "Bersihkan riwayat tontonan?",
|
||||
"New password": "Kata sandi baru",
|
||||
"New passwords must match": "Kata sandi baru harus cocok",
|
||||
"Cannot change password for Google accounts": "Tidak dapat mengganti kata sandi untuk akun Google",
|
||||
"Authorize token?": "Otorisasi token?",
|
||||
"Authorize token for `x`?": "Otorisasi token untuk `x`?",
|
||||
"Yes": "Ya",
|
||||
|
@ -42,7 +41,6 @@
|
|||
"source": "sumber",
|
||||
"Log in": "Masuk",
|
||||
"Log in/register": "Masuk/Daftar",
|
||||
"Log in with Google": "Masuk dengan Google",
|
||||
"User ID": "ID Pengguna",
|
||||
"Password": "Kata Sandi",
|
||||
"Time (h:mm:ss):": "Waktu (j:mm:dd):",
|
||||
|
@ -51,7 +49,6 @@
|
|||
"Sign In": "Masuk",
|
||||
"Register": "Daftar",
|
||||
"E-mail": "Surel",
|
||||
"Google verification code": "Kode verifikasi Google",
|
||||
"Preferences": "Preferensi",
|
||||
"preferences_category_player": "Preferensi pemutar",
|
||||
"preferences_video_loop_label": "Selalu ulangi: ",
|
||||
|
@ -171,17 +168,12 @@
|
|||
"Hide replies": "Sembunyikan balasan",
|
||||
"Show replies": "Lihat balasan",
|
||||
"Incorrect password": "Kata sandi salah",
|
||||
"Quota exceeded, try again in a few hours": "Kuota penuh, coba lagi dalam beberapa jam",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Tidak dapat masuk, pastikan autentikasi dua-faktor (autentikator atau SMS) sudah nyala.",
|
||||
"Invalid TFA code": "Kode TFA tidak valid",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Gagal masuk. Ini mungkin disebabkan autentikasi dua-faktor tidak dinyalakan untuk akun Anda.",
|
||||
"Wrong answer": "Jawaban salah",
|
||||
"Erroneous CAPTCHA": "CAPTCHA salah",
|
||||
"CAPTCHA is a required field": "CAPTCHA perlu diisi",
|
||||
"User ID is a required field": "ID pengguna perlu diisi",
|
||||
"Password is a required field": "Kata sandi perlu diisi",
|
||||
"Wrong username or password": "Nama pengguna atau kata sandi salah",
|
||||
"Please sign in using 'Log in with Google'": "Harap masuk menggunakan 'Masuk dengan Google'",
|
||||
"Password cannot be empty": "Kata sandi tidak boleh kosong",
|
||||
"Password cannot be longer than 55 characters": "Kata sandi tidak boleh lebih dari 55 karakter",
|
||||
"Please log in": "Harap masuk",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"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á",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"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):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Skrá inn",
|
||||
"Register": "Nýskrá",
|
||||
"E-mail": "Tölvupóstur",
|
||||
"Google verification code": "Google staðfestingarkóði",
|
||||
"Preferences": "Kjörstillingar",
|
||||
"preferences_category_player": "Kjörstillingar spilara",
|
||||
"preferences_video_loop_label": "Alltaf lykkja: ",
|
||||
|
@ -155,17 +152,12 @@
|
|||
"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",
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
"Clear watch history?": "Eliminare la cronologia dei video guardati?",
|
||||
"New password": "Nuova password",
|
||||
"New passwords must match": "Le nuove password devono corrispondere",
|
||||
"Cannot change password for Google accounts": "Non è possibile modificare la password per gli account Google",
|
||||
"Authorize token?": "Autorizzare gettone?",
|
||||
"Authorize token for `x`?": "Autorizzare gettone per `x`?",
|
||||
"Yes": "Sì",
|
||||
|
@ -43,7 +42,6 @@
|
|||
"source": "sorgente",
|
||||
"Log in": "Accedi",
|
||||
"Log in/register": "Accedi/Registrati",
|
||||
"Log in with Google": "Accedi con Google",
|
||||
"User ID": "ID utente",
|
||||
"Password": "Password",
|
||||
"Time (h:mm:ss):": "Orario (h:mm:ss):",
|
||||
|
@ -52,7 +50,6 @@
|
|||
"Sign In": "Accedi",
|
||||
"Register": "Registrati",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Codice di verifica Google",
|
||||
"Preferences": "Preferenze",
|
||||
"preferences_category_player": "Preferenze del riproduttore",
|
||||
"preferences_video_loop_label": "Ripeti sempre: ",
|
||||
|
@ -169,17 +166,12 @@
|
|||
"Hide replies": "Nascondi le risposte",
|
||||
"Show replies": "Mostra le risposte",
|
||||
"Incorrect password": "Password sbagliata",
|
||||
"Quota exceeded, try again in a few hours": "Limite superato, prova di nuovo fra qualche ora",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Impossibile autenticarsi, controlla che l'autenticazione in due passaggi (Authenticator o SMS) sia attiva.",
|
||||
"Invalid TFA code": "Codice di autenticazione a due fattori non valido",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Login fallito. L'errore potrebbe essere causato dal fatto che la verifica in due passaggi non è attiva sul tuo account.",
|
||||
"Wrong answer": "Risposta errata",
|
||||
"Erroneous CAPTCHA": "CAPTCHA errato",
|
||||
"CAPTCHA is a required field": "Il CAPTCHA è un campo obbligatorio",
|
||||
"User ID is a required field": "L'ID utente è obbligatorio",
|
||||
"Password is a required field": "La password è un campo obbligatorio",
|
||||
"Wrong username or password": "Nome utente o password errati",
|
||||
"Please sign in using 'Log in with Google'": "Per favore accedi con «Entra con Google»",
|
||||
"Password cannot be empty": "La password non può essere vuota",
|
||||
"Password cannot be longer than 55 characters": "La password non può contenere più di 55 caratteri",
|
||||
"Please log in": "Per favore, accedi",
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
"Clear watch history?": "再生履歴を削除しますか?",
|
||||
"New password": "新しいパスワード",
|
||||
"New passwords must match": "新しいパスワードが一致していません",
|
||||
"Cannot change password for Google accounts": "Google アカウントのパスワードは変更できません",
|
||||
"Authorize token?": "トークンを認証しますか?",
|
||||
"Authorize token for `x`?": "トークン `x` を認証しますか?",
|
||||
"Yes": "はい",
|
||||
|
@ -42,7 +41,6 @@
|
|||
"source": "ソース",
|
||||
"Log in": "ログイン",
|
||||
"Log in/register": "ログイン/登録",
|
||||
"Log in with Google": "Google でログイン",
|
||||
"User ID": "ユーザー ID",
|
||||
"Password": "パスワード",
|
||||
"Time (h:mm:ss):": "時間 (時:分分:秒秒):",
|
||||
|
@ -51,7 +49,6 @@
|
|||
"Sign In": "サインイン",
|
||||
"Register": "登録",
|
||||
"E-mail": "メールアドレス",
|
||||
"Google verification code": "Google 認証コード",
|
||||
"Preferences": "設定",
|
||||
"preferences_category_player": "プレイヤーの設定",
|
||||
"preferences_video_loop_label": "常にループ: ",
|
||||
|
@ -171,17 +168,12 @@
|
|||
"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.": "ログインできませんでした。2段階認証 (認証アプリまたは SMS) が有効になっていることを確認してください。",
|
||||
"Invalid TFA code": "TFA (2段階認証) コードが無効です",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "ログインに失敗しました。あなたのアカウントで2段階認証が有効になっていない可能性があります。",
|
||||
"Wrong answer": "回答が間違っています",
|
||||
"Erroneous CAPTCHA": "CAPTCHA が間違っています",
|
||||
"CAPTCHA is a required field": "CAPTCHA は必須項目です",
|
||||
"User ID is a required field": "ユーザー ID は必須項目です",
|
||||
"Password is a required field": "パスワードは必須項目です",
|
||||
"Wrong username or password": "ユーザー名またはパスワードが間違っています",
|
||||
"Please sign in using 'Log in with Google'": "「Google でログイン」を使用してログインしてください",
|
||||
"Password cannot be empty": "パスワードは空にできません",
|
||||
"Password cannot be longer than 55 characters": "パスワードは55文字より長くできません",
|
||||
"Please log in": "ログインしてください",
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
"preferences_video_loop_label": "항상 반복: ",
|
||||
"preferences_category_player": "플레이어 설정",
|
||||
"Preferences": "설정",
|
||||
"Google verification code": "구글 인증 코드",
|
||||
"E-mail": "이메일",
|
||||
"Register": "회원가입",
|
||||
"Sign In": "로그인",
|
||||
|
@ -42,7 +41,6 @@
|
|||
"Time (h:mm:ss):": "시각 (h:mm:ss):",
|
||||
"Password": "비밀번호",
|
||||
"User ID": "사용자 ID",
|
||||
"Log in with Google": "구글로 로그인",
|
||||
"Log in/register": "로그인/회원가입",
|
||||
"Log in": "로그인",
|
||||
"source": "출처",
|
||||
|
@ -65,7 +63,6 @@
|
|||
"Yes": "예",
|
||||
"Authorize token for `x`?": "`x` 에 대한 토큰을 승인하시겠습니까?",
|
||||
"Authorize token?": "토큰을 승인하시겠습니까?",
|
||||
"Cannot change password for Google accounts": "구글 계정의 비밀번호를 변경할 수 없습니다",
|
||||
"New passwords must match": "새 비밀번호는 일치해야 합니다",
|
||||
"New password": "새 비밀번호",
|
||||
"Clear watch history?": "재생 기록을 삭제 하시겠습니까?",
|
||||
|
@ -112,7 +109,6 @@
|
|||
"This channel does not exist.": "이 채널은 존재하지 않습니다.",
|
||||
"Deleted or invalid channel": "삭제되었거나 더 이상 존재하지 않는 채널",
|
||||
"channel:`x`": "채널:`x`",
|
||||
"Invalid TFA code": "유효하지 않은 TFA 코드",
|
||||
"Show replies": "댓글 보기",
|
||||
"Hide replies": "댓글 숨기기",
|
||||
"Incorrect password": "잘못된 비밀번호",
|
||||
|
@ -249,7 +245,6 @@
|
|||
"Engagement: ": "약속: ",
|
||||
"Wilson score: ": "Wilson Score: ",
|
||||
"Family friendly? ": "전연령 영상입니까? ",
|
||||
"Quota exceeded, try again in a few hours": "한도량을 초과했습니다. 몇 시간 후에 다시 시도하세요",
|
||||
"View `x` comments": {
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x`개의 댓글 보기",
|
||||
"": "`x`개의 댓글 보기"
|
||||
|
@ -272,7 +267,6 @@
|
|||
"Bulgarian": "불가리아어",
|
||||
"Bosnian": "보스니아어",
|
||||
"Belarusian": "벨라루스어",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "로그인할 수 없습니다. 이중 인증(Authenticator 또는 SMS)이 켜져 있는지 확인하세요.",
|
||||
"View more comments on Reddit": "레딧에서 더 많은 댓글 보기",
|
||||
"View YouTube comments": "유튜브 댓글 보기",
|
||||
"Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "자바스크립트가 꺼져 있는 것 같습니다! 댓글을 보려면 여기를 클릭하세요. 댓글을 로드하는 데 시간이 조금 더 걸릴 수 있습니다.",
|
||||
|
@ -282,13 +276,11 @@
|
|||
"Please log in": "로그인하세요",
|
||||
"Password cannot be longer than 55 characters": "비밀번호는 55자 이하여야 합니다",
|
||||
"Password cannot be empty": "비밀번호는 비워둘 수 없습니다",
|
||||
"Please sign in using 'Log in with Google'": "'구글로 로그인'을 사용하여 로그인하세요",
|
||||
"Wrong username or password": "잘못된 사용자 이름 또는 비밀번호",
|
||||
"Password is a required field": "비밀번호는 필수 입력란입니다",
|
||||
"User ID is a required field": "사용자 ID는 필수 입력란입니다",
|
||||
"CAPTCHA is a required field": "캡차는 필수 입력란입니다",
|
||||
"Erroneous CAPTCHA": "잘못된 캡차",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "로그인 실패. 계정에 이중 인증이 설정되어 있지 않기 때문일 수 있습니다.",
|
||||
"Blacklisted regions: ": "차단된 지역: ",
|
||||
"Playlists": "재생목록",
|
||||
"View as playlist": "재생목록으로 보기",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Išvalyti žiūrėjimo istoriją?",
|
||||
"New password": "Naujas slaptažodis",
|
||||
"New passwords must match": "Naujas slaptažodis turi sutapti",
|
||||
"Cannot change password for Google accounts": "Negalima pakeisti Google paskyros slaptažodžio",
|
||||
"Authorize token?": "Autorizuoti žetoną?",
|
||||
"Authorize token for `x`?": "Autorizuoti žetoną `x`?",
|
||||
"Yes": "Taip",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "šaltinis",
|
||||
"Log in": "Prisijungti",
|
||||
"Log in/register": "Prisijungti/ registruotis",
|
||||
"Log in with Google": "Prisijungti naudojantis Google",
|
||||
"User ID": "Naudotojo ID",
|
||||
"Password": "Slaptažodis",
|
||||
"Time (h:mm:ss):": "Laikas (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Prisijungti",
|
||||
"Register": "Registruotis",
|
||||
"E-mail": "El. paštas",
|
||||
"Google verification code": "Google patvirtinimo kodas",
|
||||
"Preferences": "Pasirinktys",
|
||||
"preferences_category_player": "Grotuvo pasirinktys",
|
||||
"preferences_video_loop_label": "Visada kartoti: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"Hide replies": "Slėpti atsakymus",
|
||||
"Show replies": "Rodyti atsakymus",
|
||||
"Incorrect password": "Slaptažodis neteisingas",
|
||||
"Quota exceeded, try again in a few hours": "Viršyta kvota, bandykite dar kartą po keleto valandų",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Nepavyko prisijungti, įsitikinkite, kad yra įjungta dviejų etapų autentifikacija (Autentifikatorius arba SMS).",
|
||||
"Invalid TFA code": "Neteisingas TFA kodas",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Prisijungimas nepavyko. Tai gali būti todėl, kad jūsų paskyroje nėra įjungta dviejų etapų autentifikacija.",
|
||||
"Wrong answer": "Atsakymas neteisingas",
|
||||
"Erroneous CAPTCHA": "Klaidinga CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA yra reikalinga šiam laukeliui",
|
||||
"User ID is a required field": "Vartotojo ID yra reikalingas šiam laukeliui",
|
||||
"Password is a required field": "Slaptažodis yra reikalingas šiam laukeliui",
|
||||
"Wrong username or password": "Neteisingas vartotojo vardas arba slaptažodis",
|
||||
"Please sign in using 'Log in with Google'": "Prašome prisijungti naudojant \"Prisijungti su\" Google \"",
|
||||
"Password cannot be empty": "Slaptažodžio laukelis negali būti tuščias",
|
||||
"Password cannot be longer than 55 characters": "Slaptažodis negali būti ilgesnis nei 55 simboliai",
|
||||
"Please log in": "Prašome prisijungti",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Tøm visningshistorikk?",
|
||||
"New password": "Nytt passord",
|
||||
"New passwords must match": "Nye passordfelter må stemme overens",
|
||||
"Cannot change password for Google accounts": "Kan ikke endre passord for Google-kontoer",
|
||||
"Authorize token?": "Identitetsbekreft symbol?",
|
||||
"Authorize token for `x`?": "Identitetsbekreft symbol for `x`?",
|
||||
"Yes": "Ja",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "kilde",
|
||||
"Log in": "Logg inn",
|
||||
"Log in/register": "Logg inn/registrer",
|
||||
"Log in with Google": "Logg inn med Google",
|
||||
"User ID": "Bruker-ID",
|
||||
"Password": "Passord",
|
||||
"Time (h:mm:ss):": "Tid (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Innlogging",
|
||||
"Register": "Registrer",
|
||||
"E-mail": "E-post",
|
||||
"Google verification code": "Google-bekreftelseskode",
|
||||
"Preferences": "Innstillinger",
|
||||
"preferences_category_player": "Avspillerinnstillinger",
|
||||
"preferences_video_loop_label": "Alltid gjenta: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"Hide replies": "Skjul svar",
|
||||
"Show replies": "Vis svar",
|
||||
"Incorrect password": "Feil passord",
|
||||
"Quota exceeded, try again in a few hours": "Kvote overskredet, prøv igjen om et par timer",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Kunne ikke logge inn, forsikre deg om at tofaktor-identitetsbekreftelse (Authenticator eller SMS) er skrudd på.",
|
||||
"Invalid TFA code": "Ugyldig tofaktorkode",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Innlogging mislyktes. Dette kan være fordi tofaktor-identitetsbekreftelse er skrudd av på kontoen din.",
|
||||
"Wrong answer": "Ugyldig svar",
|
||||
"Erroneous CAPTCHA": "Ugyldig CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA er et påkrevd felt",
|
||||
"User ID is a required field": "Bruker-ID er et påkrevd felt",
|
||||
"Password is a required field": "Passord er et påkrevd felt",
|
||||
"Wrong username or password": "Ugyldig brukernavn eller passord",
|
||||
"Please sign in using 'Log in with Google'": "Logg inn ved bruk av \"Google-innlogging\"",
|
||||
"Password cannot be empty": "Passordet kan ikke være tomt",
|
||||
"Password cannot be longer than 55 characters": "Passordet kan ikke være lengre enn 55 tegn",
|
||||
"Please log in": "Logg inn",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Wil je de kijkgeschiedenis wissen?",
|
||||
"New password": "Nieuw wachtwoord",
|
||||
"New passwords must match": "De nieuwe wachtwoorden moeten overeenkomen",
|
||||
"Cannot change password for Google accounts": "Kan het wachtwoord van Google-accounts niet wijzigen",
|
||||
"Authorize token?": "Wil je de toegangssleutel machtigen?",
|
||||
"Authorize token for `x`?": "Wil je de toegangssleutel machtigen voor `x`?",
|
||||
"Yes": "Ja",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "bron",
|
||||
"Log in": "Inloggen",
|
||||
"Log in/register": "Inloggen/Registreren",
|
||||
"Log in with Google": "Inloggen met Google",
|
||||
"User ID": "Gebruikers-id",
|
||||
"Password": "Wachtwoord",
|
||||
"Time (h:mm:ss):": "Tijd (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Inloggen",
|
||||
"Register": "Registreren",
|
||||
"E-mail": "E-mailadres",
|
||||
"Google verification code": "Google-verificatiecode",
|
||||
"Preferences": "Instellingen",
|
||||
"preferences_category_player": "Spelerinstellingen",
|
||||
"preferences_video_loop_label": "Altijd herhalen: ",
|
||||
|
@ -159,17 +156,12 @@
|
|||
"Hide replies": "Antwoorden verbergen",
|
||||
"Show replies": "Antwoorden tonen",
|
||||
"Incorrect password": "Wachtwoord is onjuist",
|
||||
"Quota exceeded, try again in a few hours": "Quota overschreden; probeer het over een paar uur opnieuw",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Kan niet inloggen. Zorg ervoor dat authenticatie in twee stappen (Authenticator of sms) is ingeschakeld.",
|
||||
"Invalid TFA code": "Onjuiste TFA-code",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Inloggen mislukt. Wellicht is authenticatie in twee stappen niet ingeschakeld op je account.",
|
||||
"Wrong answer": "Onjuist antwoord",
|
||||
"Erroneous CAPTCHA": "Onjuiste CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA is vereist",
|
||||
"User ID is a required field": "Gebruikers-id is vereist",
|
||||
"Password is a required field": "Wachtwoord is vereist",
|
||||
"Wrong username or password": "Onjuiste gebruikersnaam of wachtwoord",
|
||||
"Please sign in using 'Log in with Google'": "Log in via 'Inloggen met Google'",
|
||||
"Password cannot be empty": "Het wachtwoordveld mag niet leeg zijn",
|
||||
"Password cannot be longer than 55 characters": "Het wachtwoord mag niet langer dan 55 tekens zijn",
|
||||
"Please log in": "Log in",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Wyczyścić historię?",
|
||||
"New password": "Nowe hasło",
|
||||
"New passwords must match": "Nowe hasła muszą być identyczne",
|
||||
"Cannot change password for Google accounts": "Nie można zmienić hasła do konta Google",
|
||||
"Authorize token?": "Autoryzować token?",
|
||||
"Authorize token for `x`?": "Autoryzować token dla `x`?",
|
||||
"Yes": "Tak",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "źródło",
|
||||
"Log in": "Zaloguj",
|
||||
"Log in/register": "Zaloguj/Zarejestruj",
|
||||
"Log in with Google": "Zaloguj do Google",
|
||||
"User ID": "ID użytkownika",
|
||||
"Password": "Hasło",
|
||||
"Time (h:mm:ss):": "Godzina (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Zaloguj się",
|
||||
"Register": "Zarejestruj się",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Kod weryfikacyjny Google",
|
||||
"Preferences": "Preferencje",
|
||||
"preferences_category_player": "Ustawienia odtwarzacza",
|
||||
"preferences_video_loop_label": "Zawsze zapętlaj: ",
|
||||
|
@ -163,17 +160,12 @@
|
|||
"Hide replies": "Ukryj odpowiedzi",
|
||||
"Show replies": "Pokaż odpowiedzi",
|
||||
"Incorrect password": "Niepoprawne hasło",
|
||||
"Quota exceeded, try again in a few hours": "Przekroczony limit zapytań, spróbuj ponownie za kilka godzin",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Nie udało się zalogować, upewnij się, że dwuetapowe uwierzytelnianie (Autentykator lub SMS) jest aktywne.",
|
||||
"Invalid TFA code": "Niepoprawny kod TFA",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Nie udało się zalogować. To może być spowodowane wyłączoną dwustopniową autoryzacją na twoim koncie.",
|
||||
"Wrong answer": "Niepoprawna odpowiedź",
|
||||
"Erroneous CAPTCHA": "CAPTCHA wykonane błędnie",
|
||||
"CAPTCHA is a required field": "CAPTCHA jest polem wymaganym",
|
||||
"User ID is a required field": "ID użytkownika jest polem wymaganym",
|
||||
"Password is a required field": "Hasło jest polem wymaganym",
|
||||
"Wrong username or password": "Niepoprawny login lub hasło",
|
||||
"Please sign in using 'Log in with Google'": "Zaloguj się używając \"Zaloguj się przez Google\"",
|
||||
"Password cannot be empty": "Hasło nie może być puste",
|
||||
"Password cannot be longer than 55 characters": "Hasło nie może być dłuższe niż 55 znaków",
|
||||
"Please log in": "Proszę się zalogować",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Limpar histórico de reprodução?",
|
||||
"New password": "Nova senha",
|
||||
"New passwords must match": "Nova senha deve ser igual",
|
||||
"Cannot change password for Google accounts": "Não é possível alterar sua senha de contas do Google",
|
||||
"Authorize token?": "Autorizar o token?",
|
||||
"Authorize token for `x`?": "Autorizar o token para `x`?",
|
||||
"Yes": "Sim",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "código-fonte",
|
||||
"Log in": "Entrar",
|
||||
"Log in/register": "Entrar/Registrar",
|
||||
"Log in with Google": "Entrar com conta Google",
|
||||
"User ID": "Usuário",
|
||||
"Password": "Senha",
|
||||
"Time (h:mm:ss):": "Hora (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Entrar",
|
||||
"Register": "Registrar",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Código de verificação do Google",
|
||||
"Preferences": "Preferências",
|
||||
"preferences_category_player": "Preferências do reprodutor",
|
||||
"preferences_video_loop_label": "Repetir sempre: ",
|
||||
|
@ -166,17 +163,12 @@
|
|||
"Hide replies": "Ocultar respostas",
|
||||
"Show replies": "Mostrar respostas",
|
||||
"Incorrect password": "Senha incorreta",
|
||||
"Quota exceeded, try again in a few hours": "Cota excedida, tente novamente em algumas horas",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Não foi possível fazer login, sua autenticação em dois passos (app autenticador ou sms) deve estar ativada.",
|
||||
"Invalid TFA code": "Código TFA inválido",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Falha no login. Isso pode acontecer porque a autenticação em dois passos está desativada para sua conta.",
|
||||
"Wrong answer": "Resposta incorreta",
|
||||
"Erroneous CAPTCHA": "CAPTCHA inválido",
|
||||
"CAPTCHA is a required field": "O CAPTCHA é um campo obrigatório",
|
||||
"User ID is a required field": "O nome de usuário é um campo obrigatório",
|
||||
"Password is a required field": "A senha é um campo obrigatório",
|
||||
"Wrong username or password": "Nome de usuário ou senha inválidos",
|
||||
"Please sign in using 'Log in with Google'": "Por favor, entre usando 'Entrar com conta Google'",
|
||||
"Password cannot be empty": "A senha não pode ficar em branco",
|
||||
"Password cannot be longer than 55 characters": "A senha não pode ter mais que 55 caracteres",
|
||||
"Please log in": "Por favor, inicie sua sessão",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Limpar histórico de reprodução?",
|
||||
"New password": "Nova palavra-chave",
|
||||
"New passwords must match": "As novas palavra-chaves devem corresponder",
|
||||
"Cannot change password for Google accounts": "Não é possível alterar a palavra-chave para contas do Google",
|
||||
"Authorize token?": "Autorizar token?",
|
||||
"Authorize token for `x`?": "Autorizar token para `x`?",
|
||||
"Yes": "Sim",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "código-fonte",
|
||||
"Log in": "Iniciar sessão",
|
||||
"Log in/register": "Iniciar sessão/registar",
|
||||
"Log in with Google": "Iniciar sessão com o Google",
|
||||
"User ID": "Utilizador",
|
||||
"Password": "Palavra-chave",
|
||||
"Time (h:mm:ss):": "Tempo (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Iniciar sessão",
|
||||
"Register": "Registar",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Código de verificação do Google",
|
||||
"Preferences": "Preferências",
|
||||
"preferences_category_player": "Preferências do reprodutor",
|
||||
"preferences_video_loop_label": "Repetir sempre: ",
|
||||
|
@ -166,17 +163,12 @@
|
|||
"Hide replies": "Ocultar respostas",
|
||||
"Show replies": "Mostrar respostas",
|
||||
"Incorrect password": "Palavra-chave incorreta",
|
||||
"Quota exceeded, try again in a few hours": "Cota excedida. Tente novamente dentro de algumas horas",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Não é possível iniciar a sessão, certifique-se que a autenticação de dois fatores (Autenticador ou SMS) está ativada.",
|
||||
"Invalid TFA code": "Código TFA inválido",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Falhou o início de sessão. Isto pode ser devido a não ter ativado na sua conta a autenticação de dois fatores (2FA).",
|
||||
"Wrong answer": "Resposta errada",
|
||||
"Erroneous CAPTCHA": "CAPTCHA inválido",
|
||||
"CAPTCHA is a required field": "CAPTCHA é um campo obrigatório",
|
||||
"User ID is a required field": "O nome de utilizador é um campo obrigatório",
|
||||
"Password is a required field": "Palavra-chave é um campo obrigatório",
|
||||
"Wrong username or password": "Nome de utilizador ou palavra-chave incorreto",
|
||||
"Please sign in using 'Log in with Google'": "Por favor, inicie sessão usando 'Iniciar sessão com o Google'",
|
||||
"Password cannot be empty": "A palavra-chave não pode estar vazia",
|
||||
"Password cannot be longer than 55 characters": "A palavra-chave não pode ser superior a 55 caracteres",
|
||||
"Please log in": "Por favor, inicie sessão",
|
||||
|
|
|
@ -63,8 +63,6 @@
|
|||
"Could not pull trending pages.": "Não foi possível obter as páginas de tendências.",
|
||||
"Could not create mix.": "Não foi possível criar a mistura.",
|
||||
"Deleted or invalid channel": "Canal eliminado ou inválido",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Falhou o início de sessão. Isto pode ser devido a não ter ativado na sua conta a autenticação de dois fatores (2FA).",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Não é possível iniciar a sessão, certifique-se que a autenticação de dois fatores (Autenticador ou SMS) está ativada.",
|
||||
"Hi! Looks like you have JavaScript turned off. Click here to view comments, keep in mind they may take a bit longer to load.": "Olá! Parece que o JavaScript está desativado. Clique aqui para ver os comentários, entretanto eles podem levar mais tempo para carregar.",
|
||||
"Delete playlist": "Eliminar lista de reprodução",
|
||||
"Delete playlist `x`?": "Eliminar a lista de reprodução 'x'?",
|
||||
|
@ -81,7 +79,6 @@
|
|||
"Log in/register": "Iniciar sessão/registar",
|
||||
"Delete account?": "Eliminar conta?",
|
||||
"Import and Export Data": "Importar e exportar dados",
|
||||
"Cannot change password for Google accounts": "Não é possível alterar a palavra-chave para contas do Google",
|
||||
"Filipino": "Filipino",
|
||||
"Estonian": "Estónio",
|
||||
"Esperanto": "Esperanto",
|
||||
|
@ -125,15 +122,12 @@
|
|||
"Please log in": "Por favor, inicie sessão",
|
||||
"Password cannot be longer than 55 characters": "A palavra-chave não pode ser superior a 55 caracteres",
|
||||
"Password cannot be empty": "A palavra-chave não pode estar vazia",
|
||||
"Please sign in using 'Log in with Google'": "Por favor, inicie sessão usando 'Iniciar sessão com o Google'",
|
||||
"Wrong username or password": "Nome de utilizador ou palavra-chave incorreto",
|
||||
"Password is a required field": "Palavra-chave é um campo obrigatório",
|
||||
"User ID is a required field": "O nome de utilizador é um campo obrigatório",
|
||||
"CAPTCHA is a required field": "CAPTCHA é um campo obrigatório",
|
||||
"Erroneous CAPTCHA": "CAPTCHA inválido",
|
||||
"Wrong answer": "Resposta errada",
|
||||
"Invalid TFA code": "Código TFA inválido",
|
||||
"Quota exceeded, try again in a few hours": "Cota excedida. Tente novamente dentro de algumas horas",
|
||||
"Incorrect password": "Palavra-chave incorreta",
|
||||
"Show replies": "Mostrar respostas",
|
||||
"Hide replies": "Ocultar respostas",
|
||||
|
@ -232,7 +226,6 @@
|
|||
"preferences_video_loop_label": "Repetir sempre: ",
|
||||
"preferences_category_player": "Preferências do reprodutor",
|
||||
"Preferences": "Preferências",
|
||||
"Google verification code": "Código de verificação do Google",
|
||||
"E-mail": "E-mail",
|
||||
"Register": "Registar",
|
||||
"Image CAPTCHA": "Imagem CAPTCHA",
|
||||
|
@ -240,7 +233,6 @@
|
|||
"Time (h:mm:ss):": "Tempo (h:mm:ss):",
|
||||
"Password": "Palavra-chave",
|
||||
"User ID": "Utilizador",
|
||||
"Log in with Google": "Iniciar sessão com o Google",
|
||||
"Log in": "Iniciar sessão",
|
||||
"source": "código-fonte",
|
||||
"JavaScript license information": "Informação de licença do JavaScript",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Doriți să ștergeți istoricul?",
|
||||
"New password": "Parola nouă",
|
||||
"New passwords must match": "Câmpurile \"Parolă nouă\" trebuie să fie identice",
|
||||
"Cannot change password for Google accounts": "Parola pentru un cont Google nu poate fi schimbată de pe Invidious",
|
||||
"Authorize token?": "Autorizați token-ul?",
|
||||
"Authorize token for `x`?": "Autorizați token-ul pentru `x` ?",
|
||||
"Yes": "Da",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "sursă",
|
||||
"Log in": "Conectați-vă",
|
||||
"Log in/register": "Conectați-vă/Creați-vă un cont",
|
||||
"Log in with Google": "Conectați-vă cu Google",
|
||||
"User ID": "ID Utilizator",
|
||||
"Password": "Parolă",
|
||||
"Time (h:mm:ss):": "Ora (h:mm:ss) :",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Conectați-vă",
|
||||
"Register": "Înregistrați-vă",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Cod de verificare Google",
|
||||
"Preferences": "Preferințe",
|
||||
"preferences_category_player": "Setări de redare",
|
||||
"preferences_video_loop_label": "Reluați videoclipul la nesfârșit: ",
|
||||
|
@ -155,17 +152,12 @@
|
|||
"Hide replies": "Ascundeți replicile",
|
||||
"Show replies": "Afișați replicile",
|
||||
"Incorrect password": "Parolă incorectă",
|
||||
"Quota exceeded, try again in a few hours": "Numărul de tentative de conectare a fost depășit. Va rugăm să încercați din nou în câteva ore",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Conectare eșuată. Dacă nu reușiți să vă conectați, verificați dacă ați activat autentificarea cu doi factori (Autentificator sau SMS).",
|
||||
"Invalid TFA code": "Codul de autentificare cu doi factori este invalid",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Conectare eșuată. Acest lucru ar putea fi cauzat de faptul că nu ați activat autentificarea cu doi factori.",
|
||||
"Wrong answer": "Răspuns invalid",
|
||||
"Erroneous CAPTCHA": "CAPTCHA invalid",
|
||||
"CAPTCHA is a required field": "Câmpul CAPTCHA este obligatoriu",
|
||||
"User ID is a required field": "Câmpul ID Utilizator este obligatoriu",
|
||||
"Password is a required field": "Câmpul Parolă este obligatoriu",
|
||||
"Wrong username or password": "Nume de utilizator sau parolă invalidă",
|
||||
"Please sign in using 'Log in with Google'": "Vă rog conectați-vă folosind \"Conectați-vă cu Google\"",
|
||||
"Password cannot be empty": "Parola nu poate fi goală",
|
||||
"Password cannot be longer than 55 characters": "Parola nu poate să conțină mai mult de 55 de caractere",
|
||||
"Please log in": "Vă rog conectați-vă",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Очистить историю просмотров?",
|
||||
"New password": "Новый пароль",
|
||||
"New passwords must match": "Новые пароли не совпадают",
|
||||
"Cannot change password for Google accounts": "Изменить пароль учётной записи Google невозможно",
|
||||
"Authorize token?": "Авторизовать токен?",
|
||||
"Authorize token for `x`?": "Авторизовать токен для `x`?",
|
||||
"Yes": "Да",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "источник",
|
||||
"Log in": "Войти",
|
||||
"Log in/register": "Войти или зарегистрироваться",
|
||||
"Log in with Google": "Войти через Google",
|
||||
"User ID": "ИД пользователя",
|
||||
"Password": "Пароль",
|
||||
"Time (h:mm:ss):": "Время (ч:мм:сс):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Войти",
|
||||
"Register": "Зарегистрироваться",
|
||||
"E-mail": "Эл. почта",
|
||||
"Google verification code": "Код подтверждения Google",
|
||||
"Preferences": "Настройки",
|
||||
"preferences_category_player": "Настройки проигрывателя",
|
||||
"preferences_video_loop_label": "Всегда повторять: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"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'": "Пожалуйста, нажмите «Войти через Google»",
|
||||
"Password cannot be empty": "Пароль не может быть пустым",
|
||||
"Password cannot be longer than 55 characters": "Пароль не может быть длиннее 55 символов",
|
||||
"Please log in": "Пожалуйста, войдите",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"oldest": "පැරණිතම",
|
||||
"popular": "ජනප්රිය",
|
||||
"last": "අවසන්",
|
||||
"Cannot change password for Google accounts": "Google ගිණුම් සඳහා මුරපදය වෙනස් කළ නොහැක",
|
||||
"Authorize token?": "ටෝකනය අනුමත කරනවා ද?",
|
||||
"Authorize token for `x`?": "`x` සඳහා ටෝකනය අනුමත කරනවා ද?",
|
||||
"Yes": "ඔව්",
|
||||
|
@ -31,7 +30,6 @@
|
|||
"An alternative front-end to YouTube": "YouTube සඳහා විකල්ප ඉදිරිපස අන්තයක්",
|
||||
"source": "මූලාශ්රය",
|
||||
"Log in/register": "පුරන්න/ලියාපදිංචිවන්න",
|
||||
"Log in with Google": "Google සමඟ පුරන්න",
|
||||
"Password": "මුරපදය",
|
||||
"Time (h:mm:ss):": "වේලාව (h:mm:ss):",
|
||||
"Sign In": "පුරන්න",
|
||||
|
@ -86,7 +84,6 @@
|
|||
"User ID": "පරිශීලක කේතය",
|
||||
"Text CAPTCHA": "CAPTCHA පෙල",
|
||||
"Image CAPTCHA": "CAPTCHA රූපය",
|
||||
"Google verification code": "Google සත්යාපන කේතය",
|
||||
"E-mail": "විද්යුත් තැපෑල",
|
||||
"preferences_quality_label": "කැමති වීඩියෝ ගුණත්වය: ",
|
||||
"preferences_quality_option_hd720": "HD720",
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
"Clear watch history?": "Vymazať históriu sledovania?",
|
||||
"New password": "Nové heslo",
|
||||
"New passwords must match": "Nové heslá sa musia zhodovať",
|
||||
"Cannot change password for Google accounts": "Heslo pre účty Google sa nedá zmeniť",
|
||||
"Authorize token?": "Autorizovať token?",
|
||||
"Yes": "Áno",
|
||||
"No": "Nie",
|
||||
|
@ -34,7 +33,6 @@
|
|||
"source": "zdroj",
|
||||
"Log in": "Prihlásiť sa",
|
||||
"Log in/register": "Prihlásiť sa/Registrovať",
|
||||
"Log in with Google": "Prihlásiť sa pomocou účtu Google",
|
||||
"User ID": "ID používateľa",
|
||||
"Password": "Heslo",
|
||||
"Time (h:mm:ss):": "Čas (h:mm:ss):",
|
||||
|
@ -43,7 +41,6 @@
|
|||
"Sign In": "Prihlásiť sa",
|
||||
"Register": "Registrovať",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Overovací kód Google",
|
||||
"Preferences": "Nastavenia",
|
||||
"preferences_category_player": "Nastavenia prehrávača",
|
||||
"preferences_video_loop_label": "Vždy opakovať: ",
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
"Clear watch history?": "Izbrisati zgodovino ogledov?",
|
||||
"New password": "Novo geslo",
|
||||
"New passwords must match": "Nova gesla se morajo ujemati",
|
||||
"Cannot change password for Google accounts": "Ni mogoče spremeniti gesla za račune Google",
|
||||
"Authorize token?": "Naj odobrim žeton?",
|
||||
"Yes": "Da",
|
||||
"Import and Export Data": "Uvoz in izvoz podatkov",
|
||||
|
@ -22,7 +21,6 @@
|
|||
"Export subscriptions as OPML (for NewPipe & FreeTube)": "Izvozi naročnine kot OPML (za NewPipe in FreeTube)",
|
||||
"Log in": "Prijava",
|
||||
"Log in/register": "Prijava/registracija",
|
||||
"Log in with Google": "Prijavi se z Googlom",
|
||||
"User ID": "ID uporabnika",
|
||||
"Password": "Geslo",
|
||||
"Time (h:mm:ss):": "Čas (h:mm:ss):",
|
||||
|
@ -32,7 +30,6 @@
|
|||
"Sign In": "Prijavi se",
|
||||
"Register": "Registriraj se",
|
||||
"E-mail": "E-pošta",
|
||||
"Google verification code": "Googlova koda za preverjanje",
|
||||
"Preferences": "Nastavitve",
|
||||
"preferences_video_loop_label": "Vedno v zanki: ",
|
||||
"preferences_autoplay_label": "Samodejno predvajanje: ",
|
||||
|
@ -120,9 +117,6 @@
|
|||
"([^.,0-9]|^)1([^.,0-9]|$)": "Poglej `x` komentar",
|
||||
"": "Poglej `x` komentarjev"
|
||||
},
|
||||
"Quota exceeded, try again in a few hours": "Kvota je presežena, poskusi znova čez nekaj ur",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Ne morem se prijaviti, preveri, ali je vklopljeno dvofaktorsko preverjanje pristnosti (avtentikator ali SMS).",
|
||||
"Please sign in using 'Log in with Google'": "Prijavi se z uporabo »Prijava z Googlom«",
|
||||
"Password cannot be empty": "Geslo ne sme biti prazno",
|
||||
"`x` ago": "`x` nazaj",
|
||||
"Load more": "Naloži več",
|
||||
|
@ -348,8 +342,6 @@
|
|||
"View Reddit comments": "Oglej si komentarje na Redditu",
|
||||
"This channel does not exist.": "Ta kanal ne obstaja.",
|
||||
"Hide replies": "Skrij odgovore",
|
||||
"Invalid TFA code": "Neveljavna koda TFA",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Prijava ni uspela. To je lahko zato, ker za tvoj račun ni vklopljeno dvofaktorsko preverjanje pristnosti.",
|
||||
"Invidious Private Feed for `x`": "Invidious zasebni vir za `x`",
|
||||
"Deleted or invalid channel": "Izbrisan ali neveljaven kanal",
|
||||
"Empty playlist": "Prazen seznam predvajanja",
|
||||
|
|
|
@ -35,12 +35,10 @@
|
|||
"videoinfo_youTube_embed_link": "Trupëzojeni",
|
||||
"videoinfo_invidious_embed_link": "Lidhje Trupëzimi",
|
||||
"oldest": "më të vjetrat",
|
||||
"Cannot change password for Google accounts": "S’mund të ndryshojë fjalëkalimin për llogari Google",
|
||||
"New passwords must match": "Fjalëkalimet e rinj duhet të përputhen me njëri-tjetrin",
|
||||
"Authorize token?": "Të autorizohet token-i?",
|
||||
"Authorize token for `x`?": "Të autorizohet token-i për `x`?",
|
||||
"Log in/register": "Hyni/regjistrohuni",
|
||||
"Log in with Google": "Hyni me Google",
|
||||
"User ID": "ID Përdoruesi",
|
||||
"Password": "Fjalëkalim",
|
||||
"Time (h:mm:ss):": "Kohë (h:mm:ss):",
|
||||
|
@ -156,19 +154,14 @@
|
|||
"Whitelisted regions: ": "Rajone të lejuara: ",
|
||||
"Premieres `x`": "Premiera `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.": "Njatjeta! Duket sikur keni JavaScript-in të çaktivizuar. Klikoni këtu që të shihni komentet, mbani parasysh se mund të duhet pak më tepër kohë që të ngarkohen.",
|
||||
"Quota exceeded, try again in a few hours": "Janë tejkaluar kuotat, riprovoni pas pak orësh",
|
||||
"Blacklisted regions: ": "Rajone të palejuara: ",
|
||||
"Premieres in `x`": "Premiera në `x`",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "S’arrihet të bëhet hyrja, sigurohuni se mirëfilltësimi dyfaktorësh (me Mirëfilltësues apo SMS) është i aktivizuar.",
|
||||
"Wrong answer": "Përgjigje e gabuar",
|
||||
"Invalid TFA code": "Kod MDF i pavlefshëm",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Dështoi hyrja. Kjo mund të vijë ngaqë për llogarinë tuaj s’është aktivizuar mirëfilltësimi dyfaktorësh.",
|
||||
"Erroneous CAPTCHA": "CAPTCHA e gabuar",
|
||||
"CAPTCHA is a required field": "CAPTCHA është fushë e domosdoshme",
|
||||
"User ID is a required field": "ID-ja e përdoruesit është fushë e domosdoshme",
|
||||
"Password is a required field": "Fusha e fjalëkalimit është e domosdoshme",
|
||||
"Wrong username or password": "Emër përdoruesi ose fjalëkalim i gabuar",
|
||||
"Please sign in using 'Log in with Google'": "Ju lutemi, bëni hyrjen duke përdorur “Bëni hyrjen me Google”",
|
||||
"Password cannot be empty": "Fjalëkalimi s’mund të jetë i zbrazët",
|
||||
"Password cannot be longer than 55 characters": "Fjalëkalimi s’mund të jetë më i gjatë se 55 shenja",
|
||||
"Please log in": "Ju lutemi, bëni hyrjen",
|
||||
|
@ -303,7 +296,6 @@
|
|||
"Previous page": "Faqja e mëparshme",
|
||||
"Clear watch history?": "Të spastrohet historiku i parjeve?",
|
||||
"New password": "Fjalëkalim i ri",
|
||||
"Google verification code": "Kod verifikimi Google",
|
||||
"preferences_related_videos_label": "Shfaq video të afërta: ",
|
||||
"preferences_annotations_label": "Si parazgjedhje, shfaqi shënimet: ",
|
||||
"preferences_show_nick_label": "Shfaqe nofkën në krye: ",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Izbrisati povest pregledanja?",
|
||||
"New password": "Nova lozinka",
|
||||
"New passwords must match": "Nove lozinke moraju biti istovetne",
|
||||
"Cannot change password for Google accounts": "Nije moguće promeniti lozinku za Google naloge",
|
||||
"Authorize token?": "Ovlasti žeton?",
|
||||
"Authorize token for `x`?": "Ovlasti žeton za `x`?",
|
||||
"Yes": "Da",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "izvor",
|
||||
"Log in": "Prijavi se",
|
||||
"Log in/register": "Prijavi se/Otvori nalog",
|
||||
"Log in with Google": "Prijavi se pomoću Google-a",
|
||||
"User ID": "Korisnički ID",
|
||||
"Password": "Lozinka",
|
||||
"Time (h:mm:ss):": "Vreme (č:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Prijava",
|
||||
"Register": "Otvori nalog",
|
||||
"E-mail": "E-pošta",
|
||||
"Google verification code": "Google-ova overna koda",
|
||||
"Preferences": "Podešavanja",
|
||||
"preferences_category_player": "Podešavanja reproduktora",
|
||||
"preferences_video_loop_label": "Uvek ponavljaj: ",
|
||||
|
@ -57,13 +54,11 @@
|
|||
"preferences_local_label": "Prikaz video zapisa preko posrednika: ",
|
||||
"Playlist privacy": "Podešavanja privatnosti plej liste",
|
||||
"Editing playlist `x`": "Izmena plej liste `x`",
|
||||
"Please sign in using 'Log in with Google'": "Molimo Vas da se prijavite pomoću 'Log in with Google'",
|
||||
"Playlist does not exist.": "Nepostojeća plej lista.",
|
||||
"Erroneous challenge": "Pogrešan izazov",
|
||||
"Maltese": "Malteški",
|
||||
"Download": "Preuzmi",
|
||||
"Download as: ": "Preuzmi kao: ",
|
||||
"Quota exceeded, try again in a few hours": "Kvota je premašena, molimo vas da pokušate ponovo za par sati",
|
||||
"Bangla": "Bangla/Bengalski",
|
||||
"preferences_quality_dash_label": "Preferirani kvalitet DASH video formata: ",
|
||||
"Token manager": "Upravljanje žetonima",
|
||||
|
@ -182,7 +177,6 @@
|
|||
"": "Prikaži `x` komentara"
|
||||
},
|
||||
"View Reddit comments": "Prikaži Reddit komentare",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Neuspešna prijava, proverite da li ste upalili dvofaktornu autentikaciju (Autentikator ili SMS).",
|
||||
"CAPTCHA is a required field": "CAPTCHA je obavezno polje",
|
||||
"Croatian": "Hrvatski",
|
||||
"Estonian": "Estonski",
|
||||
|
@ -283,8 +277,6 @@
|
|||
"Wrong answer": "Pogrešan odgovor",
|
||||
"preferences_quality_label": "Preferirani video kvalitet: ",
|
||||
"Hide replies": "Sakrij odgovore",
|
||||
"Invalid TFA code": "Nevažeća TFA koda",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Neuspešna prijava! Ovo se možda dešava jer dvofaktorna autentikacija nije omogućena na vašem nalogu.",
|
||||
"Erroneous CAPTCHA": "Pogrešna CAPTCHA",
|
||||
"Erroneous token": "Pogrešan žeton",
|
||||
"Czech": "Češki",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Избрисати повест прегледања?",
|
||||
"New password": "Нова лозинка",
|
||||
"New passwords must match": "Нове лозинке морају бити истоветне",
|
||||
"Cannot change password for Google accounts": "Није могуће променити лозинку за Google налоге",
|
||||
"Authorize token?": "Овласти жетон?",
|
||||
"Authorize token for `x`?": "Овласти жетон за `x`?",
|
||||
"Yes": "Да",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "извор",
|
||||
"Log in": "Пријави се",
|
||||
"Log in/register": "Пријави се/Отворите налог",
|
||||
"Log in with Google": "Пријави се помоћу Google-а",
|
||||
"User ID": "Кориснички ИД",
|
||||
"Password": "Лозинка",
|
||||
"Time (h:mm:ss):": "Време (ч:мм:сс):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Пријава",
|
||||
"Register": "Отвори налог",
|
||||
"E-mail": "Е-пошта",
|
||||
"Google verification code": "Google-ова оверна кода",
|
||||
"Preferences": "Подешавања",
|
||||
"preferences_category_player": "Подешавања репродуктора",
|
||||
"preferences_video_loop_label": "Увек понављај: ",
|
||||
|
@ -150,8 +147,6 @@
|
|||
"Burmese": "Бурмански",
|
||||
"preferences_quality_dash_label": "Преферирани квалитет DASH видео формата: ",
|
||||
"Erroneous token": "Погрешан жетон",
|
||||
"Quota exceeded, try again in a few hours": "Квота је премашена, молимо вас да покушате поново за пар сати",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Неуспешна пријава, проверите да ли сте упалили двофакторну аутентикацију (Аутентикатор или СМС).",
|
||||
"CAPTCHA is a required field": "CAPTCHA је обавезно поље",
|
||||
"No such user": "Непостојећи корисник",
|
||||
"Chinese (Traditional)": "Кинески (Традиционални)",
|
||||
|
@ -164,7 +159,6 @@
|
|||
"preferences_show_nick_label": "Прикажи надимке на врху: ",
|
||||
"Report statistics: ": "Извештавај о статистици: ",
|
||||
"Show more": "Прикажи више",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Неуспешна пријава! Ово се можда дешава јер двофакторна аутентикација није омогућена на vашем налогу.",
|
||||
"Wrong answer": "Погрешан одговор",
|
||||
"Hidden field \"token\" is a required field": "Сакривено \"token\" поље је обавезно",
|
||||
"English": "Енглески",
|
||||
|
@ -198,7 +192,6 @@
|
|||
"User ID is a required field": "Кориснички ИД је обавезно поље",
|
||||
"Password is a required field": "Лозинка је обавезно поље",
|
||||
"Wrong username or password": "Погрешно корисничко име или лозинка",
|
||||
"Please sign in using 'Log in with Google'": "Молимо Вас да се пријавите помоћу 'Log in with Google'",
|
||||
"Password cannot be empty": "Лозинка не може бити празна",
|
||||
"Password cannot be longer than 55 characters": "Лозинка не може бити дужа од 55 карактера",
|
||||
"Invidious Private Feed for `x`": "Инвидиоус Приватни Довод за `x`",
|
||||
|
@ -324,7 +317,6 @@
|
|||
"Released under the AGPLv3 on Github.": "Избачено под лиценцом AGPLv3 на GitHub-у.",
|
||||
"Afrikaans": "Африканс",
|
||||
"preferences_automatic_instance_redirect_label": "Аутоматско пребацивање на другу инстанцу у случају отказивања (пречи ће назад на редирецт.инвидиоус.ио): ",
|
||||
"Invalid TFA code": "Неважећа TFA кода",
|
||||
"Please log in": "Молимо вас да се пријавите",
|
||||
"English (auto-generated)": "Енглески (аутоматски генерисано)",
|
||||
"Hindi": "Хинди",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Töm visningshistorik?",
|
||||
"New password": "Nytt lösenord",
|
||||
"New passwords must match": "Nya lösenord måste stämma överens",
|
||||
"Cannot change password for Google accounts": "Kan inte ändra lösenord på Google-konton",
|
||||
"Authorize token?": "Auktorisera åtkomsttoken?",
|
||||
"Authorize token for `x`?": "Auktorisera åtkomsttoken för `x`?",
|
||||
"Yes": "Ja",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "källa",
|
||||
"Log in": "Logga in",
|
||||
"Log in/register": "Logga in/registrera",
|
||||
"Log in with Google": "Logga in med Google",
|
||||
"User ID": "Användar-ID",
|
||||
"Password": "Lösenord",
|
||||
"Time (h:mm:ss):": "Tid (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Inloggning",
|
||||
"Register": "Registrera",
|
||||
"E-mail": "E-post",
|
||||
"Google verification code": "Google-bekräftelsekod",
|
||||
"Preferences": "Inställningar",
|
||||
"preferences_category_player": "Spelarinställningar",
|
||||
"preferences_video_loop_label": "Loopa alltid: ",
|
||||
|
@ -162,17 +159,12 @@
|
|||
"Hide replies": "Dölj svar",
|
||||
"Show replies": "Visa svar",
|
||||
"Incorrect password": "Fel lösenord",
|
||||
"Quota exceeded, try again in a few hours": "Kvoten överskriden, försök igen om ett par timmar",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Kunde inte logga in, försäkra dig om att tvåfaktors-autentisering (Authenticator eller SMS) är påslagen.",
|
||||
"Invalid TFA code": "Ogiltig tvåfaktor-kod",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Inloggning misslyckades. Detta kan vara för att tvåfaktors-autentisering inte är påslaget på ditt konto.",
|
||||
"Wrong answer": "Fel svar",
|
||||
"Erroneous CAPTCHA": "Ogiltig CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA är ett obligatoriskt fält",
|
||||
"User ID is a required field": "Användar-ID är ett obligatoriskt fält",
|
||||
"Password is a required field": "Lösenord är ett obligatoriskt fält",
|
||||
"Wrong username or password": "Ogiltigt användarnamn eller lösenord",
|
||||
"Please sign in using 'Log in with Google'": "Logga in genom \"Google-inloggning\"",
|
||||
"Password cannot be empty": "Lösenordet kan inte vara tomt",
|
||||
"Password cannot be longer than 55 characters": "Lösenordet kan inte vara längre än 55 tecken",
|
||||
"Please log in": "Logga in",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "İzleme geçmişi temizlensin mi?",
|
||||
"New password": "Yeni Parola",
|
||||
"New passwords must match": "Yeni Parolalar Eşleşmek Zorunda",
|
||||
"Cannot change password for Google accounts": "Google Hesapları İçin Parola Değiştirilemez",
|
||||
"Authorize token?": "Belirteç yetkilendirilsin mi?",
|
||||
"Authorize token for `x`?": "`x` için belirteç yetkilendirilsin mi?",
|
||||
"Yes": "Evet",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "Kaynak",
|
||||
"Log in": "Oturum Aç",
|
||||
"Log in/register": "Oturum Aç/Kayıt Ol",
|
||||
"Log in with Google": "Google İle Oturum Aç",
|
||||
"User ID": "Kullanıcı Kimliği",
|
||||
"Password": "Parola",
|
||||
"Time (h:mm:ss):": "Zaman (h:mm:ss):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Oturum Aç",
|
||||
"Register": "Kayıt Ol",
|
||||
"E-mail": "E-Posta",
|
||||
"Google verification code": "Google Doğrulama Kodu",
|
||||
"Preferences": "Tercihler",
|
||||
"preferences_category_player": "Oynatıcı Tercihleri",
|
||||
"preferences_video_loop_label": "Sürekli Döngü: ",
|
||||
|
@ -164,17 +161,12 @@
|
|||
"Hide replies": "Cevapları Gizle",
|
||||
"Show replies": "Cevapları Göster",
|
||||
"Incorrect password": "Yanlış Parola",
|
||||
"Quota exceeded, try again in a few hours": "Kota aşıldı, birkaç saat içinde tekrar deneyin.",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Oturum açılamadı, iki faktörlü kimlik doğrulamanın (Kimlik Doğrulayıcı ya da SMS) açık olduğundan emin olun.",
|
||||
"Invalid TFA code": "Geçersiz TFA Kodu",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Giriş başarısız. Bunun nedeni, hesabınız için iki faktörlü kimlik doğrulamanın açık olmaması olabilir.",
|
||||
"Wrong answer": "Yanlış Cevap",
|
||||
"Erroneous CAPTCHA": "Hatalı CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA Zorunlu Bir Alandır",
|
||||
"User ID is a required field": "Kullanıcı Kimliği Zorunlu Bir Alandır",
|
||||
"Password is a required field": "Parola Zorunlu Bir Alandır",
|
||||
"Wrong username or password": "Yanlış Kullanıcı Adı ya da Parola",
|
||||
"Please sign in using 'Log in with Google'": "Lütfen 'Google İle Giriş Yap' Seçeneğini Kullanarak Oturum Açın",
|
||||
"Password cannot be empty": "Parola Boş Olamaz",
|
||||
"Password cannot be longer than 55 characters": "Parola 55 Karakterden Uzun Olamaz",
|
||||
"Please log in": "Lütfen Oturum Açın",
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"Clear watch history?": "Очистити історію переглядів?",
|
||||
"New password": "Новий пароль",
|
||||
"New passwords must match": "Нові паролі не співпадають",
|
||||
"Cannot change password for Google accounts": "Змінити пароль обліківки Google неможливо",
|
||||
"Authorize token?": "Авторизувати токен?",
|
||||
"Authorize token for `x`?": "Авторизувати токен для `x`?",
|
||||
"Yes": "Так",
|
||||
|
@ -37,7 +36,6 @@
|
|||
"source": "джерело",
|
||||
"Log in": "Увійти",
|
||||
"Log in/register": "Увійти або зареєструватися",
|
||||
"Log in with Google": "Увійти через Google",
|
||||
"User ID": "ID користувача",
|
||||
"Password": "Пароль",
|
||||
"Time (h:mm:ss):": "Час (г:хх:сс):",
|
||||
|
@ -46,7 +44,6 @@
|
|||
"Sign In": "Увійти",
|
||||
"Register": "Зареєструватися",
|
||||
"E-mail": "Електронна пошта",
|
||||
"Google verification code": "Код підтвердження Google",
|
||||
"Preferences": "Налаштування",
|
||||
"preferences_category_player": "Налаштування програвача",
|
||||
"preferences_video_loop_label": "Завжди повторювати: ",
|
||||
|
@ -155,17 +152,12 @@
|
|||
"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": "Необхідно пройти CAPTCHA",
|
||||
"User ID is a required field": "Необхідно ввести ID користувача",
|
||||
"Password is a required field": "Необхідно ввести пароль",
|
||||
"Wrong username or password": "Неправильний логін чи пароль",
|
||||
"Please sign in using 'Log in with Google'": "Будь ласка, натисніть «Увійти через Google»",
|
||||
"Password cannot be empty": "Пароль не може бути порожнім",
|
||||
"Password cannot be longer than 55 characters": "Пароль не може бути довшим за 55 знаків",
|
||||
"Please log in": "Будь ласка, увійдіть",
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
"Clear watch history?": "Xóa lịch sử xem?",
|
||||
"New password": "Mật khẩu mới",
|
||||
"New passwords must match": "Mật khẩu mới phải khớp",
|
||||
"Cannot change password for Google accounts": "Không thể thay đổi mật khẩu cho tài khoản Google",
|
||||
"Authorize token?": "Cấp phép mã thông báo?",
|
||||
"Authorize token for `x`?": "Cấp phép mã thông báo cho` x`?",
|
||||
"Yes": "Đúng",
|
||||
|
@ -39,7 +38,6 @@
|
|||
"source": "nguồn",
|
||||
"Log in": "Đăng nhập",
|
||||
"Log in/register": "Đăng nhập / đăng ký",
|
||||
"Log in with Google": "Đăng nhập bằng Google",
|
||||
"User ID": "Tên người dùng",
|
||||
"Password": "Mật khẩu",
|
||||
"Time (h:mm:ss):": "Thời gian (h: mm: ss):",
|
||||
|
@ -48,7 +46,6 @@
|
|||
"Sign In": "Đăng nhập",
|
||||
"Register": "Đăng ký",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Mã xác minh của Google",
|
||||
"Preferences": "Sở thích",
|
||||
"preferences_category_player": "Tùy chọn người chơi",
|
||||
"preferences_video_loop_label": "Luôn lặp lại: ",
|
||||
|
@ -152,17 +149,12 @@
|
|||
"Hide replies": "Ẩn câu trả lời",
|
||||
"Show replies": "Hiển thị câu trả lời",
|
||||
"Incorrect password": "Mật khẩu không đúng",
|
||||
"Quota exceeded, try again in a few hours": "Đã vượt quá hạn ngạch, hãy thử lại sau vài giờ nữa",
|
||||
"Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.": "Không thể đăng nhập, hãy đảm bảo rằng xác thực hai yếu tố (Authenticator hoặc SMS) được bật.",
|
||||
"Invalid TFA code": "Mã TFA không hợp lệ",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "Đăng nhập không thành công. Điều này có thể là do xác thực hai yếu tố chưa được bật cho tài khoản của bạn.",
|
||||
"Wrong answer": "Câu trả lời sai",
|
||||
"Erroneous CAPTCHA": "CAPTCHA bị lỗi",
|
||||
"CAPTCHA is a required field": "CAPTCHA là trường bắt buộc",
|
||||
"User ID is a required field": "User ID là trường bắt buộc",
|
||||
"Password is a required field": "Mật khẩu là trường bắt buộc",
|
||||
"Wrong username or password": "Tên người dùng hoặc mật khẩu sai",
|
||||
"Please sign in using 'Log in with Google'": "Vui lòng đăng nhập bằng 'Đăng nhập bằng Google'",
|
||||
"Password cannot be empty": "Mật khẩu không được để trống",
|
||||
"Password cannot be longer than 55 characters": "Mật khẩu không được dài hơn 55 ký tự",
|
||||
"Please log in": "Xin vui lòng đăng nhập",
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
"Clear watch history?": "清除观看历史?",
|
||||
"New password": "新密码",
|
||||
"New passwords must match": "新密码必须匹配",
|
||||
"Cannot change password for Google accounts": "无法为 Google 账户更改密码",
|
||||
"Authorize token?": "授权令牌?",
|
||||
"Authorize token for `x`?": "`x` 的授权令牌?",
|
||||
"Yes": "是",
|
||||
|
@ -42,7 +41,6 @@
|
|||
"source": "source",
|
||||
"Log in": "登录",
|
||||
"Log in/register": "登录/注册",
|
||||
"Log in with Google": "使用 Google 账户登录",
|
||||
"User ID": "用户 ID",
|
||||
"Password": "密码",
|
||||
"Time (h:mm:ss):": "时间 (h:mm:ss):",
|
||||
|
@ -51,7 +49,6 @@
|
|||
"Sign In": "登录",
|
||||
"Register": "注册",
|
||||
"E-mail": "E-mail",
|
||||
"Google verification code": "Google 验证代码",
|
||||
"Preferences": "偏好设置",
|
||||
"preferences_category_player": "播放器偏好设置",
|
||||
"preferences_video_loop_label": "始终循环: ",
|
||||
|
@ -171,17 +168,12 @@
|
|||
"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": "请登录",
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
"Clear watch history?": "清除觀看歷史?",
|
||||
"New password": "新密碼",
|
||||
"New passwords must match": "新密碼必須符合",
|
||||
"Cannot change password for Google accounts": "無法變更 Google 帳號的密碼",
|
||||
"Authorize token?": "授權 token?",
|
||||
"Authorize token for `x`?": "`x` 的授權 token?",
|
||||
"Yes": "是",
|
||||
|
@ -42,7 +41,6 @@
|
|||
"source": "來源",
|
||||
"Log in": "登入",
|
||||
"Log in/register": "登入/註冊",
|
||||
"Log in with Google": "使用 Google 登入",
|
||||
"User ID": "使用者 ID",
|
||||
"Password": "密碼",
|
||||
"Time (h:mm:ss):": "時間 (h:mm:ss):",
|
||||
|
@ -51,7 +49,6 @@
|
|||
"Sign In": "登入",
|
||||
"Register": "註冊",
|
||||
"E-mail": "電子郵件",
|
||||
"Google verification code": "Google 驗證碼",
|
||||
"Preferences": "偏好設定",
|
||||
"preferences_category_player": "播放器偏好設定",
|
||||
"preferences_video_loop_label": "總是循環播放: ",
|
||||
|
@ -171,17 +168,12 @@
|
|||
"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": "無效的 TFA 代碼",
|
||||
"Login failed. This may be because two-factor authentication is not turned on for your account.": "登入失敗。這可能是因為您的帳號未開啟雙因素驗證的關係。",
|
||||
"Wrong answer": "錯誤的答案",
|
||||
"Erroneous CAPTCHA": "錯誤的 CAPTCHA",
|
||||
"CAPTCHA is a required field": "CAPTCHA 為必填欄位",
|
||||
"User ID is a required field": "使用者 ID 為必填欄位",
|
||||
"Password is a required field": "密碼為必填欄位",
|
||||
"Wrong username or password": "錯誤的使用者名稱或密碼",
|
||||
"Please sign in using 'Log in with Google'": "請使用「以 Google 登入」來登入",
|
||||
"Password cannot be empty": "密碼不能為空",
|
||||
"Password cannot be longer than 55 characters": "密碼不能長於55個字元",
|
||||
"Please log in": "請登入",
|
||||
|
|
|
@ -63,7 +63,6 @@ HMAC_KEY = CONFIG.hmac_key || Random::Secure.hex(32)
|
|||
|
||||
PG_DB = DB.open CONFIG.database_url
|
||||
ARCHIVE_URL = URI.parse("https://archive.org")
|
||||
LOGIN_URL = URI.parse("https://accounts.google.com")
|
||||
PUBSUB_URL = URI.parse("https://pubsubhubbub.appspot.com")
|
||||
REDDIT_URL = URI.parse("https://www.reddit.com")
|
||||
YT_URL = URI.parse("https://www.youtube.com")
|
||||
|
|
|
@ -22,31 +22,6 @@ struct Annotation
|
|||
property annotations : String
|
||||
end
|
||||
|
||||
def login_req(f_req)
|
||||
data = {
|
||||
# Unfortunately there's not much information available on `bgRequest`; part of Google's BotGuard
|
||||
# Generally this is much longer (>1250 characters), see also
|
||||
# https://github.com/ytdl-org/youtube-dl/commit/baf67a604d912722b0fe03a40e9dc5349a2208cb .
|
||||
# For now this can be empty.
|
||||
"bgRequest" => %|["identifier",""]|,
|
||||
"pstMsg" => "1",
|
||||
"checkConnection" => "youtube",
|
||||
"checkedDomains" => "youtube",
|
||||
"hl" => "en",
|
||||
"deviceinfo" => %|[null,null,null,[],null,"US",null,null,[],"GlifWebSignIn",null,[null,null,[]]]|,
|
||||
"f.req" => f_req,
|
||||
"flowName" => "GlifWebSignIn",
|
||||
"flowEntry" => "ServiceLogin",
|
||||
# "cookiesDisabled" => "false",
|
||||
# "gmscoreversion" => "undefined",
|
||||
# "continue" => "https://accounts.google.com/ManageAccount",
|
||||
# "azt" => "",
|
||||
# "bgHash" => "",
|
||||
}
|
||||
|
||||
return HTTP::Params.encode(data)
|
||||
end
|
||||
|
||||
def html_to_content(description_html : String)
|
||||
description = description_html.gsub(/(<br>)|(<br\/>)/, {
|
||||
"<br>": "\n",
|
||||
|
|
|
@ -42,11 +42,6 @@ module Invidious::Routes::Account
|
|||
sid = sid.as(String)
|
||||
token = env.params.body["csrf_token"]?
|
||||
|
||||
# We don't store passwords for Google accounts
|
||||
if !user.password
|
||||
return error_template(400, "Cannot change password for Google accounts")
|
||||
end
|
||||
|
||||
begin
|
||||
validate_request(token, sid, env.request, HMAC_KEY, locale)
|
||||
rescue ex
|
||||
|
@ -54,7 +49,7 @@ module Invidious::Routes::Account
|
|||
end
|
||||
|
||||
password = env.params.body["password"]?
|
||||
if !password
|
||||
if password.nil? || password.empty?
|
||||
return error_template(401, "Password is a required field")
|
||||
end
|
||||
|
||||
|
|
|
@ -178,10 +178,6 @@ module Invidious::Routes::API::V1::Authenticated
|
|||
Invidious::Database::Users.subscribe_channel(user, ucid)
|
||||
end
|
||||
|
||||
# For Google accounts, access tokens don't have enough information to
|
||||
# make a request on the user's behalf, which is why we don't sync with
|
||||
# YouTube.
|
||||
|
||||
env.response.status_code = 204
|
||||
end
|
||||
|
||||
|
|
|
@ -80,49 +80,23 @@ module Invidious::Routes::BeforeAll
|
|||
raise "Cannot use token as SID"
|
||||
end
|
||||
|
||||
# Invidious users only have SID
|
||||
if !env.request.cookies.has_key? "SSID"
|
||||
if email = Invidious::Database::SessionIDs.select_email(sid)
|
||||
user = Invidious::Database::Users.select!(email: email)
|
||||
csrf_token = generate_response(sid, {
|
||||
":authorize_token",
|
||||
":playlist_ajax",
|
||||
":signout",
|
||||
":subscription_ajax",
|
||||
":token_ajax",
|
||||
":watch_ajax",
|
||||
}, HMAC_KEY, 1.week)
|
||||
if email = Database::SessionIDs.select_email(sid)
|
||||
user = Database::Users.select!(email: email)
|
||||
csrf_token = generate_response(sid, {
|
||||
":authorize_token",
|
||||
":playlist_ajax",
|
||||
":signout",
|
||||
":subscription_ajax",
|
||||
":token_ajax",
|
||||
":watch_ajax",
|
||||
}, HMAC_KEY, 1.week)
|
||||
|
||||
preferences = user.preferences
|
||||
env.set "preferences", preferences
|
||||
preferences = user.preferences
|
||||
env.set "preferences", preferences
|
||||
|
||||
env.set "sid", sid
|
||||
env.set "csrf_token", csrf_token
|
||||
env.set "user", user
|
||||
end
|
||||
else
|
||||
headers = HTTP::Headers.new
|
||||
headers["Cookie"] = env.request.headers["Cookie"]
|
||||
|
||||
begin
|
||||
user, sid = get_user(sid, headers, false)
|
||||
csrf_token = generate_response(sid, {
|
||||
":authorize_token",
|
||||
":playlist_ajax",
|
||||
":signout",
|
||||
":subscription_ajax",
|
||||
":token_ajax",
|
||||
":watch_ajax",
|
||||
}, HMAC_KEY, 1.week)
|
||||
|
||||
preferences = user.preferences
|
||||
env.set "preferences", preferences
|
||||
|
||||
env.set "sid", sid
|
||||
env.set "csrf_token", csrf_token
|
||||
env.set "user", user
|
||||
rescue ex
|
||||
end
|
||||
env.set "sid", sid
|
||||
env.set "csrf_token", csrf_token
|
||||
env.set "user", user
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -83,10 +83,6 @@ module Invidious::Routes::Feeds
|
|||
headers = HTTP::Headers.new
|
||||
headers["Cookie"] = env.request.headers["Cookie"]
|
||||
|
||||
if !user.password
|
||||
user, sid = get_user(sid, headers)
|
||||
end
|
||||
|
||||
max_results = env.params.query["max_results"]?.try &.to_i?.try &.clamp(0, MAX_ITEMS_PER_PAGE)
|
||||
max_results ||= user.preferences.max_results
|
||||
max_results ||= CONFIG.default_user_preferences.max_results
|
||||
|
|
|
@ -24,9 +24,6 @@ module Invidious::Routes::Login
|
|||
captcha_type = env.params.query["captcha"]?
|
||||
captcha_type ||= "image"
|
||||
|
||||
tfa = env.params.query["tfa"]?
|
||||
prompt = nil
|
||||
|
||||
templated "user/login"
|
||||
end
|
||||
|
||||
|
@ -47,283 +44,18 @@ module Invidious::Routes::Login
|
|||
account_type ||= "invidious"
|
||||
|
||||
case account_type
|
||||
when "google"
|
||||
tfa_code = env.params.body["tfa"]?.try &.lchop("G-")
|
||||
traceback = IO::Memory.new
|
||||
|
||||
# See https://github.com/ytdl-org/youtube-dl/blob/2019.04.07/youtube_dl/extractor/youtube.py#L82
|
||||
begin
|
||||
client = nil # Declare variable
|
||||
{% unless flag?(:disable_quic) %}
|
||||
client = CONFIG.use_quic ? QUIC::Client.new(LOGIN_URL) : HTTP::Client.new(LOGIN_URL)
|
||||
{% else %}
|
||||
client = HTTP::Client.new(LOGIN_URL)
|
||||
{% end %}
|
||||
|
||||
headers = HTTP::Headers.new
|
||||
|
||||
login_page = client.get("/ServiceLogin")
|
||||
headers = login_page.cookies.add_request_headers(headers)
|
||||
|
||||
lookup_req = {
|
||||
email, nil, [] of String, nil, "US", nil, nil, 2, false, true,
|
||||
{nil, nil,
|
||||
{2, 1, nil, 1,
|
||||
"https://accounts.google.com/ServiceLogin?passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Fnext%3D%252F%26action_handle_signin%3Dtrue%26hl%3Den%26app%3Ddesktop%26feature%3Dsign_in_button&hl=en&service=youtube&uilel=3&requestPath=%2FServiceLogin&Page=PasswordSeparationSignIn",
|
||||
nil, [] of String, 4},
|
||||
1,
|
||||
{nil, nil, [] of String},
|
||||
nil, nil, nil, true,
|
||||
},
|
||||
email,
|
||||
}.to_json
|
||||
|
||||
traceback << "Getting lookup..."
|
||||
|
||||
headers["Content-Type"] = "application/x-www-form-urlencoded;charset=utf-8"
|
||||
headers["Google-Accounts-XSRF"] = "1"
|
||||
|
||||
response = client.post("/_/signin/sl/lookup", headers, login_req(lookup_req))
|
||||
lookup_results = JSON.parse(response.body[5..-1])
|
||||
|
||||
traceback << "done, returned #{response.status_code}.<br/>"
|
||||
|
||||
user_hash = lookup_results[0][2]
|
||||
|
||||
if token = env.params.body["token"]?
|
||||
answer = env.params.body["answer"]?
|
||||
captcha = {token, answer}
|
||||
else
|
||||
captcha = nil
|
||||
end
|
||||
|
||||
challenge_req = {
|
||||
user_hash, nil, 1, nil,
|
||||
{1, nil, nil, nil,
|
||||
{password, captcha, true},
|
||||
},
|
||||
{nil, nil,
|
||||
{2, 1, nil, 1,
|
||||
"https://accounts.google.com/ServiceLogin?passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Fnext%3D%252F%26action_handle_signin%3Dtrue%26hl%3Den%26app%3Ddesktop%26feature%3Dsign_in_button&hl=en&service=youtube&uilel=3&requestPath=%2FServiceLogin&Page=PasswordSeparationSignIn",
|
||||
nil, [] of String, 4},
|
||||
1,
|
||||
{nil, nil, [] of String},
|
||||
nil, nil, nil, true,
|
||||
},
|
||||
}.to_json
|
||||
|
||||
traceback << "Getting challenge..."
|
||||
|
||||
response = client.post("/_/signin/sl/challenge", headers, login_req(challenge_req))
|
||||
headers = response.cookies.add_request_headers(headers)
|
||||
challenge_results = JSON.parse(response.body[5..-1])
|
||||
|
||||
traceback << "done, returned #{response.status_code}.<br/>"
|
||||
|
||||
headers["Cookie"] = URI.decode_www_form(headers["Cookie"])
|
||||
|
||||
if challenge_results[0][3]?.try &.== 7
|
||||
return error_template(423, "Account has temporarily been disabled")
|
||||
end
|
||||
|
||||
if token = challenge_results[0][-1]?.try &.[-1]?.try &.as_h?.try &.["5001"]?.try &.[-1].as_a?.try &.[-1].as_s
|
||||
account_type = "google"
|
||||
captcha_type = "image"
|
||||
prompt = nil
|
||||
tfa = tfa_code
|
||||
captcha = {tokens: [token], question: ""}
|
||||
|
||||
return templated "user/login"
|
||||
end
|
||||
|
||||
if challenge_results[0][-1]?.try &.[5] == "INCORRECT_ANSWER_ENTERED"
|
||||
return error_template(401, "Incorrect password")
|
||||
end
|
||||
|
||||
prompt_type = challenge_results[0][-1]?.try &.[0].as_a?.try &.[0][2]?
|
||||
if {"TWO_STEP_VERIFICATION", "LOGIN_CHALLENGE"}.includes? prompt_type
|
||||
traceback << "Handling prompt #{prompt_type}.<br/>"
|
||||
case prompt_type
|
||||
when "TWO_STEP_VERIFICATION"
|
||||
prompt_type = 2
|
||||
else # "LOGIN_CHALLENGE"
|
||||
prompt_type = 4
|
||||
end
|
||||
|
||||
# Prefer Authenticator app and SMS over unsupported protocols
|
||||
if !{6, 9, 12, 15}.includes?(challenge_results[0][-1][0][0][8].as_i) && prompt_type == 2
|
||||
tfa = challenge_results[0][-1][0].as_a.select { |auth_type| {6, 9, 12, 15}.includes? auth_type[8] }[0]
|
||||
|
||||
traceback << "Selecting challenge #{tfa[8]}..."
|
||||
select_challenge = {prompt_type, nil, nil, nil, {tfa[8]}}.to_json
|
||||
|
||||
tl = challenge_results[1][2]
|
||||
|
||||
tfa = client.post("/_/signin/selectchallenge?TL=#{tl}", headers, login_req(select_challenge)).body
|
||||
tfa = tfa[5..-1]
|
||||
tfa = JSON.parse(tfa)[0][-1]
|
||||
|
||||
traceback << "done.<br/>"
|
||||
else
|
||||
traceback << "Using challenge #{challenge_results[0][-1][0][0][8]}.<br/>"
|
||||
tfa = challenge_results[0][-1][0][0]
|
||||
end
|
||||
|
||||
if tfa[5] == "QUOTA_EXCEEDED"
|
||||
return error_template(423, "Quota exceeded, try again in a few hours")
|
||||
end
|
||||
|
||||
if !tfa_code
|
||||
account_type = "google"
|
||||
captcha_type = "image"
|
||||
|
||||
case tfa[8]
|
||||
when 6, 9
|
||||
prompt = "Google verification code"
|
||||
when 12
|
||||
prompt = "Login verification, recovery email: #{tfa[-1][tfa[-1].as_h.keys[0]][0]}"
|
||||
when 15
|
||||
prompt = "Login verification, security question: #{tfa[-1][tfa[-1].as_h.keys[0]][0]}"
|
||||
else
|
||||
prompt = "Google verification code"
|
||||
end
|
||||
|
||||
tfa = nil
|
||||
captcha = nil
|
||||
return templated "user/login"
|
||||
end
|
||||
|
||||
tl = challenge_results[1][2]
|
||||
|
||||
request_type = tfa[8]
|
||||
case request_type
|
||||
when 6 # Authenticator app
|
||||
tfa_req = {
|
||||
user_hash, nil, 2, nil,
|
||||
{6, nil, nil, nil, nil,
|
||||
{tfa_code, false},
|
||||
},
|
||||
}.to_json
|
||||
when 9 # Voice or text message
|
||||
tfa_req = {
|
||||
user_hash, nil, 2, nil,
|
||||
{9, nil, nil, nil, nil, nil, nil, nil,
|
||||
{nil, tfa_code, false, 2},
|
||||
},
|
||||
}.to_json
|
||||
when 12 # Recovery email
|
||||
tfa_req = {
|
||||
user_hash, nil, 4, nil,
|
||||
{12, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
||||
{tfa_code},
|
||||
},
|
||||
}.to_json
|
||||
when 15 # Security question
|
||||
tfa_req = {
|
||||
user_hash, nil, 5, nil,
|
||||
{15, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
||||
{tfa_code},
|
||||
},
|
||||
}.to_json
|
||||
else
|
||||
return error_template(500, "Unable to log in, make sure two-factor authentication (Authenticator or SMS) is turned on.")
|
||||
end
|
||||
|
||||
traceback << "Submitting challenge..."
|
||||
|
||||
response = client.post("/_/signin/challenge?hl=en&TL=#{tl}", headers, login_req(tfa_req))
|
||||
headers = response.cookies.add_request_headers(headers)
|
||||
challenge_results = JSON.parse(response.body[5..-1])
|
||||
|
||||
if (challenge_results[0][-1]?.try &.[5] == "INCORRECT_ANSWER_ENTERED") ||
|
||||
(challenge_results[0][-1]?.try &.[5] == "INVALID_INPUT")
|
||||
return error_template(401, "Invalid TFA code")
|
||||
end
|
||||
|
||||
traceback << "done.<br/>"
|
||||
end
|
||||
|
||||
traceback << "Logging in..."
|
||||
|
||||
location = URI.parse(challenge_results[0][-1][2].to_s)
|
||||
cookies = HTTP::Cookies.from_client_headers(headers)
|
||||
|
||||
headers.delete("Content-Type")
|
||||
headers.delete("Google-Accounts-XSRF")
|
||||
|
||||
loop do
|
||||
if !location || location.path == "/ManageAccount"
|
||||
break
|
||||
end
|
||||
|
||||
# Occasionally there will be a second page after login confirming
|
||||
# the user's phone number ("/b/0/SmsAuthInterstitial"), which we currently don't handle.
|
||||
|
||||
if location.path.starts_with? "/b/0/SmsAuthInterstitial"
|
||||
traceback << "Unhandled dialog /b/0/SmsAuthInterstitial."
|
||||
end
|
||||
|
||||
login = client.get(location.request_target, headers)
|
||||
|
||||
headers = login.cookies.add_request_headers(headers)
|
||||
location = login.headers["Location"]?.try { |u| URI.parse(u) }
|
||||
end
|
||||
|
||||
cookies = HTTP::Cookies.from_client_headers(headers)
|
||||
sid = cookies["SID"]?.try &.value
|
||||
if !sid
|
||||
raise "Couldn't get SID."
|
||||
end
|
||||
|
||||
user, sid = get_user(sid, headers)
|
||||
|
||||
# We are now logged in
|
||||
traceback << "done.<br/>"
|
||||
|
||||
host = URI.parse(env.request.headers["Host"]).host
|
||||
|
||||
cookies.each do |cookie|
|
||||
cookie.secure = Invidious::User::Cookies::SECURE
|
||||
|
||||
if cookie.extension
|
||||
cookie.extension = cookie.extension.not_nil!.gsub(".youtube.com", host)
|
||||
cookie.extension = cookie.extension.not_nil!.gsub("Secure; ", "")
|
||||
end
|
||||
env.response.cookies << cookie
|
||||
end
|
||||
|
||||
if env.request.cookies["PREFS"]?
|
||||
user.preferences = env.get("preferences").as(Preferences)
|
||||
Invidious::Database::Users.update_preferences(user)
|
||||
|
||||
cookie = env.request.cookies["PREFS"]
|
||||
cookie.expires = Time.utc(1990, 1, 1)
|
||||
env.response.cookies << cookie
|
||||
end
|
||||
|
||||
env.redirect referer
|
||||
rescue ex
|
||||
traceback.rewind
|
||||
# error_message = translate(locale, "Login failed. This may be because two-factor authentication is not turned on for your account.")
|
||||
error_message = %(#{ex.message}<br/>Traceback:<br/><div style="padding-left:2em" id="traceback">#{traceback.gets_to_end}</div>)
|
||||
return error_template(500, error_message)
|
||||
end
|
||||
when "invidious"
|
||||
if !email
|
||||
if email.nil? || email.empty?
|
||||
return error_template(401, "User ID is a required field")
|
||||
end
|
||||
|
||||
if !password
|
||||
if password.nil? || password.empty?
|
||||
return error_template(401, "Password is a required field")
|
||||
end
|
||||
|
||||
user = Invidious::Database::Users.select(email: email)
|
||||
|
||||
if user
|
||||
if !user.password
|
||||
return error_template(400, "Please sign in using 'Log in with Google'")
|
||||
end
|
||||
|
||||
if Crypto::Bcrypt::Password.new(user.password.not_nil!).verify(password.byte_slice(0, 55))
|
||||
sid = Base64.urlsafe_encode(Random::Secure.random_bytes(32))
|
||||
Invidious::Database::SessionIDs.insert(sid, email)
|
||||
|
@ -367,8 +99,6 @@ module Invidious::Routes::Login
|
|||
captcha_type ||= "image"
|
||||
|
||||
account_type = "invidious"
|
||||
tfa = false
|
||||
prompt = ""
|
||||
|
||||
if captcha_type == "image"
|
||||
captcha = Invidious::User::Captcha.generate_image(HMAC_KEY)
|
||||
|
@ -481,11 +211,4 @@ module Invidious::Routes::Login
|
|||
|
||||
env.redirect referer
|
||||
end
|
||||
|
||||
def self.captcha(env)
|
||||
headers = HTTP::Headers{":authority" => "accounts.google.com"}
|
||||
response = YT_POOL.client &.get(env.request.resource, headers)
|
||||
env.response.headers["Content-Type"] = response.headers["Content-Type"]
|
||||
response.body
|
||||
end
|
||||
end
|
||||
|
|
|
@ -24,50 +24,6 @@ module Invidious::Routes::Notifications
|
|||
|
||||
user = user.as(User)
|
||||
|
||||
if !user.password
|
||||
channel_req = {} of String => String
|
||||
|
||||
channel_req["receive_all_updates"] = env.params.query["receive_all_updates"]? || "true"
|
||||
channel_req["receive_no_updates"] = env.params.query["receive_no_updates"]? || ""
|
||||
channel_req["receive_post_updates"] = env.params.query["receive_post_updates"]? || "true"
|
||||
|
||||
channel_req.reject! { |k, v| v != "true" && v != "false" }
|
||||
|
||||
headers = HTTP::Headers.new
|
||||
headers["Cookie"] = env.request.headers["Cookie"]
|
||||
|
||||
html = YT_POOL.client &.get("/subscription_manager?disable_polymer=1", headers)
|
||||
|
||||
cookies = HTTP::Cookies.from_client_headers(headers)
|
||||
html.cookies.each do |cookie|
|
||||
if {"VISITOR_INFO1_LIVE", "YSC", "SIDCC"}.includes? cookie.name
|
||||
if cookies[cookie.name]?
|
||||
cookies[cookie.name] = cookie
|
||||
else
|
||||
cookies << cookie
|
||||
end
|
||||
end
|
||||
end
|
||||
headers = cookies.add_request_headers(headers)
|
||||
|
||||
if match = html.body.match(/'XSRF_TOKEN': "(?<session_token>[^"]+)"/)
|
||||
session_token = match["session_token"]
|
||||
else
|
||||
return env.redirect referer
|
||||
end
|
||||
|
||||
headers["content-type"] = "application/x-www-form-urlencoded"
|
||||
channel_req["session_token"] = session_token
|
||||
|
||||
subs = XML.parse_html(html.body)
|
||||
subs.xpath_nodes(%q(//a[@class="subscription-title yt-uix-sessionlink"]/@href)).each do |channel|
|
||||
channel_id = channel.content.lstrip("/channel/").not_nil!
|
||||
channel_req["channel_id"] = channel_id
|
||||
|
||||
YT_POOL.client &.post("/subscription_ajax?action_update_subscription_preferences=1", headers, form: channel_req)
|
||||
end
|
||||
end
|
||||
|
||||
if redirect
|
||||
env.redirect referer
|
||||
else
|
||||
|
|
|
@ -320,10 +320,6 @@ module Invidious::Routes::Playlists
|
|||
end
|
||||
end
|
||||
|
||||
if !user.password
|
||||
# TODO: Playlist stub, sync with YouTube for Google accounts
|
||||
# playlist_ajax(playlist_id, action, env.request.headers)
|
||||
end
|
||||
email = user.email
|
||||
|
||||
case action
|
||||
|
|
|
@ -43,11 +43,6 @@ module Invidious::Routes::Subscriptions
|
|||
channel_id = env.params.query["c"]?
|
||||
channel_id ||= ""
|
||||
|
||||
if !user.password
|
||||
# Sync subscriptions with YouTube
|
||||
subscribe_ajax(channel_id, action, env.request.headers)
|
||||
end
|
||||
|
||||
case action
|
||||
when "action_create_subscription_to_channel"
|
||||
if !user.subscriptions.includes? channel_id
|
||||
|
@ -82,14 +77,6 @@ module Invidious::Routes::Subscriptions
|
|||
user = user.as(User)
|
||||
sid = sid.as(String)
|
||||
|
||||
if !user.password
|
||||
# Refresh account
|
||||
headers = HTTP::Headers.new
|
||||
headers["Cookie"] = env.request.headers["Cookie"]
|
||||
|
||||
user, sid = get_user(sid, headers)
|
||||
end
|
||||
|
||||
action_takeout = env.params.query["action_takeout"]?.try &.to_i?
|
||||
action_takeout ||= 0
|
||||
action_takeout = action_takeout == 1
|
||||
|
|
|
@ -57,7 +57,6 @@ module Invidious::Routing
|
|||
get "/login", Routes::Login, :login_page
|
||||
post "/login", Routes::Login, :login
|
||||
post "/signout", Routes::Login, :signout
|
||||
get "/Captcha", Routes::Login, :captcha
|
||||
|
||||
# User preferences
|
||||
get "/preferences", Routes::PreferencesRoute, :show
|
||||
|
|
|
@ -3,75 +3,6 @@ require "crypto/bcrypt/password"
|
|||
# Materialized views may not be defined using bound parameters (`$1` as used elsewhere)
|
||||
MATERIALIZED_VIEW_SQL = ->(email : String) { "SELECT cv.* FROM channel_videos cv WHERE EXISTS (SELECT subscriptions FROM users u WHERE cv.ucid = ANY (u.subscriptions) AND u.email = E'#{email.gsub({'\'' => "\\'", '\\' => "\\\\"})}') ORDER BY published DESC" }
|
||||
|
||||
def get_user(sid, headers, refresh = true)
|
||||
if email = Invidious::Database::SessionIDs.select_email(sid)
|
||||
user = Invidious::Database::Users.select!(email: email)
|
||||
|
||||
if refresh && Time.utc - user.updated > 1.minute
|
||||
user, sid = fetch_user(sid, headers)
|
||||
|
||||
Invidious::Database::Users.insert(user, update_on_conflict: true)
|
||||
Invidious::Database::SessionIDs.insert(sid, user.email, handle_conflicts: true)
|
||||
|
||||
begin
|
||||
view_name = "subscriptions_#{sha256(user.email)}"
|
||||
PG_DB.exec("CREATE MATERIALIZED VIEW #{view_name} AS #{MATERIALIZED_VIEW_SQL.call(user.email)}")
|
||||
rescue ex
|
||||
end
|
||||
end
|
||||
else
|
||||
user, sid = fetch_user(sid, headers)
|
||||
|
||||
Invidious::Database::Users.insert(user, update_on_conflict: true)
|
||||
Invidious::Database::SessionIDs.insert(sid, user.email, handle_conflicts: true)
|
||||
|
||||
begin
|
||||
view_name = "subscriptions_#{sha256(user.email)}"
|
||||
PG_DB.exec("CREATE MATERIALIZED VIEW #{view_name} AS #{MATERIALIZED_VIEW_SQL.call(user.email)}")
|
||||
rescue ex
|
||||
end
|
||||
end
|
||||
|
||||
return user, sid
|
||||
end
|
||||
|
||||
def fetch_user(sid, headers)
|
||||
feed = YT_POOL.client &.get("/subscription_manager?disable_polymer=1", headers)
|
||||
feed = XML.parse_html(feed.body)
|
||||
|
||||
channels = feed.xpath_nodes(%q(//ul[@id="guide-channels"]/li/a)).compact_map do |channel|
|
||||
if {"Popular on YouTube", "Music", "Sports", "Gaming"}.includes? channel["title"]
|
||||
nil
|
||||
else
|
||||
channel["href"].lstrip("/channel/")
|
||||
end
|
||||
end
|
||||
|
||||
channels = get_batch_channels(channels)
|
||||
|
||||
email = feed.xpath_node(%q(//a[@class="yt-masthead-picker-header yt-masthead-picker-active-account"]))
|
||||
if email
|
||||
email = email.content.strip
|
||||
else
|
||||
email = ""
|
||||
end
|
||||
|
||||
token = Base64.urlsafe_encode(Random::Secure.random_bytes(32))
|
||||
|
||||
user = Invidious::User.new({
|
||||
updated: Time.utc,
|
||||
notifications: [] of String,
|
||||
subscriptions: channels,
|
||||
email: email,
|
||||
preferences: Preferences.new(CONFIG.default_user_preferences.to_tuple),
|
||||
password: nil,
|
||||
token: token,
|
||||
watched: [] of String,
|
||||
feed_needs_update: true,
|
||||
})
|
||||
return user, sid
|
||||
end
|
||||
|
||||
def create_user(sid, email, password)
|
||||
password = Crypto::Bcrypt::Password.create(password, cost: 10)
|
||||
token = Base64.urlsafe_encode(Random::Secure.random_bytes(32))
|
||||
|
@ -91,38 +22,6 @@ def create_user(sid, email, password)
|
|||
return user, sid
|
||||
end
|
||||
|
||||
def subscribe_ajax(channel_id, action, env_headers)
|
||||
headers = HTTP::Headers.new
|
||||
headers["Cookie"] = env_headers["Cookie"]
|
||||
|
||||
html = YT_POOL.client &.get("/subscription_manager?disable_polymer=1", headers)
|
||||
|
||||
cookies = HTTP::Cookies.from_client_headers(headers)
|
||||
html.cookies.each do |cookie|
|
||||
if {"VISITOR_INFO1_LIVE", "YSC", "SIDCC"}.includes? cookie.name
|
||||
if cookies[cookie.name]?
|
||||
cookies[cookie.name] = cookie
|
||||
else
|
||||
cookies << cookie
|
||||
end
|
||||
end
|
||||
end
|
||||
headers = cookies.add_request_headers(headers)
|
||||
|
||||
if match = html.body.match(/'XSRF_TOKEN': "(?<session_token>[^"]+)"/)
|
||||
session_token = match["session_token"]
|
||||
|
||||
headers["content-type"] = "application/x-www-form-urlencoded"
|
||||
|
||||
post_req = {
|
||||
session_token: session_token,
|
||||
}
|
||||
post_url = "/subscription_ajax?#{action}=1&c=#{channel_id}"
|
||||
|
||||
YT_POOL.client &.post(post_url, headers, form: post_req)
|
||||
end
|
||||
end
|
||||
|
||||
def get_subscription_feed(user, max_results = 40, page = 1)
|
||||
limit = max_results.clamp(0, MAX_ITEMS_PER_PAGE)
|
||||
offset = (page - 1) * limit
|
||||
|
|
|
@ -16,12 +16,11 @@
|
|||
<li>a list of channel UCIDs the user is subscribed to</li>
|
||||
<li>a user ID (for persistent storage of subscriptions and preferences)</li>
|
||||
<li>a json object containing user preferences</li>
|
||||
<li>a hashed password if applicable (not present on google accounts)</li>
|
||||
<li>a hashed password</li>
|
||||
<li>a randomly generated token for providing an RSS feed of a user's subscriptions</li>
|
||||
<li>a list of video IDs identifying watched videos</li>
|
||||
</ul>
|
||||
<p>Users can clear their watch history using the <a href="/clear_watch_history">clear watch history</a> page.</p>
|
||||
<p>If a user is logged in with a Google account, no password will ever be stored. This website uses the session token provided by Google to identify a user, but does not store the information required to make requests on a user's behalf without their knowledge or consent.</p>
|
||||
|
||||
<h3>Data you passively provide</h3>
|
||||
<p>When you request any resource from this website (for example: a page, a font, an image, or an API endpoint) information about the request may be logged.</p>
|
||||
|
|
|
@ -7,42 +7,6 @@
|
|||
<div class="pure-u-1 pure-u-lg-3-5">
|
||||
<div class="h-box">
|
||||
<% case account_type when %>
|
||||
<% when "google" %>
|
||||
<form class="pure-form pure-form-stacked" action="/login?referer=<%= URI.encode_www_form(referer) %>&type=google" method="post">
|
||||
<fieldset>
|
||||
<% if email %>
|
||||
<input name="email" type="hidden" value="<%= HTML.escape(email) %>">
|
||||
<% else %>
|
||||
<label for="email"><%= translate(locale, "E-mail") %> :</label>
|
||||
<input required class="pure-input-1" name="email" type="email" placeholder="<%= translate(locale, "E-mail") %>">
|
||||
<% end %>
|
||||
|
||||
<% if password %>
|
||||
<input name="password" type="hidden" value="<%= HTML.escape(password) %>">
|
||||
<% else %>
|
||||
<label for="password"><%= translate(locale, "Password") %> :</label>
|
||||
<input required class="pure-input-1" name="password" type="password" placeholder="<%= translate(locale, "Password") %>">
|
||||
<% end %>
|
||||
|
||||
<% if prompt %>
|
||||
<label for="tfa"><%= translate(locale, prompt) %> :</label>
|
||||
<input required class="pure-input-1" name="tfa" type="text" placeholder="<%= translate(locale, prompt) %>">
|
||||
<% end %>
|
||||
|
||||
<% if tfa %>
|
||||
<input type="hidden" name="tfa" value="<%= tfa %>">
|
||||
<% end %>
|
||||
|
||||
<% if captcha %>
|
||||
<img style="width:50%" src="/Captcha?v=2&ctoken=<%= captcha[:tokens][0] %>"/>
|
||||
<input type="hidden" name="token" value="<%= captcha[:tokens][0] %>">
|
||||
<label for="answer"><%= translate(locale, "Answer") %> :</label>
|
||||
<input type="text" name="answer" type="text" placeholder="<%= translate(locale, "Answer") %>">
|
||||
<% end %>
|
||||
|
||||
<button type="submit" class="pure-button pure-button-primary"><%= translate(locale, "Sign In") %></button>
|
||||
</fieldset>
|
||||
</form>
|
||||
<% else # "invidious" %>
|
||||
<form class="pure-form pure-form-stacked" action="/login?referer=<%= URI.encode_www_form(referer) %>&type=invidious" method="post">
|
||||
<fieldset>
|
||||
|
|
|
@ -14,8 +14,9 @@ def add_yt_headers(request)
|
|||
request.headers["Accept-Charset"] ||= "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
|
||||
request.headers["Accept"] ||= "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
|
||||
request.headers["Accept-Language"] ||= "en-us,en;q=0.5"
|
||||
|
||||
# Preserve original cookies and add new YT consent cookie for EU servers
|
||||
request.headers["Cookie"] = "#{request.headers["cookie"]?}; CONSENT=YES+"
|
||||
request.headers["Cookie"] = "#{request.headers["cookie"]?}; CONSENT=PENDING+#{Random.rand(100..999)}"
|
||||
if !CONFIG.cookies.empty?
|
||||
request.headers["Cookie"] = "#{(CONFIG.cookies.map { |c| "#{c.name}=#{c.value}" }).join("; ")}; #{request.headers["cookie"]?}"
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue