fix(relay): secure reconnect and room ownership

This commit is contained in:
edde746
2026-07-24 03:46:50 +02:00
parent e0bf66eea8
commit 43a8fe020d
82 changed files with 12341 additions and 1382 deletions
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Релей сървър за гледане заедно",
"watchTogetherRelayDescription": "Задай собствен релей сървър. Всички трябва да използват същия сървър.",
"watchTogetherRelayHint": "https://my-relay.example.com",
"watchTogetherRelayInvalid": "",
"crashReporting": "Докладване на сривове",
"crashReportingDescription": "Изпращай доклади за сривове, за да помогнеш за подобряване на приложението",
"debugLogging": "Логове за отстраняване на грешки",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Watch Together-relay",
"watchTogetherRelayDescription": "Angiv en brugerdefineret relay. Alle skal bruge samme server.",
"watchTogetherRelayHint": "https://min-relay.eksempel.dk",
"watchTogetherRelayInvalid": "",
"crashReporting": "Fejlrapportering",
"crashReportingDescription": "Send fejlrapporter for at hjælpe med at forbedre appen",
"debugLogging": "Fejlfindingslogning",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Gemeinsam Schauen Relay",
"watchTogetherRelayDescription": "Eigenes Relay festlegen. Alle müssen denselben Server verwenden.",
"watchTogetherRelayHint": "https://mein-relay.beispiel.de",
"watchTogetherRelayInvalid": "",
"crashReporting": "Absturzberichte",
"crashReportingDescription": "Absturzberichte senden, um die App zu verbessern",
"debugLogging": "Debug-Protokollierung",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Watch Together Relay",
"watchTogetherRelayDescription": "Set a custom relay. Everyone must use the same server.",
"watchTogetherRelayHint": "https://my-relay.example.com",
"watchTogetherRelayInvalid": "Enter a valid HTTP or HTTPS relay base URL.",
"crashReporting": "Crash Reporting",
"crashReportingDescription": "Send crash reports to help improve the app",
"debugLogging": "Debug Logging",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Relay de Ver Juntos",
"watchTogetherRelayDescription": "Define un relay personalizado. Todos deben usar el mismo servidor.",
"watchTogetherRelayHint": "https://mi-relay.ejemplo.com",
"watchTogetherRelayInvalid": "",
"crashReporting": "Informes de Errores",
"crashReportingDescription": "Enviar informes de errores para mejorar la aplicación",
"debugLogging": "Registro de Depuración",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Relais Regarder Ensemble",
"watchTogetherRelayDescription": "Définir un relay personnalisé. Tout le monde doit utiliser le même serveur.",
"watchTogetherRelayHint": "https://mon-relais.exemple.fr",
"watchTogetherRelayInvalid": "",
"crashReporting": "Rapports de plantage",
"crashReportingDescription": "Envoyer des rapports de plantage pour améliorer l'application",
"debugLogging": "Journalisation de débogage",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Relay Guarda Insieme",
"watchTogetherRelayDescription": "Imposta un relay personalizzato. Tutti devono usare lo stesso server.",
"watchTogetherRelayHint": "https://mio-relay.esempio.it",
"watchTogetherRelayInvalid": "",
"crashReporting": "Segnalazione errori",
"crashReportingDescription": "Invia segnalazioni di errori per migliorare l'app",
"debugLogging": "Log di debug",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "一緒に視聴リレーサーバー",
"watchTogetherRelayDescription": "カスタムリレーを設定します。全員が同じサーバーを使う必要があります。",
"watchTogetherRelayHint": "https://my-relay.example.com",
"watchTogetherRelayInvalid": "",
"crashReporting": "クラッシュレポート",
"crashReportingDescription": "アプリの改善に役立つクラッシュレポートを送信",
"debugLogging": "デバッグログ",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "함께 보기 릴레이",
"watchTogetherRelayDescription": "사용자 지정 릴레이를 설정합니다. 모두 같은 서버를 사용해야 합니다.",
"watchTogetherRelayHint": "https://my-relay.example.com",
"watchTogetherRelayInvalid": "",
"crashReporting": "충돌 보고",
"crashReportingDescription": "앱 개선을 위해 충돌 보고서 전송",
"debugLogging": "디버그 로깅",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Se Sammen-relay",
"watchTogetherRelayDescription": "Angi en egendefinert relay. Alle må bruke samme server.",
"watchTogetherRelayHint": "https://min-relay.eksempel.no",
"watchTogetherRelayInvalid": "",
"crashReporting": "Krasjrapportering",
"crashReportingDescription": "Send krasjrapporter for å hjelpe med å forbedre appen",
"debugLogging": "Feilsøkingslogging",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Samen Kijken Relay",
"watchTogetherRelayDescription": "Stel een aangepaste relay in. Iedereen moet dezelfde server gebruiken.",
"watchTogetherRelayHint": "https://mijn-relay.voorbeeld.nl",
"watchTogetherRelayInvalid": "",
"crashReporting": "Crashrapportage",
"crashReportingDescription": "Crashrapporten verzenden om de app te verbeteren",
"debugLogging": "Debug logging",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Relay Oglądaj Razem",
"watchTogetherRelayDescription": "Ustaw własny relay. Wszyscy muszą używać tego samego serwera.",
"watchTogetherRelayHint": "https://moj-relay.przyklad.pl",
"watchTogetherRelayInvalid": "",
"crashReporting": "Raportowanie błędów",
"crashReportingDescription": "Wysyłaj raporty o błędach, aby pomóc ulepszyć aplikację",
"debugLogging": "Logowanie debugowania",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Relay do Assistir Juntos",
"watchTogetherRelayDescription": "Defina um relay personalizado. Todos devem usar o mesmo servidor.",
"watchTogetherRelayHint": "https://meu-relay.exemplo.com.br",
"watchTogetherRelayInvalid": "",
"crashReporting": "Relatório de Erros",
"crashReportingDescription": "Enviar relatórios de erros para ajudar a melhorar o app",
"debugLogging": "Log de Depuração",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Relay совместного просмотра",
"watchTogetherRelayDescription": "Задайте свой relay. Все должны использовать один сервер.",
"watchTogetherRelayHint": "https://my-relay.example.com",
"watchTogetherRelayInvalid": "",
"crashReporting": "Отчёты об ошибках",
"crashReportingDescription": "Отправлять отчёты об ошибках для улучшения приложения",
"debugLogging": "Журнал отладки",
+1 -1
View File
@@ -4,7 +4,7 @@
/// To regenerate, run: `dart run slang`
///
/// Locales: 16
/// Strings: 23011 (1438 per locale)
/// Strings: 23027 (1439 per locale)
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsBg extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Релей сървър за гледане заедно';
@override String get watchTogetherRelayDescription => 'Задай собствен релей сървър. Всички трябва да използват същия сървър.';
@override String get watchTogetherRelayHint => 'https://my-relay.example.com';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Докладване на сривове';
@override String get crashReportingDescription => 'Изпращай доклади за сривове, за да помогнеш за подобряване на приложението';
@override String get debugLogging => 'Логове за отстраняване на грешки';
@@ -2303,6 +2304,7 @@ extension on TranslationsBg {
'settings.watchTogetherRelay' => 'Релей сървър за гледане заедно',
'settings.watchTogetherRelayDescription' => 'Задай собствен релей сървър. Всички трябва да използват същия сървър.',
'settings.watchTogetherRelayHint' => 'https://my-relay.example.com',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Докладване на сривове',
'settings.crashReportingDescription' => 'Изпращай доклади за сривове, за да помогнеш за подобряване на приложението',
'settings.debugLogging' => 'Логове за отстраняване на грешки',
@@ -2644,9 +2646,9 @@ extension on TranslationsBg {
'messages.markedAsUnwatchedOffline' => 'Маркирано като негледано (ще се синхронизира, когато сте онлайн)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Автоматично премахнато: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('bg'))(n, one: 'Автоматично премахнато ${n} гледано изтегляне', other: 'Автоматично премахнати ${n} гледани изтегляния', ),
'messages.removedFromContinueWatching' => 'Премахнато от продължаване на гледането',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Премахнато от продължаване на гледането',
'messages.errorLoading' => ({required Object error}) => 'Грешка: ${error}',
'messages.streamInterrupted' => 'Потокът прекъсна. Натиснете „Пусни“ или превъртете, за да опитате отново.',
'messages.liveStreamInterrupted' => 'Потокът на живо прекъсна. Натиснете „Пусни“, за да опитате отново.',
@@ -3158,9 +3160,9 @@ extension on TranslationsBg {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} превъртя',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} буферира',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} е с по-стара версия на приложението — синхронизирането не е налично',
'watchTogether.resumingWithout' => ({required Object name}) => 'Продължаване без ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Продължаване без ${name}',
'watchTogether.waitingForParticipants' => 'Изчакване другите да заредят...',
'watchTogether.waitingForName' => ({required Object name}) => 'Изчакване на ${name}...',
'watchTogether.recentRooms' => 'Скорошни стаи',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsDa extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Watch Together-relay';
@override String get watchTogetherRelayDescription => 'Angiv en brugerdefineret relay. Alle skal bruge samme server.';
@override String get watchTogetherRelayHint => 'https://min-relay.eksempel.dk';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Fejlrapportering';
@override String get crashReportingDescription => 'Send fejlrapporter for at hjælpe med at forbedre appen';
@override String get debugLogging => 'Fejlfindingslogning';
@@ -2303,6 +2304,7 @@ extension on TranslationsDa {
'settings.watchTogetherRelay' => 'Watch Together-relay',
'settings.watchTogetherRelayDescription' => 'Angiv en brugerdefineret relay. Alle skal bruge samme server.',
'settings.watchTogetherRelayHint' => 'https://min-relay.eksempel.dk',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Fejlrapportering',
'settings.crashReportingDescription' => 'Send fejlrapporter for at hjælpe med at forbedre appen',
'settings.debugLogging' => 'Fejlfindingslogning',
@@ -2644,9 +2646,9 @@ extension on TranslationsDa {
'messages.markedAsUnwatchedOffline' => 'Markeret som uset (synkroniseres online)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Automatisk fjernet: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('da'))(n, one: 'Fjernede automatisk ${n} set download', other: 'Fjernede automatisk ${n} sete downloads', ),
'messages.removedFromContinueWatching' => 'Fjernet fra Fortsæt med at se',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Fjernet fra Fortsæt med at se',
'messages.errorLoading' => ({required Object error}) => 'Fejl: ${error}',
'messages.streamInterrupted' => 'Streamen blev afbrudt. Tryk på afspil, eller spol for at prøve igen.',
'messages.liveStreamInterrupted' => 'Livestreamen blev afbrudt. Tryk på afspil for at prøve igen.',
@@ -3158,9 +3160,9 @@ extension on TranslationsDa {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} spoled',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} bufferer',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} bruger en ældre appversion — synkronisering er ikke tilgængelig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortsætter uden ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortsætter uden ${name}',
'watchTogether.waitingForParticipants' => 'Venter på at andre indlæser...',
'watchTogether.waitingForName' => ({required Object name}) => 'Venter på ${name}...',
'watchTogether.recentRooms' => 'Seneste rum',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsDe extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Gemeinsam Schauen Relay';
@override String get watchTogetherRelayDescription => 'Eigenes Relay festlegen. Alle müssen denselben Server verwenden.';
@override String get watchTogetherRelayHint => 'https://mein-relay.beispiel.de';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Absturzberichte';
@override String get crashReportingDescription => 'Absturzberichte senden, um die App zu verbessern';
@override String get debugLogging => 'Debug-Protokollierung';
@@ -2303,6 +2304,7 @@ extension on TranslationsDe {
'settings.watchTogetherRelay' => 'Gemeinsam Schauen Relay',
'settings.watchTogetherRelayDescription' => 'Eigenes Relay festlegen. Alle müssen denselben Server verwenden.',
'settings.watchTogetherRelayHint' => 'https://mein-relay.beispiel.de',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Absturzberichte',
'settings.crashReportingDescription' => 'Absturzberichte senden, um die App zu verbessern',
'settings.debugLogging' => 'Debug-Protokollierung',
@@ -2644,9 +2646,9 @@ extension on TranslationsDe {
'messages.markedAsUnwatchedOffline' => 'Als ungesehen markiert (wird synchronisiert, wenn online)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Automatisch entfernt: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('de'))(n, one: 'Automatisch entfernt: ${n} angesehener Download', other: 'Automatisch entfernt: ${n} angesehene Downloads', ),
'messages.removedFromContinueWatching' => 'Aus Weiterschauen\' entfernt',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Aus Weiterschauen\' entfernt',
'messages.errorLoading' => ({required Object error}) => 'Fehler: ${error}',
'messages.streamInterrupted' => 'Der Stream wurde unterbrochen. Drücke auf Wiedergabe oder spule, um es erneut zu versuchen.',
'messages.liveStreamInterrupted' => 'Der Livestream wurde unterbrochen. Drücke auf Wiedergabe, um es erneut zu versuchen.',
@@ -3158,9 +3160,9 @@ extension on TranslationsDe {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} hat gespult',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} puffert',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} verwendet eine ältere Appversion — Synchronisierung nicht verfügbar',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortfahren ohne ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortfahren ohne ${name}',
'watchTogether.waitingForParticipants' => 'Warte auf andere zum Laden...',
'watchTogether.waitingForName' => ({required Object name}) => 'Warten auf ${name}...',
'watchTogether.recentRooms' => 'Letzte Räume',
+6 -2
View File
@@ -653,6 +653,9 @@ class TranslationsSettingsEn {
/// en: 'https://my-relay.example.com'
String get watchTogetherRelayHint => 'https://my-relay.example.com';
/// en: 'Enter a valid HTTP or HTTPS relay base URL.'
String get watchTogetherRelayInvalid => 'Enter a valid HTTP or HTTPS relay base URL.';
/// en: 'Crash Reporting'
String get crashReporting => 'Crash Reporting';
@@ -5180,6 +5183,7 @@ extension on Translations {
'settings.watchTogetherRelay' => 'Watch Together Relay',
'settings.watchTogetherRelayDescription' => 'Set a custom relay. Everyone must use the same server.',
'settings.watchTogetherRelayHint' => 'https://my-relay.example.com',
'settings.watchTogetherRelayInvalid' => 'Enter a valid HTTP or HTTPS relay base URL.',
'settings.crashReporting' => 'Crash Reporting',
'settings.crashReportingDescription' => 'Send crash reports to help improve the app',
'settings.debugLogging' => 'Debug Logging',
@@ -5522,9 +5526,9 @@ extension on Translations {
'messages.markedAsUnwatchedOffline' => 'Marked as unwatched (will sync when online)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Auto-removed: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('en'))(n, one: 'Auto-removed ${n} watched download', other: 'Auto-removed ${n} watched downloads', ),
'messages.removedFromContinueWatching' => 'Removed from Continue Watching',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Removed from Continue Watching',
'messages.errorLoading' => ({required Object error}) => 'Error: ${error}',
'messages.streamInterrupted' => 'The stream was interrupted. Press play or seek to retry.',
'messages.liveStreamInterrupted' => 'The live stream was interrupted. Press play to retry.',
@@ -6037,9 +6041,9 @@ extension on Translations {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} seeked',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} is buffering',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} is on an older app version — sync unavailable',
'watchTogether.resumingWithout' => ({required Object name}) => 'Resuming without ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Resuming without ${name}',
'watchTogether.waitingForParticipants' => 'Waiting for others to load...',
'watchTogether.waitingForName' => ({required Object name}) => 'Waiting for ${name}...',
'watchTogether.recentRooms' => 'Recent Rooms',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsEs extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Relay de Ver Juntos';
@override String get watchTogetherRelayDescription => 'Define un relay personalizado. Todos deben usar el mismo servidor.';
@override String get watchTogetherRelayHint => 'https://mi-relay.ejemplo.com';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Informes de Errores';
@override String get crashReportingDescription => 'Enviar informes de errores para mejorar la aplicación';
@override String get debugLogging => 'Registro de Depuración';
@@ -2303,6 +2304,7 @@ extension on TranslationsEs {
'settings.watchTogetherRelay' => 'Relay de Ver Juntos',
'settings.watchTogetherRelayDescription' => 'Define un relay personalizado. Todos deben usar el mismo servidor.',
'settings.watchTogetherRelayHint' => 'https://mi-relay.ejemplo.com',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Informes de Errores',
'settings.crashReportingDescription' => 'Enviar informes de errores para mejorar la aplicación',
'settings.debugLogging' => 'Registro de Depuración',
@@ -2644,9 +2646,9 @@ extension on TranslationsEs {
'messages.markedAsUnwatchedOffline' => 'Marcado como no visto (se sincronizará al estar en línea)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Eliminado automáticamente: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('es'))(n, one: 'Se eliminó automáticamente ${n} descarga vista', other: 'Se eliminaron automáticamente ${n} descargas vistas', ),
'messages.removedFromContinueWatching' => 'Eliminado de Seguir Viendo',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Eliminado de Seguir Viendo',
'messages.errorLoading' => ({required Object error}) => 'Error: ${error}',
'messages.streamInterrupted' => 'La reproducción se interrumpió. Pulsa reproducir o avanza para volver a intentarlo.',
'messages.liveStreamInterrupted' => 'La transmisión en vivo se interrumpió. Pulsa reproducir para volver a intentarlo.',
@@ -3158,9 +3160,9 @@ extension on TranslationsEs {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} avanzó',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} está cargando',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} usa una versión anterior de la app — sincronización no disponible',
'watchTogether.resumingWithout' => ({required Object name}) => 'Reanudando sin ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Reanudando sin ${name}',
'watchTogether.waitingForParticipants' => 'Esperando a que otros carguen...',
'watchTogether.waitingForName' => ({required Object name}) => 'Esperando a ${name}...',
'watchTogether.recentRooms' => 'Salas recientes',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsFr extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Relais Regarder Ensemble';
@override String get watchTogetherRelayDescription => 'Définir un relay personnalisé. Tout le monde doit utiliser le même serveur.';
@override String get watchTogetherRelayHint => 'https://mon-relais.exemple.fr';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Rapports de plantage';
@override String get crashReportingDescription => 'Envoyer des rapports de plantage pour améliorer l\'application';
@override String get debugLogging => 'Journalisation de débogage';
@@ -2303,6 +2304,7 @@ extension on TranslationsFr {
'settings.watchTogetherRelay' => 'Relais Regarder Ensemble',
'settings.watchTogetherRelayDescription' => 'Définir un relay personnalisé. Tout le monde doit utiliser le même serveur.',
'settings.watchTogetherRelayHint' => 'https://mon-relais.exemple.fr',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Rapports de plantage',
'settings.crashReportingDescription' => 'Envoyer des rapports de plantage pour améliorer l\'application',
'settings.debugLogging' => 'Journalisation de débogage',
@@ -2644,9 +2646,9 @@ extension on TranslationsFr {
'messages.markedAsUnwatchedOffline' => 'Marqué comme non vu (sera synchronisé lorsque vous serez en ligne)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Supprimé automatiquement : ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('fr'))(n, one: '${n} téléchargement vu supprimé automatiquement', other: '${n} téléchargements vus supprimés automatiquement', ),
'messages.removedFromContinueWatching' => 'Supprimer de "Continuer à regarder"',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Supprimer de "Continuer à regarder"',
'messages.errorLoading' => ({required Object error}) => 'Erreur: ${error}',
'messages.streamInterrupted' => 'La lecture a été interrompue. Appuyez sur Lecture ou avancez pour réessayer.',
'messages.liveStreamInterrupted' => 'Le direct a été interrompu. Appuyez sur Lecture pour réessayer.',
@@ -3158,9 +3160,9 @@ extension on TranslationsFr {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} a avancé',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} met en mémoire tampon',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} utilise une ancienne version de lapp — synchronisation indisponible',
'watchTogether.resumingWithout' => ({required Object name}) => 'Reprise sans ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Reprise sans ${name}',
'watchTogether.waitingForParticipants' => 'En attente du chargement des autres...',
'watchTogether.waitingForName' => ({required Object name}) => 'En attente de ${name}...',
'watchTogether.recentRooms' => 'Salons récents',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsIt extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Relay Guarda Insieme';
@override String get watchTogetherRelayDescription => 'Imposta un relay personalizzato. Tutti devono usare lo stesso server.';
@override String get watchTogetherRelayHint => 'https://mio-relay.esempio.it';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Segnalazione errori';
@override String get crashReportingDescription => 'Invia segnalazioni di errori per migliorare l\'app';
@override String get debugLogging => 'Log di debug';
@@ -2303,6 +2304,7 @@ extension on TranslationsIt {
'settings.watchTogetherRelay' => 'Relay Guarda Insieme',
'settings.watchTogetherRelayDescription' => 'Imposta un relay personalizzato. Tutti devono usare lo stesso server.',
'settings.watchTogetherRelayHint' => 'https://mio-relay.esempio.it',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Segnalazione errori',
'settings.crashReportingDescription' => 'Invia segnalazioni di errori per migliorare l\'app',
'settings.debugLogging' => 'Log di debug',
@@ -2644,9 +2646,9 @@ extension on TranslationsIt {
'messages.markedAsUnwatchedOffline' => 'Segnato come non visto (sincronizzato online)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Rimosso automaticamente: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('it'))(n, one: 'Rimosso automaticamente ${n} download già visto', other: 'Rimossi automaticamente ${n} download già visti', ),
'messages.removedFromContinueWatching' => 'Rimosso da Continua a guardare',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Rimosso da Continua a guardare',
'messages.errorLoading' => ({required Object error}) => 'Errore: ${error}',
'messages.streamInterrupted' => 'La riproduzione si è interrotta. Premi Riproduci o scorri per riprovare.',
'messages.liveStreamInterrupted' => 'La diretta si è interrotta. Premi Riproduci per riprovare.',
@@ -3158,9 +3160,9 @@ extension on TranslationsIt {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} ha cercato',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} sta caricando',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} usa una versione precedente dell\'app — sincronizzazione non disponibile',
'watchTogether.resumingWithout' => ({required Object name}) => 'Ripresa senza ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Ripresa senza ${name}',
'watchTogether.waitingForParticipants' => 'In attesa che gli altri carichino...',
'watchTogether.waitingForName' => ({required Object name}) => 'In attesa di ${name}...',
'watchTogether.recentRooms' => 'Stanze recenti',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsJa extends TranslationsSettingsEn {
@override String get watchTogetherRelay => '一緒に視聴リレーサーバー';
@override String get watchTogetherRelayDescription => 'カスタムリレーを設定します。全員が同じサーバーを使う必要があります。';
@override String get watchTogetherRelayHint => 'https://my-relay.example.com';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'クラッシュレポート';
@override String get crashReportingDescription => 'アプリの改善に役立つクラッシュレポートを送信';
@override String get debugLogging => 'デバッグログ';
@@ -2300,6 +2301,7 @@ extension on TranslationsJa {
'settings.watchTogetherRelay' => '一緒に視聴リレーサーバー',
'settings.watchTogetherRelayDescription' => 'カスタムリレーを設定します。全員が同じサーバーを使う必要があります。',
'settings.watchTogetherRelayHint' => 'https://my-relay.example.com',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'クラッシュレポート',
'settings.crashReportingDescription' => 'アプリの改善に役立つクラッシュレポートを送信',
'settings.debugLogging' => 'デバッグログ',
@@ -2641,9 +2643,9 @@ extension on TranslationsJa {
'messages.markedAsUnwatchedOffline' => '未視聴にしました(オンライン時に同期)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => '自動削除: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ja'))(n, other: '視聴済みダウンロードを${n}件自動削除しました', ),
'messages.removedFromContinueWatching' => '視聴中から削除しました',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => '視聴中から削除しました',
'messages.errorLoading' => ({required Object error}) => 'エラー: ${error}',
'messages.streamInterrupted' => 'ストリームが中断されました。再生を押すかシークして再試行してください。',
'messages.liveStreamInterrupted' => 'ライブストリームが中断されました。再生を押して再試行してください。',
@@ -3155,9 +3157,9 @@ extension on TranslationsJa {
'watchTogether.participantSeeked' => ({required Object name}) => '${name}がシークしました',
'watchTogether.participantBuffering' => ({required Object name}) => '${name}がバッファリング中',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} は古いバージョンのアプリを使用しているため、同期できません',
'watchTogether.resumingWithout' => ({required Object name}) => '${name} なしで再開',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => '${name} なしで再開',
'watchTogether.waitingForParticipants' => '他の参加者の読み込みを待っています...',
'watchTogether.waitingForName' => ({required Object name}) => '${name}を待っています...',
'watchTogether.recentRooms' => '最近のルーム',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsKo extends TranslationsSettingsEn {
@override String get watchTogetherRelay => '함께 보기 릴레이';
@override String get watchTogetherRelayDescription => '사용자 지정 릴레이를 설정합니다. 모두 같은 서버를 사용해야 합니다.';
@override String get watchTogetherRelayHint => 'https://my-relay.example.com';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => '충돌 보고';
@override String get crashReportingDescription => '앱 개선을 위해 충돌 보고서 전송';
@override String get debugLogging => '디버그 로깅';
@@ -2300,6 +2301,7 @@ extension on TranslationsKo {
'settings.watchTogetherRelay' => '함께 보기 릴레이',
'settings.watchTogetherRelayDescription' => '사용자 지정 릴레이를 설정합니다. 모두 같은 서버를 사용해야 합니다.',
'settings.watchTogetherRelayHint' => 'https://my-relay.example.com',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => '충돌 보고',
'settings.crashReportingDescription' => '앱 개선을 위해 충돌 보고서 전송',
'settings.debugLogging' => '디버그 로깅',
@@ -2641,9 +2643,9 @@ extension on TranslationsKo {
'messages.markedAsUnwatchedOffline' => '미시청으로 표시됨 (연결 시 동기화됨)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => '자동 삭제됨: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n, other: '시청한 다운로드 ${n}개를 자동 삭제했습니다', ),
'messages.removedFromContinueWatching' => '계속 시청 목록에서 제거됨',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => '계속 시청 목록에서 제거됨',
'messages.errorLoading' => ({required Object error}) => '오류: ${error}',
'messages.streamInterrupted' => '스트림이 중단되었습니다. 재생을 누르거나 탐색하여 다시 시도하세요.',
'messages.liveStreamInterrupted' => '라이브 스트림이 중단되었습니다. 재생을 눌러 다시 시도하세요.',
@@ -3155,9 +3157,9 @@ extension on TranslationsKo {
'watchTogether.participantSeeked' => ({required Object name}) => '${name}님이 탐색했습니다',
'watchTogether.participantBuffering' => ({required Object name}) => '${name}님이 버퍼링 중입니다',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name}님이 이전 버전의 앱을 사용 중입니다 — 동기화를 사용할 수 없습니다',
'watchTogether.resumingWithout' => ({required Object name}) => '${name}님 없이 재생을 재개합니다',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => '${name}님 없이 재생을 재개합니다',
'watchTogether.waitingForParticipants' => '다른 참가자의 로딩을 기다리는 중...',
'watchTogether.waitingForName' => ({required Object name}) => '${name}님을 기다리는 중...',
'watchTogether.recentRooms' => '최근 방',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsNb extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Se Sammen-relay';
@override String get watchTogetherRelayDescription => 'Angi en egendefinert relay. Alle må bruke samme server.';
@override String get watchTogetherRelayHint => 'https://min-relay.eksempel.no';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Krasjrapportering';
@override String get crashReportingDescription => 'Send krasjrapporter for å hjelpe med å forbedre appen';
@override String get debugLogging => 'Feilsøkingslogging';
@@ -2303,6 +2304,7 @@ extension on TranslationsNb {
'settings.watchTogetherRelay' => 'Se Sammen-relay',
'settings.watchTogetherRelayDescription' => 'Angi en egendefinert relay. Alle må bruke samme server.',
'settings.watchTogetherRelayHint' => 'https://min-relay.eksempel.no',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Krasjrapportering',
'settings.crashReportingDescription' => 'Send krasjrapporter for å hjelpe med å forbedre appen',
'settings.debugLogging' => 'Feilsøkingslogging',
@@ -2644,9 +2646,9 @@ extension on TranslationsNb {
'messages.markedAsUnwatchedOffline' => 'Merket som usett (synkroniseres når tilkoblet)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Automatisk fjernet: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nb'))(n, one: 'Fjernet automatisk ${n} sett nedlasting', other: 'Fjernet automatisk ${n} sette nedlastinger', ),
'messages.removedFromContinueWatching' => 'Fjernet fra Fortsett å se',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Fjernet fra Fortsett å se',
'messages.errorLoading' => ({required Object error}) => 'Feil: ${error}',
'messages.streamInterrupted' => 'Avspillingen ble avbrutt. Trykk på Spill av eller spol for å prøve på nytt.',
'messages.liveStreamInterrupted' => 'Direktesendingen ble avbrutt. Trykk på Spill av for å prøve på nytt.',
@@ -3158,9 +3160,9 @@ extension on TranslationsNb {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} spolet',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} buffrer',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} bruker en eldre appversjon — synkronisering er ikke tilgjengelig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortsetter uten ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Fortsetter uten ${name}',
'watchTogether.waitingForParticipants' => 'Venter på at andre laster inn...',
'watchTogether.waitingForName' => ({required Object name}) => 'Venter på ${name}...',
'watchTogether.recentRooms' => 'Nylige rom',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsNl extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Samen Kijken Relay';
@override String get watchTogetherRelayDescription => 'Stel een aangepaste relay in. Iedereen moet dezelfde server gebruiken.';
@override String get watchTogetherRelayHint => 'https://mijn-relay.voorbeeld.nl';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Crashrapportage';
@override String get crashReportingDescription => 'Crashrapporten verzenden om de app te verbeteren';
@override String get debugLogging => 'Debug logging';
@@ -2303,6 +2304,7 @@ extension on TranslationsNl {
'settings.watchTogetherRelay' => 'Samen Kijken Relay',
'settings.watchTogetherRelayDescription' => 'Stel een aangepaste relay in. Iedereen moet dezelfde server gebruiken.',
'settings.watchTogetherRelayHint' => 'https://mijn-relay.voorbeeld.nl',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Crashrapportage',
'settings.crashReportingDescription' => 'Crashrapporten verzenden om de app te verbeteren',
'settings.debugLogging' => 'Debug logging',
@@ -2644,9 +2646,9 @@ extension on TranslationsNl {
'messages.markedAsUnwatchedOffline' => 'Gemarkeerd als ongekeken (sync wanneer online)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Automatisch verwijderd: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nl'))(n, one: 'Automatisch ${n} bekeken download verwijderd', other: 'Automatisch ${n} bekeken downloads verwijderd', ),
'messages.removedFromContinueWatching' => 'Verwijderd uit Doorgaan met kijken',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Verwijderd uit Doorgaan met kijken',
'messages.errorLoading' => ({required Object error}) => 'Fout: ${error}',
'messages.streamInterrupted' => 'De stream is onderbroken. Druk op afspelen of spoel om het opnieuw te proberen.',
'messages.liveStreamInterrupted' => 'De livestream is onderbroken. Druk op afspelen om het opnieuw te proberen.',
@@ -3158,9 +3160,9 @@ extension on TranslationsNl {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} heeft gespoeld',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} is aan het bufferen',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} gebruikt een oudere appversie — synchronisatie niet beschikbaar',
'watchTogether.resumingWithout' => ({required Object name}) => 'Hervatten zonder ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Hervatten zonder ${name}',
'watchTogether.waitingForParticipants' => 'Wachten tot anderen geladen zijn...',
'watchTogether.waitingForName' => ({required Object name}) => 'Wachten op ${name}...',
'watchTogether.recentRooms' => 'Recente kamers',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsPl extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Relay Oglądaj Razem';
@override String get watchTogetherRelayDescription => 'Ustaw własny relay. Wszyscy muszą używać tego samego serwera.';
@override String get watchTogetherRelayHint => 'https://moj-relay.przyklad.pl';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Raportowanie błędów';
@override String get crashReportingDescription => 'Wysyłaj raporty o błędach, aby pomóc ulepszyć aplikację';
@override String get debugLogging => 'Logowanie debugowania';
@@ -2309,6 +2310,7 @@ extension on TranslationsPl {
'settings.watchTogetherRelay' => 'Relay Oglądaj Razem',
'settings.watchTogetherRelayDescription' => 'Ustaw własny relay. Wszyscy muszą używać tego samego serwera.',
'settings.watchTogetherRelayHint' => 'https://moj-relay.przyklad.pl',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Raportowanie błędów',
'settings.crashReportingDescription' => 'Wysyłaj raporty o błędach, aby pomóc ulepszyć aplikację',
'settings.debugLogging' => 'Logowanie debugowania',
@@ -2650,9 +2652,9 @@ extension on TranslationsPl {
'messages.markedAsUnwatchedOffline' => 'Oznaczono jako nieobejrzane (zsynchronizuje się po połączeniu)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Automatycznie usunięto: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pl'))(n, one: 'Automatycznie usunięto ${n} obejrzane pobranie', few: 'Automatycznie usunięto ${n} obejrzane pobrania', many: 'Automatycznie usunięto ${n} obejrzanych pobrań', other: 'Automatycznie usunięto ${n} obejrzanego pobrania', ),
'messages.removedFromContinueWatching' => 'Usunięto z kontynuowania oglądania',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Usunięto z kontynuowania oglądania',
'messages.errorLoading' => ({required Object error}) => 'Błąd: ${error}',
'messages.streamInterrupted' => 'Strumień został przerwany. Naciśnij odtwarzanie lub przewiń, aby spróbować ponownie.',
'messages.liveStreamInterrupted' => 'Transmisja na żywo została przerwana. Naciśnij odtwarzanie, aby spróbować ponownie.',
@@ -3164,9 +3166,9 @@ extension on TranslationsPl {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} przewinął',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} buforuje',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} używa starszej wersji aplikacji — synchronizacja jest niedostępna',
'watchTogether.resumingWithout' => ({required Object name}) => 'Wznawianie bez ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Wznawianie bez ${name}',
'watchTogether.waitingForParticipants' => 'Oczekiwanie na załadowanie u innych...',
'watchTogether.waitingForName' => ({required Object name}) => 'Oczekiwanie na ${name}...',
'watchTogether.recentRooms' => 'Ostatnie pokoje',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsPt extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Relay do Assistir Juntos';
@override String get watchTogetherRelayDescription => 'Defina um relay personalizado. Todos devem usar o mesmo servidor.';
@override String get watchTogetherRelayHint => 'https://meu-relay.exemplo.com.br';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Relatório de Erros';
@override String get crashReportingDescription => 'Enviar relatórios de erros para ajudar a melhorar o app';
@override String get debugLogging => 'Log de Depuração';
@@ -2303,6 +2304,7 @@ extension on TranslationsPt {
'settings.watchTogetherRelay' => 'Relay do Assistir Juntos',
'settings.watchTogetherRelayDescription' => 'Defina um relay personalizado. Todos devem usar o mesmo servidor.',
'settings.watchTogetherRelayHint' => 'https://meu-relay.exemplo.com.br',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Relatório de Erros',
'settings.crashReportingDescription' => 'Enviar relatórios de erros para ajudar a melhorar o app',
'settings.debugLogging' => 'Log de Depuração',
@@ -2644,9 +2646,9 @@ extension on TranslationsPt {
'messages.markedAsUnwatchedOffline' => 'Marcado como não assistido (será sincronizado quando online)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Removido automaticamente: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pt'))(n, one: 'Removido automaticamente ${n} download assistido', other: 'Removidos automaticamente ${n} downloads assistidos', ),
'messages.removedFromContinueWatching' => 'Removido de Continuar Assistindo',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Removido de Continuar Assistindo',
'messages.errorLoading' => ({required Object error}) => 'Erro: ${error}',
'messages.streamInterrupted' => 'A transmissão foi interrompida. Toque em reproduzir ou avance para tentar novamente.',
'messages.liveStreamInterrupted' => 'A transmissão ao vivo foi interrompida. Toque em reproduzir para tentar novamente.',
@@ -3158,9 +3160,9 @@ extension on TranslationsPt {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} avançou',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} está carregando',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} está em uma versão mais antiga do aplicativo — sincronização indisponível',
'watchTogether.resumingWithout' => ({required Object name}) => 'Retomando sem ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Retomando sem ${name}',
'watchTogether.waitingForParticipants' => 'Aguardando outros carregarem...',
'watchTogether.waitingForName' => ({required Object name}) => 'Aguardando ${name}...',
'watchTogether.recentRooms' => 'Salas recentes',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsRu extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Relay совместного просмотра';
@override String get watchTogetherRelayDescription => 'Задайте свой relay. Все должны использовать один сервер.';
@override String get watchTogetherRelayHint => 'https://my-relay.example.com';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Отчёты об ошибках';
@override String get crashReportingDescription => 'Отправлять отчёты об ошибках для улучшения приложения';
@override String get debugLogging => 'Журнал отладки';
@@ -2309,6 +2310,7 @@ extension on TranslationsRu {
'settings.watchTogetherRelay' => 'Relay совместного просмотра',
'settings.watchTogetherRelayDescription' => 'Задайте свой relay. Все должны использовать один сервер.',
'settings.watchTogetherRelayHint' => 'https://my-relay.example.com',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Отчёты об ошибках',
'settings.crashReportingDescription' => 'Отправлять отчёты об ошибках для улучшения приложения',
'settings.debugLogging' => 'Журнал отладки',
@@ -2650,9 +2652,9 @@ extension on TranslationsRu {
'messages.markedAsUnwatchedOffline' => 'Отмечено как непросмотренное (синхронизируется при подключении)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Автоудалено: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ru'))(n, one: 'Автоматически удалена ${n} просмотренная загрузка', few: 'Автоматически удалены ${n} просмотренные загрузки', many: 'Автоматически удалено ${n} просмотренных загрузок', other: 'Автоматически удалено ${n} просмотренной загрузки', ),
'messages.removedFromContinueWatching' => 'Удалено из «Продолжить просмотр»',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Удалено из «Продолжить просмотр»',
'messages.errorLoading' => ({required Object error}) => 'Ошибка: ${error}',
'messages.streamInterrupted' => 'Поток прервался. Нажмите «Воспроизвести» или перемотайте, чтобы повторить попытку.',
'messages.liveStreamInterrupted' => 'Прямая трансляция прервалась. Нажмите «Воспроизвести», чтобы повторить попытку.',
@@ -3164,9 +3166,9 @@ extension on TranslationsRu {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} перемотал',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} буферизует',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} использует старую версию приложения — синхронизация недоступна',
'watchTogether.resumingWithout' => ({required Object name}) => 'Возобновление без ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Возобновление без ${name}',
'watchTogether.waitingForParticipants' => 'Ожидание загрузки у других...',
'watchTogether.waitingForName' => ({required Object name}) => 'Ожидание ${name}...',
'watchTogether.recentRooms' => 'Недавние комнаты',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsSv extends TranslationsSettingsEn {
@override String get watchTogetherRelay => 'Titta Tillsammans-relay';
@override String get watchTogetherRelayDescription => 'Ange en anpassad relay. Alla måste använda samma server.';
@override String get watchTogetherRelayHint => 'https://min-relay.exempel.se';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => 'Kraschrapportering';
@override String get crashReportingDescription => 'Skicka kraschrapporter för att förbättra appen';
@override String get debugLogging => 'Felsökningsloggning';
@@ -2303,6 +2304,7 @@ extension on TranslationsSv {
'settings.watchTogetherRelay' => 'Titta Tillsammans-relay',
'settings.watchTogetherRelayDescription' => 'Ange en anpassad relay. Alla måste använda samma server.',
'settings.watchTogetherRelayHint' => 'https://min-relay.exempel.se',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => 'Kraschrapportering',
'settings.crashReportingDescription' => 'Skicka kraschrapporter för att förbättra appen',
'settings.debugLogging' => 'Felsökningsloggning',
@@ -2644,9 +2646,9 @@ extension on TranslationsSv {
'messages.markedAsUnwatchedOffline' => 'Markerad som osedd (synkroniseras när online)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => 'Automatiskt borttagen: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('sv'))(n, one: 'Tog automatiskt bort ${n} sedd nedladdning', other: 'Tog automatiskt bort ${n} sedda nedladdningar', ),
'messages.removedFromContinueWatching' => 'Borttagen från Fortsätt titta',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => 'Borttagen från Fortsätt titta',
'messages.errorLoading' => ({required Object error}) => 'Fel: ${error}',
'messages.streamInterrupted' => 'Uppspelningen avbröts. Tryck på play eller spola för att försöka igen.',
'messages.liveStreamInterrupted' => 'Livestreamen avbröts. Tryck på play för att försöka igen.',
@@ -3158,9 +3160,9 @@ extension on TranslationsSv {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} spolade',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} buffrar',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} använder en äldre appversion — synkronisering är inte tillgänglig',
'watchTogether.resumingWithout' => ({required Object name}) => 'Återupptar utan ${name}',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => 'Återupptar utan ${name}',
'watchTogether.waitingForParticipants' => 'Väntar på att andra laddar...',
'watchTogether.waitingForName' => ({required Object name}) => 'Väntar på ${name}...',
'watchTogether.recentRooms' => 'Senaste rum',
+4 -2
View File
@@ -311,6 +311,7 @@ class _TranslationsSettingsZh extends TranslationsSettingsEn {
@override String get watchTogetherRelay => '一起看中继服务器';
@override String get watchTogetherRelayDescription => '设置自定义中继。所有人必须使用同一服务器。';
@override String get watchTogetherRelayHint => 'https://my-relay.example.com';
@override String get watchTogetherRelayInvalid => '';
@override String get crashReporting => '崩溃报告';
@override String get crashReportingDescription => '发送崩溃报告以帮助改进应用';
@override String get debugLogging => '调试日志';
@@ -2300,6 +2301,7 @@ extension on TranslationsZh {
'settings.watchTogetherRelay' => '一起看中继服务器',
'settings.watchTogetherRelayDescription' => '设置自定义中继。所有人必须使用同一服务器。',
'settings.watchTogetherRelayHint' => 'https://my-relay.example.com',
'settings.watchTogetherRelayInvalid' => '',
'settings.crashReporting' => '崩溃报告',
'settings.crashReportingDescription' => '发送崩溃报告以帮助改进应用',
'settings.debugLogging' => '调试日志',
@@ -2641,9 +2643,9 @@ extension on TranslationsZh {
'messages.markedAsUnwatchedOffline' => '已标记为未观看 (将在联网时同步)',
'messages.autoRemovedWatchedDownload' => ({required Object title}) => '已自动移除: ${title}',
'messages.autoRemovedWatchedDownloads' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('zh'))(n, other: '已自动移除 ${n} 个看过的下载', ),
'messages.removedFromContinueWatching' => '已从继续观看中移除',
_ => null,
} ?? switch (path) {
'messages.removedFromContinueWatching' => '已从继续观看中移除',
'messages.errorLoading' => ({required Object error}) => '错误: ${error}',
'messages.streamInterrupted' => '视频流已中断。按播放键或拖动进度条重试。',
'messages.liveStreamInterrupted' => '直播流已中断。按播放键重试。',
@@ -3155,9 +3157,9 @@ extension on TranslationsZh {
'watchTogether.participantSeeked' => ({required Object name}) => '${name} 跳转了',
'watchTogether.participantBuffering' => ({required Object name}) => '${name} 正在缓冲',
'watchTogether.participantNeedsUpdate' => ({required Object name}) => '${name} 正在使用较旧版本的应用,无法同步',
'watchTogether.resumingWithout' => ({required Object name}) => '不等待 ${name},继续播放',
_ => null,
} ?? switch (path) {
'watchTogether.resumingWithout' => ({required Object name}) => '不等待 ${name},继续播放',
'watchTogether.waitingForParticipants' => '等待其他人加载...',
'watchTogether.waitingForName' => ({required Object name}) => '正在等待 ${name}...',
'watchTogether.recentRooms' => '最近的房间',
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "Titta Tillsammans-relay",
"watchTogetherRelayDescription": "Ange en anpassad relay. Alla måste använda samma server.",
"watchTogetherRelayHint": "https://min-relay.exempel.se",
"watchTogetherRelayInvalid": "",
"crashReporting": "Kraschrapportering",
"crashReportingDescription": "Skicka kraschrapporter för att förbättra appen",
"debugLogging": "Felsökningsloggning",
+1
View File
@@ -180,6 +180,7 @@
"watchTogetherRelay": "一起看中继服务器",
"watchTogetherRelayDescription": "设置自定义中继。所有人必须使用同一服务器。",
"watchTogetherRelayHint": "https://my-relay.example.com",
"watchTogetherRelayInvalid": "",
"crashReporting": "崩溃报告",
"crashReportingDescription": "发送崩溃报告以帮助改进应用",
"debugLogging": "调试日志",