diff --git a/lib/i18n/bg.i18n.json b/lib/i18n/bg.i18n.json index b2c07fd2..6268e4af 100644 --- a/lib/i18n/bg.i18n.json +++ b/lib/i18n/bg.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Следва в ${library}", "recentlyAdded": "Наскоро добавени", "recentlyAddedIn": "Наскоро добавени в ${library}", + "latestAlbumsIn": "Последни албуми в ${library}", + "recentlyPlayedIn": "Наскоро възпроизведени в ${library}", + "mostPlayedIn": "Най-възпроизвеждани в ${library}", "playEpisode": "S${season}E${episode}", "overview": "Обзор", "cast": "Актьори", @@ -770,6 +773,9 @@ "shows": "ТВ сериали", "seasons": "Сезони", "episodes": "Епизоди", + "artists": "Изпълнители", + "albums": "Албуми", + "tracks": "Песни", "folders": "Папки" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Неуспешно пренареждане на елемент в плейлиста", "errorRemoving": "Неуспешно премахване от плейлист" }, + "music": { + "goToAlbum": "Към албума", + "goToArtist": "Към изпълнителя", + "instantMix": "Мигновен микс", + "playNext": "Пусни следващото", + "addToQueue": "Добави към опашката", + "discNumber": "Диск ${n}", + "trackCount": { + "one": "${n} песен", + "other": "${n} песни" + }, + "nowPlaying": "Сега се възпроизвежда", + "playingFrom": "Възпроизвеждане от ${title}", + "queue": "Опашка", + "upNext": "Следва", + "clearQueue": "Изчисти опашката", + "lyrics": "Текст", + "noLyrics": "Няма наличен текст", + "sleepTimer": "Таймер за заспиване", + "sleepTimerEndOfTrack": "Край на песента", + "sleepTimerMinutes": "${n} минути", + "stopPlayback": "Спри възпроизвеждането", + "previousTrack": "Предишна песен", + "nextTrack": "Следваща песен", + "repeat": "Повтори", + "repeatAll": "Повтори всички", + "repeatOne": "Повтори една" + }, "watchTogether": { "title": "Гледане заедно", "description": "Гледайте съдържание синхронизирано с приятели и семейство", @@ -1022,6 +1056,8 @@ "manage": "Управление", "tvShows": "ТВ сериали", "movies": "Филми", + "music": "Музика", + "tracksQueued": "${count} песни в опашката за изтегляне", "noDownloads": "Все още няма изтегляния", "noDownloadsDescription": "Изтегленото съдържание ще се показва тук за офлайн гледане", "downloadNow": "Изтегли", diff --git a/lib/i18n/da.i18n.json b/lib/i18n/da.i18n.json index 8b33aae0..b5acc6af 100644 --- a/lib/i18n/da.i18n.json +++ b/lib/i18n/da.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Næste op i ${library}", "recentlyAdded": "Nyligt tilføjet", "recentlyAddedIn": "Nyligt tilføjet i ${library}", + "latestAlbumsIn": "Nyeste album i ${library}", + "recentlyPlayedIn": "Senest afspillet i ${library}", + "mostPlayedIn": "Mest afspillet i ${library}", "playEpisode": "S${season}E${episode}", "overview": "Oversigt", "cast": "Rollebesætning", @@ -770,6 +773,9 @@ "shows": "TV-serier", "seasons": "Sæsoner", "episodes": "Episoder", + "artists": "Kunstnere", + "albums": "Album", + "tracks": "Numre", "folders": "Mapper" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Kunne ikke ændre rækkefølge på playlisteelement", "errorRemoving": "Kunne ikke fjerne fra playliste" }, + "music": { + "goToAlbum": "Gå til album", + "goToArtist": "Gå til kunstner", + "instantMix": "Direkte miks", + "playNext": "Afspil næste", + "addToQueue": "Føj til kø", + "discNumber": "Disk ${n}", + "trackCount": { + "one": "${n} nummer", + "other": "${n} numre" + }, + "nowPlaying": "Afspiller nu", + "playingFrom": "Afspiller fra ${title}", + "queue": "Kø", + "upNext": "Næste i køen", + "clearQueue": "Ryd kø", + "lyrics": "Sangtekst", + "noLyrics": "Ingen sangtekst tilgængelig", + "sleepTimer": "Sovetimer", + "sleepTimerEndOfTrack": "Slutningen af nummeret", + "sleepTimerMinutes": "${n} minutter", + "stopPlayback": "Stop afspilning", + "previousTrack": "Forrige nummer", + "nextTrack": "Næste nummer", + "repeat": "Gentag", + "repeatAll": "Gentag alle", + "repeatOne": "Gentag ét nummer" + }, "watchTogether": { "title": "Se sammen", "description": "Se indhold synkroniseret med venner og familie", @@ -1022,6 +1056,8 @@ "manage": "Administrer", "tvShows": "TV-serier", "movies": "Film", + "music": "Musik", + "tracksQueued": "${count} numre i kø til download", "noDownloads": "Ingen downloads endnu", "noDownloadsDescription": "Downloadet indhold vises her til offlinevisning", "downloadNow": "Download", diff --git a/lib/i18n/de.i18n.json b/lib/i18n/de.i18n.json index ade0f39e..5a3abdd6 100644 --- a/lib/i18n/de.i18n.json +++ b/lib/i18n/de.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Als Nächstes in ${library}", "recentlyAdded": "Kürzlich hinzugefügt", "recentlyAddedIn": "Kürzlich hinzugefügt in ${library}", + "latestAlbumsIn": "Neueste Alben in ${library}", + "recentlyPlayedIn": "Kürzlich gespielt in ${library}", + "mostPlayedIn": "Am häufigsten gespielt in ${library}", "playEpisode": "S${season}E${episode}", "overview": "Übersicht", "cast": "Besetzung", @@ -770,6 +773,9 @@ "shows": "Serien", "seasons": "Staffeln", "episodes": "Episoden", + "artists": "Interpreten", + "albums": "Alben", + "tracks": "Titel", "folders": "Ordner" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Element der Wiedergabeliste konnte nicht neu geordnet werden", "errorRemoving": "Konnte nicht aus der Wiedergabeliste entfernt werden" }, + "music": { + "goToAlbum": "Zum Album", + "goToArtist": "Zum Interpreten", + "instantMix": "Instant-Mix", + "playNext": "Als Nächstes abspielen", + "addToQueue": "Zur Warteschlange hinzufügen", + "discNumber": "Disc ${n}", + "trackCount": { + "one": "${n} Titel", + "other": "${n} Titel" + }, + "nowPlaying": "Wird wiedergegeben", + "playingFrom": "Wiedergabe aus ${title}", + "queue": "Warteschlange", + "upNext": "Als Nächstes", + "clearQueue": "Warteschlange leeren", + "lyrics": "Songtext", + "noLyrics": "Kein Songtext verfügbar", + "sleepTimer": "Einschlaf-Timer", + "sleepTimerEndOfTrack": "Ende des Titels", + "sleepTimerMinutes": "${n} Minuten", + "stopPlayback": "Wiedergabe stoppen", + "previousTrack": "Vorheriger Titel", + "nextTrack": "Nächster Titel", + "repeat": "Wiederholen", + "repeatAll": "Alle wiederholen", + "repeatOne": "Titel wiederholen" + }, "watchTogether": { "title": "Gemeinsam Schauen", "description": "Inhalte synchron mit Freunden und Familie schauen", @@ -1022,6 +1056,8 @@ "manage": "Verwalten", "tvShows": "Serien", "movies": "Filme", + "music": "Musik", + "tracksQueued": "${count} Titel zum Download in Warteschlange", "noDownloads": "Noch keine Downloads", "noDownloadsDescription": "Heruntergeladene Inhalte werden hier für die Offline-Wiedergabe angezeigt", "downloadNow": "Herunterladen", diff --git a/lib/i18n/es.i18n.json b/lib/i18n/es.i18n.json index 59fe737d..e9562b29 100644 --- a/lib/i18n/es.i18n.json +++ b/lib/i18n/es.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "A continuación en ${library}", "recentlyAdded": "Añadido recientemente", "recentlyAddedIn": "Añadido recientemente en ${library}", + "latestAlbumsIn": "Últimos álbumes en ${library}", + "recentlyPlayedIn": "Reproducido recientemente en ${library}", + "mostPlayedIn": "Más reproducido en ${library}", "playEpisode": "T${season}E${episode}", "overview": "Resumen", "cast": "Reparto", @@ -770,6 +773,9 @@ "shows": "Series", "seasons": "Temporadas", "episodes": "Episodios", + "artists": "Artistas", + "albums": "Álbumes", + "tracks": "Canciones", "folders": "Carpetas" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Error al reordenar los elementos de la lista", "errorRemoving": "Error al eliminar de la lista" }, + "music": { + "goToAlbum": "Ir al álbum", + "goToArtist": "Ir al artista", + "instantMix": "Mezcla instantánea", + "playNext": "Reproducir a continuación", + "addToQueue": "Añadir a la cola", + "discNumber": "Disco ${n}", + "trackCount": { + "one": "${n} canción", + "other": "${n} canciones" + }, + "nowPlaying": "Reproduciendo ahora", + "playingFrom": "Reproduciendo desde ${title}", + "queue": "Cola", + "upNext": "A continuación", + "clearQueue": "Vaciar la cola", + "lyrics": "Letra", + "noLyrics": "No hay letra disponible", + "sleepTimer": "Temporizador de apagado", + "sleepTimerEndOfTrack": "Fin de la canción", + "sleepTimerMinutes": "${n} minutos", + "stopPlayback": "Detener reproducción", + "previousTrack": "Canción anterior", + "nextTrack": "Canción siguiente", + "repeat": "Repetir", + "repeatAll": "Repetir todo", + "repeatOne": "Repetir una" + }, "watchTogether": { "title": "Ver Juntos", "description": "Mira contenido en sincronía con amigos y familiares", @@ -1022,6 +1056,8 @@ "manage": "Gestionar", "tvShows": "Series de TV", "movies": "Películas", + "music": "Música", + "tracksQueued": "${count} canciones en cola para descargar", "noDownloads": "No hay descargas aún", "noDownloadsDescription": "El contenido descargado aparecerá aquí para verlo sin conexión", "downloadNow": "Descargar", diff --git a/lib/i18n/fr.i18n.json b/lib/i18n/fr.i18n.json index e3ed5ab3..6fd7ffd3 100644 --- a/lib/i18n/fr.i18n.json +++ b/lib/i18n/fr.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "À suivre dans ${library}", "recentlyAdded": "Récemment ajouté", "recentlyAddedIn": "Récemment ajouté dans ${library}", + "latestAlbumsIn": "Derniers albums dans ${library}", + "recentlyPlayedIn": "Récemment lus dans ${library}", + "mostPlayedIn": "Les plus lus dans ${library}", "playEpisode": "S${season}E${episode}", "overview": "Aperçu", "cast": "Cast", @@ -770,6 +773,9 @@ "shows": "Show TV", "seasons": "Saisons", "episodes": "Épisodes", + "artists": "Artistes", + "albums": "Albums", + "tracks": "Titres", "folders": "Dossiers" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Échec de réordonnacement d'élément de playlist", "errorRemoving": "Échec de suppression depuis la playlist" }, + "music": { + "goToAlbum": "Aller à l'album", + "goToArtist": "Aller à l'artiste", + "instantMix": "Mix instantané", + "playNext": "Lire ensuite", + "addToQueue": "Ajouter à la file d'attente", + "discNumber": "Disque ${n}", + "trackCount": { + "one": "${n} titre", + "other": "${n} titres" + }, + "nowPlaying": "Lecture en cours", + "playingFrom": "Lecture depuis ${title}", + "queue": "File d'attente", + "upNext": "À suivre", + "clearQueue": "Vider la file d'attente", + "lyrics": "Paroles", + "noLyrics": "Aucune parole disponible", + "sleepTimer": "Minuterie de veille", + "sleepTimerEndOfTrack": "Fin du titre", + "sleepTimerMinutes": "${n} minutes", + "stopPlayback": "Arrêter la lecture", + "previousTrack": "Titre précédent", + "nextTrack": "Titre suivant", + "repeat": "Répéter", + "repeatAll": "Tout répéter", + "repeatOne": "Répéter le titre" + }, "watchTogether": { "title": "Regarder ensemble", "description": "Regardez du contenu en synchronisation avec vos amis et votre famille", @@ -1022,6 +1056,8 @@ "manage": "Gérer", "tvShows": "Show TV", "movies": "Films", + "music": "Musique", + "tracksQueued": "${count} titres en file d'attente de téléchargement", "noDownloads": "Aucun téléchargement pour le moment", "noDownloadsDescription": "Le contenu téléchargé apparaîtra ici pour être consulté hors ligne.", "downloadNow": "Télécharger", diff --git a/lib/i18n/it.i18n.json b/lib/i18n/it.i18n.json index a9272d34..cc2b9c85 100644 --- a/lib/i18n/it.i18n.json +++ b/lib/i18n/it.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Prossimi in ${library}", "recentlyAdded": "Aggiunti di recente", "recentlyAddedIn": "Aggiunti di recente in ${library}", + "latestAlbumsIn": "Ultimi album in ${library}", + "recentlyPlayedIn": "Riprodotti di recente in ${library}", + "mostPlayedIn": "Più riprodotti in ${library}", "playEpisode": "S${season}E${episode}", "overview": "Panoramica", "cast": "Attori", @@ -770,6 +773,9 @@ "shows": "Serie TV", "seasons": "Stagioni", "episodes": "Episodi", + "artists": "Artisti", + "albums": "Album", + "tracks": "Brani", "folders": "Cartelle" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Errore durante il riordino dell'elemento della playlist", "errorRemoving": "Errore durante la rimozione dalla playlist" }, + "music": { + "goToAlbum": "Vai all'album", + "goToArtist": "Vai all'artista", + "instantMix": "Mix istantaneo", + "playNext": "Riproduci dopo", + "addToQueue": "Aggiungi alla coda", + "discNumber": "Disco ${n}", + "trackCount": { + "one": "${n} brano", + "other": "${n} brani" + }, + "nowPlaying": "In riproduzione", + "playingFrom": "Riproduzione da ${title}", + "queue": "Coda", + "upNext": "Da riprodurre", + "clearQueue": "Svuota la coda", + "lyrics": "Testo", + "noLyrics": "Nessun testo disponibile", + "sleepTimer": "Timer di spegnimento", + "sleepTimerEndOfTrack": "Fine del brano", + "sleepTimerMinutes": "${n} minuti", + "stopPlayback": "Interrompi riproduzione", + "previousTrack": "Brano precedente", + "nextTrack": "Brano successivo", + "repeat": "Ripeti", + "repeatAll": "Ripeti tutto", + "repeatOne": "Ripeti uno" + }, "watchTogether": { "title": "Guarda Insieme", "description": "Guarda contenuti in sincronia con amici e familiari", @@ -1022,6 +1056,8 @@ "manage": "Gestisci", "tvShows": "Serie TV", "movies": "Film", + "music": "Musica", + "tracksQueued": "${count} brani in coda per il download", "noDownloads": "Nessun download", "noDownloadsDescription": "I contenuti scaricati appariranno qui per la visualizzazione offline", "downloadNow": "Scarica", diff --git a/lib/i18n/ja.i18n.json b/lib/i18n/ja.i18n.json index fd3207b6..77cadf3c 100644 --- a/lib/i18n/ja.i18n.json +++ b/lib/i18n/ja.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "${library}の次のエピソード", "recentlyAdded": "最近追加", "recentlyAddedIn": "${library}に最近追加", + "latestAlbumsIn": "${library}の最新アルバム", + "recentlyPlayedIn": "${library}で最近再生", + "mostPlayedIn": "${library}で最も再生", "playEpisode": "S${season}E${episode}", "overview": "あらすじ", "cast": "キャスト", @@ -770,6 +773,9 @@ "shows": "テレビ番組", "seasons": "シーズン", "episodes": "エピソード", + "artists": "アーティスト", + "albums": "アルバム", + "tracks": "曲", "folders": "フォルダ" }, "filterCategories": { @@ -955,6 +961,33 @@ "errorReordering": "プレイリストアイテムの並べ替えに失敗しました", "errorRemoving": "プレイリストからの削除に失敗しました" }, + "music": { + "goToAlbum": "アルバムへ移動", + "goToArtist": "アーティストへ移動", + "instantMix": "インスタントミックス", + "playNext": "次に再生", + "addToQueue": "キューに追加", + "discNumber": "ディスク ${n}", + "trackCount": { + "other": "${n} 曲" + }, + "nowPlaying": "再生中", + "playingFrom": "${title} から再生", + "queue": "再生キュー", + "upNext": "次はこちら", + "clearQueue": "キューをクリア", + "lyrics": "歌詞", + "noLyrics": "歌詞がありません", + "sleepTimer": "スリープタイマー", + "sleepTimerEndOfTrack": "曲の終わり", + "sleepTimerMinutes": "${n} 分", + "stopPlayback": "再生を停止", + "previousTrack": "前の曲", + "nextTrack": "次の曲", + "repeat": "リピート", + "repeatAll": "全曲リピート", + "repeatOne": "1曲リピート" + }, "watchTogether": { "title": "一緒に見る", "description": "友達や家族と同期してコンテンツを視聴", @@ -1022,6 +1055,8 @@ "manage": "管理", "tvShows": "テレビ番組", "movies": "映画", + "music": "音楽", + "tracksQueued": "${count} 曲をダウンロード待機中", "noDownloads": "ダウンロードなし", "noDownloadsDescription": "ダウンロードしたコンテンツはここに表示され、オフラインで視聴できます", "downloadNow": "ダウンロード", diff --git a/lib/i18n/ko.i18n.json b/lib/i18n/ko.i18n.json index fca98da6..949192c2 100644 --- a/lib/i18n/ko.i18n.json +++ b/lib/i18n/ko.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "${library}의 다음 에피소드", "recentlyAdded": "최근에 추가됨", "recentlyAddedIn": "${library}에 최근에 추가됨", + "latestAlbumsIn": "${library}의 최신 앨범", + "recentlyPlayedIn": "${library}에서 최근 재생", + "mostPlayedIn": "${library}에서 가장 많이 재생", "playEpisode": "S${season}E${episode}", "overview": "개요", "cast": "출연진", @@ -770,6 +773,9 @@ "shows": "TV 프로그램", "seasons": "시즌", "episodes": "화", + "artists": "아티스트", + "albums": "앨범", + "tracks": "트랙", "folders": "폴더" }, "filterCategories": { @@ -955,6 +961,33 @@ "errorReordering": "재생 목록 항목 재정렬 실패", "errorRemoving": "재생 목록에서 제거 실패" }, + "music": { + "goToAlbum": "앨범으로 이동", + "goToArtist": "아티스트로 이동", + "instantMix": "인스턴트 믹스", + "playNext": "다음에 재생", + "addToQueue": "대기열에 추가", + "discNumber": "디스크 ${n}", + "trackCount": { + "other": "${n}곡" + }, + "nowPlaying": "재생 중", + "playingFrom": "${title}에서 재생 중", + "queue": "재생 대기열", + "upNext": "다음 항목", + "clearQueue": "대기열 비우기", + "lyrics": "가사", + "noLyrics": "가사 없음", + "sleepTimer": "취침 타이머", + "sleepTimerEndOfTrack": "곡 종료 시", + "sleepTimerMinutes": "${n}분", + "stopPlayback": "재생 중지", + "previousTrack": "이전 곡", + "nextTrack": "다음 곡", + "repeat": "반복", + "repeatAll": "전체 반복", + "repeatOne": "한 곡 반복" + }, "watchTogether": { "title": "함께 보기", "description": "친구 및 가족과 콘텐츠를 동시에 시청하세요", @@ -1022,6 +1055,8 @@ "manage": "관리", "tvShows": "TV 프로그램", "movies": "영화", + "music": "음악", + "tracksQueued": "${count}곡 다운로드 대기 중", "noDownloads": "다운로드 없음", "noDownloadsDescription": "다운로드한 콘텐츠는 오프라인 시청을 위해 여기에 표시됩니다", "downloadNow": "다운로드", diff --git a/lib/i18n/nb.i18n.json b/lib/i18n/nb.i18n.json index 389cd2b1..8742d744 100644 --- a/lib/i18n/nb.i18n.json +++ b/lib/i18n/nb.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Neste opp i ${library}", "recentlyAdded": "Nylig lagt til", "recentlyAddedIn": "Nylig lagt til i ${library}", + "latestAlbumsIn": "Nyeste album i ${library}", + "recentlyPlayedIn": "Nylig spilt i ${library}", + "mostPlayedIn": "Mest spilt i ${library}", "playEpisode": "S${season}E${episode}", "overview": "Oversikt", "cast": "Skuespillere", @@ -770,6 +773,9 @@ "shows": "TV-serier", "seasons": "Sesonger", "episodes": "Episoder", + "artists": "Artister", + "albums": "Album", + "tracks": "Spor", "folders": "Mapper" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Kunne ikke omorganisere spillelisteelement", "errorRemoving": "Kunne ikke fjerne fra spilleliste" }, + "music": { + "goToAlbum": "Gå til album", + "goToArtist": "Gå til artist", + "instantMix": "Direktemiks", + "playNext": "Spill neste", + "addToQueue": "Legg til i kø", + "discNumber": "Plate ${n}", + "trackCount": { + "one": "${n} spor", + "other": "${n} spor" + }, + "nowPlaying": "Spilles nå", + "playingFrom": "Spiller fra ${title}", + "queue": "Kø", + "upNext": "Neste i køen", + "clearQueue": "Tøm kø", + "lyrics": "Sangtekst", + "noLyrics": "Ingen sangtekst tilgjengelig", + "sleepTimer": "Innsovningstimer", + "sleepTimerEndOfTrack": "Slutten av sporet", + "sleepTimerMinutes": "${n} minutter", + "stopPlayback": "Stopp avspilling", + "previousTrack": "Forrige spor", + "nextTrack": "Neste spor", + "repeat": "Gjenta", + "repeatAll": "Gjenta alle", + "repeatOne": "Gjenta ett spor" + }, "watchTogether": { "title": "Se sammen", "description": "Se innhold synkronisert med venner og familie", @@ -1022,6 +1056,8 @@ "manage": "Administrer", "tvShows": "TV-serier", "movies": "Filmer", + "music": "Musikk", + "tracksQueued": "${count} spor i nedlastingskø", "noDownloads": "Ingen nedlastinger ennå", "noDownloadsDescription": "Nedlastet innhold vil vises her for frakoblet visning", "downloadNow": "Last ned", diff --git a/lib/i18n/nl.i18n.json b/lib/i18n/nl.i18n.json index 5d3cd585..c5242268 100644 --- a/lib/i18n/nl.i18n.json +++ b/lib/i18n/nl.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Volgende in ${library}", "recentlyAdded": "Recent toegevoegd", "recentlyAddedIn": "Recent toegevoegd in ${library}", + "latestAlbumsIn": "Nieuwste albums in ${library}", + "recentlyPlayedIn": "Onlangs afgespeeld in ${library}", + "mostPlayedIn": "Meest afgespeeld in ${library}", "playEpisode": "S${season}E${episode}", "overview": "Overzicht", "cast": "Acteurs", @@ -770,6 +773,9 @@ "shows": "Series", "seasons": "Seizoenen", "episodes": "Afleveringen", + "artists": "Artiesten", + "albums": "Albums", + "tracks": "Nummers", "folders": "Mappen" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Fout bij herschikken van afspeellijstitem", "errorRemoving": "Fout bij verwijderen uit afspeellijst" }, + "music": { + "goToAlbum": "Ga naar album", + "goToArtist": "Ga naar artiest", + "instantMix": "Instant Mix", + "playNext": "Hierna afspelen", + "addToQueue": "Toevoegen aan wachtrij", + "discNumber": "Schijf ${n}", + "trackCount": { + "one": "${n} nummer", + "other": "${n} nummers" + }, + "nowPlaying": "Nu afspelen", + "playingFrom": "Afspelen vanaf ${title}", + "queue": "Wachtrij", + "upNext": "Volgende nummers", + "clearQueue": "Wachtrij wissen", + "lyrics": "Songtekst", + "noLyrics": "Geen songtekst beschikbaar", + "sleepTimer": "Slaaptimer", + "sleepTimerEndOfTrack": "Einde van nummer", + "sleepTimerMinutes": "${n} minuten", + "stopPlayback": "Afspelen stoppen", + "previousTrack": "Vorig nummer", + "nextTrack": "Volgend nummer", + "repeat": "Herhalen", + "repeatAll": "Alles herhalen", + "repeatOne": "Eén herhalen" + }, "watchTogether": { "title": "Samen Kijken", "description": "Kijk synchroon met vrienden en familie", @@ -1022,6 +1056,8 @@ "manage": "Beheren", "tvShows": "Series", "movies": "Films", + "music": "Muziek", + "tracksQueued": "${count} nummers in wachtrij voor download", "noDownloads": "Nog geen downloads", "noDownloadsDescription": "Gedownloade content verschijnt hier voor offline weergave", "downloadNow": "Download", diff --git a/lib/i18n/pl.i18n.json b/lib/i18n/pl.i18n.json index f2a6b62f..1fda4e9b 100644 --- a/lib/i18n/pl.i18n.json +++ b/lib/i18n/pl.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Następny odcinek w ${library}", "recentlyAdded": "Ostatnio dodane", "recentlyAddedIn": "Ostatnio dodane w ${library}", + "latestAlbumsIn": "Najnowsze albumy w ${library}", + "recentlyPlayedIn": "Ostatnio odtwarzane w ${library}", + "mostPlayedIn": "Najczęściej odtwarzane w ${library}", "playEpisode": "S${season}E${episode}", "overview": "Opis", "cast": "Obsada", @@ -770,6 +773,9 @@ "shows": "Seriale TV", "seasons": "Sezony", "episodes": "Odcinki", + "artists": "Wykonawcy", + "albums": "Albumy", + "tracks": "Utwory", "folders": "Foldery" }, "filterCategories": { @@ -955,6 +961,36 @@ "errorReordering": "Nie udało się zmienić kolejności elementu playlisty", "errorRemoving": "Nie udało się usunąć z playlisty" }, + "music": { + "goToAlbum": "Przejdź do albumu", + "goToArtist": "Przejdź do wykonawcy", + "instantMix": "Błyskawiczny miks", + "playNext": "Odtwórz następny", + "addToQueue": "Dodaj do kolejki", + "discNumber": "Płyta ${n}", + "trackCount": { + "one": "${n} utwór", + "few": "${n} utwory", + "many": "${n} utworów", + "other": "${n} utworu" + }, + "nowPlaying": "Teraz odtwarzane", + "playingFrom": "Odtwarzanie z ${title}", + "queue": "Kolejka", + "upNext": "Następne", + "clearQueue": "Wyczyść kolejkę", + "lyrics": "Tekst", + "noLyrics": "Brak dostępnego tekstu", + "sleepTimer": "Wyłącznik czasowy", + "sleepTimerEndOfTrack": "Koniec utworu", + "sleepTimerMinutes": "${n} minut", + "stopPlayback": "Zatrzymaj odtwarzanie", + "previousTrack": "Poprzedni utwór", + "nextTrack": "Następny utwór", + "repeat": "Powtarzaj", + "repeatAll": "Powtarzaj wszystko", + "repeatOne": "Powtarzaj jeden" + }, "watchTogether": { "title": "Oglądaj razem", "description": "Oglądaj treści zsynchronizowane z przyjaciółmi i rodziną", @@ -1022,6 +1058,8 @@ "manage": "Zarządzaj", "tvShows": "Seriale TV", "movies": "Filmy", + "music": "Muzyka", + "tracksQueued": "${count} utworów w kolejce do pobrania", "noDownloads": "Brak pobrań", "noDownloadsDescription": "Pobrane treści pojawią się tutaj do oglądania offline", "downloadNow": "Pobierz", diff --git a/lib/i18n/pt.i18n.json b/lib/i18n/pt.i18n.json index 0e7f7469..67066ced 100644 --- a/lib/i18n/pt.i18n.json +++ b/lib/i18n/pt.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "A seguir em ${library}", "recentlyAdded": "Adicionados recentemente", "recentlyAddedIn": "Adicionados recentemente em ${library}", + "latestAlbumsIn": "Álbuns mais recentes em ${library}", + "recentlyPlayedIn": "Reproduzidos recentemente em ${library}", + "mostPlayedIn": "Mais reproduzidos em ${library}", "playEpisode": "S${season}E${episode}", "overview": "Sinopse", "cast": "Elenco", @@ -770,6 +773,9 @@ "shows": "Séries de TV", "seasons": "Temporadas", "episodes": "Episódios", + "artists": "Artistas", + "albums": "Álbuns", + "tracks": "Faixas", "folders": "Pastas" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Falha ao reordenar item da playlist", "errorRemoving": "Falha ao remover da playlist" }, + "music": { + "goToAlbum": "Ir para o álbum", + "goToArtist": "Ir para o artista", + "instantMix": "Mix instantâneo", + "playNext": "Reproduzir a seguir", + "addToQueue": "Adicionar à fila", + "discNumber": "Disco ${n}", + "trackCount": { + "one": "${n} faixa", + "other": "${n} faixas" + }, + "nowPlaying": "Reproduzindo agora", + "playingFrom": "Reproduzindo de ${title}", + "queue": "Fila", + "upNext": "A seguir", + "clearQueue": "Limpar fila", + "lyrics": "Letra", + "noLyrics": "Nenhuma letra disponível", + "sleepTimer": "Temporizador de suspensão", + "sleepTimerEndOfTrack": "Fim da faixa", + "sleepTimerMinutes": "${n} minutos", + "stopPlayback": "Parar reprodução", + "previousTrack": "Faixa anterior", + "nextTrack": "Próxima faixa", + "repeat": "Repetir", + "repeatAll": "Repetir tudo", + "repeatOne": "Repetir uma" + }, "watchTogether": { "title": "Assistir Juntos", "description": "Assista conteúdo sincronizado com amigos e família", @@ -1022,6 +1056,8 @@ "manage": "Gerenciar", "tvShows": "Séries de TV", "movies": "Filmes", + "music": "Música", + "tracksQueued": "${count} faixas na fila para download", "noDownloads": "Nenhum download ainda", "noDownloadsDescription": "Conteúdo baixado aparecerá aqui para visualização offline", "downloadNow": "Baixar", diff --git a/lib/i18n/ru.i18n.json b/lib/i18n/ru.i18n.json index 865689b0..c1decc42 100644 --- a/lib/i18n/ru.i18n.json +++ b/lib/i18n/ru.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Далее в ${library}", "recentlyAdded": "Недавно добавленное", "recentlyAddedIn": "Недавно добавленное в ${library}", + "latestAlbumsIn": "Последние альбомы в ${library}", + "recentlyPlayedIn": "Недавно прослушанное в ${library}", + "mostPlayedIn": "Часто прослушиваемое в ${library}", "playEpisode": "S${season}E${episode}", "overview": "Обзор", "cast": "В ролях", @@ -770,6 +773,9 @@ "shows": "Сериалы", "seasons": "Сезоны", "episodes": "Эпизоды", + "artists": "Исполнители", + "albums": "Альбомы", + "tracks": "Треки", "folders": "Папки" }, "filterCategories": { @@ -955,6 +961,36 @@ "errorReordering": "Не удалось переупорядочить элемент плейлиста", "errorRemoving": "Не удалось удалить из плейлиста" }, + "music": { + "goToAlbum": "Перейти к альбому", + "goToArtist": "Перейти к исполнителю", + "instantMix": "Быстрый микс", + "playNext": "Воспроизвести следующим", + "addToQueue": "Добавить в очередь", + "discNumber": "Диск ${n}", + "trackCount": { + "one": "${n} трек", + "few": "${n} трека", + "many": "${n} треков", + "other": "${n} трека" + }, + "nowPlaying": "Сейчас играет", + "playingFrom": "Воспроизведение из ${title}", + "queue": "Очередь", + "upNext": "Далее", + "clearQueue": "Очистить очередь", + "lyrics": "Текст песни", + "noLyrics": "Текст песни недоступен", + "sleepTimer": "Таймер сна", + "sleepTimerEndOfTrack": "Конец трека", + "sleepTimerMinutes": "${n} минут", + "stopPlayback": "Остановить воспроизведение", + "previousTrack": "Предыдущий трек", + "nextTrack": "Следующий трек", + "repeat": "Повтор", + "repeatAll": "Повторять все", + "repeatOne": "Повторять один" + }, "watchTogether": { "title": "Смотреть вместе", "description": "Смотрите контент синхронно с друзьями и семьёй", @@ -1022,6 +1058,8 @@ "manage": "Управление", "tvShows": "Сериалы", "movies": "Фильмы", + "music": "Музыка", + "tracksQueued": "${count} треков в очереди на загрузку", "noDownloads": "Загрузок пока нет", "noDownloadsDescription": "Загруженный контент появится здесь для просмотра офлайн", "downloadNow": "Загрузить", diff --git a/lib/i18n/strings.g.dart b/lib/i18n/strings.g.dart index 5b522737..d22cc91b 100644 --- a/lib/i18n/strings.g.dart +++ b/lib/i18n/strings.g.dart @@ -4,7 +4,7 @@ /// To regenerate, run: `dart run slang` /// /// Locales: 16 -/// Strings: 20895 (1305 per locale) +/// Strings: 21376 (1336 per locale) // coverage:ignore-file // ignore_for_file: type=lint, unused_import diff --git a/lib/i18n/strings_bg.g.dart b/lib/i18n/strings_bg.g.dart index 80c51a7b..902b53c3 100644 --- a/lib/i18n/strings_bg.g.dart +++ b/lib/i18n/strings_bg.g.dart @@ -72,6 +72,7 @@ class TranslationsBg extends Translations with BaseTranslations 'Следва в ${library}'; @override String get recentlyAdded => 'Наскоро добавени'; @override String recentlyAddedIn({required Object library}) => 'Наскоро добавени в ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Последни албуми в ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Наскоро възпроизведени в ${library}'; + @override String mostPlayedIn({required Object library}) => 'Най-възпроизвеждани в ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Обзор'; @override String get cast => 'Актьори'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsBg extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Неуспешно премахване от плейлист'; } +// Path: music +class _TranslationsMusicBg extends TranslationsMusicEn { + _TranslationsMusicBg._(TranslationsBg root) : this._root = root, super.internal(root); + + final TranslationsBg _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Към албума'; + @override String get goToArtist => 'Към изпълнителя'; + @override String get instantMix => 'Мигновен микс'; + @override String get playNext => 'Пусни следващото'; + @override String get addToQueue => 'Добави към опашката'; + @override String discNumber({required Object n}) => 'Диск ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('bg'))(n, + one: '${n} песен', + other: '${n} песни', + ); + @override String get nowPlaying => 'Сега се възпроизвежда'; + @override String playingFrom({required Object title}) => 'Възпроизвеждане от ${title}'; + @override String get queue => 'Опашка'; + @override String get upNext => 'Следва'; + @override String get clearQueue => 'Изчисти опашката'; + @override String get lyrics => 'Текст'; + @override String get noLyrics => 'Няма наличен текст'; + @override String get sleepTimer => 'Таймер за заспиване'; + @override String get sleepTimerEndOfTrack => 'Край на песента'; + @override String sleepTimerMinutes({required Object n}) => '${n} минути'; + @override String get stopPlayback => 'Спри възпроизвеждането'; + @override String get previousTrack => 'Предишна песен'; + @override String get nextTrack => 'Следваща песен'; + @override String get repeat => 'Повтори'; + @override String get repeatAll => 'Повтори всички'; + @override String get repeatOne => 'Повтори една'; +} + // Path: watchTogether class _TranslationsWatchTogetherBg extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherBg._(TranslationsBg root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsBg extends TranslationsDownloadsEn { @override String get manage => 'Управление'; @override String get tvShows => 'ТВ сериали'; @override String get movies => 'Филми'; + @override String get music => 'Музика'; + @override String tracksQueued({required Object count}) => '${count} песни в опашката за изтегляне'; @override String get noDownloads => 'Все още няма изтегляния'; @override String get noDownloadsDescription => 'Изтегленото съдържание ще се показва тук за офлайн гледане'; @override String get downloadNow => 'Изтегли'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsBg extends TranslationsLibrariesGroupingsEn @override String get shows => 'ТВ сериали'; @override String get seasons => 'Сезони'; @override String get episodes => 'Епизоди'; + @override String get artists => 'Изпълнители'; + @override String get albums => 'Албуми'; + @override String get tracks => 'Песни'; @override String get folders => 'Папки'; } @@ -2599,6 +2643,9 @@ extension on TranslationsBg { 'discover.nextUpIn' => ({required Object library}) => 'Следва в ${library}', 'discover.recentlyAdded' => 'Наскоро добавени', 'discover.recentlyAddedIn' => ({required Object library}) => 'Наскоро добавени в ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Последни албуми в ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Наскоро възпроизведени в ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Най-възпроизвеждани в ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Обзор', 'discover.cast' => 'Актьори', @@ -2671,6 +2718,9 @@ extension on TranslationsBg { 'libraries.groupings.shows' => 'ТВ сериали', 'libraries.groupings.seasons' => 'Сезони', 'libraries.groupings.episodes' => 'Епизоди', + 'libraries.groupings.artists' => 'Изпълнители', + 'libraries.groupings.albums' => 'Албуми', + 'libraries.groupings.tracks' => 'Песни', 'libraries.groupings.folders' => 'Папки', 'libraries.filterCategories.genre' => 'Жанр', 'libraries.filterCategories.year' => 'Година', @@ -2832,6 +2882,29 @@ extension on TranslationsBg { 'playlists.errorAdding' => 'Неуспешно добавяне към плейлист', 'playlists.errorReordering' => 'Неуспешно пренареждане на елемент в плейлиста', 'playlists.errorRemoving' => 'Неуспешно премахване от плейлист', + 'music.goToAlbum' => 'Към албума', + 'music.goToArtist' => 'Към изпълнителя', + 'music.instantMix' => 'Мигновен микс', + 'music.playNext' => 'Пусни следващото', + 'music.addToQueue' => 'Добави към опашката', + 'music.discNumber' => ({required Object n}) => 'Диск ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('bg'))(n, one: '${n} песен', other: '${n} песни', ), + 'music.nowPlaying' => 'Сега се възпроизвежда', + 'music.playingFrom' => ({required Object title}) => 'Възпроизвеждане от ${title}', + 'music.queue' => 'Опашка', + 'music.upNext' => 'Следва', + 'music.clearQueue' => 'Изчисти опашката', + 'music.lyrics' => 'Текст', + 'music.noLyrics' => 'Няма наличен текст', + 'music.sleepTimer' => 'Таймер за заспиване', + 'music.sleepTimerEndOfTrack' => 'Край на песента', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} минути', + 'music.stopPlayback' => 'Спри възпроизвеждането', + 'music.previousTrack' => 'Предишна песен', + 'music.nextTrack' => 'Следваща песен', + 'music.repeat' => 'Повтори', + 'music.repeatAll' => 'Повтори всички', + 'music.repeatOne' => 'Повтори една', 'watchTogether.title' => 'Гледане заедно', 'watchTogether.description' => 'Гледайте съдържание синхронизирано с приятели и семейство', 'watchTogether.createSession' => 'Създай сесия', @@ -2896,6 +2969,8 @@ extension on TranslationsBg { 'downloads.manage' => 'Управление', 'downloads.tvShows' => 'ТВ сериали', 'downloads.movies' => 'Филми', + 'downloads.music' => 'Музика', + 'downloads.tracksQueued' => ({required Object count}) => '${count} песни в опашката за изтегляне', 'downloads.noDownloads' => 'Все още няма изтегляния', 'downloads.noDownloadsDescription' => 'Изтегленото съдържание ще се показва тук за офлайн гледане', 'downloads.downloadNow' => 'Изтегли', @@ -2947,6 +3022,8 @@ extension on TranslationsBg { 'downloads.noSyncRules' => 'Няма правила за синхронизация', 'downloads.manageSyncRule' => 'Управление на синхронизацията', 'downloads.editEpisodeCount' => 'Брой епизоди', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Филтър за синхронизация', 'downloads.syncAllItems' => 'Синхронизират се всички елементи', 'downloads.syncUnwatchedItems' => 'Синхронизират се негледаните елементи', @@ -2978,8 +3055,6 @@ extension on TranslationsBg { 'companionRemote.session.startingServer' => 'Стартиране на сървър за дистанционно управление...', 'companionRemote.session.failedToCreate' => 'Неуспешно стартиране на сървър за дистанционно управление:', 'companionRemote.session.hostAddress' => 'Адрес на хоста', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Свързан', 'companionRemote.session.serverRunning' => 'Сървърът за дистанционно управление е активен', 'companionRemote.session.serverStopped' => 'Сървърът за дистанционно управление е спрян', diff --git a/lib/i18n/strings_da.g.dart b/lib/i18n/strings_da.g.dart index 7efc70d7..2e9e6c97 100644 --- a/lib/i18n/strings_da.g.dart +++ b/lib/i18n/strings_da.g.dart @@ -72,6 +72,7 @@ class TranslationsDa extends Translations with BaseTranslations 'Næste op i ${library}'; @override String get recentlyAdded => 'Nyligt tilføjet'; @override String recentlyAddedIn({required Object library}) => 'Nyligt tilføjet i ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Nyeste album i ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Senest afspillet i ${library}'; + @override String mostPlayedIn({required Object library}) => 'Mest afspillet i ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Oversigt'; @override String get cast => 'Rollebesætning'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsDa extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Kunne ikke fjerne fra playliste'; } +// Path: music +class _TranslationsMusicDa extends TranslationsMusicEn { + _TranslationsMusicDa._(TranslationsDa root) : this._root = root, super.internal(root); + + final TranslationsDa _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Gå til album'; + @override String get goToArtist => 'Gå til kunstner'; + @override String get instantMix => 'Direkte miks'; + @override String get playNext => 'Afspil næste'; + @override String get addToQueue => 'Føj til kø'; + @override String discNumber({required Object n}) => 'Disk ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('da'))(n, + one: '${n} nummer', + other: '${n} numre', + ); + @override String get nowPlaying => 'Afspiller nu'; + @override String playingFrom({required Object title}) => 'Afspiller fra ${title}'; + @override String get queue => 'Kø'; + @override String get upNext => 'Næste i køen'; + @override String get clearQueue => 'Ryd kø'; + @override String get lyrics => 'Sangtekst'; + @override String get noLyrics => 'Ingen sangtekst tilgængelig'; + @override String get sleepTimer => 'Sovetimer'; + @override String get sleepTimerEndOfTrack => 'Slutningen af nummeret'; + @override String sleepTimerMinutes({required Object n}) => '${n} minutter'; + @override String get stopPlayback => 'Stop afspilning'; + @override String get previousTrack => 'Forrige nummer'; + @override String get nextTrack => 'Næste nummer'; + @override String get repeat => 'Gentag'; + @override String get repeatAll => 'Gentag alle'; + @override String get repeatOne => 'Gentag ét nummer'; +} + // Path: watchTogether class _TranslationsWatchTogetherDa extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherDa._(TranslationsDa root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsDa extends TranslationsDownloadsEn { @override String get manage => 'Administrer'; @override String get tvShows => 'TV-serier'; @override String get movies => 'Film'; + @override String get music => 'Musik'; + @override String tracksQueued({required Object count}) => '${count} numre i kø til download'; @override String get noDownloads => 'Ingen downloads endnu'; @override String get noDownloadsDescription => 'Downloadet indhold vises her til offlinevisning'; @override String get downloadNow => 'Download'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsDa extends TranslationsLibrariesGroupingsEn @override String get shows => 'TV-serier'; @override String get seasons => 'Sæsoner'; @override String get episodes => 'Episoder'; + @override String get artists => 'Kunstnere'; + @override String get albums => 'Album'; + @override String get tracks => 'Numre'; @override String get folders => 'Mapper'; } @@ -2599,6 +2643,9 @@ extension on TranslationsDa { 'discover.nextUpIn' => ({required Object library}) => 'Næste op i ${library}', 'discover.recentlyAdded' => 'Nyligt tilføjet', 'discover.recentlyAddedIn' => ({required Object library}) => 'Nyligt tilføjet i ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Nyeste album i ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Senest afspillet i ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Mest afspillet i ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Oversigt', 'discover.cast' => 'Rollebesætning', @@ -2671,6 +2718,9 @@ extension on TranslationsDa { 'libraries.groupings.shows' => 'TV-serier', 'libraries.groupings.seasons' => 'Sæsoner', 'libraries.groupings.episodes' => 'Episoder', + 'libraries.groupings.artists' => 'Kunstnere', + 'libraries.groupings.albums' => 'Album', + 'libraries.groupings.tracks' => 'Numre', 'libraries.groupings.folders' => 'Mapper', 'libraries.filterCategories.genre' => 'Genre', 'libraries.filterCategories.year' => 'År', @@ -2832,6 +2882,29 @@ extension on TranslationsDa { 'playlists.errorAdding' => 'Kunne ikke tilføje til playliste', 'playlists.errorReordering' => 'Kunne ikke ændre rækkefølge på playlisteelement', 'playlists.errorRemoving' => 'Kunne ikke fjerne fra playliste', + 'music.goToAlbum' => 'Gå til album', + 'music.goToArtist' => 'Gå til kunstner', + 'music.instantMix' => 'Direkte miks', + 'music.playNext' => 'Afspil næste', + 'music.addToQueue' => 'Føj til kø', + 'music.discNumber' => ({required Object n}) => 'Disk ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('da'))(n, one: '${n} nummer', other: '${n} numre', ), + 'music.nowPlaying' => 'Afspiller nu', + 'music.playingFrom' => ({required Object title}) => 'Afspiller fra ${title}', + 'music.queue' => 'Kø', + 'music.upNext' => 'Næste i køen', + 'music.clearQueue' => 'Ryd kø', + 'music.lyrics' => 'Sangtekst', + 'music.noLyrics' => 'Ingen sangtekst tilgængelig', + 'music.sleepTimer' => 'Sovetimer', + 'music.sleepTimerEndOfTrack' => 'Slutningen af nummeret', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minutter', + 'music.stopPlayback' => 'Stop afspilning', + 'music.previousTrack' => 'Forrige nummer', + 'music.nextTrack' => 'Næste nummer', + 'music.repeat' => 'Gentag', + 'music.repeatAll' => 'Gentag alle', + 'music.repeatOne' => 'Gentag ét nummer', 'watchTogether.title' => 'Se sammen', 'watchTogether.description' => 'Se indhold synkroniseret med venner og familie', 'watchTogether.createSession' => 'Opret session', @@ -2896,6 +2969,8 @@ extension on TranslationsDa { 'downloads.manage' => 'Administrer', 'downloads.tvShows' => 'TV-serier', 'downloads.movies' => 'Film', + 'downloads.music' => 'Musik', + 'downloads.tracksQueued' => ({required Object count}) => '${count} numre i kø til download', 'downloads.noDownloads' => 'Ingen downloads endnu', 'downloads.noDownloadsDescription' => 'Downloadet indhold vises her til offlinevisning', 'downloads.downloadNow' => 'Download', @@ -2947,6 +3022,8 @@ extension on TranslationsDa { 'downloads.noSyncRules' => 'Ingen synkroniseringsregler', 'downloads.manageSyncRule' => 'Administrer synkronisering', 'downloads.editEpisodeCount' => 'Antal episoder', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Synkroniseringsfilter', 'downloads.syncAllItems' => 'Synkroniserer alle elementer', 'downloads.syncUnwatchedItems' => 'Synkroniserer usete elementer', @@ -2978,8 +3055,6 @@ extension on TranslationsDa { 'companionRemote.session.startingServer' => 'Starter fjernserver...', 'companionRemote.session.failedToCreate' => 'Kunne ikke starte fjernserver:', 'companionRemote.session.hostAddress' => 'Værtsadresse', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Forbundet', 'companionRemote.session.serverRunning' => 'Fjernserver aktiv', 'companionRemote.session.serverStopped' => 'Fjernserver stoppet', diff --git a/lib/i18n/strings_de.g.dart b/lib/i18n/strings_de.g.dart index 1593bc8f..7db7d652 100644 --- a/lib/i18n/strings_de.g.dart +++ b/lib/i18n/strings_de.g.dart @@ -72,6 +72,7 @@ class TranslationsDe extends Translations with BaseTranslations 'Als Nächstes in ${library}'; @override String get recentlyAdded => 'Kürzlich hinzugefügt'; @override String recentlyAddedIn({required Object library}) => 'Kürzlich hinzugefügt in ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Neueste Alben in ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Kürzlich gespielt in ${library}'; + @override String mostPlayedIn({required Object library}) => 'Am häufigsten gespielt in ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Übersicht'; @override String get cast => 'Besetzung'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsDe extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Konnte nicht aus der Wiedergabeliste entfernt werden'; } +// Path: music +class _TranslationsMusicDe extends TranslationsMusicEn { + _TranslationsMusicDe._(TranslationsDe root) : this._root = root, super.internal(root); + + final TranslationsDe _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Zum Album'; + @override String get goToArtist => 'Zum Interpreten'; + @override String get instantMix => 'Instant-Mix'; + @override String get playNext => 'Als Nächstes abspielen'; + @override String get addToQueue => 'Zur Warteschlange hinzufügen'; + @override String discNumber({required Object n}) => 'Disc ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('de'))(n, + one: '${n} Titel', + other: '${n} Titel', + ); + @override String get nowPlaying => 'Wird wiedergegeben'; + @override String playingFrom({required Object title}) => 'Wiedergabe aus ${title}'; + @override String get queue => 'Warteschlange'; + @override String get upNext => 'Als Nächstes'; + @override String get clearQueue => 'Warteschlange leeren'; + @override String get lyrics => 'Songtext'; + @override String get noLyrics => 'Kein Songtext verfügbar'; + @override String get sleepTimer => 'Einschlaf-Timer'; + @override String get sleepTimerEndOfTrack => 'Ende des Titels'; + @override String sleepTimerMinutes({required Object n}) => '${n} Minuten'; + @override String get stopPlayback => 'Wiedergabe stoppen'; + @override String get previousTrack => 'Vorheriger Titel'; + @override String get nextTrack => 'Nächster Titel'; + @override String get repeat => 'Wiederholen'; + @override String get repeatAll => 'Alle wiederholen'; + @override String get repeatOne => 'Titel wiederholen'; +} + // Path: watchTogether class _TranslationsWatchTogetherDe extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherDe._(TranslationsDe root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsDe extends TranslationsDownloadsEn { @override String get manage => 'Verwalten'; @override String get tvShows => 'Serien'; @override String get movies => 'Filme'; + @override String get music => 'Musik'; + @override String tracksQueued({required Object count}) => '${count} Titel zum Download in Warteschlange'; @override String get noDownloads => 'Noch keine Downloads'; @override String get noDownloadsDescription => 'Heruntergeladene Inhalte werden hier für die Offline-Wiedergabe angezeigt'; @override String get downloadNow => 'Herunterladen'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsDe extends TranslationsLibrariesGroupingsEn @override String get shows => 'Serien'; @override String get seasons => 'Staffeln'; @override String get episodes => 'Episoden'; + @override String get artists => 'Interpreten'; + @override String get albums => 'Alben'; + @override String get tracks => 'Titel'; @override String get folders => 'Ordner'; } @@ -2599,6 +2643,9 @@ extension on TranslationsDe { 'discover.nextUpIn' => ({required Object library}) => 'Als Nächstes in ${library}', 'discover.recentlyAdded' => 'Kürzlich hinzugefügt', 'discover.recentlyAddedIn' => ({required Object library}) => 'Kürzlich hinzugefügt in ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Neueste Alben in ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Kürzlich gespielt in ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Am häufigsten gespielt in ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Übersicht', 'discover.cast' => 'Besetzung', @@ -2671,6 +2718,9 @@ extension on TranslationsDe { 'libraries.groupings.shows' => 'Serien', 'libraries.groupings.seasons' => 'Staffeln', 'libraries.groupings.episodes' => 'Episoden', + 'libraries.groupings.artists' => 'Interpreten', + 'libraries.groupings.albums' => 'Alben', + 'libraries.groupings.tracks' => 'Titel', 'libraries.groupings.folders' => 'Ordner', 'libraries.filterCategories.genre' => 'Genre', 'libraries.filterCategories.year' => 'Jahr', @@ -2832,6 +2882,29 @@ extension on TranslationsDe { 'playlists.errorAdding' => 'Konnte nicht zur Wiedergabeliste hinzugefügt werden', 'playlists.errorReordering' => 'Element der Wiedergabeliste konnte nicht neu geordnet werden', 'playlists.errorRemoving' => 'Konnte nicht aus der Wiedergabeliste entfernt werden', + 'music.goToAlbum' => 'Zum Album', + 'music.goToArtist' => 'Zum Interpreten', + 'music.instantMix' => 'Instant-Mix', + 'music.playNext' => 'Als Nächstes abspielen', + 'music.addToQueue' => 'Zur Warteschlange hinzufügen', + 'music.discNumber' => ({required Object n}) => 'Disc ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('de'))(n, one: '${n} Titel', other: '${n} Titel', ), + 'music.nowPlaying' => 'Wird wiedergegeben', + 'music.playingFrom' => ({required Object title}) => 'Wiedergabe aus ${title}', + 'music.queue' => 'Warteschlange', + 'music.upNext' => 'Als Nächstes', + 'music.clearQueue' => 'Warteschlange leeren', + 'music.lyrics' => 'Songtext', + 'music.noLyrics' => 'Kein Songtext verfügbar', + 'music.sleepTimer' => 'Einschlaf-Timer', + 'music.sleepTimerEndOfTrack' => 'Ende des Titels', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} Minuten', + 'music.stopPlayback' => 'Wiedergabe stoppen', + 'music.previousTrack' => 'Vorheriger Titel', + 'music.nextTrack' => 'Nächster Titel', + 'music.repeat' => 'Wiederholen', + 'music.repeatAll' => 'Alle wiederholen', + 'music.repeatOne' => 'Titel wiederholen', 'watchTogether.title' => 'Gemeinsam Schauen', 'watchTogether.description' => 'Inhalte synchron mit Freunden und Familie schauen', 'watchTogether.createSession' => 'Sitzung Erstellen', @@ -2896,6 +2969,8 @@ extension on TranslationsDe { 'downloads.manage' => 'Verwalten', 'downloads.tvShows' => 'Serien', 'downloads.movies' => 'Filme', + 'downloads.music' => 'Musik', + 'downloads.tracksQueued' => ({required Object count}) => '${count} Titel zum Download in Warteschlange', 'downloads.noDownloads' => 'Noch keine Downloads', 'downloads.noDownloadsDescription' => 'Heruntergeladene Inhalte werden hier für die Offline-Wiedergabe angezeigt', 'downloads.downloadNow' => 'Herunterladen', @@ -2947,6 +3022,8 @@ extension on TranslationsDe { 'downloads.noSyncRules' => 'Keine Sync-Regeln', 'downloads.manageSyncRule' => 'Synchronisierung verwalten', 'downloads.editEpisodeCount' => 'Episodenanzahl', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Synchronisierungsfilter', 'downloads.syncAllItems' => 'Alle Einträge synchronisieren', 'downloads.syncUnwatchedItems' => 'Ungesehene Einträge synchronisieren', @@ -2978,8 +3055,6 @@ extension on TranslationsDe { 'companionRemote.session.startingServer' => 'Remote-Server wird gestartet...', 'companionRemote.session.failedToCreate' => 'Remote-Server konnte nicht gestartet werden:', 'companionRemote.session.hostAddress' => 'Host-Adresse', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Verbunden', 'companionRemote.session.serverRunning' => 'Remote-Server aktiv', 'companionRemote.session.serverStopped' => 'Remote-Server gestoppt', diff --git a/lib/i18n/strings_es.g.dart b/lib/i18n/strings_es.g.dart index 3983a42b..db39b78c 100644 --- a/lib/i18n/strings_es.g.dart +++ b/lib/i18n/strings_es.g.dart @@ -72,6 +72,7 @@ class TranslationsEs extends Translations with BaseTranslations 'A continuación en ${library}'; @override String get recentlyAdded => 'Añadido recientemente'; @override String recentlyAddedIn({required Object library}) => 'Añadido recientemente en ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Últimos álbumes en ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Reproducido recientemente en ${library}'; + @override String mostPlayedIn({required Object library}) => 'Más reproducido en ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'T${season}E${episode}'; @override String get overview => 'Resumen'; @override String get cast => 'Reparto'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsEs extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Error al eliminar de la lista'; } +// Path: music +class _TranslationsMusicEs extends TranslationsMusicEn { + _TranslationsMusicEs._(TranslationsEs root) : this._root = root, super.internal(root); + + final TranslationsEs _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Ir al álbum'; + @override String get goToArtist => 'Ir al artista'; + @override String get instantMix => 'Mezcla instantánea'; + @override String get playNext => 'Reproducir a continuación'; + @override String get addToQueue => 'Añadir a la cola'; + @override String discNumber({required Object n}) => 'Disco ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('es'))(n, + one: '${n} canción', + other: '${n} canciones', + ); + @override String get nowPlaying => 'Reproduciendo ahora'; + @override String playingFrom({required Object title}) => 'Reproduciendo desde ${title}'; + @override String get queue => 'Cola'; + @override String get upNext => 'A continuación'; + @override String get clearQueue => 'Vaciar la cola'; + @override String get lyrics => 'Letra'; + @override String get noLyrics => 'No hay letra disponible'; + @override String get sleepTimer => 'Temporizador de apagado'; + @override String get sleepTimerEndOfTrack => 'Fin de la canción'; + @override String sleepTimerMinutes({required Object n}) => '${n} minutos'; + @override String get stopPlayback => 'Detener reproducción'; + @override String get previousTrack => 'Canción anterior'; + @override String get nextTrack => 'Canción siguiente'; + @override String get repeat => 'Repetir'; + @override String get repeatAll => 'Repetir todo'; + @override String get repeatOne => 'Repetir una'; +} + // Path: watchTogether class _TranslationsWatchTogetherEs extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherEs._(TranslationsEs root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsEs extends TranslationsDownloadsEn { @override String get manage => 'Gestionar'; @override String get tvShows => 'Series de TV'; @override String get movies => 'Películas'; + @override String get music => 'Música'; + @override String tracksQueued({required Object count}) => '${count} canciones en cola para descargar'; @override String get noDownloads => 'No hay descargas aún'; @override String get noDownloadsDescription => 'El contenido descargado aparecerá aquí para verlo sin conexión'; @override String get downloadNow => 'Descargar'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsEs extends TranslationsLibrariesGroupingsEn @override String get shows => 'Series'; @override String get seasons => 'Temporadas'; @override String get episodes => 'Episodios'; + @override String get artists => 'Artistas'; + @override String get albums => 'Álbumes'; + @override String get tracks => 'Canciones'; @override String get folders => 'Carpetas'; } @@ -2599,6 +2643,9 @@ extension on TranslationsEs { 'discover.nextUpIn' => ({required Object library}) => 'A continuación en ${library}', 'discover.recentlyAdded' => 'Añadido recientemente', 'discover.recentlyAddedIn' => ({required Object library}) => 'Añadido recientemente en ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Últimos álbumes en ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Reproducido recientemente en ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Más reproducido en ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'T${season}E${episode}', 'discover.overview' => 'Resumen', 'discover.cast' => 'Reparto', @@ -2671,6 +2718,9 @@ extension on TranslationsEs { 'libraries.groupings.shows' => 'Series', 'libraries.groupings.seasons' => 'Temporadas', 'libraries.groupings.episodes' => 'Episodios', + 'libraries.groupings.artists' => 'Artistas', + 'libraries.groupings.albums' => 'Álbumes', + 'libraries.groupings.tracks' => 'Canciones', 'libraries.groupings.folders' => 'Carpetas', 'libraries.filterCategories.genre' => 'Género', 'libraries.filterCategories.year' => 'Año', @@ -2832,6 +2882,29 @@ extension on TranslationsEs { 'playlists.errorAdding' => 'Error al añadir a la lista', 'playlists.errorReordering' => 'Error al reordenar los elementos de la lista', 'playlists.errorRemoving' => 'Error al eliminar de la lista', + 'music.goToAlbum' => 'Ir al álbum', + 'music.goToArtist' => 'Ir al artista', + 'music.instantMix' => 'Mezcla instantánea', + 'music.playNext' => 'Reproducir a continuación', + 'music.addToQueue' => 'Añadir a la cola', + 'music.discNumber' => ({required Object n}) => 'Disco ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('es'))(n, one: '${n} canción', other: '${n} canciones', ), + 'music.nowPlaying' => 'Reproduciendo ahora', + 'music.playingFrom' => ({required Object title}) => 'Reproduciendo desde ${title}', + 'music.queue' => 'Cola', + 'music.upNext' => 'A continuación', + 'music.clearQueue' => 'Vaciar la cola', + 'music.lyrics' => 'Letra', + 'music.noLyrics' => 'No hay letra disponible', + 'music.sleepTimer' => 'Temporizador de apagado', + 'music.sleepTimerEndOfTrack' => 'Fin de la canción', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minutos', + 'music.stopPlayback' => 'Detener reproducción', + 'music.previousTrack' => 'Canción anterior', + 'music.nextTrack' => 'Canción siguiente', + 'music.repeat' => 'Repetir', + 'music.repeatAll' => 'Repetir todo', + 'music.repeatOne' => 'Repetir una', 'watchTogether.title' => 'Ver Juntos', 'watchTogether.description' => 'Mira contenido en sincronía con amigos y familiares', 'watchTogether.createSession' => 'Crear Sesión', @@ -2896,6 +2969,8 @@ extension on TranslationsEs { 'downloads.manage' => 'Gestionar', 'downloads.tvShows' => 'Series de TV', 'downloads.movies' => 'Películas', + 'downloads.music' => 'Música', + 'downloads.tracksQueued' => ({required Object count}) => '${count} canciones en cola para descargar', 'downloads.noDownloads' => 'No hay descargas aún', 'downloads.noDownloadsDescription' => 'El contenido descargado aparecerá aquí para verlo sin conexión', 'downloads.downloadNow' => 'Descargar', @@ -2947,6 +3022,8 @@ extension on TranslationsEs { 'downloads.noSyncRules' => 'Sin reglas de sincronización', 'downloads.manageSyncRule' => 'Gestionar sincronización', 'downloads.editEpisodeCount' => 'Número de episodios', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Filtro de sincronización', 'downloads.syncAllItems' => 'Sincronizando todos los elementos', 'downloads.syncUnwatchedItems' => 'Sincronizando elementos no vistos', @@ -2978,8 +3055,6 @@ extension on TranslationsEs { 'companionRemote.session.startingServer' => 'Iniciando servidor remoto...', 'companionRemote.session.failedToCreate' => 'Error al iniciar el servidor remoto:', 'companionRemote.session.hostAddress' => 'Dirección del host', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Conectado', 'companionRemote.session.serverRunning' => 'Servidor remoto activo', 'companionRemote.session.serverStopped' => 'Servidor remoto detenido', diff --git a/lib/i18n/strings_fr.g.dart b/lib/i18n/strings_fr.g.dart index f9af4ae8..dab0d544 100644 --- a/lib/i18n/strings_fr.g.dart +++ b/lib/i18n/strings_fr.g.dart @@ -72,6 +72,7 @@ class TranslationsFr extends Translations with BaseTranslations 'À suivre dans ${library}'; @override String get recentlyAdded => 'Récemment ajouté'; @override String recentlyAddedIn({required Object library}) => 'Récemment ajouté dans ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Derniers albums dans ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Récemment lus dans ${library}'; + @override String mostPlayedIn({required Object library}) => 'Les plus lus dans ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Aperçu'; @override String get cast => 'Cast'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsFr extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Échec de suppression depuis la playlist'; } +// Path: music +class _TranslationsMusicFr extends TranslationsMusicEn { + _TranslationsMusicFr._(TranslationsFr root) : this._root = root, super.internal(root); + + final TranslationsFr _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Aller à l\'album'; + @override String get goToArtist => 'Aller à l\'artiste'; + @override String get instantMix => 'Mix instantané'; + @override String get playNext => 'Lire ensuite'; + @override String get addToQueue => 'Ajouter à la file d\'attente'; + @override String discNumber({required Object n}) => 'Disque ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('fr'))(n, + one: '${n} titre', + other: '${n} titres', + ); + @override String get nowPlaying => 'Lecture en cours'; + @override String playingFrom({required Object title}) => 'Lecture depuis ${title}'; + @override String get queue => 'File d\'attente'; + @override String get upNext => 'À suivre'; + @override String get clearQueue => 'Vider la file d\'attente'; + @override String get lyrics => 'Paroles'; + @override String get noLyrics => 'Aucune parole disponible'; + @override String get sleepTimer => 'Minuterie de veille'; + @override String get sleepTimerEndOfTrack => 'Fin du titre'; + @override String sleepTimerMinutes({required Object n}) => '${n} minutes'; + @override String get stopPlayback => 'Arrêter la lecture'; + @override String get previousTrack => 'Titre précédent'; + @override String get nextTrack => 'Titre suivant'; + @override String get repeat => 'Répéter'; + @override String get repeatAll => 'Tout répéter'; + @override String get repeatOne => 'Répéter le titre'; +} + // Path: watchTogether class _TranslationsWatchTogetherFr extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherFr._(TranslationsFr root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsFr extends TranslationsDownloadsEn { @override String get manage => 'Gérer'; @override String get tvShows => 'Show TV'; @override String get movies => 'Films'; + @override String get music => 'Musique'; + @override String tracksQueued({required Object count}) => '${count} titres en file d\'attente de téléchargement'; @override String get noDownloads => 'Aucun téléchargement pour le moment'; @override String get noDownloadsDescription => 'Le contenu téléchargé apparaîtra ici pour être consulté hors ligne.'; @override String get downloadNow => 'Télécharger'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsFr extends TranslationsLibrariesGroupingsEn @override String get shows => 'Show TV'; @override String get seasons => 'Saisons'; @override String get episodes => 'Épisodes'; + @override String get artists => 'Artistes'; + @override String get albums => 'Albums'; + @override String get tracks => 'Titres'; @override String get folders => 'Dossiers'; } @@ -2599,6 +2643,9 @@ extension on TranslationsFr { 'discover.nextUpIn' => ({required Object library}) => 'À suivre dans ${library}', 'discover.recentlyAdded' => 'Récemment ajouté', 'discover.recentlyAddedIn' => ({required Object library}) => 'Récemment ajouté dans ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Derniers albums dans ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Récemment lus dans ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Les plus lus dans ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Aperçu', 'discover.cast' => 'Cast', @@ -2671,6 +2718,9 @@ extension on TranslationsFr { 'libraries.groupings.shows' => 'Show TV', 'libraries.groupings.seasons' => 'Saisons', 'libraries.groupings.episodes' => 'Épisodes', + 'libraries.groupings.artists' => 'Artistes', + 'libraries.groupings.albums' => 'Albums', + 'libraries.groupings.tracks' => 'Titres', 'libraries.groupings.folders' => 'Dossiers', 'libraries.filterCategories.genre' => 'Genre', 'libraries.filterCategories.year' => 'Année', @@ -2832,6 +2882,29 @@ extension on TranslationsFr { 'playlists.errorAdding' => 'Échec d\'ajout dans la playlist', 'playlists.errorReordering' => 'Échec de réordonnacement d\'élément de playlist', 'playlists.errorRemoving' => 'Échec de suppression depuis la playlist', + 'music.goToAlbum' => 'Aller à l\'album', + 'music.goToArtist' => 'Aller à l\'artiste', + 'music.instantMix' => 'Mix instantané', + 'music.playNext' => 'Lire ensuite', + 'music.addToQueue' => 'Ajouter à la file d\'attente', + 'music.discNumber' => ({required Object n}) => 'Disque ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('fr'))(n, one: '${n} titre', other: '${n} titres', ), + 'music.nowPlaying' => 'Lecture en cours', + 'music.playingFrom' => ({required Object title}) => 'Lecture depuis ${title}', + 'music.queue' => 'File d\'attente', + 'music.upNext' => 'À suivre', + 'music.clearQueue' => 'Vider la file d\'attente', + 'music.lyrics' => 'Paroles', + 'music.noLyrics' => 'Aucune parole disponible', + 'music.sleepTimer' => 'Minuterie de veille', + 'music.sleepTimerEndOfTrack' => 'Fin du titre', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minutes', + 'music.stopPlayback' => 'Arrêter la lecture', + 'music.previousTrack' => 'Titre précédent', + 'music.nextTrack' => 'Titre suivant', + 'music.repeat' => 'Répéter', + 'music.repeatAll' => 'Tout répéter', + 'music.repeatOne' => 'Répéter le titre', 'watchTogether.title' => 'Regarder ensemble', 'watchTogether.description' => 'Regardez du contenu en synchronisation avec vos amis et votre famille', 'watchTogether.createSession' => 'Créer une session', @@ -2896,6 +2969,8 @@ extension on TranslationsFr { 'downloads.manage' => 'Gérer', 'downloads.tvShows' => 'Show TV', 'downloads.movies' => 'Films', + 'downloads.music' => 'Musique', + 'downloads.tracksQueued' => ({required Object count}) => '${count} titres en file d\'attente de téléchargement', 'downloads.noDownloads' => 'Aucun téléchargement pour le moment', 'downloads.noDownloadsDescription' => 'Le contenu téléchargé apparaîtra ici pour être consulté hors ligne.', 'downloads.downloadNow' => 'Télécharger', @@ -2947,6 +3022,8 @@ extension on TranslationsFr { 'downloads.noSyncRules' => 'Aucune règle de synchronisation', 'downloads.manageSyncRule' => 'Gérer la synchronisation', 'downloads.editEpisodeCount' => 'Nombre d’épisodes', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Filtre de synchronisation', 'downloads.syncAllItems' => 'Synchronisation de tous les éléments', 'downloads.syncUnwatchedItems' => 'Synchronisation des éléments non vus', @@ -2978,8 +3055,6 @@ extension on TranslationsFr { 'companionRemote.session.startingServer' => 'Démarrage du serveur distant...', 'companionRemote.session.failedToCreate' => 'Échec du démarrage du serveur distant :', 'companionRemote.session.hostAddress' => 'Adresse de l\'hôte', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Connecté', 'companionRemote.session.serverRunning' => 'Serveur distant actif', 'companionRemote.session.serverStopped' => 'Serveur distant arrêté', diff --git a/lib/i18n/strings_it.g.dart b/lib/i18n/strings_it.g.dart index a64a8cb5..bc589826 100644 --- a/lib/i18n/strings_it.g.dart +++ b/lib/i18n/strings_it.g.dart @@ -72,6 +72,7 @@ class TranslationsIt extends Translations with BaseTranslations 'Prossimi in ${library}'; @override String get recentlyAdded => 'Aggiunti di recente'; @override String recentlyAddedIn({required Object library}) => 'Aggiunti di recente in ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Ultimi album in ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Riprodotti di recente in ${library}'; + @override String mostPlayedIn({required Object library}) => 'Più riprodotti in ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Panoramica'; @override String get cast => 'Attori'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsIt extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Errore durante la rimozione dalla playlist'; } +// Path: music +class _TranslationsMusicIt extends TranslationsMusicEn { + _TranslationsMusicIt._(TranslationsIt root) : this._root = root, super.internal(root); + + final TranslationsIt _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Vai all\'album'; + @override String get goToArtist => 'Vai all\'artista'; + @override String get instantMix => 'Mix istantaneo'; + @override String get playNext => 'Riproduci dopo'; + @override String get addToQueue => 'Aggiungi alla coda'; + @override String discNumber({required Object n}) => 'Disco ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('it'))(n, + one: '${n} brano', + other: '${n} brani', + ); + @override String get nowPlaying => 'In riproduzione'; + @override String playingFrom({required Object title}) => 'Riproduzione da ${title}'; + @override String get queue => 'Coda'; + @override String get upNext => 'Da riprodurre'; + @override String get clearQueue => 'Svuota la coda'; + @override String get lyrics => 'Testo'; + @override String get noLyrics => 'Nessun testo disponibile'; + @override String get sleepTimer => 'Timer di spegnimento'; + @override String get sleepTimerEndOfTrack => 'Fine del brano'; + @override String sleepTimerMinutes({required Object n}) => '${n} minuti'; + @override String get stopPlayback => 'Interrompi riproduzione'; + @override String get previousTrack => 'Brano precedente'; + @override String get nextTrack => 'Brano successivo'; + @override String get repeat => 'Ripeti'; + @override String get repeatAll => 'Ripeti tutto'; + @override String get repeatOne => 'Ripeti uno'; +} + // Path: watchTogether class _TranslationsWatchTogetherIt extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherIt._(TranslationsIt root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsIt extends TranslationsDownloadsEn { @override String get manage => 'Gestisci'; @override String get tvShows => 'Serie TV'; @override String get movies => 'Film'; + @override String get music => 'Musica'; + @override String tracksQueued({required Object count}) => '${count} brani in coda per il download'; @override String get noDownloads => 'Nessun download'; @override String get noDownloadsDescription => 'I contenuti scaricati appariranno qui per la visualizzazione offline'; @override String get downloadNow => 'Scarica'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsIt extends TranslationsLibrariesGroupingsEn @override String get shows => 'Serie TV'; @override String get seasons => 'Stagioni'; @override String get episodes => 'Episodi'; + @override String get artists => 'Artisti'; + @override String get albums => 'Album'; + @override String get tracks => 'Brani'; @override String get folders => 'Cartelle'; } @@ -2599,6 +2643,9 @@ extension on TranslationsIt { 'discover.nextUpIn' => ({required Object library}) => 'Prossimi in ${library}', 'discover.recentlyAdded' => 'Aggiunti di recente', 'discover.recentlyAddedIn' => ({required Object library}) => 'Aggiunti di recente in ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Ultimi album in ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Riprodotti di recente in ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Più riprodotti in ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Panoramica', 'discover.cast' => 'Attori', @@ -2671,6 +2718,9 @@ extension on TranslationsIt { 'libraries.groupings.shows' => 'Serie TV', 'libraries.groupings.seasons' => 'Stagioni', 'libraries.groupings.episodes' => 'Episodi', + 'libraries.groupings.artists' => 'Artisti', + 'libraries.groupings.albums' => 'Album', + 'libraries.groupings.tracks' => 'Brani', 'libraries.groupings.folders' => 'Cartelle', 'libraries.filterCategories.genre' => 'Genere', 'libraries.filterCategories.year' => 'Anno', @@ -2832,6 +2882,29 @@ extension on TranslationsIt { 'playlists.errorAdding' => 'Errore durante l\'aggiunta alla playlist', 'playlists.errorReordering' => 'Errore durante il riordino dell\'elemento della playlist', 'playlists.errorRemoving' => 'Errore durante la rimozione dalla playlist', + 'music.goToAlbum' => 'Vai all\'album', + 'music.goToArtist' => 'Vai all\'artista', + 'music.instantMix' => 'Mix istantaneo', + 'music.playNext' => 'Riproduci dopo', + 'music.addToQueue' => 'Aggiungi alla coda', + 'music.discNumber' => ({required Object n}) => 'Disco ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('it'))(n, one: '${n} brano', other: '${n} brani', ), + 'music.nowPlaying' => 'In riproduzione', + 'music.playingFrom' => ({required Object title}) => 'Riproduzione da ${title}', + 'music.queue' => 'Coda', + 'music.upNext' => 'Da riprodurre', + 'music.clearQueue' => 'Svuota la coda', + 'music.lyrics' => 'Testo', + 'music.noLyrics' => 'Nessun testo disponibile', + 'music.sleepTimer' => 'Timer di spegnimento', + 'music.sleepTimerEndOfTrack' => 'Fine del brano', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minuti', + 'music.stopPlayback' => 'Interrompi riproduzione', + 'music.previousTrack' => 'Brano precedente', + 'music.nextTrack' => 'Brano successivo', + 'music.repeat' => 'Ripeti', + 'music.repeatAll' => 'Ripeti tutto', + 'music.repeatOne' => 'Ripeti uno', 'watchTogether.title' => 'Guarda Insieme', 'watchTogether.description' => 'Guarda contenuti in sincronia con amici e familiari', 'watchTogether.createSession' => 'Crea Sessione', @@ -2896,6 +2969,8 @@ extension on TranslationsIt { 'downloads.manage' => 'Gestisci', 'downloads.tvShows' => 'Serie TV', 'downloads.movies' => 'Film', + 'downloads.music' => 'Musica', + 'downloads.tracksQueued' => ({required Object count}) => '${count} brani in coda per il download', 'downloads.noDownloads' => 'Nessun download', 'downloads.noDownloadsDescription' => 'I contenuti scaricati appariranno qui per la visualizzazione offline', 'downloads.downloadNow' => 'Scarica', @@ -2947,6 +3022,8 @@ extension on TranslationsIt { 'downloads.noSyncRules' => 'Nessuna regola di sincronizzazione', 'downloads.manageSyncRule' => 'Gestisci sincronizzazione', 'downloads.editEpisodeCount' => 'Numero di episodi', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Filtro di sincronizzazione', 'downloads.syncAllItems' => 'Sincronizzazione di tutti gli elementi', 'downloads.syncUnwatchedItems' => 'Sincronizzazione degli elementi non visti', @@ -2978,8 +3055,6 @@ extension on TranslationsIt { 'companionRemote.session.startingServer' => 'Avvio del server remoto...', 'companionRemote.session.failedToCreate' => 'Impossibile avviare il server remoto:', 'companionRemote.session.hostAddress' => 'Indirizzo host', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Connesso', 'companionRemote.session.serverRunning' => 'Server remoto attivo', 'companionRemote.session.serverStopped' => 'Server remoto arrestato', diff --git a/lib/i18n/strings_ja.g.dart b/lib/i18n/strings_ja.g.dart index 20933440..cade7722 100644 --- a/lib/i18n/strings_ja.g.dart +++ b/lib/i18n/strings_ja.g.dart @@ -72,6 +72,7 @@ class TranslationsJa extends Translations with BaseTranslations '${library}の次のエピソード'; @override String get recentlyAdded => '最近追加'; @override String recentlyAddedIn({required Object library}) => '${library}に最近追加'; + @override String latestAlbumsIn({required Object library}) => '${library}の最新アルバム'; + @override String recentlyPlayedIn({required Object library}) => '${library}で最近再生'; + @override String mostPlayedIn({required Object library}) => '${library}で最も再生'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'あらすじ'; @override String get cast => 'キャスト'; @@ -1199,6 +1203,40 @@ class _TranslationsPlaylistsJa extends TranslationsPlaylistsEn { @override String get errorRemoving => 'プレイリストからの削除に失敗しました'; } +// Path: music +class _TranslationsMusicJa extends TranslationsMusicEn { + _TranslationsMusicJa._(TranslationsJa root) : this._root = root, super.internal(root); + + final TranslationsJa _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'アルバムへ移動'; + @override String get goToArtist => 'アーティストへ移動'; + @override String get instantMix => 'インスタントミックス'; + @override String get playNext => '次に再生'; + @override String get addToQueue => 'キューに追加'; + @override String discNumber({required Object n}) => 'ディスク ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ja'))(n, + other: '${n} 曲', + ); + @override String get nowPlaying => '再生中'; + @override String playingFrom({required Object title}) => '${title} から再生'; + @override String get queue => '再生キュー'; + @override String get upNext => '次はこちら'; + @override String get clearQueue => 'キューをクリア'; + @override String get lyrics => '歌詞'; + @override String get noLyrics => '歌詞がありません'; + @override String get sleepTimer => 'スリープタイマー'; + @override String get sleepTimerEndOfTrack => '曲の終わり'; + @override String sleepTimerMinutes({required Object n}) => '${n} 分'; + @override String get stopPlayback => '再生を停止'; + @override String get previousTrack => '前の曲'; + @override String get nextTrack => '次の曲'; + @override String get repeat => 'リピート'; + @override String get repeatAll => '全曲リピート'; + @override String get repeatOne => '1曲リピート'; +} + // Path: watchTogether class _TranslationsWatchTogetherJa extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherJa._(TranslationsJa root) : this._root = root, super.internal(root); @@ -1279,6 +1317,8 @@ class _TranslationsDownloadsJa extends TranslationsDownloadsEn { @override String get manage => '管理'; @override String get tvShows => 'テレビ番組'; @override String get movies => '映画'; + @override String get music => '音楽'; + @override String tracksQueued({required Object count}) => '${count} 曲をダウンロード待機中'; @override String get noDownloads => 'ダウンロードなし'; @override String get noDownloadsDescription => 'ダウンロードしたコンテンツはここに表示され、オフラインで視聴できます'; @override String get downloadNow => 'ダウンロード'; @@ -1741,6 +1781,9 @@ class _TranslationsLibrariesGroupingsJa extends TranslationsLibrariesGroupingsEn @override String get shows => 'テレビ番組'; @override String get seasons => 'シーズン'; @override String get episodes => 'エピソード'; + @override String get artists => 'アーティスト'; + @override String get albums => 'アルバム'; + @override String get tracks => '曲'; @override String get folders => 'フォルダ'; } @@ -2599,6 +2642,9 @@ extension on TranslationsJa { 'discover.nextUpIn' => ({required Object library}) => '${library}の次のエピソード', 'discover.recentlyAdded' => '最近追加', 'discover.recentlyAddedIn' => ({required Object library}) => '${library}に最近追加', + 'discover.latestAlbumsIn' => ({required Object library}) => '${library}の最新アルバム', + 'discover.recentlyPlayedIn' => ({required Object library}) => '${library}で最近再生', + 'discover.mostPlayedIn' => ({required Object library}) => '${library}で最も再生', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'あらすじ', 'discover.cast' => 'キャスト', @@ -2671,6 +2717,9 @@ extension on TranslationsJa { 'libraries.groupings.shows' => 'テレビ番組', 'libraries.groupings.seasons' => 'シーズン', 'libraries.groupings.episodes' => 'エピソード', + 'libraries.groupings.artists' => 'アーティスト', + 'libraries.groupings.albums' => 'アルバム', + 'libraries.groupings.tracks' => '曲', 'libraries.groupings.folders' => 'フォルダ', 'libraries.filterCategories.genre' => 'ジャンル', 'libraries.filterCategories.year' => '年', @@ -2832,6 +2881,29 @@ extension on TranslationsJa { 'playlists.errorAdding' => 'プレイリストへの追加に失敗しました', 'playlists.errorReordering' => 'プレイリストアイテムの並べ替えに失敗しました', 'playlists.errorRemoving' => 'プレイリストからの削除に失敗しました', + 'music.goToAlbum' => 'アルバムへ移動', + 'music.goToArtist' => 'アーティストへ移動', + 'music.instantMix' => 'インスタントミックス', + 'music.playNext' => '次に再生', + 'music.addToQueue' => 'キューに追加', + 'music.discNumber' => ({required Object n}) => 'ディスク ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ja'))(n, other: '${n} 曲', ), + 'music.nowPlaying' => '再生中', + 'music.playingFrom' => ({required Object title}) => '${title} から再生', + 'music.queue' => '再生キュー', + 'music.upNext' => '次はこちら', + 'music.clearQueue' => 'キューをクリア', + 'music.lyrics' => '歌詞', + 'music.noLyrics' => '歌詞がありません', + 'music.sleepTimer' => 'スリープタイマー', + 'music.sleepTimerEndOfTrack' => '曲の終わり', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} 分', + 'music.stopPlayback' => '再生を停止', + 'music.previousTrack' => '前の曲', + 'music.nextTrack' => '次の曲', + 'music.repeat' => 'リピート', + 'music.repeatAll' => '全曲リピート', + 'music.repeatOne' => '1曲リピート', 'watchTogether.title' => '一緒に見る', 'watchTogether.description' => '友達や家族と同期してコンテンツを視聴', 'watchTogether.createSession' => 'セッションを作成', @@ -2896,6 +2968,8 @@ extension on TranslationsJa { 'downloads.manage' => '管理', 'downloads.tvShows' => 'テレビ番組', 'downloads.movies' => '映画', + 'downloads.music' => '音楽', + 'downloads.tracksQueued' => ({required Object count}) => '${count} 曲をダウンロード待機中', 'downloads.noDownloads' => 'ダウンロードなし', 'downloads.noDownloadsDescription' => 'ダウンロードしたコンテンツはここに表示され、オフラインで視聴できます', 'downloads.downloadNow' => 'ダウンロード', @@ -2947,6 +3021,8 @@ extension on TranslationsJa { 'downloads.noSyncRules' => '同期ルールなし', 'downloads.manageSyncRule' => '同期を管理', 'downloads.editEpisodeCount' => 'エピソード数', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => '同期フィルター', 'downloads.syncAllItems' => 'すべてのアイテムを同期中', 'downloads.syncUnwatchedItems' => '未視聴のアイテムを同期中', @@ -2978,8 +3054,6 @@ extension on TranslationsJa { 'companionRemote.session.startingServer' => 'リモートサーバーを起動中...', 'companionRemote.session.failedToCreate' => 'リモートサーバーの起動に失敗しました:', 'companionRemote.session.hostAddress' => 'ホストアドレス', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => '接続済み', 'companionRemote.session.serverRunning' => 'リモートサーバー稼働中', 'companionRemote.session.serverStopped' => 'リモートサーバー停止中', diff --git a/lib/i18n/strings_ko.g.dart b/lib/i18n/strings_ko.g.dart index 38b1160a..2b4e0ad7 100644 --- a/lib/i18n/strings_ko.g.dart +++ b/lib/i18n/strings_ko.g.dart @@ -72,6 +72,7 @@ class TranslationsKo extends Translations with BaseTranslations '${library}의 다음 에피소드'; @override String get recentlyAdded => '최근에 추가됨'; @override String recentlyAddedIn({required Object library}) => '${library}에 최근에 추가됨'; + @override String latestAlbumsIn({required Object library}) => '${library}의 최신 앨범'; + @override String recentlyPlayedIn({required Object library}) => '${library}에서 최근 재생'; + @override String mostPlayedIn({required Object library}) => '${library}에서 가장 많이 재생'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => '개요'; @override String get cast => '출연진'; @@ -1199,6 +1203,40 @@ class _TranslationsPlaylistsKo extends TranslationsPlaylistsEn { @override String get errorRemoving => '재생 목록에서 제거 실패'; } +// Path: music +class _TranslationsMusicKo extends TranslationsMusicEn { + _TranslationsMusicKo._(TranslationsKo root) : this._root = root, super.internal(root); + + final TranslationsKo _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => '앨범으로 이동'; + @override String get goToArtist => '아티스트로 이동'; + @override String get instantMix => '인스턴트 믹스'; + @override String get playNext => '다음에 재생'; + @override String get addToQueue => '대기열에 추가'; + @override String discNumber({required Object n}) => '디스크 ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n, + other: '${n}곡', + ); + @override String get nowPlaying => '재생 중'; + @override String playingFrom({required Object title}) => '${title}에서 재생 중'; + @override String get queue => '재생 대기열'; + @override String get upNext => '다음 항목'; + @override String get clearQueue => '대기열 비우기'; + @override String get lyrics => '가사'; + @override String get noLyrics => '가사 없음'; + @override String get sleepTimer => '취침 타이머'; + @override String get sleepTimerEndOfTrack => '곡 종료 시'; + @override String sleepTimerMinutes({required Object n}) => '${n}분'; + @override String get stopPlayback => '재생 중지'; + @override String get previousTrack => '이전 곡'; + @override String get nextTrack => '다음 곡'; + @override String get repeat => '반복'; + @override String get repeatAll => '전체 반복'; + @override String get repeatOne => '한 곡 반복'; +} + // Path: watchTogether class _TranslationsWatchTogetherKo extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherKo._(TranslationsKo root) : this._root = root, super.internal(root); @@ -1279,6 +1317,8 @@ class _TranslationsDownloadsKo extends TranslationsDownloadsEn { @override String get manage => '관리'; @override String get tvShows => 'TV 프로그램'; @override String get movies => '영화'; + @override String get music => '음악'; + @override String tracksQueued({required Object count}) => '${count}곡 다운로드 대기 중'; @override String get noDownloads => '다운로드 없음'; @override String get noDownloadsDescription => '다운로드한 콘텐츠는 오프라인 시청을 위해 여기에 표시됩니다'; @override String get downloadNow => '다운로드'; @@ -1741,6 +1781,9 @@ class _TranslationsLibrariesGroupingsKo extends TranslationsLibrariesGroupingsEn @override String get shows => 'TV 프로그램'; @override String get seasons => '시즌'; @override String get episodes => '화'; + @override String get artists => '아티스트'; + @override String get albums => '앨범'; + @override String get tracks => '트랙'; @override String get folders => '폴더'; } @@ -2599,6 +2642,9 @@ extension on TranslationsKo { 'discover.nextUpIn' => ({required Object library}) => '${library}의 다음 에피소드', 'discover.recentlyAdded' => '최근에 추가됨', 'discover.recentlyAddedIn' => ({required Object library}) => '${library}에 최근에 추가됨', + 'discover.latestAlbumsIn' => ({required Object library}) => '${library}의 최신 앨범', + 'discover.recentlyPlayedIn' => ({required Object library}) => '${library}에서 최근 재생', + 'discover.mostPlayedIn' => ({required Object library}) => '${library}에서 가장 많이 재생', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => '개요', 'discover.cast' => '출연진', @@ -2671,6 +2717,9 @@ extension on TranslationsKo { 'libraries.groupings.shows' => 'TV 프로그램', 'libraries.groupings.seasons' => '시즌', 'libraries.groupings.episodes' => '화', + 'libraries.groupings.artists' => '아티스트', + 'libraries.groupings.albums' => '앨범', + 'libraries.groupings.tracks' => '트랙', 'libraries.groupings.folders' => '폴더', 'libraries.filterCategories.genre' => '장르', 'libraries.filterCategories.year' => '연도', @@ -2832,6 +2881,29 @@ extension on TranslationsKo { 'playlists.errorAdding' => '재생 목록에 추가 실패', 'playlists.errorReordering' => '재생 목록 항목 재정렬 실패', 'playlists.errorRemoving' => '재생 목록에서 제거 실패', + 'music.goToAlbum' => '앨범으로 이동', + 'music.goToArtist' => '아티스트로 이동', + 'music.instantMix' => '인스턴트 믹스', + 'music.playNext' => '다음에 재생', + 'music.addToQueue' => '대기열에 추가', + 'music.discNumber' => ({required Object n}) => '디스크 ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ko'))(n, other: '${n}곡', ), + 'music.nowPlaying' => '재생 중', + 'music.playingFrom' => ({required Object title}) => '${title}에서 재생 중', + 'music.queue' => '재생 대기열', + 'music.upNext' => '다음 항목', + 'music.clearQueue' => '대기열 비우기', + 'music.lyrics' => '가사', + 'music.noLyrics' => '가사 없음', + 'music.sleepTimer' => '취침 타이머', + 'music.sleepTimerEndOfTrack' => '곡 종료 시', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n}분', + 'music.stopPlayback' => '재생 중지', + 'music.previousTrack' => '이전 곡', + 'music.nextTrack' => '다음 곡', + 'music.repeat' => '반복', + 'music.repeatAll' => '전체 반복', + 'music.repeatOne' => '한 곡 반복', 'watchTogether.title' => '함께 보기', 'watchTogether.description' => '친구 및 가족과 콘텐츠를 동시에 시청하세요', 'watchTogether.createSession' => '세션 생성', @@ -2896,6 +2968,8 @@ extension on TranslationsKo { 'downloads.manage' => '관리', 'downloads.tvShows' => 'TV 프로그램', 'downloads.movies' => '영화', + 'downloads.music' => '음악', + 'downloads.tracksQueued' => ({required Object count}) => '${count}곡 다운로드 대기 중', 'downloads.noDownloads' => '다운로드 없음', 'downloads.noDownloadsDescription' => '다운로드한 콘텐츠는 오프라인 시청을 위해 여기에 표시됩니다', 'downloads.downloadNow' => '다운로드', @@ -2947,6 +3021,8 @@ extension on TranslationsKo { 'downloads.noSyncRules' => '동기화 규칙 없음', 'downloads.manageSyncRule' => '동기화 관리', 'downloads.editEpisodeCount' => '에피소드 수', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => '동기화 필터', 'downloads.syncAllItems' => '모든 항목 동기화 중', 'downloads.syncUnwatchedItems' => '시청하지 않은 항목 동기화 중', @@ -2978,8 +3054,6 @@ extension on TranslationsKo { 'companionRemote.session.startingServer' => '원격 서버 시작 중...', 'companionRemote.session.failedToCreate' => '원격 서버를 시작하지 못했습니다:', 'companionRemote.session.hostAddress' => '호스트 주소', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => '연결됨', 'companionRemote.session.serverRunning' => '원격 서버 활성', 'companionRemote.session.serverStopped' => '원격 서버 중지됨', diff --git a/lib/i18n/strings_nb.g.dart b/lib/i18n/strings_nb.g.dart index fe27b1b6..9e7eb0fc 100644 --- a/lib/i18n/strings_nb.g.dart +++ b/lib/i18n/strings_nb.g.dart @@ -72,6 +72,7 @@ class TranslationsNb extends Translations with BaseTranslations 'Neste opp i ${library}'; @override String get recentlyAdded => 'Nylig lagt til'; @override String recentlyAddedIn({required Object library}) => 'Nylig lagt til i ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Nyeste album i ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Nylig spilt i ${library}'; + @override String mostPlayedIn({required Object library}) => 'Mest spilt i ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Oversikt'; @override String get cast => 'Skuespillere'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsNb extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Kunne ikke fjerne fra spilleliste'; } +// Path: music +class _TranslationsMusicNb extends TranslationsMusicEn { + _TranslationsMusicNb._(TranslationsNb root) : this._root = root, super.internal(root); + + final TranslationsNb _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Gå til album'; + @override String get goToArtist => 'Gå til artist'; + @override String get instantMix => 'Direktemiks'; + @override String get playNext => 'Spill neste'; + @override String get addToQueue => 'Legg til i kø'; + @override String discNumber({required Object n}) => 'Plate ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nb'))(n, + one: '${n} spor', + other: '${n} spor', + ); + @override String get nowPlaying => 'Spilles nå'; + @override String playingFrom({required Object title}) => 'Spiller fra ${title}'; + @override String get queue => 'Kø'; + @override String get upNext => 'Neste i køen'; + @override String get clearQueue => 'Tøm kø'; + @override String get lyrics => 'Sangtekst'; + @override String get noLyrics => 'Ingen sangtekst tilgjengelig'; + @override String get sleepTimer => 'Innsovningstimer'; + @override String get sleepTimerEndOfTrack => 'Slutten av sporet'; + @override String sleepTimerMinutes({required Object n}) => '${n} minutter'; + @override String get stopPlayback => 'Stopp avspilling'; + @override String get previousTrack => 'Forrige spor'; + @override String get nextTrack => 'Neste spor'; + @override String get repeat => 'Gjenta'; + @override String get repeatAll => 'Gjenta alle'; + @override String get repeatOne => 'Gjenta ett spor'; +} + // Path: watchTogether class _TranslationsWatchTogetherNb extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherNb._(TranslationsNb root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsNb extends TranslationsDownloadsEn { @override String get manage => 'Administrer'; @override String get tvShows => 'TV-serier'; @override String get movies => 'Filmer'; + @override String get music => 'Musikk'; + @override String tracksQueued({required Object count}) => '${count} spor i nedlastingskø'; @override String get noDownloads => 'Ingen nedlastinger ennå'; @override String get noDownloadsDescription => 'Nedlastet innhold vil vises her for frakoblet visning'; @override String get downloadNow => 'Last ned'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsNb extends TranslationsLibrariesGroupingsEn @override String get shows => 'TV-serier'; @override String get seasons => 'Sesonger'; @override String get episodes => 'Episoder'; + @override String get artists => 'Artister'; + @override String get albums => 'Album'; + @override String get tracks => 'Spor'; @override String get folders => 'Mapper'; } @@ -2599,6 +2643,9 @@ extension on TranslationsNb { 'discover.nextUpIn' => ({required Object library}) => 'Neste opp i ${library}', 'discover.recentlyAdded' => 'Nylig lagt til', 'discover.recentlyAddedIn' => ({required Object library}) => 'Nylig lagt til i ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Nyeste album i ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Nylig spilt i ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Mest spilt i ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Oversikt', 'discover.cast' => 'Skuespillere', @@ -2671,6 +2718,9 @@ extension on TranslationsNb { 'libraries.groupings.shows' => 'TV-serier', 'libraries.groupings.seasons' => 'Sesonger', 'libraries.groupings.episodes' => 'Episoder', + 'libraries.groupings.artists' => 'Artister', + 'libraries.groupings.albums' => 'Album', + 'libraries.groupings.tracks' => 'Spor', 'libraries.groupings.folders' => 'Mapper', 'libraries.filterCategories.genre' => 'Sjanger', 'libraries.filterCategories.year' => 'År', @@ -2832,6 +2882,29 @@ extension on TranslationsNb { 'playlists.errorAdding' => 'Kunne ikke legge til i spilleliste', 'playlists.errorReordering' => 'Kunne ikke omorganisere spillelisteelement', 'playlists.errorRemoving' => 'Kunne ikke fjerne fra spilleliste', + 'music.goToAlbum' => 'Gå til album', + 'music.goToArtist' => 'Gå til artist', + 'music.instantMix' => 'Direktemiks', + 'music.playNext' => 'Spill neste', + 'music.addToQueue' => 'Legg til i kø', + 'music.discNumber' => ({required Object n}) => 'Plate ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nb'))(n, one: '${n} spor', other: '${n} spor', ), + 'music.nowPlaying' => 'Spilles nå', + 'music.playingFrom' => ({required Object title}) => 'Spiller fra ${title}', + 'music.queue' => 'Kø', + 'music.upNext' => 'Neste i køen', + 'music.clearQueue' => 'Tøm kø', + 'music.lyrics' => 'Sangtekst', + 'music.noLyrics' => 'Ingen sangtekst tilgjengelig', + 'music.sleepTimer' => 'Innsovningstimer', + 'music.sleepTimerEndOfTrack' => 'Slutten av sporet', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minutter', + 'music.stopPlayback' => 'Stopp avspilling', + 'music.previousTrack' => 'Forrige spor', + 'music.nextTrack' => 'Neste spor', + 'music.repeat' => 'Gjenta', + 'music.repeatAll' => 'Gjenta alle', + 'music.repeatOne' => 'Gjenta ett spor', 'watchTogether.title' => 'Se sammen', 'watchTogether.description' => 'Se innhold synkronisert med venner og familie', 'watchTogether.createSession' => 'Opprett økt', @@ -2896,6 +2969,8 @@ extension on TranslationsNb { 'downloads.manage' => 'Administrer', 'downloads.tvShows' => 'TV-serier', 'downloads.movies' => 'Filmer', + 'downloads.music' => 'Musikk', + 'downloads.tracksQueued' => ({required Object count}) => '${count} spor i nedlastingskø', 'downloads.noDownloads' => 'Ingen nedlastinger ennå', 'downloads.noDownloadsDescription' => 'Nedlastet innhold vil vises her for frakoblet visning', 'downloads.downloadNow' => 'Last ned', @@ -2947,6 +3022,8 @@ extension on TranslationsNb { 'downloads.noSyncRules' => 'Ingen synkroniseringsregler', 'downloads.manageSyncRule' => 'Administrer synkronisering', 'downloads.editEpisodeCount' => 'Antall episoder', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Synkroniseringsfilter', 'downloads.syncAllItems' => 'Synkroniserer alle elementer', 'downloads.syncUnwatchedItems' => 'Synkroniserer usette elementer', @@ -2978,8 +3055,6 @@ extension on TranslationsNb { 'companionRemote.session.startingServer' => 'Starter fjernserver...', 'companionRemote.session.failedToCreate' => 'Kunne ikke starte fjernserver:', 'companionRemote.session.hostAddress' => 'Vertsadresse', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Tilkoblet', 'companionRemote.session.serverRunning' => 'Fjernserver aktiv', 'companionRemote.session.serverStopped' => 'Fjernserver stoppet', diff --git a/lib/i18n/strings_nl.g.dart b/lib/i18n/strings_nl.g.dart index 6ad49968..7b9d0fb1 100644 --- a/lib/i18n/strings_nl.g.dart +++ b/lib/i18n/strings_nl.g.dart @@ -72,6 +72,7 @@ class TranslationsNl extends Translations with BaseTranslations 'Volgende in ${library}'; @override String get recentlyAdded => 'Recent toegevoegd'; @override String recentlyAddedIn({required Object library}) => 'Recent toegevoegd in ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Nieuwste albums in ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Onlangs afgespeeld in ${library}'; + @override String mostPlayedIn({required Object library}) => 'Meest afgespeeld in ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Overzicht'; @override String get cast => 'Acteurs'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsNl extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Fout bij verwijderen uit afspeellijst'; } +// Path: music +class _TranslationsMusicNl extends TranslationsMusicEn { + _TranslationsMusicNl._(TranslationsNl root) : this._root = root, super.internal(root); + + final TranslationsNl _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Ga naar album'; + @override String get goToArtist => 'Ga naar artiest'; + @override String get instantMix => 'Instant Mix'; + @override String get playNext => 'Hierna afspelen'; + @override String get addToQueue => 'Toevoegen aan wachtrij'; + @override String discNumber({required Object n}) => 'Schijf ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nl'))(n, + one: '${n} nummer', + other: '${n} nummers', + ); + @override String get nowPlaying => 'Nu afspelen'; + @override String playingFrom({required Object title}) => 'Afspelen vanaf ${title}'; + @override String get queue => 'Wachtrij'; + @override String get upNext => 'Volgende nummers'; + @override String get clearQueue => 'Wachtrij wissen'; + @override String get lyrics => 'Songtekst'; + @override String get noLyrics => 'Geen songtekst beschikbaar'; + @override String get sleepTimer => 'Slaaptimer'; + @override String get sleepTimerEndOfTrack => 'Einde van nummer'; + @override String sleepTimerMinutes({required Object n}) => '${n} minuten'; + @override String get stopPlayback => 'Afspelen stoppen'; + @override String get previousTrack => 'Vorig nummer'; + @override String get nextTrack => 'Volgend nummer'; + @override String get repeat => 'Herhalen'; + @override String get repeatAll => 'Alles herhalen'; + @override String get repeatOne => 'Eén herhalen'; +} + // Path: watchTogether class _TranslationsWatchTogetherNl extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherNl._(TranslationsNl root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsNl extends TranslationsDownloadsEn { @override String get manage => 'Beheren'; @override String get tvShows => 'Series'; @override String get movies => 'Films'; + @override String get music => 'Muziek'; + @override String tracksQueued({required Object count}) => '${count} nummers in wachtrij voor download'; @override String get noDownloads => 'Nog geen downloads'; @override String get noDownloadsDescription => 'Gedownloade content verschijnt hier voor offline weergave'; @override String get downloadNow => 'Download'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsNl extends TranslationsLibrariesGroupingsEn @override String get shows => 'Series'; @override String get seasons => 'Seizoenen'; @override String get episodes => 'Afleveringen'; + @override String get artists => 'Artiesten'; + @override String get albums => 'Albums'; + @override String get tracks => 'Nummers'; @override String get folders => 'Mappen'; } @@ -2599,6 +2643,9 @@ extension on TranslationsNl { 'discover.nextUpIn' => ({required Object library}) => 'Volgende in ${library}', 'discover.recentlyAdded' => 'Recent toegevoegd', 'discover.recentlyAddedIn' => ({required Object library}) => 'Recent toegevoegd in ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Nieuwste albums in ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Onlangs afgespeeld in ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Meest afgespeeld in ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Overzicht', 'discover.cast' => 'Acteurs', @@ -2671,6 +2718,9 @@ extension on TranslationsNl { 'libraries.groupings.shows' => 'Series', 'libraries.groupings.seasons' => 'Seizoenen', 'libraries.groupings.episodes' => 'Afleveringen', + 'libraries.groupings.artists' => 'Artiesten', + 'libraries.groupings.albums' => 'Albums', + 'libraries.groupings.tracks' => 'Nummers', 'libraries.groupings.folders' => 'Mappen', 'libraries.filterCategories.genre' => 'Genre', 'libraries.filterCategories.year' => 'Jaar', @@ -2832,6 +2882,29 @@ extension on TranslationsNl { 'playlists.errorAdding' => 'Fout bij toevoegen aan afspeellijst', 'playlists.errorReordering' => 'Fout bij herschikken van afspeellijstitem', 'playlists.errorRemoving' => 'Fout bij verwijderen uit afspeellijst', + 'music.goToAlbum' => 'Ga naar album', + 'music.goToArtist' => 'Ga naar artiest', + 'music.instantMix' => 'Instant Mix', + 'music.playNext' => 'Hierna afspelen', + 'music.addToQueue' => 'Toevoegen aan wachtrij', + 'music.discNumber' => ({required Object n}) => 'Schijf ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('nl'))(n, one: '${n} nummer', other: '${n} nummers', ), + 'music.nowPlaying' => 'Nu afspelen', + 'music.playingFrom' => ({required Object title}) => 'Afspelen vanaf ${title}', + 'music.queue' => 'Wachtrij', + 'music.upNext' => 'Volgende nummers', + 'music.clearQueue' => 'Wachtrij wissen', + 'music.lyrics' => 'Songtekst', + 'music.noLyrics' => 'Geen songtekst beschikbaar', + 'music.sleepTimer' => 'Slaaptimer', + 'music.sleepTimerEndOfTrack' => 'Einde van nummer', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minuten', + 'music.stopPlayback' => 'Afspelen stoppen', + 'music.previousTrack' => 'Vorig nummer', + 'music.nextTrack' => 'Volgend nummer', + 'music.repeat' => 'Herhalen', + 'music.repeatAll' => 'Alles herhalen', + 'music.repeatOne' => 'Eén herhalen', 'watchTogether.title' => 'Samen Kijken', 'watchTogether.description' => 'Kijk synchroon met vrienden en familie', 'watchTogether.createSession' => 'Sessie Maken', @@ -2896,6 +2969,8 @@ extension on TranslationsNl { 'downloads.manage' => 'Beheren', 'downloads.tvShows' => 'Series', 'downloads.movies' => 'Films', + 'downloads.music' => 'Muziek', + 'downloads.tracksQueued' => ({required Object count}) => '${count} nummers in wachtrij voor download', 'downloads.noDownloads' => 'Nog geen downloads', 'downloads.noDownloadsDescription' => 'Gedownloade content verschijnt hier voor offline weergave', 'downloads.downloadNow' => 'Download', @@ -2947,6 +3022,8 @@ extension on TranslationsNl { 'downloads.noSyncRules' => 'Geen synchronisatieregels', 'downloads.manageSyncRule' => 'Synchronisatie beheren', 'downloads.editEpisodeCount' => 'Aantal afleveringen', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Synchronisatiefilter', 'downloads.syncAllItems' => 'Alle items synchroniseren', 'downloads.syncUnwatchedItems' => 'Ongekeken items synchroniseren', @@ -2978,8 +3055,6 @@ extension on TranslationsNl { 'companionRemote.session.startingServer' => 'Externe server starten...', 'companionRemote.session.failedToCreate' => 'Kan externe server niet starten:', 'companionRemote.session.hostAddress' => 'Hostadres', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Verbonden', 'companionRemote.session.serverRunning' => 'Externe server actief', 'companionRemote.session.serverStopped' => 'Externe server gestopt', diff --git a/lib/i18n/strings_pl.g.dart b/lib/i18n/strings_pl.g.dart index f639733a..819f5e87 100644 --- a/lib/i18n/strings_pl.g.dart +++ b/lib/i18n/strings_pl.g.dart @@ -72,6 +72,7 @@ class TranslationsPl extends Translations with BaseTranslations 'Następny odcinek w ${library}'; @override String get recentlyAdded => 'Ostatnio dodane'; @override String recentlyAddedIn({required Object library}) => 'Ostatnio dodane w ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Najnowsze albumy w ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Ostatnio odtwarzane w ${library}'; + @override String mostPlayedIn({required Object library}) => 'Najczęściej odtwarzane w ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Opis'; @override String get cast => 'Obsada'; @@ -1199,6 +1203,43 @@ class _TranslationsPlaylistsPl extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Nie udało się usunąć z playlisty'; } +// Path: music +class _TranslationsMusicPl extends TranslationsMusicEn { + _TranslationsMusicPl._(TranslationsPl root) : this._root = root, super.internal(root); + + final TranslationsPl _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Przejdź do albumu'; + @override String get goToArtist => 'Przejdź do wykonawcy'; + @override String get instantMix => 'Błyskawiczny miks'; + @override String get playNext => 'Odtwórz następny'; + @override String get addToQueue => 'Dodaj do kolejki'; + @override String discNumber({required Object n}) => 'Płyta ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pl'))(n, + one: '${n} utwór', + few: '${n} utwory', + many: '${n} utworów', + other: '${n} utworu', + ); + @override String get nowPlaying => 'Teraz odtwarzane'; + @override String playingFrom({required Object title}) => 'Odtwarzanie z ${title}'; + @override String get queue => 'Kolejka'; + @override String get upNext => 'Następne'; + @override String get clearQueue => 'Wyczyść kolejkę'; + @override String get lyrics => 'Tekst'; + @override String get noLyrics => 'Brak dostępnego tekstu'; + @override String get sleepTimer => 'Wyłącznik czasowy'; + @override String get sleepTimerEndOfTrack => 'Koniec utworu'; + @override String sleepTimerMinutes({required Object n}) => '${n} minut'; + @override String get stopPlayback => 'Zatrzymaj odtwarzanie'; + @override String get previousTrack => 'Poprzedni utwór'; + @override String get nextTrack => 'Następny utwór'; + @override String get repeat => 'Powtarzaj'; + @override String get repeatAll => 'Powtarzaj wszystko'; + @override String get repeatOne => 'Powtarzaj jeden'; +} + // Path: watchTogether class _TranslationsWatchTogetherPl extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherPl._(TranslationsPl root) : this._root = root, super.internal(root); @@ -1279,6 +1320,8 @@ class _TranslationsDownloadsPl extends TranslationsDownloadsEn { @override String get manage => 'Zarządzaj'; @override String get tvShows => 'Seriale TV'; @override String get movies => 'Filmy'; + @override String get music => 'Muzyka'; + @override String tracksQueued({required Object count}) => '${count} utworów w kolejce do pobrania'; @override String get noDownloads => 'Brak pobrań'; @override String get noDownloadsDescription => 'Pobrane treści pojawią się tutaj do oglądania offline'; @override String get downloadNow => 'Pobierz'; @@ -1741,6 +1784,9 @@ class _TranslationsLibrariesGroupingsPl extends TranslationsLibrariesGroupingsEn @override String get shows => 'Seriale TV'; @override String get seasons => 'Sezony'; @override String get episodes => 'Odcinki'; + @override String get artists => 'Wykonawcy'; + @override String get albums => 'Albumy'; + @override String get tracks => 'Utwory'; @override String get folders => 'Foldery'; } @@ -2599,6 +2645,9 @@ extension on TranslationsPl { 'discover.nextUpIn' => ({required Object library}) => 'Następny odcinek w ${library}', 'discover.recentlyAdded' => 'Ostatnio dodane', 'discover.recentlyAddedIn' => ({required Object library}) => 'Ostatnio dodane w ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Najnowsze albumy w ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Ostatnio odtwarzane w ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Najczęściej odtwarzane w ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Opis', 'discover.cast' => 'Obsada', @@ -2671,6 +2720,9 @@ extension on TranslationsPl { 'libraries.groupings.shows' => 'Seriale TV', 'libraries.groupings.seasons' => 'Sezony', 'libraries.groupings.episodes' => 'Odcinki', + 'libraries.groupings.artists' => 'Wykonawcy', + 'libraries.groupings.albums' => 'Albumy', + 'libraries.groupings.tracks' => 'Utwory', 'libraries.groupings.folders' => 'Foldery', 'libraries.filterCategories.genre' => 'Gatunek', 'libraries.filterCategories.year' => 'Rok', @@ -2832,6 +2884,29 @@ extension on TranslationsPl { 'playlists.errorAdding' => 'Nie udało się dodać do playlisty', 'playlists.errorReordering' => 'Nie udało się zmienić kolejności elementu playlisty', 'playlists.errorRemoving' => 'Nie udało się usunąć z playlisty', + 'music.goToAlbum' => 'Przejdź do albumu', + 'music.goToArtist' => 'Przejdź do wykonawcy', + 'music.instantMix' => 'Błyskawiczny miks', + 'music.playNext' => 'Odtwórz następny', + 'music.addToQueue' => 'Dodaj do kolejki', + 'music.discNumber' => ({required Object n}) => 'Płyta ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pl'))(n, one: '${n} utwór', few: '${n} utwory', many: '${n} utworów', other: '${n} utworu', ), + 'music.nowPlaying' => 'Teraz odtwarzane', + 'music.playingFrom' => ({required Object title}) => 'Odtwarzanie z ${title}', + 'music.queue' => 'Kolejka', + 'music.upNext' => 'Następne', + 'music.clearQueue' => 'Wyczyść kolejkę', + 'music.lyrics' => 'Tekst', + 'music.noLyrics' => 'Brak dostępnego tekstu', + 'music.sleepTimer' => 'Wyłącznik czasowy', + 'music.sleepTimerEndOfTrack' => 'Koniec utworu', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minut', + 'music.stopPlayback' => 'Zatrzymaj odtwarzanie', + 'music.previousTrack' => 'Poprzedni utwór', + 'music.nextTrack' => 'Następny utwór', + 'music.repeat' => 'Powtarzaj', + 'music.repeatAll' => 'Powtarzaj wszystko', + 'music.repeatOne' => 'Powtarzaj jeden', 'watchTogether.title' => 'Oglądaj razem', 'watchTogether.description' => 'Oglądaj treści zsynchronizowane z przyjaciółmi i rodziną', 'watchTogether.createSession' => 'Utwórz sesję', @@ -2896,6 +2971,8 @@ extension on TranslationsPl { 'downloads.manage' => 'Zarządzaj', 'downloads.tvShows' => 'Seriale TV', 'downloads.movies' => 'Filmy', + 'downloads.music' => 'Muzyka', + 'downloads.tracksQueued' => ({required Object count}) => '${count} utworów w kolejce do pobrania', 'downloads.noDownloads' => 'Brak pobrań', 'downloads.noDownloadsDescription' => 'Pobrane treści pojawią się tutaj do oglądania offline', 'downloads.downloadNow' => 'Pobierz', @@ -2947,6 +3024,8 @@ extension on TranslationsPl { 'downloads.noSyncRules' => 'Brak reguł synchronizacji', 'downloads.manageSyncRule' => 'Zarządzaj synchronizacją', 'downloads.editEpisodeCount' => 'Liczba odcinków', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Filtr synchronizacji', 'downloads.syncAllItems' => 'Synchronizuję wszystkie elementy', 'downloads.syncUnwatchedItems' => 'Synchronizuję nieobejrzane elementy', @@ -2978,8 +3057,6 @@ extension on TranslationsPl { 'companionRemote.session.startingServer' => 'Uruchamianie serwera zdalnego...', 'companionRemote.session.failedToCreate' => 'Nie udało się uruchomić serwera zdalnego:', 'companionRemote.session.hostAddress' => 'Adres hosta', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Połączono', 'companionRemote.session.serverRunning' => 'Serwer zdalny aktywny', 'companionRemote.session.serverStopped' => 'Serwer zdalny zatrzymany', diff --git a/lib/i18n/strings_pt.g.dart b/lib/i18n/strings_pt.g.dart index d8dd07a1..a04692b7 100644 --- a/lib/i18n/strings_pt.g.dart +++ b/lib/i18n/strings_pt.g.dart @@ -72,6 +72,7 @@ class TranslationsPt extends Translations with BaseTranslations 'A seguir em ${library}'; @override String get recentlyAdded => 'Adicionados recentemente'; @override String recentlyAddedIn({required Object library}) => 'Adicionados recentemente em ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Álbuns mais recentes em ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Reproduzidos recentemente em ${library}'; + @override String mostPlayedIn({required Object library}) => 'Mais reproduzidos em ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Sinopse'; @override String get cast => 'Elenco'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsPt extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Falha ao remover da playlist'; } +// Path: music +class _TranslationsMusicPt extends TranslationsMusicEn { + _TranslationsMusicPt._(TranslationsPt root) : this._root = root, super.internal(root); + + final TranslationsPt _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Ir para o álbum'; + @override String get goToArtist => 'Ir para o artista'; + @override String get instantMix => 'Mix instantâneo'; + @override String get playNext => 'Reproduzir a seguir'; + @override String get addToQueue => 'Adicionar à fila'; + @override String discNumber({required Object n}) => 'Disco ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pt'))(n, + one: '${n} faixa', + other: '${n} faixas', + ); + @override String get nowPlaying => 'Reproduzindo agora'; + @override String playingFrom({required Object title}) => 'Reproduzindo de ${title}'; + @override String get queue => 'Fila'; + @override String get upNext => 'A seguir'; + @override String get clearQueue => 'Limpar fila'; + @override String get lyrics => 'Letra'; + @override String get noLyrics => 'Nenhuma letra disponível'; + @override String get sleepTimer => 'Temporizador de suspensão'; + @override String get sleepTimerEndOfTrack => 'Fim da faixa'; + @override String sleepTimerMinutes({required Object n}) => '${n} minutos'; + @override String get stopPlayback => 'Parar reprodução'; + @override String get previousTrack => 'Faixa anterior'; + @override String get nextTrack => 'Próxima faixa'; + @override String get repeat => 'Repetir'; + @override String get repeatAll => 'Repetir tudo'; + @override String get repeatOne => 'Repetir uma'; +} + // Path: watchTogether class _TranslationsWatchTogetherPt extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherPt._(TranslationsPt root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsPt extends TranslationsDownloadsEn { @override String get manage => 'Gerenciar'; @override String get tvShows => 'Séries de TV'; @override String get movies => 'Filmes'; + @override String get music => 'Música'; + @override String tracksQueued({required Object count}) => '${count} faixas na fila para download'; @override String get noDownloads => 'Nenhum download ainda'; @override String get noDownloadsDescription => 'Conteúdo baixado aparecerá aqui para visualização offline'; @override String get downloadNow => 'Baixar'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsPt extends TranslationsLibrariesGroupingsEn @override String get shows => 'Séries de TV'; @override String get seasons => 'Temporadas'; @override String get episodes => 'Episódios'; + @override String get artists => 'Artistas'; + @override String get albums => 'Álbuns'; + @override String get tracks => 'Faixas'; @override String get folders => 'Pastas'; } @@ -2599,6 +2643,9 @@ extension on TranslationsPt { 'discover.nextUpIn' => ({required Object library}) => 'A seguir em ${library}', 'discover.recentlyAdded' => 'Adicionados recentemente', 'discover.recentlyAddedIn' => ({required Object library}) => 'Adicionados recentemente em ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Álbuns mais recentes em ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Reproduzidos recentemente em ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Mais reproduzidos em ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Sinopse', 'discover.cast' => 'Elenco', @@ -2671,6 +2718,9 @@ extension on TranslationsPt { 'libraries.groupings.shows' => 'Séries de TV', 'libraries.groupings.seasons' => 'Temporadas', 'libraries.groupings.episodes' => 'Episódios', + 'libraries.groupings.artists' => 'Artistas', + 'libraries.groupings.albums' => 'Álbuns', + 'libraries.groupings.tracks' => 'Faixas', 'libraries.groupings.folders' => 'Pastas', 'libraries.filterCategories.genre' => 'Gênero', 'libraries.filterCategories.year' => 'Ano', @@ -2832,6 +2882,29 @@ extension on TranslationsPt { 'playlists.errorAdding' => 'Falha ao adicionar à playlist', 'playlists.errorReordering' => 'Falha ao reordenar item da playlist', 'playlists.errorRemoving' => 'Falha ao remover da playlist', + 'music.goToAlbum' => 'Ir para o álbum', + 'music.goToArtist' => 'Ir para o artista', + 'music.instantMix' => 'Mix instantâneo', + 'music.playNext' => 'Reproduzir a seguir', + 'music.addToQueue' => 'Adicionar à fila', + 'music.discNumber' => ({required Object n}) => 'Disco ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('pt'))(n, one: '${n} faixa', other: '${n} faixas', ), + 'music.nowPlaying' => 'Reproduzindo agora', + 'music.playingFrom' => ({required Object title}) => 'Reproduzindo de ${title}', + 'music.queue' => 'Fila', + 'music.upNext' => 'A seguir', + 'music.clearQueue' => 'Limpar fila', + 'music.lyrics' => 'Letra', + 'music.noLyrics' => 'Nenhuma letra disponível', + 'music.sleepTimer' => 'Temporizador de suspensão', + 'music.sleepTimerEndOfTrack' => 'Fim da faixa', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minutos', + 'music.stopPlayback' => 'Parar reprodução', + 'music.previousTrack' => 'Faixa anterior', + 'music.nextTrack' => 'Próxima faixa', + 'music.repeat' => 'Repetir', + 'music.repeatAll' => 'Repetir tudo', + 'music.repeatOne' => 'Repetir uma', 'watchTogether.title' => 'Assistir Juntos', 'watchTogether.description' => 'Assista conteúdo sincronizado com amigos e família', 'watchTogether.createSession' => 'Criar Sessão', @@ -2896,6 +2969,8 @@ extension on TranslationsPt { 'downloads.manage' => 'Gerenciar', 'downloads.tvShows' => 'Séries de TV', 'downloads.movies' => 'Filmes', + 'downloads.music' => 'Música', + 'downloads.tracksQueued' => ({required Object count}) => '${count} faixas na fila para download', 'downloads.noDownloads' => 'Nenhum download ainda', 'downloads.noDownloadsDescription' => 'Conteúdo baixado aparecerá aqui para visualização offline', 'downloads.downloadNow' => 'Baixar', @@ -2947,6 +3022,8 @@ extension on TranslationsPt { 'downloads.noSyncRules' => 'Nenhuma regra de sincronização', 'downloads.manageSyncRule' => 'Gerenciar sincronização', 'downloads.editEpisodeCount' => 'Número de episódios', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Filtro de sincronização', 'downloads.syncAllItems' => 'Sincronizando todos os itens', 'downloads.syncUnwatchedItems' => 'Sincronizando itens não vistos', @@ -2978,8 +3055,6 @@ extension on TranslationsPt { 'companionRemote.session.startingServer' => 'A iniciar servidor remoto...', 'companionRemote.session.failedToCreate' => 'Falha ao iniciar o servidor remoto:', 'companionRemote.session.hostAddress' => 'Endereço do host', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Conectado', 'companionRemote.session.serverRunning' => 'Servidor remoto ativo', 'companionRemote.session.serverStopped' => 'Servidor remoto parado', diff --git a/lib/i18n/strings_ru.g.dart b/lib/i18n/strings_ru.g.dart index 30c24cad..da101bb0 100644 --- a/lib/i18n/strings_ru.g.dart +++ b/lib/i18n/strings_ru.g.dart @@ -72,6 +72,7 @@ class TranslationsRu extends Translations with BaseTranslations 'Далее в ${library}'; @override String get recentlyAdded => 'Недавно добавленное'; @override String recentlyAddedIn({required Object library}) => 'Недавно добавленное в ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Последние альбомы в ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Недавно прослушанное в ${library}'; + @override String mostPlayedIn({required Object library}) => 'Часто прослушиваемое в ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Обзор'; @override String get cast => 'В ролях'; @@ -1199,6 +1203,43 @@ class _TranslationsPlaylistsRu extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Не удалось удалить из плейлиста'; } +// Path: music +class _TranslationsMusicRu extends TranslationsMusicEn { + _TranslationsMusicRu._(TranslationsRu root) : this._root = root, super.internal(root); + + final TranslationsRu _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Перейти к альбому'; + @override String get goToArtist => 'Перейти к исполнителю'; + @override String get instantMix => 'Быстрый микс'; + @override String get playNext => 'Воспроизвести следующим'; + @override String get addToQueue => 'Добавить в очередь'; + @override String discNumber({required Object n}) => 'Диск ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ru'))(n, + one: '${n} трек', + few: '${n} трека', + many: '${n} треков', + other: '${n} трека', + ); + @override String get nowPlaying => 'Сейчас играет'; + @override String playingFrom({required Object title}) => 'Воспроизведение из ${title}'; + @override String get queue => 'Очередь'; + @override String get upNext => 'Далее'; + @override String get clearQueue => 'Очистить очередь'; + @override String get lyrics => 'Текст песни'; + @override String get noLyrics => 'Текст песни недоступен'; + @override String get sleepTimer => 'Таймер сна'; + @override String get sleepTimerEndOfTrack => 'Конец трека'; + @override String sleepTimerMinutes({required Object n}) => '${n} минут'; + @override String get stopPlayback => 'Остановить воспроизведение'; + @override String get previousTrack => 'Предыдущий трек'; + @override String get nextTrack => 'Следующий трек'; + @override String get repeat => 'Повтор'; + @override String get repeatAll => 'Повторять все'; + @override String get repeatOne => 'Повторять один'; +} + // Path: watchTogether class _TranslationsWatchTogetherRu extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherRu._(TranslationsRu root) : this._root = root, super.internal(root); @@ -1279,6 +1320,8 @@ class _TranslationsDownloadsRu extends TranslationsDownloadsEn { @override String get manage => 'Управление'; @override String get tvShows => 'Сериалы'; @override String get movies => 'Фильмы'; + @override String get music => 'Музыка'; + @override String tracksQueued({required Object count}) => '${count} треков в очереди на загрузку'; @override String get noDownloads => 'Загрузок пока нет'; @override String get noDownloadsDescription => 'Загруженный контент появится здесь для просмотра офлайн'; @override String get downloadNow => 'Загрузить'; @@ -1741,6 +1784,9 @@ class _TranslationsLibrariesGroupingsRu extends TranslationsLibrariesGroupingsEn @override String get shows => 'Сериалы'; @override String get seasons => 'Сезоны'; @override String get episodes => 'Эпизоды'; + @override String get artists => 'Исполнители'; + @override String get albums => 'Альбомы'; + @override String get tracks => 'Треки'; @override String get folders => 'Папки'; } @@ -2599,6 +2645,9 @@ extension on TranslationsRu { 'discover.nextUpIn' => ({required Object library}) => 'Далее в ${library}', 'discover.recentlyAdded' => 'Недавно добавленное', 'discover.recentlyAddedIn' => ({required Object library}) => 'Недавно добавленное в ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Последние альбомы в ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Недавно прослушанное в ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Часто прослушиваемое в ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Обзор', 'discover.cast' => 'В ролях', @@ -2671,6 +2720,9 @@ extension on TranslationsRu { 'libraries.groupings.shows' => 'Сериалы', 'libraries.groupings.seasons' => 'Сезоны', 'libraries.groupings.episodes' => 'Эпизоды', + 'libraries.groupings.artists' => 'Исполнители', + 'libraries.groupings.albums' => 'Альбомы', + 'libraries.groupings.tracks' => 'Треки', 'libraries.groupings.folders' => 'Папки', 'libraries.filterCategories.genre' => 'Жанр', 'libraries.filterCategories.year' => 'Год', @@ -2832,6 +2884,29 @@ extension on TranslationsRu { 'playlists.errorAdding' => 'Не удалось добавить в плейлист', 'playlists.errorReordering' => 'Не удалось переупорядочить элемент плейлиста', 'playlists.errorRemoving' => 'Не удалось удалить из плейлиста', + 'music.goToAlbum' => 'Перейти к альбому', + 'music.goToArtist' => 'Перейти к исполнителю', + 'music.instantMix' => 'Быстрый микс', + 'music.playNext' => 'Воспроизвести следующим', + 'music.addToQueue' => 'Добавить в очередь', + 'music.discNumber' => ({required Object n}) => 'Диск ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('ru'))(n, one: '${n} трек', few: '${n} трека', many: '${n} треков', other: '${n} трека', ), + 'music.nowPlaying' => 'Сейчас играет', + 'music.playingFrom' => ({required Object title}) => 'Воспроизведение из ${title}', + 'music.queue' => 'Очередь', + 'music.upNext' => 'Далее', + 'music.clearQueue' => 'Очистить очередь', + 'music.lyrics' => 'Текст песни', + 'music.noLyrics' => 'Текст песни недоступен', + 'music.sleepTimer' => 'Таймер сна', + 'music.sleepTimerEndOfTrack' => 'Конец трека', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} минут', + 'music.stopPlayback' => 'Остановить воспроизведение', + 'music.previousTrack' => 'Предыдущий трек', + 'music.nextTrack' => 'Следующий трек', + 'music.repeat' => 'Повтор', + 'music.repeatAll' => 'Повторять все', + 'music.repeatOne' => 'Повторять один', 'watchTogether.title' => 'Смотреть вместе', 'watchTogether.description' => 'Смотрите контент синхронно с друзьями и семьёй', 'watchTogether.createSession' => 'Создать сессию', @@ -2896,6 +2971,8 @@ extension on TranslationsRu { 'downloads.manage' => 'Управление', 'downloads.tvShows' => 'Сериалы', 'downloads.movies' => 'Фильмы', + 'downloads.music' => 'Музыка', + 'downloads.tracksQueued' => ({required Object count}) => '${count} треков в очереди на загрузку', 'downloads.noDownloads' => 'Загрузок пока нет', 'downloads.noDownloadsDescription' => 'Загруженный контент появится здесь для просмотра офлайн', 'downloads.downloadNow' => 'Загрузить', @@ -2947,6 +3024,8 @@ extension on TranslationsRu { 'downloads.noSyncRules' => 'Нет правил синхронизации', 'downloads.manageSyncRule' => 'Управление синхронизацией', 'downloads.editEpisodeCount' => 'Количество эпизодов', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Фильтр синхронизации', 'downloads.syncAllItems' => 'Синхронизация всех элементов', 'downloads.syncUnwatchedItems' => 'Синхронизация непросмотренных элементов', @@ -2978,8 +3057,6 @@ extension on TranslationsRu { 'companionRemote.session.startingServer' => 'Запуск удалённого сервера...', 'companionRemote.session.failedToCreate' => 'Не удалось запустить удалённый сервер:', 'companionRemote.session.hostAddress' => 'Адрес хоста', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Подключено', 'companionRemote.session.serverRunning' => 'Удалённый сервер активен', 'companionRemote.session.serverStopped' => 'Удалённый сервер остановлен', diff --git a/lib/i18n/strings_sv.g.dart b/lib/i18n/strings_sv.g.dart index 0daffdd8..ea54c16e 100644 --- a/lib/i18n/strings_sv.g.dart +++ b/lib/i18n/strings_sv.g.dart @@ -72,6 +72,7 @@ class TranslationsSv extends Translations with BaseTranslations 'Nästa i ${library}'; @override String get recentlyAdded => 'Nyligen tillagda'; @override String recentlyAddedIn({required Object library}) => 'Nyligen tillagda i ${library}'; + @override String latestAlbumsIn({required Object library}) => 'Senaste albumen i ${library}'; + @override String recentlyPlayedIn({required Object library}) => 'Nyligen spelade i ${library}'; + @override String mostPlayedIn({required Object library}) => 'Mest spelade i ${library}'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => 'Översikt'; @override String get cast => 'Rollbesättning'; @@ -1199,6 +1203,41 @@ class _TranslationsPlaylistsSv extends TranslationsPlaylistsEn { @override String get errorRemoving => 'Det gick inte att ta bort från spellista'; } +// Path: music +class _TranslationsMusicSv extends TranslationsMusicEn { + _TranslationsMusicSv._(TranslationsSv root) : this._root = root, super.internal(root); + + final TranslationsSv _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => 'Gå till album'; + @override String get goToArtist => 'Gå till artist'; + @override String get instantMix => 'Snabbmix'; + @override String get playNext => 'Spela härnäst'; + @override String get addToQueue => 'Lägg till i kö'; + @override String discNumber({required Object n}) => 'Skiva ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('sv'))(n, + one: '${n} låt', + other: '${n} låtar', + ); + @override String get nowPlaying => 'Spelas nu'; + @override String playingFrom({required Object title}) => 'Spelar från ${title}'; + @override String get queue => 'Kö'; + @override String get upNext => 'Näst på tur'; + @override String get clearQueue => 'Rensa kön'; + @override String get lyrics => 'Låttext'; + @override String get noLyrics => 'Ingen låttext tillgänglig'; + @override String get sleepTimer => 'Insomningstimer'; + @override String get sleepTimerEndOfTrack => 'Slutet av låten'; + @override String sleepTimerMinutes({required Object n}) => '${n} minuter'; + @override String get stopPlayback => 'Stoppa uppspelning'; + @override String get previousTrack => 'Föregående låt'; + @override String get nextTrack => 'Nästa låt'; + @override String get repeat => 'Upprepa'; + @override String get repeatAll => 'Upprepa alla'; + @override String get repeatOne => 'Upprepa en låt'; +} + // Path: watchTogether class _TranslationsWatchTogetherSv extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherSv._(TranslationsSv root) : this._root = root, super.internal(root); @@ -1279,6 +1318,8 @@ class _TranslationsDownloadsSv extends TranslationsDownloadsEn { @override String get manage => 'Hantera'; @override String get tvShows => 'TV-serier'; @override String get movies => 'Filmer'; + @override String get music => 'Musik'; + @override String tracksQueued({required Object count}) => '${count} låtar i nedladdningskö'; @override String get noDownloads => 'Inga nedladdningar ännu'; @override String get noDownloadsDescription => 'Nedladdat innehåll visas här för offline-visning'; @override String get downloadNow => 'Ladda ner'; @@ -1741,6 +1782,9 @@ class _TranslationsLibrariesGroupingsSv extends TranslationsLibrariesGroupingsEn @override String get shows => 'Serier'; @override String get seasons => 'Säsonger'; @override String get episodes => 'Avsnitt'; + @override String get artists => 'Artister'; + @override String get albums => 'Album'; + @override String get tracks => 'Låtar'; @override String get folders => 'Mappar'; } @@ -2599,6 +2643,9 @@ extension on TranslationsSv { 'discover.nextUpIn' => ({required Object library}) => 'Nästa i ${library}', 'discover.recentlyAdded' => 'Nyligen tillagda', 'discover.recentlyAddedIn' => ({required Object library}) => 'Nyligen tillagda i ${library}', + 'discover.latestAlbumsIn' => ({required Object library}) => 'Senaste albumen i ${library}', + 'discover.recentlyPlayedIn' => ({required Object library}) => 'Nyligen spelade i ${library}', + 'discover.mostPlayedIn' => ({required Object library}) => 'Mest spelade i ${library}', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => 'Översikt', 'discover.cast' => 'Rollbesättning', @@ -2671,6 +2718,9 @@ extension on TranslationsSv { 'libraries.groupings.shows' => 'Serier', 'libraries.groupings.seasons' => 'Säsonger', 'libraries.groupings.episodes' => 'Avsnitt', + 'libraries.groupings.artists' => 'Artister', + 'libraries.groupings.albums' => 'Album', + 'libraries.groupings.tracks' => 'Låtar', 'libraries.groupings.folders' => 'Mappar', 'libraries.filterCategories.genre' => 'Genre', 'libraries.filterCategories.year' => 'År', @@ -2832,6 +2882,29 @@ extension on TranslationsSv { 'playlists.errorAdding' => 'Det gick inte att lägga till i spellista', 'playlists.errorReordering' => 'Det gick inte att omordna spellisteobjekt', 'playlists.errorRemoving' => 'Det gick inte att ta bort från spellista', + 'music.goToAlbum' => 'Gå till album', + 'music.goToArtist' => 'Gå till artist', + 'music.instantMix' => 'Snabbmix', + 'music.playNext' => 'Spela härnäst', + 'music.addToQueue' => 'Lägg till i kö', + 'music.discNumber' => ({required Object n}) => 'Skiva ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('sv'))(n, one: '${n} låt', other: '${n} låtar', ), + 'music.nowPlaying' => 'Spelas nu', + 'music.playingFrom' => ({required Object title}) => 'Spelar från ${title}', + 'music.queue' => 'Kö', + 'music.upNext' => 'Näst på tur', + 'music.clearQueue' => 'Rensa kön', + 'music.lyrics' => 'Låttext', + 'music.noLyrics' => 'Ingen låttext tillgänglig', + 'music.sleepTimer' => 'Insomningstimer', + 'music.sleepTimerEndOfTrack' => 'Slutet av låten', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} minuter', + 'music.stopPlayback' => 'Stoppa uppspelning', + 'music.previousTrack' => 'Föregående låt', + 'music.nextTrack' => 'Nästa låt', + 'music.repeat' => 'Upprepa', + 'music.repeatAll' => 'Upprepa alla', + 'music.repeatOne' => 'Upprepa en låt', 'watchTogether.title' => 'Titta Tillsammans', 'watchTogether.description' => 'Titta på innehåll synkroniserat med vänner och familj', 'watchTogether.createSession' => 'Skapa Session', @@ -2896,6 +2969,8 @@ extension on TranslationsSv { 'downloads.manage' => 'Hantera', 'downloads.tvShows' => 'TV-serier', 'downloads.movies' => 'Filmer', + 'downloads.music' => 'Musik', + 'downloads.tracksQueued' => ({required Object count}) => '${count} låtar i nedladdningskö', 'downloads.noDownloads' => 'Inga nedladdningar ännu', 'downloads.noDownloadsDescription' => 'Nedladdat innehåll visas här för offline-visning', 'downloads.downloadNow' => 'Ladda ner', @@ -2947,6 +3022,8 @@ extension on TranslationsSv { 'downloads.noSyncRules' => 'Inga synkregler', 'downloads.manageSyncRule' => 'Hantera synkronisering', 'downloads.editEpisodeCount' => 'Antal avsnitt', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => 'Synkroniseringsfilter', 'downloads.syncAllItems' => 'Synkroniserar alla objekt', 'downloads.syncUnwatchedItems' => 'Synkroniserar osedda objekt', @@ -2978,8 +3055,6 @@ extension on TranslationsSv { 'companionRemote.session.startingServer' => 'Startar fjärrserver...', 'companionRemote.session.failedToCreate' => 'Kunde inte starta fjärrserver:', 'companionRemote.session.hostAddress' => 'Värdadress', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => 'Ansluten', 'companionRemote.session.serverRunning' => 'Fjärrserver aktiv', 'companionRemote.session.serverStopped' => 'Fjärrserver stoppad', diff --git a/lib/i18n/strings_zh.g.dart b/lib/i18n/strings_zh.g.dart index e9f42698..123b412b 100644 --- a/lib/i18n/strings_zh.g.dart +++ b/lib/i18n/strings_zh.g.dart @@ -72,6 +72,7 @@ class TranslationsZh extends Translations with BaseTranslations '${library} 中接下来'; @override String get recentlyAdded => '最近添加'; @override String recentlyAddedIn({required Object library}) => '${library} 中最近添加'; + @override String latestAlbumsIn({required Object library}) => '${library} 中的最新专辑'; + @override String recentlyPlayedIn({required Object library}) => '${library} 中最近播放'; + @override String mostPlayedIn({required Object library}) => '${library} 中最常播放'; @override String playEpisode({required Object season, required Object episode}) => 'S${season}E${episode}'; @override String get overview => '概述'; @override String get cast => '演员表'; @@ -1199,6 +1203,40 @@ class _TranslationsPlaylistsZh extends TranslationsPlaylistsEn { @override String get errorRemoving => '从播放列表中移除失败'; } +// Path: music +class _TranslationsMusicZh extends TranslationsMusicEn { + _TranslationsMusicZh._(TranslationsZh root) : this._root = root, super.internal(root); + + final TranslationsZh _root; // ignore: unused_field + + // Translations + @override String get goToAlbum => '前往专辑'; + @override String get goToArtist => '前往艺术家'; + @override String get instantMix => '即时混音'; + @override String get playNext => '下一首播放'; + @override String get addToQueue => '添加到队列'; + @override String discNumber({required Object n}) => '碟片 ${n}'; + @override String trackCount({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('zh'))(n, + other: '${n} 首', + ); + @override String get nowPlaying => '正在播放'; + @override String playingFrom({required Object title}) => '来自 ${title}'; + @override String get queue => '播放队列'; + @override String get upNext => '即将播放'; + @override String get clearQueue => '清空队列'; + @override String get lyrics => '歌词'; + @override String get noLyrics => '暂无歌词'; + @override String get sleepTimer => '睡眠定时器'; + @override String get sleepTimerEndOfTrack => '曲目结束时'; + @override String sleepTimerMinutes({required Object n}) => '${n} 分钟'; + @override String get stopPlayback => '停止播放'; + @override String get previousTrack => '上一首'; + @override String get nextTrack => '下一首'; + @override String get repeat => '循环'; + @override String get repeatAll => '列表循环'; + @override String get repeatOne => '单曲循环'; +} + // Path: watchTogether class _TranslationsWatchTogetherZh extends TranslationsWatchTogetherEn { _TranslationsWatchTogetherZh._(TranslationsZh root) : this._root = root, super.internal(root); @@ -1279,6 +1317,8 @@ class _TranslationsDownloadsZh extends TranslationsDownloadsEn { @override String get manage => '管理'; @override String get tvShows => '电视剧'; @override String get movies => '电影'; + @override String get music => '音乐'; + @override String tracksQueued({required Object count}) => '${count} 首曲目已加入下载队列'; @override String get noDownloads => '暂无下载'; @override String get noDownloadsDescription => '下载的内容将在此处显示以供离线观看'; @override String get downloadNow => '下载'; @@ -1741,6 +1781,9 @@ class _TranslationsLibrariesGroupingsZh extends TranslationsLibrariesGroupingsEn @override String get shows => '剧集'; @override String get seasons => '季'; @override String get episodes => '集'; + @override String get artists => '艺术家'; + @override String get albums => '专辑'; + @override String get tracks => '曲目'; @override String get folders => '文件夹'; } @@ -2599,6 +2642,9 @@ extension on TranslationsZh { 'discover.nextUpIn' => ({required Object library}) => '${library} 中接下来', 'discover.recentlyAdded' => '最近添加', 'discover.recentlyAddedIn' => ({required Object library}) => '${library} 中最近添加', + 'discover.latestAlbumsIn' => ({required Object library}) => '${library} 中的最新专辑', + 'discover.recentlyPlayedIn' => ({required Object library}) => '${library} 中最近播放', + 'discover.mostPlayedIn' => ({required Object library}) => '${library} 中最常播放', 'discover.playEpisode' => ({required Object season, required Object episode}) => 'S${season}E${episode}', 'discover.overview' => '概述', 'discover.cast' => '演员表', @@ -2671,6 +2717,9 @@ extension on TranslationsZh { 'libraries.groupings.shows' => '剧集', 'libraries.groupings.seasons' => '季', 'libraries.groupings.episodes' => '集', + 'libraries.groupings.artists' => '艺术家', + 'libraries.groupings.albums' => '专辑', + 'libraries.groupings.tracks' => '曲目', 'libraries.groupings.folders' => '文件夹', 'libraries.filterCategories.genre' => '类型', 'libraries.filterCategories.year' => '年份', @@ -2832,6 +2881,29 @@ extension on TranslationsZh { 'playlists.errorAdding' => '添加到播放列表失败', 'playlists.errorReordering' => '重新排序播放列表项目失败', 'playlists.errorRemoving' => '从播放列表中移除失败', + 'music.goToAlbum' => '前往专辑', + 'music.goToArtist' => '前往艺术家', + 'music.instantMix' => '即时混音', + 'music.playNext' => '下一首播放', + 'music.addToQueue' => '添加到队列', + 'music.discNumber' => ({required Object n}) => '碟片 ${n}', + 'music.trackCount' => ({required num n}) => (_root.$meta.cardinalResolver ?? PluralResolvers.cardinal('zh'))(n, other: '${n} 首', ), + 'music.nowPlaying' => '正在播放', + 'music.playingFrom' => ({required Object title}) => '来自 ${title}', + 'music.queue' => '播放队列', + 'music.upNext' => '即将播放', + 'music.clearQueue' => '清空队列', + 'music.lyrics' => '歌词', + 'music.noLyrics' => '暂无歌词', + 'music.sleepTimer' => '睡眠定时器', + 'music.sleepTimerEndOfTrack' => '曲目结束时', + 'music.sleepTimerMinutes' => ({required Object n}) => '${n} 分钟', + 'music.stopPlayback' => '停止播放', + 'music.previousTrack' => '上一首', + 'music.nextTrack' => '下一首', + 'music.repeat' => '循环', + 'music.repeatAll' => '列表循环', + 'music.repeatOne' => '单曲循环', 'watchTogether.title' => '一起看', 'watchTogether.description' => '与朋友和家人同步观看内容', 'watchTogether.createSession' => '创建会话', @@ -2896,6 +2968,8 @@ extension on TranslationsZh { 'downloads.manage' => '管理', 'downloads.tvShows' => '电视剧', 'downloads.movies' => '电影', + 'downloads.music' => '音乐', + 'downloads.tracksQueued' => ({required Object count}) => '${count} 首曲目已加入下载队列', 'downloads.noDownloads' => '暂无下载', 'downloads.noDownloadsDescription' => '下载的内容将在此处显示以供离线观看', 'downloads.downloadNow' => '下载', @@ -2947,6 +3021,8 @@ extension on TranslationsZh { 'downloads.noSyncRules' => '没有同步规则', 'downloads.manageSyncRule' => '管理同步', 'downloads.editEpisodeCount' => '剧集数量', + _ => null, + } ?? switch (path) { 'downloads.editSyncFilter' => '同步筛选', 'downloads.syncAllItems' => '同步所有项目', 'downloads.syncUnwatchedItems' => '同步未观看项目', @@ -2978,8 +3054,6 @@ extension on TranslationsZh { 'companionRemote.session.startingServer' => '正在启动远程服务器...', 'companionRemote.session.failedToCreate' => '启动远程服务器失败:', 'companionRemote.session.hostAddress' => '主机地址', - _ => null, - } ?? switch (path) { 'companionRemote.session.connected' => '已连接', 'companionRemote.session.serverRunning' => '远程服务器已启动', 'companionRemote.session.serverStopped' => '远程服务器已停止', diff --git a/lib/i18n/sv.i18n.json b/lib/i18n/sv.i18n.json index 13ecdd60..aa26d141 100644 --- a/lib/i18n/sv.i18n.json +++ b/lib/i18n/sv.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "Nästa i ${library}", "recentlyAdded": "Nyligen tillagda", "recentlyAddedIn": "Nyligen tillagda i ${library}", + "latestAlbumsIn": "Senaste albumen i ${library}", + "recentlyPlayedIn": "Nyligen spelade i ${library}", + "mostPlayedIn": "Mest spelade i ${library}", "playEpisode": "S${season}E${episode}", "overview": "Översikt", "cast": "Rollbesättning", @@ -770,6 +773,9 @@ "shows": "Serier", "seasons": "Säsonger", "episodes": "Avsnitt", + "artists": "Artister", + "albums": "Album", + "tracks": "Låtar", "folders": "Mappar" }, "filterCategories": { @@ -955,6 +961,34 @@ "errorReordering": "Det gick inte att omordna spellisteobjekt", "errorRemoving": "Det gick inte att ta bort från spellista" }, + "music": { + "goToAlbum": "Gå till album", + "goToArtist": "Gå till artist", + "instantMix": "Snabbmix", + "playNext": "Spela härnäst", + "addToQueue": "Lägg till i kö", + "discNumber": "Skiva ${n}", + "trackCount": { + "one": "${n} låt", + "other": "${n} låtar" + }, + "nowPlaying": "Spelas nu", + "playingFrom": "Spelar från ${title}", + "queue": "Kö", + "upNext": "Näst på tur", + "clearQueue": "Rensa kön", + "lyrics": "Låttext", + "noLyrics": "Ingen låttext tillgänglig", + "sleepTimer": "Insomningstimer", + "sleepTimerEndOfTrack": "Slutet av låten", + "sleepTimerMinutes": "${n} minuter", + "stopPlayback": "Stoppa uppspelning", + "previousTrack": "Föregående låt", + "nextTrack": "Nästa låt", + "repeat": "Upprepa", + "repeatAll": "Upprepa alla", + "repeatOne": "Upprepa en låt" + }, "watchTogether": { "title": "Titta Tillsammans", "description": "Titta på innehåll synkroniserat med vänner och familj", @@ -1022,6 +1056,8 @@ "manage": "Hantera", "tvShows": "TV-serier", "movies": "Filmer", + "music": "Musik", + "tracksQueued": "${count} låtar i nedladdningskö", "noDownloads": "Inga nedladdningar ännu", "noDownloadsDescription": "Nedladdat innehåll visas här för offline-visning", "downloadNow": "Ladda ner", diff --git a/lib/i18n/zh.i18n.json b/lib/i18n/zh.i18n.json index 0729bf61..922fb562 100644 --- a/lib/i18n/zh.i18n.json +++ b/lib/i18n/zh.i18n.json @@ -691,6 +691,9 @@ "nextUpIn": "${library} 中接下来", "recentlyAdded": "最近添加", "recentlyAddedIn": "${library} 中最近添加", + "latestAlbumsIn": "${library} 中的最新专辑", + "recentlyPlayedIn": "${library} 中最近播放", + "mostPlayedIn": "${library} 中最常播放", "playEpisode": "S${season}E${episode}", "overview": "概述", "cast": "演员表", @@ -770,6 +773,9 @@ "shows": "剧集", "seasons": "季", "episodes": "集", + "artists": "艺术家", + "albums": "专辑", + "tracks": "曲目", "folders": "文件夹" }, "filterCategories": { @@ -955,6 +961,33 @@ "errorReordering": "重新排序播放列表项目失败", "errorRemoving": "从播放列表中移除失败" }, + "music": { + "goToAlbum": "前往专辑", + "goToArtist": "前往艺术家", + "instantMix": "即时混音", + "playNext": "下一首播放", + "addToQueue": "添加到队列", + "discNumber": "碟片 ${n}", + "trackCount": { + "other": "${n} 首" + }, + "nowPlaying": "正在播放", + "playingFrom": "来自 ${title}", + "queue": "播放队列", + "upNext": "即将播放", + "clearQueue": "清空队列", + "lyrics": "歌词", + "noLyrics": "暂无歌词", + "sleepTimer": "睡眠定时器", + "sleepTimerEndOfTrack": "曲目结束时", + "sleepTimerMinutes": "${n} 分钟", + "stopPlayback": "停止播放", + "previousTrack": "上一首", + "nextTrack": "下一首", + "repeat": "循环", + "repeatAll": "列表循环", + "repeatOne": "单曲循环" + }, "watchTogether": { "title": "一起看", "description": "与朋友和家人同步观看内容", @@ -1022,6 +1055,8 @@ "manage": "管理", "tvShows": "电视剧", "movies": "电影", + "music": "音乐", + "tracksQueued": "${count} 首曲目已加入下载队列", "noDownloads": "暂无下载", "noDownloadsDescription": "下载的内容将在此处显示以供离线观看", "downloadNow": "下载",