diff --git a/lib/i18n/az.i18n.json b/lib/i18n/az.i18n.json index 88cca02c..43551b6b 100644 --- a/lib/i18n/az.i18n.json +++ b/lib/i18n/az.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Plezy-ni ${service} üzərində aktivləşdirin", - "body": "${url} ünvanına keçin və bu kodu daxil edin:", + "instructions": "", "openToActivate": "Aktivləşdirmək üçün ${service} açın", "copyCode": "Aktivləşdirmə kodunu kopyala", "waitingForAuthorization": "Səlahiyyət gözlənilir…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "${service} xidmətinə daxil olun", "body": "Bu QR kodu skan edin və ya URL-i açın.", - "openToSignIn": "Daxil olmaq üçün ${service} açın", + "openToSignIn": "Daxil olmaq üçün ${service} açın" + }, + "pendingAuth": { "copyUrl": "Daxil olma URL-ini kopyala", "urlCopied": "URL kopyalandı" }, diff --git a/lib/i18n/bg.i18n.json b/lib/i18n/bg.i18n.json index d937b4e0..c03237f9 100644 --- a/lib/i18n/bg.i18n.json +++ b/lib/i18n/bg.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Активиране на Plezy в ${service}", - "body": "Посетете ${url} и въведете този код:", + "instructions": "", "openToActivate": "Отворете ${service}, за да активирате", "copyCode": "Копирай кода за активиране", "waitingForAuthorization": "Изчакване на оторизация…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Вход в ${service}", "body": "Сканирайте този QR код или отворете URL-а на което и да е устройство.", - "openToSignIn": "Отворете ${service}, за да влезете", + "openToSignIn": "Отворете ${service}, за да влезете" + }, + "pendingAuth": { "copyUrl": "Копирай URL адреса за вход", "urlCopied": "URL адресът е копиран" }, diff --git a/lib/i18n/da.i18n.json b/lib/i18n/da.i18n.json index e6ece5a8..b0ffef0d 100644 --- a/lib/i18n/da.i18n.json +++ b/lib/i18n/da.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Aktiver Plezy på ${service}", - "body": "Besøg ${url} og indtast denne kode:", + "instructions": "", "openToActivate": "Åbn ${service} for at aktivere", "copyCode": "Kopiér aktiveringskode", "waitingForAuthorization": "Venter på godkendelse…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Log ind på ${service}", "body": "Scan denne QR-kode, eller åbn URL'en på en enhed.", - "openToSignIn": "Åbn ${service} for at logge ind", + "openToSignIn": "Åbn ${service} for at logge ind" + }, + "pendingAuth": { "copyUrl": "Kopiér login-URL", "urlCopied": "URL kopieret" }, diff --git a/lib/i18n/de.i18n.json b/lib/i18n/de.i18n.json index e58d524a..c541e365 100644 --- a/lib/i18n/de.i18n.json +++ b/lib/i18n/de.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Plezy auf ${service} aktivieren", - "body": "Gehe zu ${url} und gib diesen Code ein:", + "instructions": "", "openToActivate": "${service} zum Aktivieren öffnen", "copyCode": "Aktivierungscode kopieren", "waitingForAuthorization": "Warte auf Autorisierung…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Bei ${service} anmelden", "body": "Scanne diesen QR-Code oder öffne die URL auf einem beliebigen Gerät.", - "openToSignIn": "${service} zum Anmelden öffnen", + "openToSignIn": "${service} zum Anmelden öffnen" + }, + "pendingAuth": { "copyUrl": "Anmelde-URL kopieren", "urlCopied": "URL kopiert" }, diff --git a/lib/i18n/en.i18n.json b/lib/i18n/en.i18n.json index e2c56a44..ec743860 100644 --- a/lib/i18n/en.i18n.json +++ b/lib/i18n/en.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Activate Plezy on ${service}", - "body": "Visit ${url} and enter this code:", + "instructions": "Scan the QR code, or visit the address below and enter this code:", "openToActivate": "Open ${service} to activate", "copyCode": "Copy activation code", "waitingForAuthorization": "Waiting for authorization…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Sign in to ${service}", "body": "Scan this QR code or open the URL on any device.", - "openToSignIn": "Open ${service} to sign in", + "openToSignIn": "Open ${service} to sign in" + }, + "pendingAuth": { "copyUrl": "Copy sign-in URL", "urlCopied": "URL copied" }, diff --git a/lib/i18n/es.i18n.json b/lib/i18n/es.i18n.json index e50ccc48..c7bc0831 100644 --- a/lib/i18n/es.i18n.json +++ b/lib/i18n/es.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Activar Plezy en ${service}", - "body": "Visita ${url} e introduce este código:", + "instructions": "", "openToActivate": "Abrir ${service} para activar", "copyCode": "Copiar código de activación", "waitingForAuthorization": "Esperando autorización…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Inicia sesión en ${service}", "body": "Escanea este código QR o abre la URL en cualquier dispositivo.", - "openToSignIn": "Abrir ${service} para iniciar sesión", + "openToSignIn": "Abrir ${service} para iniciar sesión" + }, + "pendingAuth": { "copyUrl": "Copiar URL de inicio de sesión", "urlCopied": "URL copiada" }, diff --git a/lib/i18n/fr.i18n.json b/lib/i18n/fr.i18n.json index c5ffcb69..ad13a4c2 100644 --- a/lib/i18n/fr.i18n.json +++ b/lib/i18n/fr.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Activer Plezy sur ${service}", - "body": "Rendez-vous sur ${url} et entrez ce code :", + "instructions": "", "openToActivate": "Ouvrir ${service} pour activer", "copyCode": "Copier le code d'activation", "waitingForAuthorization": "En attente d'autorisation…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Se connecter à ${service}", "body": "Scannez ce code QR ou ouvrez l'URL sur n'importe quel appareil.", - "openToSignIn": "Ouvrir ${service} pour se connecter", + "openToSignIn": "Ouvrir ${service} pour se connecter" + }, + "pendingAuth": { "copyUrl": "Copier l'URL de connexion", "urlCopied": "URL copiée" }, diff --git a/lib/i18n/hu.i18n.json b/lib/i18n/hu.i18n.json index e0d33838..13f93605 100644 --- a/lib/i18n/hu.i18n.json +++ b/lib/i18n/hu.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Plezy aktiválása a következőn: ${service}", - "body": "Nyisd meg a(z) ${url} oldalt és add meg ezt a kódot:", + "instructions": "", "openToActivate": "Nyisd meg a(z) ${service} oldalt az aktiváláshoz", "copyCode": "Aktiválási kód másolása", "waitingForAuthorization": "Várakozás az engedélyezésre…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Bejelentkezés ide: ${service}", "body": "Olvasd be ezt a QR-kódot vagy nyisd meg az URL-t bármelyik eszközön.", - "openToSignIn": "Nyisd meg a(z) ${service} oldalt a bejelentkezéshez", + "openToSignIn": "Nyisd meg a(z) ${service} oldalt a bejelentkezéshez" + }, + "pendingAuth": { "copyUrl": "Bejelentkezési URL másolása", "urlCopied": "URL másolva" }, diff --git a/lib/i18n/it.i18n.json b/lib/i18n/it.i18n.json index a8d6ddb7..093de129 100644 --- a/lib/i18n/it.i18n.json +++ b/lib/i18n/it.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Attiva Plezy su ${service}", - "body": "Visita ${url} e inserisci questo codice:", + "instructions": "", "openToActivate": "Apri ${service} per attivare", "copyCode": "Copia il codice di attivazione", "waitingForAuthorization": "In attesa di autorizzazione…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Accedi a ${service}", "body": "Scansiona questo codice QR o apri l'URL su qualsiasi dispositivo.", - "openToSignIn": "Apri ${service} per accedere", + "openToSignIn": "Apri ${service} per accedere" + }, + "pendingAuth": { "copyUrl": "Copia l'URL di accesso", "urlCopied": "URL copiato" }, diff --git a/lib/i18n/ja.i18n.json b/lib/i18n/ja.i18n.json index 47917137..fe7e874f 100644 --- a/lib/i18n/ja.i18n.json +++ b/lib/i18n/ja.i18n.json @@ -1859,7 +1859,7 @@ }, "deviceCode": { "title": "${service} で Plezy を有効化", - "body": "${url}にアクセスして、このコードを入力してください。", + "instructions": "", "openToActivate": "${service} を開いて有効化", "copyCode": "アクティベーションコードをコピー", "waitingForAuthorization": "認証を待っています…", @@ -1868,7 +1868,9 @@ "oauthProxy": { "title": "${service} にサインイン", "body": "このQRコードをスキャンするか、任意のデバイスでURLを開いてください。", - "openToSignIn": "${service} を開いてサインイン", + "openToSignIn": "${service} を開いてサインイン" + }, + "pendingAuth": { "copyUrl": "サインインURLをコピー", "urlCopied": "URLをコピーしました" }, diff --git a/lib/i18n/kk.i18n.json b/lib/i18n/kk.i18n.json index d3937dae..350de4a8 100644 --- a/lib/i18n/kk.i18n.json +++ b/lib/i18n/kk.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Plezy-ді ${service} қызметінде белсендіру", - "body": "${url} мекенжайына өтіп, осы кодты енгізіңіз:", + "instructions": "", "openToActivate": "Белсендіру үшін ${service} ашу", "copyCode": "Белсендіру кодын көшіру", "waitingForAuthorization": "Авторизация күтілуде…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "${service} қызметіне кіру", "body": "Осы QR кодты сканерлеңіз немесе URL-ді ашыңыз.", - "openToSignIn": "Кіру үшін ${service} ашу", + "openToSignIn": "Кіру үшін ${service} ашу" + }, + "pendingAuth": { "copyUrl": "Кіру URL-ін көшіру", "urlCopied": "URL көшірілді" }, diff --git a/lib/i18n/ko.i18n.json b/lib/i18n/ko.i18n.json index 6e4a4da3..78036583 100644 --- a/lib/i18n/ko.i18n.json +++ b/lib/i18n/ko.i18n.json @@ -1859,7 +1859,7 @@ }, "deviceCode": { "title": "${service}에서 Plezy 활성화", - "body": "${url}을 방문하여 이 코드를 입력하세요:", + "instructions": "", "openToActivate": "활성화하려면 ${service} 열기", "copyCode": "활성화 코드 복사", "waitingForAuthorization": "인증을 기다리는 중…", @@ -1868,7 +1868,9 @@ "oauthProxy": { "title": "${service}에 로그인", "body": "이 QR 코드를 스캔하거나 아무 기기에서 URL을 여세요.", - "openToSignIn": "로그인하려면 ${service} 열기", + "openToSignIn": "로그인하려면 ${service} 열기" + }, + "pendingAuth": { "copyUrl": "로그인 URL 복사", "urlCopied": "URL이 복사되었습니다" }, diff --git a/lib/i18n/nb.i18n.json b/lib/i18n/nb.i18n.json index 37b67b2d..f7004f2f 100644 --- a/lib/i18n/nb.i18n.json +++ b/lib/i18n/nb.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Aktiver Plezy på ${service}", - "body": "Besøk ${url} og skriv inn denne koden:", + "instructions": "", "openToActivate": "Åpne ${service} for å aktivere", "copyCode": "Kopier aktiveringskode", "waitingForAuthorization": "Venter på godkjenning…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Logg inn på ${service}", "body": "Skann denne QR-koden eller åpne URL-en på en enhet.", - "openToSignIn": "Åpne ${service} for å logge inn", + "openToSignIn": "Åpne ${service} for å logge inn" + }, + "pendingAuth": { "copyUrl": "Kopier URL for pålogging", "urlCopied": "URL kopiert" }, diff --git a/lib/i18n/nl.i18n.json b/lib/i18n/nl.i18n.json index deb2c5c1..bf6f7525 100644 --- a/lib/i18n/nl.i18n.json +++ b/lib/i18n/nl.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Plezy activeren op ${service}", - "body": "Ga naar ${url} en voer deze code in:", + "instructions": "", "openToActivate": "Open ${service} om te activeren", "copyCode": "Activeringscode kopiëren", "waitingForAuthorization": "Wachten op autorisatie…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Aanmelden bij ${service}", "body": "Scan deze QR-code of open de URL op een apparaat.", - "openToSignIn": "${service} openen om aan te melden", + "openToSignIn": "${service} openen om aan te melden" + }, + "pendingAuth": { "copyUrl": "Aanmeldings-URL kopiëren", "urlCopied": "URL gekopieerd" }, diff --git a/lib/i18n/pl.i18n.json b/lib/i18n/pl.i18n.json index 09fef314..23280577 100644 --- a/lib/i18n/pl.i18n.json +++ b/lib/i18n/pl.i18n.json @@ -1886,7 +1886,7 @@ }, "deviceCode": { "title": "Aktywuj Plezy w ${service}", - "body": "Odwiedź ${url} i wpisz ten kod:", + "instructions": "", "openToActivate": "Otwórz ${service}, aby aktywować", "copyCode": "Skopiuj kod aktywacyjny", "waitingForAuthorization": "Oczekiwanie na autoryzację…", @@ -1895,7 +1895,9 @@ "oauthProxy": { "title": "Zaloguj się do ${service}", "body": "Zeskanuj ten kod QR lub otwórz URL na dowolnym urządzeniu.", - "openToSignIn": "Otwórz ${service}, aby się zalogować", + "openToSignIn": "Otwórz ${service}, aby się zalogować" + }, + "pendingAuth": { "copyUrl": "Skopiuj adres URL logowania", "urlCopied": "URL skopiowany" }, diff --git a/lib/i18n/pt.i18n.json b/lib/i18n/pt.i18n.json index 5dc52c84..3716e05a 100644 --- a/lib/i18n/pt.i18n.json +++ b/lib/i18n/pt.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Ativar o Plezy no ${service}", - "body": "Acesse ${url} e insira este código:", + "instructions": "", "openToActivate": "Abrir ${service} para ativar", "copyCode": "Copiar código de ativação", "waitingForAuthorization": "Aguardando autorização…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Entrar no ${service}", "body": "Leia este código QR ou abra a URL em qualquer dispositivo.", - "openToSignIn": "Abrir ${service} para entrar", + "openToSignIn": "Abrir ${service} para entrar" + }, + "pendingAuth": { "copyUrl": "Copiar URL de acesso", "urlCopied": "URL copiada" }, diff --git a/lib/i18n/ru.i18n.json b/lib/i18n/ru.i18n.json index 53b538a9..52e5a6c4 100644 --- a/lib/i18n/ru.i18n.json +++ b/lib/i18n/ru.i18n.json @@ -1886,7 +1886,7 @@ }, "deviceCode": { "title": "Активируйте Plezy в ${service}", - "body": "Перейдите на ${url} и введите этот код:", + "instructions": "", "openToActivate": "Открыть ${service} для активации", "copyCode": "Скопировать код активации", "waitingForAuthorization": "Ожидание авторизации…", @@ -1895,7 +1895,9 @@ "oauthProxy": { "title": "Войти в ${service}", "body": "Отсканируйте этот QR-код или откройте URL на любом устройстве.", - "openToSignIn": "Открыть ${service} для входа", + "openToSignIn": "Открыть ${service} для входа" + }, + "pendingAuth": { "copyUrl": "Скопировать URL для входа", "urlCopied": "URL скопирован" }, diff --git a/lib/i18n/strings.g.dart b/lib/i18n/strings.g.dart index 16020f1d..cc75cf4f 100644 --- a/lib/i18n/strings.g.dart +++ b/lib/i18n/strings.g.dart @@ -4,7 +4,7 @@ /// To regenerate, run: `dart run slang` /// /// Locales: 22 -/// Strings: 38359 (1743 per locale) +/// Strings: 38338 (1742 per locale) // coverage:ignore-file // ignore_for_file: type=lint, unused_import diff --git a/lib/i18n/strings_az.g.dart b/lib/i18n/strings_az.g.dart index eacd3f7c..3704b169 100644 --- a/lib/i18n/strings_az.g.dart +++ b/lib/i18n/strings_az.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$az extends Translations$services$en { @override late final _Translations$services$names$az names = _Translations$services$names$az._(_root); @override late final _Translations$services$deviceCode$az deviceCode = _Translations$services$deviceCode$az._(_root); @override late final _Translations$services$oauthProxy$az oauthProxy = _Translations$services$oauthProxy$az._(_root); + @override late final _Translations$services$pendingAuth$az pendingAuth = _Translations$services$pendingAuth$az._(_root); @override late final _Translations$services$libraryFilter$az libraryFilter = _Translations$services$libraryFilter$az._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$az extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Plezy-ni ${service} üzərində aktivləşdirin'; - @override String body({required Object url}) => '${url} ünvanına keçin və bu kodu daxil edin:'; @override String openToActivate({required Object service}) => 'Aktivləşdirmək üçün ${service} açın'; @override String get copyCode => 'Aktivləşdirmə kodunu kopyala'; @override String get waitingForAuthorization => 'Səlahiyyət gözlənilir…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$az extends Translations$services$oauthPr @override String title({required Object service}) => '${service} xidmətinə daxil olun'; @override String get body => 'Bu QR kodu skan edin və ya URL-i açın.'; @override String openToSignIn({required Object service}) => 'Daxil olmaq üçün ${service} açın'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$az extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$az._(TranslationsAz root) : this._root = root, super.internal(root); + + final TranslationsAz _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Daxil olma URL-ini kopyala'; @override String get urlCopied => 'URL kopyalandı'; } @@ -4260,7 +4269,6 @@ extension on TranslationsAz { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Plezy-ni ${service} üzərində aktivləşdirin', - 'services.deviceCode.body' => ({required Object url}) => '${url} ünvanına keçin və bu kodu daxil edin:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Aktivləşdirmək üçün ${service} açın', 'services.deviceCode.copyCode' => 'Aktivləşdirmə kodunu kopyala', 'services.deviceCode.waitingForAuthorization' => 'Səlahiyyət gözlənilir…', @@ -4268,8 +4276,8 @@ extension on TranslationsAz { 'services.oauthProxy.title' => ({required Object service}) => '${service} xidmətinə daxil olun', 'services.oauthProxy.body' => 'Bu QR kodu skan edin və ya URL-i açın.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Daxil olmaq üçün ${service} açın', - 'services.oauthProxy.copyUrl' => 'Daxil olma URL-ini kopyala', - 'services.oauthProxy.urlCopied' => 'URL kopyalandı', + 'services.pendingAuth.copyUrl' => 'Daxil olma URL-ini kopyala', + 'services.pendingAuth.urlCopied' => 'URL kopyalandı', 'services.libraryFilter.title' => 'Kitabxana filtri', 'services.libraryFilter.subtitleAllSyncing' => 'Bütün kitabxanalar eyniləşdirilir', 'services.libraryFilter.subtitleNoneSyncing' => 'Heç nə eyniləşdirilmir', diff --git a/lib/i18n/strings_bg.g.dart b/lib/i18n/strings_bg.g.dart index 3b2d5766..91476a12 100644 --- a/lib/i18n/strings_bg.g.dart +++ b/lib/i18n/strings_bg.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$bg extends Translations$services$en { @override late final _Translations$services$names$bg names = _Translations$services$names$bg._(_root); @override late final _Translations$services$deviceCode$bg deviceCode = _Translations$services$deviceCode$bg._(_root); @override late final _Translations$services$oauthProxy$bg oauthProxy = _Translations$services$oauthProxy$bg._(_root); + @override late final _Translations$services$pendingAuth$bg pendingAuth = _Translations$services$pendingAuth$bg._(_root); @override late final _Translations$services$libraryFilter$bg libraryFilter = _Translations$services$libraryFilter$bg._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$bg extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Активиране на Plezy в ${service}'; - @override String body({required Object url}) => 'Посетете ${url} и въведете този код:'; @override String openToActivate({required Object service}) => 'Отворете ${service}, за да активирате'; @override String get copyCode => 'Копирай кода за активиране'; @override String get waitingForAuthorization => 'Изчакване на оторизация…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$bg extends Translations$services$oauthPr @override String title({required Object service}) => 'Вход в ${service}'; @override String get body => 'Сканирайте този QR код или отворете URL-а на което и да е устройство.'; @override String openToSignIn({required Object service}) => 'Отворете ${service}, за да влезете'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$bg extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$bg._(TranslationsBg root) : this._root = root, super.internal(root); + + final TranslationsBg _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Копирай URL адреса за вход'; @override String get urlCopied => 'URL адресът е копиран'; } @@ -4260,7 +4269,6 @@ extension on TranslationsBg { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Активиране на Plezy в ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Посетете ${url} и въведете този код:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Отворете ${service}, за да активирате', 'services.deviceCode.copyCode' => 'Копирай кода за активиране', 'services.deviceCode.waitingForAuthorization' => 'Изчакване на оторизация…', @@ -4268,8 +4276,8 @@ extension on TranslationsBg { 'services.oauthProxy.title' => ({required Object service}) => 'Вход в ${service}', 'services.oauthProxy.body' => 'Сканирайте този QR код или отворете URL-а на което и да е устройство.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Отворете ${service}, за да влезете', - 'services.oauthProxy.copyUrl' => 'Копирай URL адреса за вход', - 'services.oauthProxy.urlCopied' => 'URL адресът е копиран', + 'services.pendingAuth.copyUrl' => 'Копирай URL адреса за вход', + 'services.pendingAuth.urlCopied' => 'URL адресът е копиран', 'services.libraryFilter.title' => 'Филтър на библиотеките', 'services.libraryFilter.subtitleAllSyncing' => 'Синхронизират се всички библиотеки', 'services.libraryFilter.subtitleNoneSyncing' => 'Нищо не се синхронизира', diff --git a/lib/i18n/strings_da.g.dart b/lib/i18n/strings_da.g.dart index ab2b2f5a..5617920a 100644 --- a/lib/i18n/strings_da.g.dart +++ b/lib/i18n/strings_da.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$da extends Translations$services$en { @override late final _Translations$services$names$da names = _Translations$services$names$da._(_root); @override late final _Translations$services$deviceCode$da deviceCode = _Translations$services$deviceCode$da._(_root); @override late final _Translations$services$oauthProxy$da oauthProxy = _Translations$services$oauthProxy$da._(_root); + @override late final _Translations$services$pendingAuth$da pendingAuth = _Translations$services$pendingAuth$da._(_root); @override late final _Translations$services$libraryFilter$da libraryFilter = _Translations$services$libraryFilter$da._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$da extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Aktiver Plezy på ${service}'; - @override String body({required Object url}) => 'Besøg ${url} og indtast denne kode:'; @override String openToActivate({required Object service}) => 'Åbn ${service} for at aktivere'; @override String get copyCode => 'Kopiér aktiveringskode'; @override String get waitingForAuthorization => 'Venter på godkendelse…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$da extends Translations$services$oauthPr @override String title({required Object service}) => 'Log ind på ${service}'; @override String get body => 'Scan denne QR-kode, eller åbn URL\'en på en enhed.'; @override String openToSignIn({required Object service}) => 'Åbn ${service} for at logge ind'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$da extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$da._(TranslationsDa root) : this._root = root, super.internal(root); + + final TranslationsDa _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Kopiér login-URL'; @override String get urlCopied => 'URL kopieret'; } @@ -4260,7 +4269,6 @@ extension on TranslationsDa { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Aktiver Plezy på ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Besøg ${url} og indtast denne kode:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Åbn ${service} for at aktivere', 'services.deviceCode.copyCode' => 'Kopiér aktiveringskode', 'services.deviceCode.waitingForAuthorization' => 'Venter på godkendelse…', @@ -4268,8 +4276,8 @@ extension on TranslationsDa { 'services.oauthProxy.title' => ({required Object service}) => 'Log ind på ${service}', 'services.oauthProxy.body' => 'Scan denne QR-kode, eller åbn URL\'en på en enhed.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Åbn ${service} for at logge ind', - 'services.oauthProxy.copyUrl' => 'Kopiér login-URL', - 'services.oauthProxy.urlCopied' => 'URL kopieret', + 'services.pendingAuth.copyUrl' => 'Kopiér login-URL', + 'services.pendingAuth.urlCopied' => 'URL kopieret', 'services.libraryFilter.title' => 'Bibliotekfilter', 'services.libraryFilter.subtitleAllSyncing' => 'Synkroniserer alle biblioteker', 'services.libraryFilter.subtitleNoneSyncing' => 'Intet synkroniseres', diff --git a/lib/i18n/strings_de.g.dart b/lib/i18n/strings_de.g.dart index b33c99fe..3a54457a 100644 --- a/lib/i18n/strings_de.g.dart +++ b/lib/i18n/strings_de.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$de extends Translations$services$en { @override late final _Translations$services$names$de names = _Translations$services$names$de._(_root); @override late final _Translations$services$deviceCode$de deviceCode = _Translations$services$deviceCode$de._(_root); @override late final _Translations$services$oauthProxy$de oauthProxy = _Translations$services$oauthProxy$de._(_root); + @override late final _Translations$services$pendingAuth$de pendingAuth = _Translations$services$pendingAuth$de._(_root); @override late final _Translations$services$libraryFilter$de libraryFilter = _Translations$services$libraryFilter$de._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$de extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Plezy auf ${service} aktivieren'; - @override String body({required Object url}) => 'Gehe zu ${url} und gib diesen Code ein:'; @override String openToActivate({required Object service}) => '${service} zum Aktivieren öffnen'; @override String get copyCode => 'Aktivierungscode kopieren'; @override String get waitingForAuthorization => 'Warte auf Autorisierung…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$de extends Translations$services$oauthPr @override String title({required Object service}) => 'Bei ${service} anmelden'; @override String get body => 'Scanne diesen QR-Code oder öffne die URL auf einem beliebigen Gerät.'; @override String openToSignIn({required Object service}) => '${service} zum Anmelden öffnen'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$de extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$de._(TranslationsDe root) : this._root = root, super.internal(root); + + final TranslationsDe _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Anmelde-URL kopieren'; @override String get urlCopied => 'URL kopiert'; } @@ -4260,7 +4269,6 @@ extension on TranslationsDe { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Plezy auf ${service} aktivieren', - 'services.deviceCode.body' => ({required Object url}) => 'Gehe zu ${url} und gib diesen Code ein:', 'services.deviceCode.openToActivate' => ({required Object service}) => '${service} zum Aktivieren öffnen', 'services.deviceCode.copyCode' => 'Aktivierungscode kopieren', 'services.deviceCode.waitingForAuthorization' => 'Warte auf Autorisierung…', @@ -4268,8 +4276,8 @@ extension on TranslationsDe { 'services.oauthProxy.title' => ({required Object service}) => 'Bei ${service} anmelden', 'services.oauthProxy.body' => 'Scanne diesen QR-Code oder öffne die URL auf einem beliebigen Gerät.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => '${service} zum Anmelden öffnen', - 'services.oauthProxy.copyUrl' => 'Anmelde-URL kopieren', - 'services.oauthProxy.urlCopied' => 'URL kopiert', + 'services.pendingAuth.copyUrl' => 'Anmelde-URL kopieren', + 'services.pendingAuth.urlCopied' => 'URL kopiert', 'services.libraryFilter.title' => 'Mediatheksfilter', 'services.libraryFilter.subtitleAllSyncing' => 'Alle Mediatheken werden synchronisiert', 'services.libraryFilter.subtitleNoneSyncing' => 'Nichts wird synchronisiert', diff --git a/lib/i18n/strings_en.g.dart b/lib/i18n/strings_en.g.dart index 6aef4b94..98902d2f 100644 --- a/lib/i18n/strings_en.g.dart +++ b/lib/i18n/strings_en.g.dart @@ -4787,6 +4787,7 @@ class Translations$services$en { late final Translations$services$names$en names = Translations$services$names$en.internal(_root); late final Translations$services$deviceCode$en deviceCode = Translations$services$deviceCode$en.internal(_root); late final Translations$services$oauthProxy$en oauthProxy = Translations$services$oauthProxy$en.internal(_root); + late final Translations$services$pendingAuth$en pendingAuth = Translations$services$pendingAuth$en.internal(_root); late final Translations$services$libraryFilter$en libraryFilter = Translations$services$libraryFilter$en.internal(_root); } @@ -5995,8 +5996,8 @@ class Translations$services$deviceCode$en { /// en: 'Activate Plezy on ${service}' String title({required Object service}) => 'Activate Plezy on ${service}'; - /// en: 'Visit ${url} and enter this code:' - String body({required Object url}) => 'Visit ${url} and enter this code:'; + /// en: 'Scan the QR code, or visit the address below and enter this code:' + String get instructions => 'Scan the QR code, or visit the address below and enter this code:'; /// en: 'Open ${service} to activate' String openToActivate({required Object service}) => 'Open ${service} to activate'; @@ -6027,6 +6028,15 @@ class Translations$services$oauthProxy$en { /// en: 'Open ${service} to sign in' String openToSignIn({required Object service}) => 'Open ${service} to sign in'; +} + +// Path: services.pendingAuth +class Translations$services$pendingAuth$en { + Translations$services$pendingAuth$en.internal(this._root); + + final Translations _root; // ignore: unused_field + + // Translations /// en: 'Copy sign-in URL' String get copyUrl => 'Copy sign-in URL'; @@ -7791,7 +7801,7 @@ extension on Translations { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Activate Plezy on ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Visit ${url} and enter this code:', + 'services.deviceCode.instructions' => 'Scan the QR code, or visit the address below and enter this code:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Open ${service} to activate', 'services.deviceCode.copyCode' => 'Copy activation code', 'services.deviceCode.waitingForAuthorization' => 'Waiting for authorization…', @@ -7799,8 +7809,8 @@ extension on Translations { 'services.oauthProxy.title' => ({required Object service}) => 'Sign in to ${service}', 'services.oauthProxy.body' => 'Scan this QR code or open the URL on any device.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Open ${service} to sign in', - 'services.oauthProxy.copyUrl' => 'Copy sign-in URL', - 'services.oauthProxy.urlCopied' => 'URL copied', + 'services.pendingAuth.copyUrl' => 'Copy sign-in URL', + 'services.pendingAuth.urlCopied' => 'URL copied', 'services.libraryFilter.title' => 'Library filter', 'services.libraryFilter.subtitleAllSyncing' => 'Syncing all libraries', 'services.libraryFilter.subtitleNoneSyncing' => 'Nothing syncing', diff --git a/lib/i18n/strings_es.g.dart b/lib/i18n/strings_es.g.dart index b8631dc1..7412063b 100644 --- a/lib/i18n/strings_es.g.dart +++ b/lib/i18n/strings_es.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$es extends Translations$services$en { @override late final _Translations$services$names$es names = _Translations$services$names$es._(_root); @override late final _Translations$services$deviceCode$es deviceCode = _Translations$services$deviceCode$es._(_root); @override late final _Translations$services$oauthProxy$es oauthProxy = _Translations$services$oauthProxy$es._(_root); + @override late final _Translations$services$pendingAuth$es pendingAuth = _Translations$services$pendingAuth$es._(_root); @override late final _Translations$services$libraryFilter$es libraryFilter = _Translations$services$libraryFilter$es._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$es extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Activar Plezy en ${service}'; - @override String body({required Object url}) => 'Visita ${url} e introduce este código:'; @override String openToActivate({required Object service}) => 'Abrir ${service} para activar'; @override String get copyCode => 'Copiar código de activación'; @override String get waitingForAuthorization => 'Esperando autorización…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$es extends Translations$services$oauthPr @override String title({required Object service}) => 'Inicia sesión en ${service}'; @override String get body => 'Escanea este código QR o abre la URL en cualquier dispositivo.'; @override String openToSignIn({required Object service}) => 'Abrir ${service} para iniciar sesión'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$es extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$es._(TranslationsEs root) : this._root = root, super.internal(root); + + final TranslationsEs _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Copiar URL de inicio de sesión'; @override String get urlCopied => 'URL copiada'; } @@ -4260,7 +4269,6 @@ extension on TranslationsEs { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Activar Plezy en ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Visita ${url} e introduce este código:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Abrir ${service} para activar', 'services.deviceCode.copyCode' => 'Copiar código de activación', 'services.deviceCode.waitingForAuthorization' => 'Esperando autorización…', @@ -4268,8 +4276,8 @@ extension on TranslationsEs { 'services.oauthProxy.title' => ({required Object service}) => 'Inicia sesión en ${service}', 'services.oauthProxy.body' => 'Escanea este código QR o abre la URL en cualquier dispositivo.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Abrir ${service} para iniciar sesión', - 'services.oauthProxy.copyUrl' => 'Copiar URL de inicio de sesión', - 'services.oauthProxy.urlCopied' => 'URL copiada', + 'services.pendingAuth.copyUrl' => 'Copiar URL de inicio de sesión', + 'services.pendingAuth.urlCopied' => 'URL copiada', 'services.libraryFilter.title' => 'Filtro de bibliotecas', 'services.libraryFilter.subtitleAllSyncing' => 'Sincronizando todas las bibliotecas', 'services.libraryFilter.subtitleNoneSyncing' => 'No se sincroniza ninguna biblioteca', diff --git a/lib/i18n/strings_fr.g.dart b/lib/i18n/strings_fr.g.dart index c5eb31e4..b89bfd9c 100644 --- a/lib/i18n/strings_fr.g.dart +++ b/lib/i18n/strings_fr.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$fr extends Translations$services$en { @override late final _Translations$services$names$fr names = _Translations$services$names$fr._(_root); @override late final _Translations$services$deviceCode$fr deviceCode = _Translations$services$deviceCode$fr._(_root); @override late final _Translations$services$oauthProxy$fr oauthProxy = _Translations$services$oauthProxy$fr._(_root); + @override late final _Translations$services$pendingAuth$fr pendingAuth = _Translations$services$pendingAuth$fr._(_root); @override late final _Translations$services$libraryFilter$fr libraryFilter = _Translations$services$libraryFilter$fr._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$fr extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Activer Plezy sur ${service}'; - @override String body({required Object url}) => 'Rendez-vous sur ${url} et entrez ce code :'; @override String openToActivate({required Object service}) => 'Ouvrir ${service} pour activer'; @override String get copyCode => 'Copier le code d\'activation'; @override String get waitingForAuthorization => 'En attente d\'autorisation…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$fr extends Translations$services$oauthPr @override String title({required Object service}) => 'Se connecter à ${service}'; @override String get body => 'Scannez ce code QR ou ouvrez l\'URL sur n\'importe quel appareil.'; @override String openToSignIn({required Object service}) => 'Ouvrir ${service} pour se connecter'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$fr extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$fr._(TranslationsFr root) : this._root = root, super.internal(root); + + final TranslationsFr _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Copier l\'URL de connexion'; @override String get urlCopied => 'URL copiée'; } @@ -4260,7 +4269,6 @@ extension on TranslationsFr { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Activer Plezy sur ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Rendez-vous sur ${url} et entrez ce code :', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Ouvrir ${service} pour activer', 'services.deviceCode.copyCode' => 'Copier le code d\'activation', 'services.deviceCode.waitingForAuthorization' => 'En attente d\'autorisation…', @@ -4268,8 +4276,8 @@ extension on TranslationsFr { 'services.oauthProxy.title' => ({required Object service}) => 'Se connecter à ${service}', 'services.oauthProxy.body' => 'Scannez ce code QR ou ouvrez l\'URL sur n\'importe quel appareil.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Ouvrir ${service} pour se connecter', - 'services.oauthProxy.copyUrl' => 'Copier l\'URL de connexion', - 'services.oauthProxy.urlCopied' => 'URL copiée', + 'services.pendingAuth.copyUrl' => 'Copier l\'URL de connexion', + 'services.pendingAuth.urlCopied' => 'URL copiée', 'services.libraryFilter.title' => 'Filtre de bibliothèques', 'services.libraryFilter.subtitleAllSyncing' => 'Synchronisation de toutes les bibliothèques', 'services.libraryFilter.subtitleNoneSyncing' => 'Aucune synchronisation', diff --git a/lib/i18n/strings_hu.g.dart b/lib/i18n/strings_hu.g.dart index c25b0192..56cb8686 100644 --- a/lib/i18n/strings_hu.g.dart +++ b/lib/i18n/strings_hu.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$hu extends Translations$services$en { @override late final _Translations$services$names$hu names = _Translations$services$names$hu._(_root); @override late final _Translations$services$deviceCode$hu deviceCode = _Translations$services$deviceCode$hu._(_root); @override late final _Translations$services$oauthProxy$hu oauthProxy = _Translations$services$oauthProxy$hu._(_root); + @override late final _Translations$services$pendingAuth$hu pendingAuth = _Translations$services$pendingAuth$hu._(_root); @override late final _Translations$services$libraryFilter$hu libraryFilter = _Translations$services$libraryFilter$hu._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$hu extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Plezy aktiválása a következőn: ${service}'; - @override String body({required Object url}) => 'Nyisd meg a(z) ${url} oldalt és add meg ezt a kódot:'; @override String openToActivate({required Object service}) => 'Nyisd meg a(z) ${service} oldalt az aktiváláshoz'; @override String get copyCode => 'Aktiválási kód másolása'; @override String get waitingForAuthorization => 'Várakozás az engedélyezésre…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$hu extends Translations$services$oauthPr @override String title({required Object service}) => 'Bejelentkezés ide: ${service}'; @override String get body => 'Olvasd be ezt a QR-kódot vagy nyisd meg az URL-t bármelyik eszközön.'; @override String openToSignIn({required Object service}) => 'Nyisd meg a(z) ${service} oldalt a bejelentkezéshez'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$hu extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$hu._(TranslationsHu root) : this._root = root, super.internal(root); + + final TranslationsHu _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Bejelentkezési URL másolása'; @override String get urlCopied => 'URL másolva'; } @@ -4260,7 +4269,6 @@ extension on TranslationsHu { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Plezy aktiválása a következőn: ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Nyisd meg a(z) ${url} oldalt és add meg ezt a kódot:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Nyisd meg a(z) ${service} oldalt az aktiváláshoz', 'services.deviceCode.copyCode' => 'Aktiválási kód másolása', 'services.deviceCode.waitingForAuthorization' => 'Várakozás az engedélyezésre…', @@ -4268,8 +4276,8 @@ extension on TranslationsHu { 'services.oauthProxy.title' => ({required Object service}) => 'Bejelentkezés ide: ${service}', 'services.oauthProxy.body' => 'Olvasd be ezt a QR-kódot vagy nyisd meg az URL-t bármelyik eszközön.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Nyisd meg a(z) ${service} oldalt a bejelentkezéshez', - 'services.oauthProxy.copyUrl' => 'Bejelentkezési URL másolása', - 'services.oauthProxy.urlCopied' => 'URL másolva', + 'services.pendingAuth.copyUrl' => 'Bejelentkezési URL másolása', + 'services.pendingAuth.urlCopied' => 'URL másolva', 'services.libraryFilter.title' => 'Könyvtárszűrő', 'services.libraryFilter.subtitleAllSyncing' => 'Minden könyvtár szinkronizálása', 'services.libraryFilter.subtitleNoneSyncing' => 'Nincs szinkronizálás', diff --git a/lib/i18n/strings_it.g.dart b/lib/i18n/strings_it.g.dart index cf498cc0..dfdeeb97 100644 --- a/lib/i18n/strings_it.g.dart +++ b/lib/i18n/strings_it.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$it extends Translations$services$en { @override late final _Translations$services$names$it names = _Translations$services$names$it._(_root); @override late final _Translations$services$deviceCode$it deviceCode = _Translations$services$deviceCode$it._(_root); @override late final _Translations$services$oauthProxy$it oauthProxy = _Translations$services$oauthProxy$it._(_root); + @override late final _Translations$services$pendingAuth$it pendingAuth = _Translations$services$pendingAuth$it._(_root); @override late final _Translations$services$libraryFilter$it libraryFilter = _Translations$services$libraryFilter$it._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$it extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Attiva Plezy su ${service}'; - @override String body({required Object url}) => 'Visita ${url} e inserisci questo codice:'; @override String openToActivate({required Object service}) => 'Apri ${service} per attivare'; @override String get copyCode => 'Copia il codice di attivazione'; @override String get waitingForAuthorization => 'In attesa di autorizzazione…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$it extends Translations$services$oauthPr @override String title({required Object service}) => 'Accedi a ${service}'; @override String get body => 'Scansiona questo codice QR o apri l\'URL su qualsiasi dispositivo.'; @override String openToSignIn({required Object service}) => 'Apri ${service} per accedere'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$it extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$it._(TranslationsIt root) : this._root = root, super.internal(root); + + final TranslationsIt _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Copia l\'URL di accesso'; @override String get urlCopied => 'URL copiato'; } @@ -4260,7 +4269,6 @@ extension on TranslationsIt { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Attiva Plezy su ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Visita ${url} e inserisci questo codice:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Apri ${service} per attivare', 'services.deviceCode.copyCode' => 'Copia il codice di attivazione', 'services.deviceCode.waitingForAuthorization' => 'In attesa di autorizzazione…', @@ -4268,8 +4276,8 @@ extension on TranslationsIt { 'services.oauthProxy.title' => ({required Object service}) => 'Accedi a ${service}', 'services.oauthProxy.body' => 'Scansiona questo codice QR o apri l\'URL su qualsiasi dispositivo.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Apri ${service} per accedere', - 'services.oauthProxy.copyUrl' => 'Copia l\'URL di accesso', - 'services.oauthProxy.urlCopied' => 'URL copiato', + 'services.pendingAuth.copyUrl' => 'Copia l\'URL di accesso', + 'services.pendingAuth.urlCopied' => 'URL copiato', 'services.libraryFilter.title' => 'Filtro delle librerie', 'services.libraryFilter.subtitleAllSyncing' => 'Sincronizzazione di tutte le librerie', 'services.libraryFilter.subtitleNoneSyncing' => 'Nessuna sincronizzazione', diff --git a/lib/i18n/strings_ja.g.dart b/lib/i18n/strings_ja.g.dart index 250115f9..96ad955e 100644 --- a/lib/i18n/strings_ja.g.dart +++ b/lib/i18n/strings_ja.g.dart @@ -1956,6 +1956,7 @@ class _Translations$services$ja extends Translations$services$en { @override late final _Translations$services$names$ja names = _Translations$services$names$ja._(_root); @override late final _Translations$services$deviceCode$ja deviceCode = _Translations$services$deviceCode$ja._(_root); @override late final _Translations$services$oauthProxy$ja oauthProxy = _Translations$services$oauthProxy$ja._(_root); + @override late final _Translations$services$pendingAuth$ja pendingAuth = _Translations$services$pendingAuth$ja._(_root); @override late final _Translations$services$libraryFilter$ja libraryFilter = _Translations$services$libraryFilter$ja._(_root); } @@ -2511,7 +2512,6 @@ class _Translations$services$deviceCode$ja extends Translations$services$deviceC // Translations @override String title({required Object service}) => '${service} で Plezy を有効化'; - @override String body({required Object url}) => '${url}にアクセスして、このコードを入力してください。'; @override String openToActivate({required Object service}) => '${service} を開いて有効化'; @override String get copyCode => 'アクティベーションコードをコピー'; @override String get waitingForAuthorization => '認証を待っています…'; @@ -2528,6 +2528,15 @@ class _Translations$services$oauthProxy$ja extends Translations$services$oauthPr @override String title({required Object service}) => '${service} にサインイン'; @override String get body => 'このQRコードをスキャンするか、任意のデバイスでURLを開いてください。'; @override String openToSignIn({required Object service}) => '${service} を開いてサインイン'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$ja extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$ja._(TranslationsJa root) : this._root = root, super.internal(root); + + final TranslationsJa _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'サインインURLをコピー'; @override String get urlCopied => 'URLをコピーしました'; } @@ -4251,7 +4260,6 @@ extension on TranslationsJa { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => '${service} で Plezy を有効化', - 'services.deviceCode.body' => ({required Object url}) => '${url}にアクセスして、このコードを入力してください。', 'services.deviceCode.openToActivate' => ({required Object service}) => '${service} を開いて有効化', 'services.deviceCode.copyCode' => 'アクティベーションコードをコピー', 'services.deviceCode.waitingForAuthorization' => '認証を待っています…', @@ -4259,8 +4267,8 @@ extension on TranslationsJa { 'services.oauthProxy.title' => ({required Object service}) => '${service} にサインイン', 'services.oauthProxy.body' => 'このQRコードをスキャンするか、任意のデバイスでURLを開いてください。', 'services.oauthProxy.openToSignIn' => ({required Object service}) => '${service} を開いてサインイン', - 'services.oauthProxy.copyUrl' => 'サインインURLをコピー', - 'services.oauthProxy.urlCopied' => 'URLをコピーしました', + 'services.pendingAuth.copyUrl' => 'サインインURLをコピー', + 'services.pendingAuth.urlCopied' => 'URLをコピーしました', 'services.libraryFilter.title' => 'ライブラリフィルター', 'services.libraryFilter.subtitleAllSyncing' => 'すべてのライブラリを同期中', 'services.libraryFilter.subtitleNoneSyncing' => '同期なし', diff --git a/lib/i18n/strings_kk.g.dart b/lib/i18n/strings_kk.g.dart index 79e76da3..4a40394f 100644 --- a/lib/i18n/strings_kk.g.dart +++ b/lib/i18n/strings_kk.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$kk extends Translations$services$en { @override late final _Translations$services$names$kk names = _Translations$services$names$kk._(_root); @override late final _Translations$services$deviceCode$kk deviceCode = _Translations$services$deviceCode$kk._(_root); @override late final _Translations$services$oauthProxy$kk oauthProxy = _Translations$services$oauthProxy$kk._(_root); + @override late final _Translations$services$pendingAuth$kk pendingAuth = _Translations$services$pendingAuth$kk._(_root); @override late final _Translations$services$libraryFilter$kk libraryFilter = _Translations$services$libraryFilter$kk._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$kk extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Plezy-ді ${service} қызметінде белсендіру'; - @override String body({required Object url}) => '${url} мекенжайына өтіп, осы кодты енгізіңіз:'; @override String openToActivate({required Object service}) => 'Белсендіру үшін ${service} ашу'; @override String get copyCode => 'Белсендіру кодын көшіру'; @override String get waitingForAuthorization => 'Авторизация күтілуде…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$kk extends Translations$services$oauthPr @override String title({required Object service}) => '${service} қызметіне кіру'; @override String get body => 'Осы QR кодты сканерлеңіз немесе URL-ді ашыңыз.'; @override String openToSignIn({required Object service}) => 'Кіру үшін ${service} ашу'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$kk extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$kk._(TranslationsKk root) : this._root = root, super.internal(root); + + final TranslationsKk _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Кіру URL-ін көшіру'; @override String get urlCopied => 'URL көшірілді'; } @@ -4260,7 +4269,6 @@ extension on TranslationsKk { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Plezy-ді ${service} қызметінде белсендіру', - 'services.deviceCode.body' => ({required Object url}) => '${url} мекенжайына өтіп, осы кодты енгізіңіз:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Белсендіру үшін ${service} ашу', 'services.deviceCode.copyCode' => 'Белсендіру кодын көшіру', 'services.deviceCode.waitingForAuthorization' => 'Авторизация күтілуде…', @@ -4268,8 +4276,8 @@ extension on TranslationsKk { 'services.oauthProxy.title' => ({required Object service}) => '${service} қызметіне кіру', 'services.oauthProxy.body' => 'Осы QR кодты сканерлеңіз немесе URL-ді ашыңыз.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Кіру үшін ${service} ашу', - 'services.oauthProxy.copyUrl' => 'Кіру URL-ін көшіру', - 'services.oauthProxy.urlCopied' => 'URL көшірілді', + 'services.pendingAuth.copyUrl' => 'Кіру URL-ін көшіру', + 'services.pendingAuth.urlCopied' => 'URL көшірілді', 'services.libraryFilter.title' => 'Кітапхана фильтрі', 'services.libraryFilter.subtitleAllSyncing' => 'Барлық кітапханалар синхрондалуда', 'services.libraryFilter.subtitleNoneSyncing' => 'Ештеңе синхрондалмайды', diff --git a/lib/i18n/strings_ko.g.dart b/lib/i18n/strings_ko.g.dart index 50441595..8887d466 100644 --- a/lib/i18n/strings_ko.g.dart +++ b/lib/i18n/strings_ko.g.dart @@ -1956,6 +1956,7 @@ class _Translations$services$ko extends Translations$services$en { @override late final _Translations$services$names$ko names = _Translations$services$names$ko._(_root); @override late final _Translations$services$deviceCode$ko deviceCode = _Translations$services$deviceCode$ko._(_root); @override late final _Translations$services$oauthProxy$ko oauthProxy = _Translations$services$oauthProxy$ko._(_root); + @override late final _Translations$services$pendingAuth$ko pendingAuth = _Translations$services$pendingAuth$ko._(_root); @override late final _Translations$services$libraryFilter$ko libraryFilter = _Translations$services$libraryFilter$ko._(_root); } @@ -2511,7 +2512,6 @@ class _Translations$services$deviceCode$ko extends Translations$services$deviceC // Translations @override String title({required Object service}) => '${service}에서 Plezy 활성화'; - @override String body({required Object url}) => '${url}을 방문하여 이 코드를 입력하세요:'; @override String openToActivate({required Object service}) => '활성화하려면 ${service} 열기'; @override String get copyCode => '활성화 코드 복사'; @override String get waitingForAuthorization => '인증을 기다리는 중…'; @@ -2528,6 +2528,15 @@ class _Translations$services$oauthProxy$ko extends Translations$services$oauthPr @override String title({required Object service}) => '${service}에 로그인'; @override String get body => '이 QR 코드를 스캔하거나 아무 기기에서 URL을 여세요.'; @override String openToSignIn({required Object service}) => '로그인하려면 ${service} 열기'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$ko extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$ko._(TranslationsKo root) : this._root = root, super.internal(root); + + final TranslationsKo _root; // ignore: unused_field + + // Translations @override String get copyUrl => '로그인 URL 복사'; @override String get urlCopied => 'URL이 복사되었습니다'; } @@ -4251,7 +4260,6 @@ extension on TranslationsKo { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => '${service}에서 Plezy 활성화', - 'services.deviceCode.body' => ({required Object url}) => '${url}을 방문하여 이 코드를 입력하세요:', 'services.deviceCode.openToActivate' => ({required Object service}) => '활성화하려면 ${service} 열기', 'services.deviceCode.copyCode' => '활성화 코드 복사', 'services.deviceCode.waitingForAuthorization' => '인증을 기다리는 중…', @@ -4259,8 +4267,8 @@ extension on TranslationsKo { 'services.oauthProxy.title' => ({required Object service}) => '${service}에 로그인', 'services.oauthProxy.body' => '이 QR 코드를 스캔하거나 아무 기기에서 URL을 여세요.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => '로그인하려면 ${service} 열기', - 'services.oauthProxy.copyUrl' => '로그인 URL 복사', - 'services.oauthProxy.urlCopied' => 'URL이 복사되었습니다', + 'services.pendingAuth.copyUrl' => '로그인 URL 복사', + 'services.pendingAuth.urlCopied' => 'URL이 복사되었습니다', 'services.libraryFilter.title' => '라이브러리 필터', 'services.libraryFilter.subtitleAllSyncing' => '모든 라이브러리 동기화 중', 'services.libraryFilter.subtitleNoneSyncing' => '동기화 안 함', diff --git a/lib/i18n/strings_nb.g.dart b/lib/i18n/strings_nb.g.dart index 719bd91e..d507cc89 100644 --- a/lib/i18n/strings_nb.g.dart +++ b/lib/i18n/strings_nb.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$nb extends Translations$services$en { @override late final _Translations$services$names$nb names = _Translations$services$names$nb._(_root); @override late final _Translations$services$deviceCode$nb deviceCode = _Translations$services$deviceCode$nb._(_root); @override late final _Translations$services$oauthProxy$nb oauthProxy = _Translations$services$oauthProxy$nb._(_root); + @override late final _Translations$services$pendingAuth$nb pendingAuth = _Translations$services$pendingAuth$nb._(_root); @override late final _Translations$services$libraryFilter$nb libraryFilter = _Translations$services$libraryFilter$nb._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$nb extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Aktiver Plezy på ${service}'; - @override String body({required Object url}) => 'Besøk ${url} og skriv inn denne koden:'; @override String openToActivate({required Object service}) => 'Åpne ${service} for å aktivere'; @override String get copyCode => 'Kopier aktiveringskode'; @override String get waitingForAuthorization => 'Venter på godkjenning…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$nb extends Translations$services$oauthPr @override String title({required Object service}) => 'Logg inn på ${service}'; @override String get body => 'Skann denne QR-koden eller åpne URL-en på en enhet.'; @override String openToSignIn({required Object service}) => 'Åpne ${service} for å logge inn'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$nb extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$nb._(TranslationsNb root) : this._root = root, super.internal(root); + + final TranslationsNb _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Kopier URL for pålogging'; @override String get urlCopied => 'URL kopiert'; } @@ -4260,7 +4269,6 @@ extension on TranslationsNb { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Aktiver Plezy på ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Besøk ${url} og skriv inn denne koden:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Åpne ${service} for å aktivere', 'services.deviceCode.copyCode' => 'Kopier aktiveringskode', 'services.deviceCode.waitingForAuthorization' => 'Venter på godkjenning…', @@ -4268,8 +4276,8 @@ extension on TranslationsNb { 'services.oauthProxy.title' => ({required Object service}) => 'Logg inn på ${service}', 'services.oauthProxy.body' => 'Skann denne QR-koden eller åpne URL-en på en enhet.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Åpne ${service} for å logge inn', - 'services.oauthProxy.copyUrl' => 'Kopier URL for pålogging', - 'services.oauthProxy.urlCopied' => 'URL kopiert', + 'services.pendingAuth.copyUrl' => 'Kopier URL for pålogging', + 'services.pendingAuth.urlCopied' => 'URL kopiert', 'services.libraryFilter.title' => 'Biblioteksfilter', 'services.libraryFilter.subtitleAllSyncing' => 'Synkroniserer alle biblioteker', 'services.libraryFilter.subtitleNoneSyncing' => 'Ingenting synkroniseres', diff --git a/lib/i18n/strings_nl.g.dart b/lib/i18n/strings_nl.g.dart index da4acb06..1c630dbe 100644 --- a/lib/i18n/strings_nl.g.dart +++ b/lib/i18n/strings_nl.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$nl extends Translations$services$en { @override late final _Translations$services$names$nl names = _Translations$services$names$nl._(_root); @override late final _Translations$services$deviceCode$nl deviceCode = _Translations$services$deviceCode$nl._(_root); @override late final _Translations$services$oauthProxy$nl oauthProxy = _Translations$services$oauthProxy$nl._(_root); + @override late final _Translations$services$pendingAuth$nl pendingAuth = _Translations$services$pendingAuth$nl._(_root); @override late final _Translations$services$libraryFilter$nl libraryFilter = _Translations$services$libraryFilter$nl._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$nl extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Plezy activeren op ${service}'; - @override String body({required Object url}) => 'Ga naar ${url} en voer deze code in:'; @override String openToActivate({required Object service}) => 'Open ${service} om te activeren'; @override String get copyCode => 'Activeringscode kopiëren'; @override String get waitingForAuthorization => 'Wachten op autorisatie…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$nl extends Translations$services$oauthPr @override String title({required Object service}) => 'Aanmelden bij ${service}'; @override String get body => 'Scan deze QR-code of open de URL op een apparaat.'; @override String openToSignIn({required Object service}) => '${service} openen om aan te melden'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$nl extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$nl._(TranslationsNl root) : this._root = root, super.internal(root); + + final TranslationsNl _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Aanmeldings-URL kopiëren'; @override String get urlCopied => 'URL gekopieerd'; } @@ -4260,7 +4269,6 @@ extension on TranslationsNl { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Plezy activeren op ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Ga naar ${url} en voer deze code in:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Open ${service} om te activeren', 'services.deviceCode.copyCode' => 'Activeringscode kopiëren', 'services.deviceCode.waitingForAuthorization' => 'Wachten op autorisatie…', @@ -4268,8 +4276,8 @@ extension on TranslationsNl { 'services.oauthProxy.title' => ({required Object service}) => 'Aanmelden bij ${service}', 'services.oauthProxy.body' => 'Scan deze QR-code of open de URL op een apparaat.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => '${service} openen om aan te melden', - 'services.oauthProxy.copyUrl' => 'Aanmeldings-URL kopiëren', - 'services.oauthProxy.urlCopied' => 'URL gekopieerd', + 'services.pendingAuth.copyUrl' => 'Aanmeldings-URL kopiëren', + 'services.pendingAuth.urlCopied' => 'URL gekopieerd', 'services.libraryFilter.title' => 'Bibliotheekfilter', 'services.libraryFilter.subtitleAllSyncing' => 'Alle bibliotheken synchroniseren', 'services.libraryFilter.subtitleNoneSyncing' => 'Niets wordt gesynchroniseerd', diff --git a/lib/i18n/strings_pl.g.dart b/lib/i18n/strings_pl.g.dart index 990e7a48..87b38b5d 100644 --- a/lib/i18n/strings_pl.g.dart +++ b/lib/i18n/strings_pl.g.dart @@ -1977,6 +1977,7 @@ class _Translations$services$pl extends Translations$services$en { @override late final _Translations$services$names$pl names = _Translations$services$names$pl._(_root); @override late final _Translations$services$deviceCode$pl deviceCode = _Translations$services$deviceCode$pl._(_root); @override late final _Translations$services$oauthProxy$pl oauthProxy = _Translations$services$oauthProxy$pl._(_root); + @override late final _Translations$services$pendingAuth$pl pendingAuth = _Translations$services$pendingAuth$pl._(_root); @override late final _Translations$services$libraryFilter$pl libraryFilter = _Translations$services$libraryFilter$pl._(_root); } @@ -2538,7 +2539,6 @@ class _Translations$services$deviceCode$pl extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Aktywuj Plezy w ${service}'; - @override String body({required Object url}) => 'Odwiedź ${url} i wpisz ten kod:'; @override String openToActivate({required Object service}) => 'Otwórz ${service}, aby aktywować'; @override String get copyCode => 'Skopiuj kod aktywacyjny'; @override String get waitingForAuthorization => 'Oczekiwanie na autoryzację…'; @@ -2555,6 +2555,15 @@ class _Translations$services$oauthProxy$pl extends Translations$services$oauthPr @override String title({required Object service}) => 'Zaloguj się do ${service}'; @override String get body => 'Zeskanuj ten kod QR lub otwórz URL na dowolnym urządzeniu.'; @override String openToSignIn({required Object service}) => 'Otwórz ${service}, aby się zalogować'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$pl extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$pl._(TranslationsPl root) : this._root = root, super.internal(root); + + final TranslationsPl _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Skopiuj adres URL logowania'; @override String get urlCopied => 'URL skopiowany'; } @@ -4278,7 +4287,6 @@ extension on TranslationsPl { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Aktywuj Plezy w ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Odwiedź ${url} i wpisz ten kod:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Otwórz ${service}, aby aktywować', 'services.deviceCode.copyCode' => 'Skopiuj kod aktywacyjny', 'services.deviceCode.waitingForAuthorization' => 'Oczekiwanie na autoryzację…', @@ -4286,8 +4294,8 @@ extension on TranslationsPl { 'services.oauthProxy.title' => ({required Object service}) => 'Zaloguj się do ${service}', 'services.oauthProxy.body' => 'Zeskanuj ten kod QR lub otwórz URL na dowolnym urządzeniu.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Otwórz ${service}, aby się zalogować', - 'services.oauthProxy.copyUrl' => 'Skopiuj adres URL logowania', - 'services.oauthProxy.urlCopied' => 'URL skopiowany', + 'services.pendingAuth.copyUrl' => 'Skopiuj adres URL logowania', + 'services.pendingAuth.urlCopied' => 'URL skopiowany', 'services.libraryFilter.title' => 'Filtr bibliotek', 'services.libraryFilter.subtitleAllSyncing' => 'Synchronizowanie wszystkich bibliotek', 'services.libraryFilter.subtitleNoneSyncing' => 'Brak synchronizowanych bibliotek', diff --git a/lib/i18n/strings_pt.g.dart b/lib/i18n/strings_pt.g.dart index 32369b54..b081ede3 100644 --- a/lib/i18n/strings_pt.g.dart +++ b/lib/i18n/strings_pt.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$pt extends Translations$services$en { @override late final _Translations$services$names$pt names = _Translations$services$names$pt._(_root); @override late final _Translations$services$deviceCode$pt deviceCode = _Translations$services$deviceCode$pt._(_root); @override late final _Translations$services$oauthProxy$pt oauthProxy = _Translations$services$oauthProxy$pt._(_root); + @override late final _Translations$services$pendingAuth$pt pendingAuth = _Translations$services$pendingAuth$pt._(_root); @override late final _Translations$services$libraryFilter$pt libraryFilter = _Translations$services$libraryFilter$pt._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$pt extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Ativar o Plezy no ${service}'; - @override String body({required Object url}) => 'Acesse ${url} e insira este código:'; @override String openToActivate({required Object service}) => 'Abrir ${service} para ativar'; @override String get copyCode => 'Copiar código de ativação'; @override String get waitingForAuthorization => 'Aguardando autorização…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$pt extends Translations$services$oauthPr @override String title({required Object service}) => 'Entrar no ${service}'; @override String get body => 'Leia este código QR ou abra a URL em qualquer dispositivo.'; @override String openToSignIn({required Object service}) => 'Abrir ${service} para entrar'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$pt extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$pt._(TranslationsPt root) : this._root = root, super.internal(root); + + final TranslationsPt _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Copiar URL de acesso'; @override String get urlCopied => 'URL copiada'; } @@ -4260,7 +4269,6 @@ extension on TranslationsPt { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Ativar o Plezy no ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Acesse ${url} e insira este código:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Abrir ${service} para ativar', 'services.deviceCode.copyCode' => 'Copiar código de ativação', 'services.deviceCode.waitingForAuthorization' => 'Aguardando autorização…', @@ -4268,8 +4276,8 @@ extension on TranslationsPt { 'services.oauthProxy.title' => ({required Object service}) => 'Entrar no ${service}', 'services.oauthProxy.body' => 'Leia este código QR ou abra a URL em qualquer dispositivo.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Abrir ${service} para entrar', - 'services.oauthProxy.copyUrl' => 'Copiar URL de acesso', - 'services.oauthProxy.urlCopied' => 'URL copiada', + 'services.pendingAuth.copyUrl' => 'Copiar URL de acesso', + 'services.pendingAuth.urlCopied' => 'URL copiada', 'services.libraryFilter.title' => 'Filtro de bibliotecas', 'services.libraryFilter.subtitleAllSyncing' => 'Sincronizando todas as bibliotecas', 'services.libraryFilter.subtitleNoneSyncing' => 'Nada a sincronizar', diff --git a/lib/i18n/strings_ru.g.dart b/lib/i18n/strings_ru.g.dart index bac6d16c..b4732901 100644 --- a/lib/i18n/strings_ru.g.dart +++ b/lib/i18n/strings_ru.g.dart @@ -1977,6 +1977,7 @@ class _Translations$services$ru extends Translations$services$en { @override late final _Translations$services$names$ru names = _Translations$services$names$ru._(_root); @override late final _Translations$services$deviceCode$ru deviceCode = _Translations$services$deviceCode$ru._(_root); @override late final _Translations$services$oauthProxy$ru oauthProxy = _Translations$services$oauthProxy$ru._(_root); + @override late final _Translations$services$pendingAuth$ru pendingAuth = _Translations$services$pendingAuth$ru._(_root); @override late final _Translations$services$libraryFilter$ru libraryFilter = _Translations$services$libraryFilter$ru._(_root); } @@ -2538,7 +2539,6 @@ class _Translations$services$deviceCode$ru extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Активируйте Plezy в ${service}'; - @override String body({required Object url}) => 'Перейдите на ${url} и введите этот код:'; @override String openToActivate({required Object service}) => 'Открыть ${service} для активации'; @override String get copyCode => 'Скопировать код активации'; @override String get waitingForAuthorization => 'Ожидание авторизации…'; @@ -2555,6 +2555,15 @@ class _Translations$services$oauthProxy$ru extends Translations$services$oauthPr @override String title({required Object service}) => 'Войти в ${service}'; @override String get body => 'Отсканируйте этот QR-код или откройте URL на любом устройстве.'; @override String openToSignIn({required Object service}) => 'Открыть ${service} для входа'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$ru extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$ru._(TranslationsRu root) : this._root = root, super.internal(root); + + final TranslationsRu _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Скопировать URL для входа'; @override String get urlCopied => 'URL скопирован'; } @@ -4278,7 +4287,6 @@ extension on TranslationsRu { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Активируйте Plezy в ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Перейдите на ${url} и введите этот код:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Открыть ${service} для активации', 'services.deviceCode.copyCode' => 'Скопировать код активации', 'services.deviceCode.waitingForAuthorization' => 'Ожидание авторизации…', @@ -4286,8 +4294,8 @@ extension on TranslationsRu { 'services.oauthProxy.title' => ({required Object service}) => 'Войти в ${service}', 'services.oauthProxy.body' => 'Отсканируйте этот QR-код или откройте URL на любом устройстве.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Открыть ${service} для входа', - 'services.oauthProxy.copyUrl' => 'Скопировать URL для входа', - 'services.oauthProxy.urlCopied' => 'URL скопирован', + 'services.pendingAuth.copyUrl' => 'Скопировать URL для входа', + 'services.pendingAuth.urlCopied' => 'URL скопирован', 'services.libraryFilter.title' => 'Фильтр библиотек', 'services.libraryFilter.subtitleAllSyncing' => 'Синхронизация всех библиотек', 'services.libraryFilter.subtitleNoneSyncing' => 'Ничего не синхронизируется', diff --git a/lib/i18n/strings_sv.g.dart b/lib/i18n/strings_sv.g.dart index 7f116da5..2aa80319 100644 --- a/lib/i18n/strings_sv.g.dart +++ b/lib/i18n/strings_sv.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$sv extends Translations$services$en { @override late final _Translations$services$names$sv names = _Translations$services$names$sv._(_root); @override late final _Translations$services$deviceCode$sv deviceCode = _Translations$services$deviceCode$sv._(_root); @override late final _Translations$services$oauthProxy$sv oauthProxy = _Translations$services$oauthProxy$sv._(_root); + @override late final _Translations$services$pendingAuth$sv pendingAuth = _Translations$services$pendingAuth$sv._(_root); @override late final _Translations$services$libraryFilter$sv libraryFilter = _Translations$services$libraryFilter$sv._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$sv extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Aktivera Plezy på ${service}'; - @override String body({required Object url}) => 'Besök ${url} och ange den här koden:'; @override String openToActivate({required Object service}) => 'Öppna ${service} för att aktivera'; @override String get copyCode => 'Kopiera aktiveringskod'; @override String get waitingForAuthorization => 'Väntar på auktorisering…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$sv extends Translations$services$oauthPr @override String title({required Object service}) => 'Logga in på ${service}'; @override String get body => 'Skanna den här QR-koden eller öppna URL:en på valfri enhet.'; @override String openToSignIn({required Object service}) => 'Öppna ${service} för att logga in'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$sv extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$sv._(TranslationsSv root) : this._root = root, super.internal(root); + + final TranslationsSv _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Kopiera inloggnings-URL'; @override String get urlCopied => 'URL kopierad'; } @@ -4260,7 +4269,6 @@ extension on TranslationsSv { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Aktivera Plezy på ${service}', - 'services.deviceCode.body' => ({required Object url}) => 'Besök ${url} och ange den här koden:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Öppna ${service} för att aktivera', 'services.deviceCode.copyCode' => 'Kopiera aktiveringskod', 'services.deviceCode.waitingForAuthorization' => 'Väntar på auktorisering…', @@ -4268,8 +4276,8 @@ extension on TranslationsSv { 'services.oauthProxy.title' => ({required Object service}) => 'Logga in på ${service}', 'services.oauthProxy.body' => 'Skanna den här QR-koden eller öppna URL:en på valfri enhet.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Öppna ${service} för att logga in', - 'services.oauthProxy.copyUrl' => 'Kopiera inloggnings-URL', - 'services.oauthProxy.urlCopied' => 'URL kopierad', + 'services.pendingAuth.copyUrl' => 'Kopiera inloggnings-URL', + 'services.pendingAuth.urlCopied' => 'URL kopierad', 'services.libraryFilter.title' => 'Biblioteksfilter', 'services.libraryFilter.subtitleAllSyncing' => 'Synkroniserar alla bibliotek', 'services.libraryFilter.subtitleNoneSyncing' => 'Ingenting synkroniseras', diff --git a/lib/i18n/strings_tr.g.dart b/lib/i18n/strings_tr.g.dart index b2e485d5..5ee93d80 100644 --- a/lib/i18n/strings_tr.g.dart +++ b/lib/i18n/strings_tr.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$tr extends Translations$services$en { @override late final _Translations$services$names$tr names = _Translations$services$names$tr._(_root); @override late final _Translations$services$deviceCode$tr deviceCode = _Translations$services$deviceCode$tr._(_root); @override late final _Translations$services$oauthProxy$tr oauthProxy = _Translations$services$oauthProxy$tr._(_root); + @override late final _Translations$services$pendingAuth$tr pendingAuth = _Translations$services$pendingAuth$tr._(_root); @override late final _Translations$services$libraryFilter$tr libraryFilter = _Translations$services$libraryFilter$tr._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$tr extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Plezy\'yi ${service} üzerinde etkinleştirin'; - @override String body({required Object url}) => '${url} adresini ziyaret edin ve bu kodu girin:'; @override String openToActivate({required Object service}) => 'Etkinleştirmek için ${service} servisini açın'; @override String get copyCode => 'Etkinleştirme kodunu kopyala'; @override String get waitingForAuthorization => 'Yetkilendirme bekleniyor…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$tr extends Translations$services$oauthPr @override String title({required Object service}) => '${service} servisine giriş yapın'; @override String get body => 'Bu QR kodunu tarayın veya URL\'yi herhangi bir cihazda açın.'; @override String openToSignIn({required Object service}) => 'Giriş yapmak için ${service} servisini açın'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$tr extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$tr._(TranslationsTr root) : this._root = root, super.internal(root); + + final TranslationsTr _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Giriş URL\'sini kopyala'; @override String get urlCopied => 'URL kopyalandı'; } @@ -4260,7 +4269,6 @@ extension on TranslationsTr { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Plezy\'yi ${service} üzerinde etkinleştirin', - 'services.deviceCode.body' => ({required Object url}) => '${url} adresini ziyaret edin ve bu kodu girin:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Etkinleştirmek için ${service} servisini açın', 'services.deviceCode.copyCode' => 'Etkinleştirme kodunu kopyala', 'services.deviceCode.waitingForAuthorization' => 'Yetkilendirme bekleniyor…', @@ -4268,8 +4276,8 @@ extension on TranslationsTr { 'services.oauthProxy.title' => ({required Object service}) => '${service} servisine giriş yapın', 'services.oauthProxy.body' => 'Bu QR kodunu tarayın veya URL\'yi herhangi bir cihazda açın.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Giriş yapmak için ${service} servisini açın', - 'services.oauthProxy.copyUrl' => 'Giriş URL\'sini kopyala', - 'services.oauthProxy.urlCopied' => 'URL kopyalandı', + 'services.pendingAuth.copyUrl' => 'Giriş URL\'sini kopyala', + 'services.pendingAuth.urlCopied' => 'URL kopyalandı', 'services.libraryFilter.title' => 'Kitaplık filtresi', 'services.libraryFilter.subtitleAllSyncing' => 'Tüm kitaplıklar eşitleniyor', 'services.libraryFilter.subtitleNoneSyncing' => 'Hiçbir şey eşitlenmiyor', diff --git a/lib/i18n/strings_uz.g.dart b/lib/i18n/strings_uz.g.dart index d8075846..f5700ac6 100644 --- a/lib/i18n/strings_uz.g.dart +++ b/lib/i18n/strings_uz.g.dart @@ -1963,6 +1963,7 @@ class _Translations$services$uz extends Translations$services$en { @override late final _Translations$services$names$uz names = _Translations$services$names$uz._(_root); @override late final _Translations$services$deviceCode$uz deviceCode = _Translations$services$deviceCode$uz._(_root); @override late final _Translations$services$oauthProxy$uz oauthProxy = _Translations$services$oauthProxy$uz._(_root); + @override late final _Translations$services$pendingAuth$uz pendingAuth = _Translations$services$pendingAuth$uz._(_root); @override late final _Translations$services$libraryFilter$uz libraryFilter = _Translations$services$libraryFilter$uz._(_root); } @@ -2520,7 +2521,6 @@ class _Translations$services$deviceCode$uz extends Translations$services$deviceC // Translations @override String title({required Object service}) => 'Plezy-ni ${service} xizmatida faollashtiring'; - @override String body({required Object url}) => '${url} manziliga oʻting va ushbu kodni kiriting:'; @override String openToActivate({required Object service}) => 'Faollashtirish uchun ${service} xizmatini oching'; @override String get copyCode => 'Faollashtirish kodini nusxalash'; @override String get waitingForAuthorization => 'Avtorizatsiya kutilmoqda…'; @@ -2537,6 +2537,15 @@ class _Translations$services$oauthProxy$uz extends Translations$services$oauthPr @override String title({required Object service}) => '${service} xizmatiga kiring'; @override String get body => 'Ushbu QR kodni skanerlang yoki URL-ni oching.'; @override String openToSignIn({required Object service}) => 'Kirish uchun ${service} xizmatini oching'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$uz extends Translations$services$pendingAuth$en { + _Translations$services$pendingAuth$uz._(TranslationsUz root) : this._root = root, super.internal(root); + + final TranslationsUz _root; // ignore: unused_field + + // Translations @override String get copyUrl => 'Kirish URL-ini nusxalash'; @override String get urlCopied => 'URL nusxalandi'; } @@ -4260,7 +4269,6 @@ extension on TranslationsUz { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => 'Plezy-ni ${service} xizmatida faollashtiring', - 'services.deviceCode.body' => ({required Object url}) => '${url} manziliga oʻting va ushbu kodni kiriting:', 'services.deviceCode.openToActivate' => ({required Object service}) => 'Faollashtirish uchun ${service} xizmatini oching', 'services.deviceCode.copyCode' => 'Faollashtirish kodini nusxalash', 'services.deviceCode.waitingForAuthorization' => 'Avtorizatsiya kutilmoqda…', @@ -4268,8 +4276,8 @@ extension on TranslationsUz { 'services.oauthProxy.title' => ({required Object service}) => '${service} xizmatiga kiring', 'services.oauthProxy.body' => 'Ushbu QR kodni skanerlang yoki URL-ni oching.', 'services.oauthProxy.openToSignIn' => ({required Object service}) => 'Kirish uchun ${service} xizmatini oching', - 'services.oauthProxy.copyUrl' => 'Kirish URL-ini nusxalash', - 'services.oauthProxy.urlCopied' => 'URL nusxalandi', + 'services.pendingAuth.copyUrl' => 'Kirish URL-ini nusxalash', + 'services.pendingAuth.urlCopied' => 'URL nusxalandi', 'services.libraryFilter.title' => 'Kutubxona filtri', 'services.libraryFilter.subtitleAllSyncing' => 'Barcha kutubxonalar sinxronlanmoqda', 'services.libraryFilter.subtitleNoneSyncing' => 'Hech narsa sinxronlanmaydi', diff --git a/lib/i18n/strings_zh.g.dart b/lib/i18n/strings_zh.g.dart index 19aadbb0..ceceeeb0 100644 --- a/lib/i18n/strings_zh.g.dart +++ b/lib/i18n/strings_zh.g.dart @@ -1956,6 +1956,7 @@ class Translations$services$zh extends Translations$services$en { @override late final Translations$services$names$zh names = Translations$services$names$zh.internal(_root); @override late final Translations$services$deviceCode$zh deviceCode = Translations$services$deviceCode$zh.internal(_root); @override late final Translations$services$oauthProxy$zh oauthProxy = Translations$services$oauthProxy$zh.internal(_root); + @override late final Translations$services$pendingAuth$zh pendingAuth = Translations$services$pendingAuth$zh.internal(_root); @override late final Translations$services$libraryFilter$zh libraryFilter = Translations$services$libraryFilter$zh.internal(_root); } @@ -2511,7 +2512,6 @@ class Translations$services$deviceCode$zh extends Translations$services$deviceCo // Translations @override String title({required Object service}) => '在 ${service} 上激活 Plezy'; - @override String body({required Object url}) => '访问 ${url} 并输入此代码:'; @override String openToActivate({required Object service}) => '打开 ${service} 以激活'; @override String get copyCode => '复制激活代码'; @override String get waitingForAuthorization => '等待授权…'; @@ -2528,6 +2528,15 @@ class Translations$services$oauthProxy$zh extends Translations$services$oauthPro @override String title({required Object service}) => '登录 ${service}'; @override String get body => '扫描此二维码,或在任意设备上打开 URL。'; @override String openToSignIn({required Object service}) => '打开 ${service} 以登录'; +} + +// Path: services.pendingAuth +class Translations$services$pendingAuth$zh extends Translations$services$pendingAuth$en { + Translations$services$pendingAuth$zh.internal(TranslationsZh root) : this._root = root, super.internal(root); + + final TranslationsZh _root; // ignore: unused_field + + // Translations @override String get copyUrl => '复制登录 URL'; @override String get urlCopied => 'URL 已复制'; } @@ -4251,7 +4260,6 @@ extension on TranslationsZh { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => '在 ${service} 上激活 Plezy', - 'services.deviceCode.body' => ({required Object url}) => '访问 ${url} 并输入此代码:', 'services.deviceCode.openToActivate' => ({required Object service}) => '打开 ${service} 以激活', 'services.deviceCode.copyCode' => '复制激活代码', 'services.deviceCode.waitingForAuthorization' => '等待授权…', @@ -4259,8 +4267,8 @@ extension on TranslationsZh { 'services.oauthProxy.title' => ({required Object service}) => '登录 ${service}', 'services.oauthProxy.body' => '扫描此二维码,或在任意设备上打开 URL。', 'services.oauthProxy.openToSignIn' => ({required Object service}) => '打开 ${service} 以登录', - 'services.oauthProxy.copyUrl' => '复制登录 URL', - 'services.oauthProxy.urlCopied' => 'URL 已复制', + 'services.pendingAuth.copyUrl' => '复制登录 URL', + 'services.pendingAuth.urlCopied' => 'URL 已复制', 'services.libraryFilter.title' => '媒体库筛选', 'services.libraryFilter.subtitleAllSyncing' => '同步所有媒体库', 'services.libraryFilter.subtitleNoneSyncing' => '不同步任何内容', diff --git a/lib/i18n/strings_zh_Hant.g.dart b/lib/i18n/strings_zh_Hant.g.dart index 0d121e3e..eb3d05f1 100644 --- a/lib/i18n/strings_zh_Hant.g.dart +++ b/lib/i18n/strings_zh_Hant.g.dart @@ -1957,6 +1957,7 @@ class _Translations$services$zh_Hant extends Translations$services$zh { @override late final _Translations$services$names$zh_Hant names = _Translations$services$names$zh_Hant._(_root); @override late final _Translations$services$deviceCode$zh_Hant deviceCode = _Translations$services$deviceCode$zh_Hant._(_root); @override late final _Translations$services$oauthProxy$zh_Hant oauthProxy = _Translations$services$oauthProxy$zh_Hant._(_root); + @override late final _Translations$services$pendingAuth$zh_Hant pendingAuth = _Translations$services$pendingAuth$zh_Hant._(_root); @override late final _Translations$services$libraryFilter$zh_Hant libraryFilter = _Translations$services$libraryFilter$zh_Hant._(_root); } @@ -2512,7 +2513,6 @@ class _Translations$services$deviceCode$zh_Hant extends Translations$services$de // Translations @override String title({required Object service}) => '在 ${service} 啟用 Plezy'; - @override String body({required Object url}) => '請前往 ${url} 並輸入此代碼:'; @override String openToActivate({required Object service}) => '開啟 ${service} 進行啟用'; @override String get copyCode => '複製啟用代碼'; @override String get waitingForAuthorization => '等待授權中…'; @@ -2529,6 +2529,15 @@ class _Translations$services$oauthProxy$zh_Hant extends Translations$services$oa @override String title({required Object service}) => '登入 ${service}'; @override String get body => '掃描 QR 碼,或在任何裝置上開啟該網址。'; @override String openToSignIn({required Object service}) => '開啟 ${service} 進行登入'; +} + +// Path: services.pendingAuth +class _Translations$services$pendingAuth$zh_Hant extends Translations$services$pendingAuth$zh { + _Translations$services$pendingAuth$zh_Hant._(TranslationsZhHant root) : this._root = root, super.internal(root); + + final TranslationsZhHant _root; // ignore: unused_field + + // Translations @override String get copyUrl => '複製登入 URL'; @override String get urlCopied => 'URL 已複製'; } @@ -4252,7 +4261,6 @@ extension on TranslationsZhHant { 'services.names.seerr' => 'Seerr', 'services.names.mdblist' => 'MDBList', 'services.deviceCode.title' => ({required Object service}) => '在 ${service} 啟用 Plezy', - 'services.deviceCode.body' => ({required Object url}) => '請前往 ${url} 並輸入此代碼:', 'services.deviceCode.openToActivate' => ({required Object service}) => '開啟 ${service} 進行啟用', 'services.deviceCode.copyCode' => '複製啟用代碼', 'services.deviceCode.waitingForAuthorization' => '等待授權中…', @@ -4260,8 +4268,8 @@ extension on TranslationsZhHant { 'services.oauthProxy.title' => ({required Object service}) => '登入 ${service}', 'services.oauthProxy.body' => '掃描 QR 碼,或在任何裝置上開啟該網址。', 'services.oauthProxy.openToSignIn' => ({required Object service}) => '開啟 ${service} 進行登入', - 'services.oauthProxy.copyUrl' => '複製登入 URL', - 'services.oauthProxy.urlCopied' => 'URL 已複製', + 'services.pendingAuth.copyUrl' => '複製登入 URL', + 'services.pendingAuth.urlCopied' => 'URL 已複製', 'services.libraryFilter.title' => '媒體庫篩選', 'services.libraryFilter.subtitleAllSyncing' => '同步所有媒體庫', 'services.libraryFilter.subtitleNoneSyncing' => '不同步任何內容', diff --git a/lib/i18n/sv.i18n.json b/lib/i18n/sv.i18n.json index 7b1a071a..c3eb36f5 100644 --- a/lib/i18n/sv.i18n.json +++ b/lib/i18n/sv.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Aktivera Plezy på ${service}", - "body": "Besök ${url} och ange den här koden:", + "instructions": "", "openToActivate": "Öppna ${service} för att aktivera", "copyCode": "Kopiera aktiveringskod", "waitingForAuthorization": "Väntar på auktorisering…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "Logga in på ${service}", "body": "Skanna den här QR-koden eller öppna URL:en på valfri enhet.", - "openToSignIn": "Öppna ${service} för att logga in", + "openToSignIn": "Öppna ${service} för att logga in" + }, + "pendingAuth": { "copyUrl": "Kopiera inloggnings-URL", "urlCopied": "URL kopierad" }, diff --git a/lib/i18n/tr.i18n.json b/lib/i18n/tr.i18n.json index 1d2d5ad1..b12ea5c0 100644 --- a/lib/i18n/tr.i18n.json +++ b/lib/i18n/tr.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Plezy'yi ${service} üzerinde etkinleştirin", - "body": "${url} adresini ziyaret edin ve bu kodu girin:", + "instructions": "", "openToActivate": "Etkinleştirmek için ${service} servisini açın", "copyCode": "Etkinleştirme kodunu kopyala", "waitingForAuthorization": "Yetkilendirme bekleniyor…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "${service} servisine giriş yapın", "body": "Bu QR kodunu tarayın veya URL'yi herhangi bir cihazda açın.", - "openToSignIn": "Giriş yapmak için ${service} servisini açın", + "openToSignIn": "Giriş yapmak için ${service} servisini açın" + }, + "pendingAuth": { "copyUrl": "Giriş URL'sini kopyala", "urlCopied": "URL kopyalandı" }, diff --git a/lib/i18n/uz.i18n.json b/lib/i18n/uz.i18n.json index c5940cd3..973fe15b 100644 --- a/lib/i18n/uz.i18n.json +++ b/lib/i18n/uz.i18n.json @@ -1868,7 +1868,7 @@ }, "deviceCode": { "title": "Plezy-ni ${service} xizmatida faollashtiring", - "body": "${url} manziliga oʻting va ushbu kodni kiriting:", + "instructions": "", "openToActivate": "Faollashtirish uchun ${service} xizmatini oching", "copyCode": "Faollashtirish kodini nusxalash", "waitingForAuthorization": "Avtorizatsiya kutilmoqda…", @@ -1877,7 +1877,9 @@ "oauthProxy": { "title": "${service} xizmatiga kiring", "body": "Ushbu QR kodni skanerlang yoki URL-ni oching.", - "openToSignIn": "Kirish uchun ${service} xizmatini oching", + "openToSignIn": "Kirish uchun ${service} xizmatini oching" + }, + "pendingAuth": { "copyUrl": "Kirish URL-ini nusxalash", "urlCopied": "URL nusxalandi" }, diff --git a/lib/i18n/zh-Hant.i18n.json b/lib/i18n/zh-Hant.i18n.json index c9bd979e..4057e708 100644 --- a/lib/i18n/zh-Hant.i18n.json +++ b/lib/i18n/zh-Hant.i18n.json @@ -1859,7 +1859,7 @@ }, "deviceCode": { "title": "在 ${service} 啟用 Plezy", - "body": "請前往 ${url} 並輸入此代碼:", + "instructions": "", "openToActivate": "開啟 ${service} 進行啟用", "copyCode": "複製啟用代碼", "waitingForAuthorization": "等待授權中…", @@ -1868,7 +1868,9 @@ "oauthProxy": { "title": "登入 ${service}", "body": "掃描 QR 碼,或在任何裝置上開啟該網址。", - "openToSignIn": "開啟 ${service} 進行登入", + "openToSignIn": "開啟 ${service} 進行登入" + }, + "pendingAuth": { "copyUrl": "複製登入 URL", "urlCopied": "URL 已複製" }, diff --git a/lib/i18n/zh.i18n.json b/lib/i18n/zh.i18n.json index 7b9a88bc..9e06b398 100644 --- a/lib/i18n/zh.i18n.json +++ b/lib/i18n/zh.i18n.json @@ -1859,7 +1859,7 @@ }, "deviceCode": { "title": "在 ${service} 上激活 Plezy", - "body": "访问 ${url} 并输入此代码:", + "instructions": "", "openToActivate": "打开 ${service} 以激活", "copyCode": "复制激活代码", "waitingForAuthorization": "等待授权…", @@ -1868,7 +1868,9 @@ "oauthProxy": { "title": "登录 ${service}", "body": "扫描此二维码,或在任意设备上打开 URL。", - "openToSignIn": "打开 ${service} 以登录", + "openToSignIn": "打开 ${service} 以登录" + }, + "pendingAuth": { "copyUrl": "复制登录 URL", "urlCopied": "URL 已复制" }, diff --git a/lib/widgets/device_code_dialog.dart b/lib/widgets/device_code_dialog.dart index 95d7c7c1..06e3bab3 100644 --- a/lib/widgets/device_code_dialog.dart +++ b/lib/widgets/device_code_dialog.dart @@ -6,12 +6,15 @@ import '../models/trackers/device_code.dart'; import '../utils/snackbar_helper.dart'; import 'pending_auth_dialog.dart'; -/// Shared device-code activation dialog for Trakt and Simkl (RFC 8628). +/// Shared device-code activation dialog for Trakt, Simkl, and MDBList +/// (RFC 8628). /// -/// Shows the `userCode` with copy-to-clipboard, a button to launch the -/// verification URL in the browser, and a "waiting for authorization…" spinner -/// while the poll loop runs. Dismissing calls [onCancel] so the provider can -/// abort the poll. +/// The [PendingAuthDialog] shell contributes the QR code (encoding the +/// code-prefilled verification URL when the service provides one), the +/// readable copyable verification URL, the browser launch button, and the +/// "waiting for authorization…" spinner; this dialog adds the `userCode` with +/// copy-to-clipboard. Dismissing calls [onCancel] so the provider can abort +/// the poll. class DeviceCodeDialog extends StatelessWidget { final DeviceCode code; final String serviceName; @@ -30,8 +33,9 @@ class DeviceCodeDialog extends StatelessWidget { final theme = Theme.of(context); return PendingAuthDialog( title: t.services.deviceCode.title(service: serviceName), - body: t.services.deviceCode.body(url: code.verificationUrl), + body: t.services.deviceCode.instructions, url: code.verificationUrlComplete ?? code.verificationUrl, + displayUrl: code.verificationUrl, openLabel: t.services.deviceCode.openToActivate(service: serviceName), onCancel: onCancel, children: [ @@ -41,13 +45,19 @@ class DeviceCodeDialog extends StatelessWidget { semanticLabel: t.services.deviceCode.copyCode, semanticValue: code.userCode, child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12), - child: Text( - code.userCode, - style: theme.textTheme.displaySmall?.copyWith( - fontFeatures: const [FontFeature.tabularFigures()], - letterSpacing: 4, - fontWeight: .w600, + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + // Scale down instead of wrapping: user codes vary in length and + // a wrapped activation code reads as two codes. + child: FittedBox( + fit: BoxFit.scaleDown, + child: Text( + code.userCode, + maxLines: 1, + style: theme.textTheme.displaySmall?.copyWith( + fontFeatures: const [FontFeature.tabularFigures()], + letterSpacing: 4, + fontWeight: .w600, + ), ), ), ), diff --git a/lib/widgets/oauth_proxy_dialog.dart b/lib/widgets/oauth_proxy_dialog.dart index 26170cf7..37002bff 100644 --- a/lib/widgets/oauth_proxy_dialog.dart +++ b/lib/widgets/oauth_proxy_dialog.dart @@ -1,17 +1,15 @@ import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:qr_flutter/qr_flutter.dart'; import '../i18n/strings.g.dart'; import '../services/trackers/oauth_proxy_client.dart'; -import '../utils/snackbar_helper.dart'; import 'pending_auth_dialog.dart'; /// Sign-in dialog for OAuth-proxy flows (MAL, AniList). /// -/// Shows a QR code plus a "open in browser" button — works uniformly on -/// phones (user taps the button), desktops (same), and TVs without a browser -/// (user scans the QR with a phone). +/// The [PendingAuthDialog] shell contributes everything this flow needs — QR +/// code, readable copyable URL, browser launch button, and the waiting +/// spinner — so it works uniformly on phones (user taps the button), desktops +/// (same), and TVs without a browser (user scans the QR with a phone). class OAuthProxyDialog extends StatelessWidget { final OAuthProxyStart start; final String serviceName; @@ -19,52 +17,15 @@ class OAuthProxyDialog extends StatelessWidget { const OAuthProxyDialog({super.key, required this.start, required this.serviceName, required this.onCancel}); - Future _copyUrl(BuildContext context) async { - await Clipboard.setData(ClipboardData(text: start.url)); - if (!context.mounted) return; - showAppSnackBar(context, t.services.oauthProxy.urlCopied); - } - @override Widget build(BuildContext context) { - final theme = Theme.of(context); return PendingAuthDialog( title: t.services.oauthProxy.title(service: serviceName), body: t.services.oauthProxy.body, url: start.url, openLabel: t.services.oauthProxy.openToSignIn(service: serviceName), onCancel: onCancel, - children: [ - // QrImageView doesn't support intrinsic sizing; wrap in SizedBox so - // AlertDialog's IntrinsicWidth walk sees a concrete width. - Center( - child: SizedBox.square( - dimension: 220, - child: ClipRRect( - borderRadius: BorderRadius.circular(8), - child: QrImageView(data: start.url, size: 220, version: QrVersions.auto, backgroundColor: Colors.white), - ), - ), - ), - const SizedBox(height: 16), - CopyTapRegion( - onCopy: () => _copyUrl(context), - semanticLabel: t.services.oauthProxy.copyUrl, - semanticValue: start.url, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), - child: Text( - start.url, - style: theme.textTheme.bodySmall?.copyWith( - fontFamily: 'monospace', - color: theme.colorScheme.onSurfaceVariant, - ), - textAlign: TextAlign.center, - ), - ), - ), - const SizedBox(height: 8), - ], + children: const [], ); } } diff --git a/lib/widgets/pending_auth_dialog.dart b/lib/widgets/pending_auth_dialog.dart index f47d1a56..761513f0 100644 --- a/lib/widgets/pending_auth_dialog.dart +++ b/lib/widgets/pending_auth_dialog.dart @@ -1,19 +1,29 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:material_symbols_icons/symbols.dart'; +import 'package:qr_flutter/qr_flutter.dart'; import 'package:url_launcher/url_launcher.dart'; import '../focus/focusable_button.dart'; import '../focus/focusable_wrapper.dart'; import '../i18n/strings.g.dart'; +import '../utils/platform_detector.dart'; +import '../utils/snackbar_helper.dart'; import 'app_icon.dart'; import 'dialog_action_button.dart'; import 'loading_indicator_box.dart'; /// Shell for the "waiting for out-of-band authorization" dialogs. /// -/// Shows [body], the service-specific [children], a button that launches [url] -/// in the browser, and a "waiting for authorization…" spinner while the poll -/// loop runs. Dismissing calls [onCancel] so the provider can abort the poll. +/// Every flow gets the same affordances: a QR code for [url], a readable +/// copyable URL underneath it, the service-specific [children], a button that +/// launches [url] in the browser (hidden on Apple TV, which has none), and a +/// "waiting for authorization…" spinner while the poll loop runs. +/// +/// On wide viewports (TV, desktop, phone landscape) the QR pane sits beside +/// the instructions so the dialog stays short enough for TV screens — tvOS +/// renders at 540 logical pixels of height, where the stacked layout clips. +/// Dismissing calls [onCancel] so the provider can abort the poll. class PendingAuthDialog extends StatelessWidget { final String title; final String body; @@ -21,7 +31,14 @@ class PendingAuthDialog extends StatelessWidget { /// Sits between the body text and the launch button, and carries its own /// trailing spacing. final List children; + + /// Encoded in the QR code, opened by the browser button, and copied by the + /// URL tap region. final String url; + + /// Short human-readable form of [url] shown under the QR code. Defaults to + /// [url]; the scheme is stripped for display either way. + final String? displayUrl; final String openLabel; final VoidCallback onCancel; @@ -31,6 +48,7 @@ class PendingAuthDialog extends StatelessWidget { required this.body, required this.children, required this.url, + this.displayUrl, required this.openLabel, required this.onCancel, }); @@ -39,19 +57,56 @@ class PendingAuthDialog extends StatelessWidget { await launchUrl(Uri.parse(url), mode: LaunchMode.externalApplication); } + Future _copyUrl(BuildContext context) async { + await Clipboard.setData(ClipboardData(text: url)); + if (!context.mounted) return; + showAppSnackBar(context, t.services.pendingAuth.urlCopied); + } + + String get _urlDisplayText { + var text = displayUrl ?? url; + text = text.replaceFirst(RegExp('^https?://'), ''); + while (text.endsWith('/')) { + text = text.substring(0, text.length - 1); + } + return text; + } + @override Widget build(BuildContext context) { final theme = Theme.of(context); - return AlertDialog( - title: Text(title), - content: Column( - mainAxisSize: .min, - crossAxisAlignment: .start, - children: [ - Text(body, style: theme.textTheme.bodyMedium), - const SizedBox(height: 16), - ...children, - SizedBox( + final screen = MediaQuery.sizeOf(context); + // Side-by-side on anything wide enough (TV, desktop, phone landscape); + // stacked on portrait phones. + final wide = screen.width >= 600; + final qrSize = wide ? (screen.height * 0.45).clamp(160.0, 220.0) : (screen.width - 160).clamp(140.0, 200.0); + + final qr = SizedBox.square( + dimension: qrSize, + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: QrImageView(data: url, size: qrSize, version: QrVersions.auto, backgroundColor: Colors.white), + ), + ); + Widget urlChip({required TextAlign textAlign}) => CopyTapRegion( + onCopy: () => _copyUrl(context), + semanticLabel: t.services.pendingAuth.copyUrl, + semanticValue: url, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + child: Text( + _urlDisplayText, + style: theme.textTheme.titleMedium?.copyWith(fontFamily: 'monospace', fontWeight: .w600), + textAlign: textAlign, + ), + ), + ); + + final bodyText = Text(body, style: theme.textTheme.bodyMedium); + // tvOS has no browser, so a launch button would be a dead focus target. + final openButton = PlatformDetector.isAppleTV() + ? null + : SizedBox( width: double.infinity, child: FocusableButton( onPressed: _open, @@ -62,17 +117,80 @@ class PendingAuthDialog extends StatelessWidget { onPressed: _open, ), ), - ), - const SizedBox(height: 16), - Row( - children: [ - const LoadingIndicatorBox(size: 16), - const SizedBox(width: 12), - Expanded(child: Text(t.services.deviceCode.waitingForAuthorization, style: theme.textTheme.bodySmall)), - ], - ), - ], - ), + ); + final waitingRow = Row( + children: [ + const LoadingIndicatorBox(size: 16), + const SizedBox(width: 12), + Expanded(child: Text(t.services.deviceCode.waitingForAuthorization, style: theme.textTheme.bodySmall)), + ], + ); + + return AlertDialog( + scrollable: true, + title: Text(title), + // Wide: the QR fills the left pane and everything textual lives in the + // right column — body at the QR's top edge, button/spinner at its bottom + // edge, the URL above the button, and any service extras (activation + // code) centered in the remaining space. Both flows fill their column, + // so neither pane floats in empty space. + content: wide + ? IntrinsicHeight( + child: Row( + mainAxisSize: .min, + crossAxisAlignment: .stretch, + children: [ + Column(mainAxisSize: .min, mainAxisAlignment: .center, children: [qr]), + const SizedBox(width: 28), + ConstrainedBox( + constraints: const BoxConstraints(maxWidth: 320), + child: Column( + crossAxisAlignment: .stretch, + children: [ + bodyText, + Expanded( + child: children.isEmpty + ? const SizedBox.shrink() + : Column(mainAxisAlignment: .center, children: children), + ), + Align( + alignment: .centerLeft, + child: urlChip(textAlign: TextAlign.start), + ), + const SizedBox(height: 12), + if (openButton != null) ...[openButton, const SizedBox(height: 16)], + waitingRow, + ], + ), + ), + ], + ), + ) + : Column( + mainAxisSize: .min, + crossAxisAlignment: .stretch, + children: [ + bodyText, + const SizedBox(height: 16), + ...children, + Center( + child: Column( + mainAxisSize: .min, + children: [ + qr, + const SizedBox(height: 8), + ConstrainedBox( + constraints: BoxConstraints(maxWidth: qrSize + 32), + child: urlChip(textAlign: TextAlign.center), + ), + ], + ), + ), + const SizedBox(height: 16), + if (openButton != null) ...[openButton, const SizedBox(height: 16)], + waitingRow, + ], + ), actions: [ DialogActionButton( onPressed: () { diff --git a/test/i18n/localized_value_labels_test.dart b/test/i18n/localized_value_labels_test.dart index 2836241d..1b7c8f8b 100644 --- a/test/i18n/localized_value_labels_test.dart +++ b/test/i18n/localized_value_labels_test.dart @@ -13,7 +13,7 @@ void main() { 'watchTogether.openSessionControls': translations.watchTogether.openSessionControls, 'watchTogether.copySessionCode': translations.watchTogether.copySessionCode, 'services.deviceCode.copyCode': translations.services.deviceCode.copyCode, - 'services.oauthProxy.copyUrl': translations.services.oauthProxy.copyUrl, + 'services.pendingAuth.copyUrl': translations.services.pendingAuth.copyUrl, }; for (final MapEntry(key: key, value: value) in labels.entries) { diff --git a/test/widgets/device_code_dialog_test.dart b/test/widgets/device_code_dialog_test.dart index 539b1225..9775db2d 100644 --- a/test/widgets/device_code_dialog_test.dart +++ b/test/widgets/device_code_dialog_test.dart @@ -5,19 +5,22 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:plezy/i18n/strings.g.dart'; import 'package:plezy/models/trackers/device_code.dart'; import 'package:plezy/widgets/device_code_dialog.dart'; +import 'package:qr_flutter/qr_flutter.dart'; void main() { setUpAll(() => LocaleSettings.setLocaleSync(AppLocale.en)); + const code = DeviceCode( + deviceCode: 'device-token', + userCode: 'ABCD-EFGH', + verificationUrl: 'https://example.com/activate', + verificationUrlComplete: 'https://example.com/activate/ABCD-EFGH', + expiresIn: 600, + interval: 5, + ); + testWidgets('copy control exposes the activation code as its value', (tester) async { final semantics = tester.ensureSemantics(); - const code = DeviceCode( - deviceCode: 'device-token', - userCode: 'ABCD-EFGH', - verificationUrl: 'https://example.com/activate', - expiresIn: 600, - interval: 5, - ); await tester.pumpWidget( MaterialApp( @@ -35,4 +38,23 @@ void main() { expect(find.bySemanticsLabel(code.userCode), findsNothing); semantics.dispose(); }); + + testWidgets('shows a QR code for the complete verification URL and a copyable readable URL', (tester) async { + final semantics = tester.ensureSemantics(); + + await tester.pumpWidget( + MaterialApp( + home: DeviceCodeDialog(code: code, serviceName: 'Example', onCancel: () {}), + ), + ); + + expect(find.byType(QrImageView), findsOneWidget); + // The visible URL is the short verification URL with the scheme stripped, + // but copying yields the full code-prefilled URL. + expect(find.text('example.com/activate'), findsOneWidget); + final urlFinder = find.bySemanticsLabel(t.services.pendingAuth.copyUrl); + expect(urlFinder, findsOneWidget); + expect(tester.getSemantics(urlFinder).getSemanticsData().value, code.verificationUrlComplete); + semantics.dispose(); + }); } diff --git a/test/widgets/oauth_proxy_dialog_test.dart b/test/widgets/oauth_proxy_dialog_test.dart index 7ddffc5d..86c3ed64 100644 --- a/test/widgets/oauth_proxy_dialog_test.dart +++ b/test/widgets/oauth_proxy_dialog_test.dart @@ -5,17 +5,19 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:plezy/i18n/strings.g.dart'; import 'package:plezy/services/trackers/oauth_proxy_client.dart'; import 'package:plezy/widgets/oauth_proxy_dialog.dart'; +import 'package:qr_flutter/qr_flutter.dart'; void main() { setUpAll(() => LocaleSettings.setLocaleSync(AppLocale.en)); + const start = OAuthProxyStart(session: 'session-token', url: 'https://example.com/oauth/start', expiresIn: 600); + testWidgets('copy control exposes the OAuth URL as its value', (tester) async { final semantics = tester.ensureSemantics(); tester.view.devicePixelRatio = 1; tester.view.physicalSize = const Size(1024, 768); addTearDown(tester.view.resetDevicePixelRatio); addTearDown(tester.view.resetPhysicalSize); - const start = OAuthProxyStart(session: 'session-token', url: 'https://example.com/oauth/start', expiresIn: 600); await tester.pumpWidget( MaterialApp( @@ -23,7 +25,7 @@ void main() { ), ); - final finder = find.bySemanticsLabel(t.services.oauthProxy.copyUrl); + final finder = find.bySemanticsLabel(t.services.pendingAuth.copyUrl); expect(finder, findsOneWidget); final data = tester.getSemantics(finder).getSemanticsData(); expect(data.value, start.url); @@ -33,4 +35,33 @@ void main() { expect(find.bySemanticsLabel(start.url), findsNothing); semantics.dispose(); }); + + testWidgets('always shows a QR code encoding the sign-in URL', (tester) async { + await tester.pumpWidget( + MaterialApp( + home: OAuthProxyDialog(start: start, serviceName: 'Example', onCancel: () {}), + ), + ); + + expect(find.byType(QrImageView), findsOneWidget); + expect(find.text('example.com/oauth/start'), findsOneWidget); + }); + + testWidgets('fits within a tvOS-sized 960x540 logical viewport without overflowing', (tester) async { + tester.view.devicePixelRatio = 1; + tester.view.physicalSize = const Size(960, 540); + addTearDown(tester.view.resetDevicePixelRatio); + addTearDown(tester.view.resetPhysicalSize); + + await tester.pumpWidget( + MaterialApp( + home: OAuthProxyDialog(start: start, serviceName: 'Example', onCancel: () {}), + ), + ); + + // Wide layout: QR beside the instructions, dialog fully on screen. + final dialogRect = tester.getRect(find.byType(AlertDialog)); + expect(dialogRect.height, lessThanOrEqualTo(540)); + expect(tester.takeException(), isNull); + }); }