From 449fd8286cd06999e41335b9f6304c32f00dbdcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deluan=20Quint=C3=A3o?= Date: Fri, 7 Nov 2025 18:20:39 -0500 Subject: [PATCH] fix(ui): update Galician, Dutch, Thai translations from POEditor (#4416) Co-authored-by: navidrome-bot --- resources/i18n/gl.json | 148 +++++++++++++++++++++++++++++---- resources/i18n/nl.json | 156 ++++++++++++++++++++++++++++------ resources/i18n/th.json | 184 ++++++++++++++++++++++++++++++++++++++--- 3 files changed, 433 insertions(+), 55 deletions(-) diff --git a/resources/i18n/gl.json b/resources/i18n/gl.json index 8cde597cc..a6c3beb05 100644 --- a/resources/i18n/gl.json +++ b/resources/i18n/gl.json @@ -31,8 +31,12 @@ "mood": "Estado", "participants": "Participantes adicionais", "tags": "Etiquetas adicionais", - "mappedTags": "", - "rawTags": "Etiquetas en cru" + "mappedTags": "Etiquetas mapeadas", + "rawTags": "Etiquetas en cru", + "bitDepth": "Calidade de Bit", + "sampleRate": "Taxa de mostra", + "missing": "Falta", + "libraryName": "Biblioteca" }, "actions": { "addToQueue": "Ao final da cola", @@ -41,7 +45,8 @@ "shuffleAll": "Remexer todo", "download": "Descargar", "playNext": "A continuación", - "info": "Obter info" + "info": "Obter info", + "showInPlaylist": "Mostrar en Lista de reprodución" } }, "album": { @@ -70,7 +75,10 @@ "releaseType": "Tipo", "grouping": "Grupos", "media": "Multimedia", - "mood": "Estado" + "mood": "Estado", + "date": "Data de gravación", + "missing": "Falta", + "libraryName": "Biblioteca" }, "actions": { "playAll": "Reproducir", @@ -102,7 +110,8 @@ "rating": "Valoración", "genre": "Xénero", "size": "Tamaño", - "role": "Rol" + "role": "Rol", + "missing": "Falta" }, "roles": { "albumartist": "Artista do álbum |||| Artistas do álbum", @@ -117,7 +126,13 @@ "mixer": "Mistura |||| Mistura", "remixer": "Remezcla |||| Remezcla", "djmixer": "Mezcla DJs |||| Mezcla DJs", - "performer": "Intérprete |||| Intérpretes" + "performer": "Intérprete |||| Intérpretes", + "maincredit": "Artista do álbum ou Artista |||| Artistas do álbum ou Artistas" + }, + "actions": { + "shuffle": "Barallar", + "radio": "Radio", + "topSongs": "Cancións destacadas" } }, "user": { @@ -134,10 +149,12 @@ "currentPassword": "Contrasinal actual", "newPassword": "Novo contrasinal", "token": "Token", - "lastAccessAt": "Último acceso" + "lastAccessAt": "Último acceso", + "libraries": "Bibliotecas" }, "helperTexts": { - "name": "Os cambios no nome aplicaranse a próxima vez que accedas" + "name": "Os cambios no nome aplicaranse a próxima vez que accedas", + "libraries": "Selecciona bibliotecas específicas para esta usuaria, ou deixa baleiro para usar as bibliotecas por defecto" }, "notifications": { "created": "Creouse a usuaria", @@ -146,7 +163,12 @@ }, "message": { "listenBrainzToken": "Escribe o token de usuaria de ListenBrainz", - "clickHereForToken": "Preme aquí para obter o token" + "clickHereForToken": "Preme aquí para obter o token", + "selectAllLibraries": "Seleccionar todas as bibliotecas", + "adminAutoLibraries": "As usuarias Admin teñen acceso por defecto a todas as bibliotecas" + }, + "validation": { + "librariesRequired": "Debes seleccionar polo menos unha biblioteca para usuarias non admins" } }, "player": { @@ -190,11 +212,17 @@ "addNewPlaylist": "Crear \"%{name}\"", "export": "Exportar", "makePublic": "Facela Pública", - "makePrivate": "Facela Privada" + "makePrivate": "Facela Privada", + "saveQueue": "Salvar a Cola como Lista de reprodución", + "searchOrCreate": "Buscar listas ou escribe para crear nova…", + "pressEnterToCreate": "Preme Enter para crear nova lista", + "removeFromSelection": "Retirar da selección" }, "message": { "duplicate_song": "Engadir cancións duplicadas", - "song_exist": "Hai duplicadas que serán engadidas á lista de reprodución. Desexas engadir as duplicadas ou omitilas?" + "song_exist": "Hai duplicadas que serán engadidas á lista de reprodución. Desexas engadir as duplicadas ou omitilas?", + "noPlaylistsFound": "Sen listas de reprodución", + "noPlaylists": "Sen listas dispoñibles" } }, "radio": { @@ -232,13 +260,68 @@ "fields": { "path": "Ruta", "size": "Tamaño", - "updatedAt": "Desapareceu o" + "updatedAt": "Desapareceu o", + "libraryName": "Biblioteca" }, "actions": { - "remove": "Retirar" + "remove": "Retirar", + "remove_all": "Retirar todo" }, "notifications": { "removed": "Ficheiro(s) faltantes retirados" + }, + "empty": "Sen ficheiros faltantes" + }, + "library": { + "name": "Biblioteca |||| Bibliotecas", + "fields": { + "name": "Nome", + "path": "Ruta", + "remotePath": "Ruta remota", + "lastScanAt": "Último escaneado", + "songCount": "Cancións", + "albumCount": "Álbums", + "artistCount": "Artistas", + "totalSongs": "Cancións", + "totalAlbums": "Álbums", + "totalArtists": "Artistas", + "totalFolders": "Cartafoles", + "totalFiles": "Ficheiros", + "totalMissingFiles": "Ficheiros que faltan", + "totalSize": "Tamaño total", + "totalDuration": "Duración", + "defaultNewUsers": "Por defecto para novas usuarias", + "createdAt": "Creada", + "updatedAt": "Actualizada" + }, + "sections": { + "basic": "Información básica", + "statistics": "Estatísticas" + }, + "actions": { + "scan": "Escanear Biblioteca", + "manageUsers": "Xestionar acceso das usuarias", + "viewDetails": "Ver detalles" + }, + "notifications": { + "created": "Biblioteca creada correctamente", + "updated": "Biblioteca actualizada correctamente", + "deleted": "Biblioteca eliminada correctamente", + "scanStarted": "Comezou o escaneo da biblioteca", + "scanCompleted": "Completouse o escaneado da biblioteca" + }, + "validation": { + "nameRequired": "Requírese un nome para a biblioteca", + "pathRequired": "Requírese unha ruta para a biblioteca", + "pathNotDirectory": "A ruta á biblioteca ten que ser un directorio", + "pathNotFound": "Non se atopa a ruta á biblioteca", + "pathNotAccessible": "A ruta á biblioteca non é accesible", + "pathInvalid": "Ruta non válida á biblioteca" + }, + "messages": { + "deleteConfirm": "Tes certeza de querer eliminar esta biblioteca? Isto eliminará todos os datos asociados e accesos de usuarias.", + "scanInProgress": "Escaneo en progreso…", + "noLibrariesAssigned": "Sen bibliotecas asignadas a esta usuaria" } } }, @@ -419,7 +502,11 @@ "downloadDialogTitle": "Descargar %{resource} '%{name}' (%{size})", "shareCopyToClipboard": "Copiar ao portapapeis: Ctrl+C, Enter", "remove_missing_title": "Retirar ficheiros que faltan", - "remove_missing_content": "Tes certeza de querer retirar da base de datos os ficheiros que faltan? Isto retirará de xeito permanente todas a referencias a eles, incluíndo a conta de reproducións e valoracións." + "remove_missing_content": "Tes certeza de querer retirar da base de datos os ficheiros que faltan? Isto retirará de xeito permanente todas a referencias a eles, incluíndo a conta de reproducións e valoracións.", + "remove_all_missing_title": "Retirar todos os ficheiros que faltan", + "remove_all_missing_content": "Tes certeza de querer retirar da base de datos todos os ficheiros que faltan? Isto eliminará todas as referencias a eles, incluíndo o número de reproducións e valoracións.", + "noSimilarSongsFound": "Sen cancións parecidas", + "noTopSongsFound": "Sen cancións destacadas" }, "menu": { "library": "Biblioteca", @@ -448,7 +535,13 @@ "albumList": "Álbums", "about": "Acerca de", "playlists": "Listas de reprodución", - "sharedPlaylists": "Listas compartidas" + "sharedPlaylists": "Listas compartidas", + "librarySelector": { + "allLibraries": "Todas as bibliotecas (%{count})", + "multipleLibraries": "%{selected} de %{total} Bibliotecas", + "selectLibraries": "Seleccionar Bibliotecas", + "none": "Ningunha" + } }, "player": { "playListsText": "Reproducir cola", @@ -485,6 +578,21 @@ "disabled": "Desactivado", "waiting": "Agardando" } + }, + "tabs": { + "about": "Sobre", + "config": "Configuración" + }, + "config": { + "configName": "Nome", + "environmentVariable": "Variable de entorno", + "currentValue": "Valor actual", + "configurationFile": "Ficheiro de configuración", + "exportToml": "Exportar configuración (TOML)", + "exportSuccess": "Configuración exportada ao portapapeis no formato TOML", + "exportFailed": "Fallou a copia da configuración", + "devFlagsHeader": "Configuracións de Desenvolvemento (suxeitas a cambio/retirada)", + "devFlagsComment": "Son axustes experimentais e poden retirarse en futuras versións" } }, "activity": { @@ -493,7 +601,10 @@ "quickScan": "Escaneo rápido", "fullScan": "Escaneo completo", "serverUptime": "Servidor a funcionar", - "serverDown": "SEN CONEXIÓN" + "serverDown": "SEN CONEXIÓN", + "scanType": "Tipo", + "status": "Erro de escaneado", + "elapsedTime": "Tempo transcurrido" }, "help": { "title": "Atallos de Navidrome", @@ -508,5 +619,10 @@ "toggle_love": "Engadir canción a favoritas", "current_song": "Ir á Canción actual " } + }, + "nowPlaying": { + "title": "En reprodución", + "empty": "Sen reprodución", + "minutesAgo": "hai %{smart_count} minuto |||| hai %{smart_count} minutos" } } \ No newline at end of file diff --git a/resources/i18n/nl.json b/resources/i18n/nl.json index 4737cb33a..b6da47380 100644 --- a/resources/i18n/nl.json +++ b/resources/i18n/nl.json @@ -5,7 +5,7 @@ "name": "Nummer |||| Nummers", "fields": { "albumArtist": "Album Artiest", - "duration": "Lengte", + "duration": "Afspeelduur", "trackNumber": "Nummer #", "playCount": "Aantal keren afgespeeld", "title": "Titel", @@ -35,7 +35,8 @@ "rawTags": "Onbewerkte tags", "bitDepth": "Bit diepte", "sampleRate": "Sample waarde", - "missing": "Ontbrekend" + "missing": "Ontbrekend", + "libraryName": "Bibliotheek" }, "actions": { "addToQueue": "Voeg toe aan wachtrij", @@ -44,7 +45,8 @@ "shuffleAll": "Shuffle alles", "download": "Downloaden", "playNext": "Volgende", - "info": "Meer info" + "info": "Meer info", + "showInPlaylist": "Toon in afspeellijst" } }, "album": { @@ -55,7 +57,7 @@ "duration": "Afspeelduur", "songCount": "Nummers", "playCount": "Aantal keren afgespeeld", - "name": "Naam", + "name": "Titel", "genre": "Genre", "compilation": "Compilatie", "year": "Jaar", @@ -65,9 +67,9 @@ "createdAt": "Datum toegevoegd", "size": "Grootte", "originalDate": "Origineel", - "releaseDate": "Uitgegeven", + "releaseDate": "Uitgave", "releases": "Uitgave |||| Uitgaven", - "released": "Uitgegeven", + "released": "Uitgave", "recordLabel": "Label", "catalogNum": "Catalogus nummer", "releaseType": "Type", @@ -75,7 +77,8 @@ "media": "Media", "mood": "Sfeer", "date": "Opnamedatum", - "missing": "Ontbrekend" + "missing": "Ontbrekend", + "libraryName": "Bibliotheek" }, "actions": { "playAll": "Afspelen", @@ -123,7 +126,13 @@ "mixer": "Mixer |||| Mixers", "remixer": "Remixer |||| Remixers", "djmixer": "DJ Mixer |||| DJ Mixers", - "performer": "Performer |||| Performers" + "performer": "Performer |||| Performers", + "maincredit": "Album Artiest of Artiest |||| Album Artiesten or Artiesten" + }, + "actions": { + "shuffle": "Shuffle", + "radio": "Radio", + "topSongs": "Beste nummers" } }, "user": { @@ -132,7 +141,7 @@ "userName": "Gebruikersnaam", "isAdmin": "Is beheerder", "lastLoginAt": "Laatst ingelogd op", - "updatedAt": "Laatst gewijzigd op", + "updatedAt": "Laatst bijgewerkt op", "name": "Naam", "password": "Wachtwoord", "createdAt": "Aangemaakt op", @@ -140,19 +149,26 @@ "currentPassword": "Huidig wachtwoord", "newPassword": "Nieuw wachtwoord", "token": "Token", - "lastAccessAt": "Meest recente toegang" + "lastAccessAt": "Meest recente toegang", + "libraries": "Bibliotheken" }, "helperTexts": { - "name": "Naamswijziging wordt pas zichtbaar bij de volgende login" + "name": "Naamswijziging wordt pas zichtbaar bij de volgende login", + "libraries": "Selecteer specifieke bibliotheken voor deze gebruiker, of laat leeg om de standaardbiblliotheken te gebruiken" }, "notifications": { "created": "Aangemaakt door gebruiker", - "updated": "Gewijzigd door gebruiker", - "deleted": "Gewist door gebruiker" + "updated": "Bijgewerkt door gebruiker", + "deleted": "Gebruiker verwijderd" }, "message": { "listenBrainzToken": "Vul je ListenBrainz gebruikers-token in.", - "clickHereForToken": "Klik hier voor je token" + "clickHereForToken": "Klik hier voor je token", + "selectAllLibraries": "Selecteer alle bibliotheken", + "adminAutoLibraries": "Admin gebruikers hebben automatisch toegang tot alle bibliotheken" + }, + "validation": { + "librariesRequired": "Minstens één bibliotheek moet geselecteerd worden voor niet-admin gebruikers" } }, "player": { @@ -181,10 +197,10 @@ "name": "Afspeellijst |||| Afspeellijsten", "fields": { "name": "Titel", - "duration": "Lengte", + "duration": "Afspeelduur", "ownerName": "Eigenaar", "public": "Publiek", - "updatedAt": "Laatst gewijzigd op", + "updatedAt": "Laatst bijgewerkt op", "createdAt": "Aangemaakt op", "songCount": "Nummers", "comment": "Commentaar", @@ -197,11 +213,16 @@ "export": "Exporteer", "makePublic": "Openbaar maken", "makePrivate": "Privé maken", - "saveQueue": "Bewaar wachtrij als playlist" + "saveQueue": "Bewaar wachtrij als playlist", + "searchOrCreate": "Zoek afspeellijsten of typ om een nieuwe te starten...", + "pressEnterToCreate": "Druk Enter om nieuwe afspeellijst te maken", + "removeFromSelection": "Verwijder van selectie" }, "message": { "duplicate_song": "Dubbele nummers toevoegen", - "song_exist": "Er komen nummers dubbel in de afspeellijst. Wil je de dubbele nummers toevoegen of overslaan?" + "song_exist": "Er komen nummers dubbel in de afspeellijst. Wil je de dubbele nummers toevoegen of overslaan?", + "noPlaylistsFound": "Geen playlists gevonden", + "noPlaylists": "Geen playlists beschikbaar" } }, "radio": { @@ -210,8 +231,8 @@ "name": "Naam", "streamUrl": "Stream URL", "homePageUrl": "Hoofdpagina URL", - "updatedAt": "Geüpdate op", - "createdAt": "Gecreëerd op" + "updatedAt": "Bijgewerkt op", + "createdAt": "Aangemaakt op" }, "actions": { "playNow": "Speel nu" @@ -229,8 +250,8 @@ "visitCount": "Bezocht", "format": "Formaat", "maxBitRate": "Max. bitrate", - "updatedAt": "Geüpdatet op", - "createdAt": "Gecreëerd op", + "updatedAt": "Bijgewerkt op", + "createdAt": "Aangemaakt op", "downloadable": "Downloads toestaan?" } }, @@ -239,7 +260,8 @@ "fields": { "path": "Pad", "size": "Grootte", - "updatedAt": "Verdwenen op" + "updatedAt": "Verdwenen op", + "libraryName": "Bibliotheek" }, "actions": { "remove": "Verwijder", @@ -249,6 +271,58 @@ "removed": "Ontbrekende bestanden verwijderd" }, "empty": "Geen ontbrekende bestanden" + }, + "library": { + "name": "Bibliotheek |||| Bibliotheken", + "fields": { + "name": "Naam", + "path": "Pad", + "remotePath": "Extern pad", + "lastScanAt": "Laatste scan", + "songCount": "Nummers", + "albumCount": "Albums", + "artistCount": "Artiesten", + "totalSongs": "Nummers", + "totalAlbums": "Albums", + "totalArtists": "Artiesten", + "totalFolders": "Mappen", + "totalFiles": "Bestanden", + "totalMissingFiles": "Ontbrekende bestanden", + "totalSize": "Totale bestandsgrootte", + "totalDuration": "Afspeelduur", + "defaultNewUsers": "Standaard voor nieuwe gebruikers", + "createdAt": "Aangemaakt", + "updatedAt": "Bijgewerkt" + }, + "sections": { + "basic": "Basisinformatie", + "statistics": "Statistieken" + }, + "actions": { + "scan": "Scan bibliotheek", + "manageUsers": "Beheer gebruikerstoegang", + "viewDetails": "Bekijk details" + }, + "notifications": { + "created": "Bibliotheek succesvol aangemaakt", + "updated": "Bibliotheek succesvol bijgewerkt", + "deleted": "Bibliotheek succesvol verwijderd", + "scanStarted": "Bibliotheekscan is gestart", + "scanCompleted": "Bibliotheekscan is voltooid" + }, + "validation": { + "nameRequired": "Bibliotheek naam is vereist", + "pathRequired": "Pad naar bibliotheek is vereist", + "pathNotDirectory": "Pad naar bibliotheek moet een map zijn", + "pathNotFound": "Pad naar bibliotheek niet gevonden", + "pathNotAccessible": "Pad naar bibliotheek is niet toegankelijk", + "pathInvalid": "Ongeldig pad naar bibliotheek" + }, + "messages": { + "deleteConfirm": "Weet je zeker dat je deze bibliotheek wil verwijderen? Dit verwijdert ook alle gerelateerde data en gebruikerstoegang.", + "scanInProgress": "Scan is bezig...", + "noLibrariesAssigned": "Geen bibliotheken aan deze gebruiker toegewezen" + } } }, "ra": { @@ -430,7 +504,9 @@ "remove_missing_title": "Verwijder ontbrekende bestanden", "remove_missing_content": "Weet je zeker dat je alle ontbrekende bestanden van de database wil verwijderen? Dit wist permanent al hun referenties inclusief afspeel tellers en beoordelingen.", "remove_all_missing_title": "Verwijder alle ontbrekende bestanden", - "remove_all_missing_content": "Weet je zeker dat je alle ontbrekende bestanden van de database wil verwijderen? Dit wist permanent al hun referenties inclusief afspeel tellers en beoordelingen." + "remove_all_missing_content": "Weet je zeker dat je alle ontbrekende bestanden van de database wil verwijderen? Dit wist permanent al hun referenties inclusief afspeel tellers en beoordelingen.", + "noSimilarSongsFound": "Geen vergelijkbare nummers gevonden", + "noTopSongsFound": "Geen beste nummers gevonden" }, "menu": { "library": "Bibliotheek", @@ -459,7 +535,13 @@ "albumList": "Albums", "about": "Over", "playlists": "Afspeellijsten", - "sharedPlaylists": "Gedeelde afspeellijsten" + "sharedPlaylists": "Gedeelde afspeellijsten", + "librarySelector": { + "allLibraries": "Alle bibliotheken (%{count})", + "multipleLibraries": "%{selected} van %{total} bibliotheken", + "selectLibraries": "Selecteer bibliotheken", + "none": "Geen" + } }, "player": { "playListsText": "Wachtrij", @@ -468,7 +550,7 @@ "notContentText": "Geen muziek", "clickToPlayText": "Klik om af te spelen", "clickToPauseText": "Klik om te pauzeren", - "nextTrackText": "Volgende", + "nextTrackText": "Volgend nummer", "previousTrackText": "Vorige", "reloadText": "Herladen", "volumeText": "Volume", @@ -496,11 +578,26 @@ "disabled": "Uitgeschakeld", "waiting": "Wachten" } + }, + "tabs": { + "about": "Over", + "config": "Configuratie" + }, + "config": { + "configName": "Config Naam", + "environmentVariable": "Omgevingsvariabele", + "currentValue": "Huidige waarde", + "configurationFile": "Configuratiebestand", + "exportToml": "Exporteer configuratie (TOML)", + "exportSuccess": "Configuratie geëxporteerd naar klembord in TOML formaat", + "exportFailed": "Kopiëren van configuratie mislukt", + "devFlagsHeader": "Ontwikkelaarsinstellingen (onder voorbehoud)", + "devFlagsComment": "Dit zijn experimentele instellingen en worden mogelijk in latere versies verwijderd" } }, "activity": { "title": "Activiteit", - "totalScanned": "Totaal gescande folders", + "totalScanned": "Totaal gescande mappen", "quickScan": "Snelle scan", "fullScan": "Volledige scan", "serverUptime": "Server uptime", @@ -522,5 +619,10 @@ "toggle_love": "Voeg toe aan favorieten", "current_song": "Ga naar huidig nummer" } + }, + "nowPlaying": { + "title": "Speelt nu", + "empty": "Er wordt niets afgespeed", + "minutesAgo": "%{smart_count} minuut geleden |||| %{smart_count} minuten geleden" } } \ No newline at end of file diff --git a/resources/i18n/th.json b/resources/i18n/th.json index 2f96f4958..65d51860f 100644 --- a/resources/i18n/th.json +++ b/resources/i18n/th.json @@ -26,7 +26,17 @@ "bpm": "BPM", "playDate": "เล่นล่าสุด", "channels": "ช่อง", - "createdAt": "เพิ่มเมื่อ" + "createdAt": "เพิ่มเมื่อ", + "grouping": "จัดกลุ่ม", + "mood": "อารมณ์", + "participants": "ผู้มีส่วนร่วม", + "tags": "แทกเพิ่มเติม", + "mappedTags": "แมพแทก", + "rawTags": "แทกเริ่มต้น", + "bitDepth": "Bit depth", + "sampleRate": "แซมเปิ้ลเรต", + "missing": "หายไป", + "libraryName": "ห้องสมุด" }, "actions": { "addToQueue": "เพิ่มในคิว", @@ -35,7 +45,8 @@ "shuffleAll": "สุ่มทั้งหมด", "download": "ดาวน์โหลด", "playNext": "เล่นถัดไป", - "info": "ดูรายละเอียด" + "info": "ดูรายละเอียด", + "showInPlaylist": "แสดงในเพลย์ลิสต์" } }, "album": { @@ -58,7 +69,16 @@ "originalDate": "วันที่เริ่ม", "releaseDate": "เผยแพร่เมื่อ", "releases": "เผยแพร่ |||| เผยแพร่", - "released": "เผยแพร่เมื่อ" + "released": "เผยแพร่เมื่อ", + "recordLabel": "ป้าย", + "catalogNum": "หมายเลขแคตาล็อก", + "releaseType": "ประเภท", + "grouping": "จัดกลุ่ม", + "media": "มีเดีย", + "mood": "อารมณ์", + "date": "บันทึกเมื่อ", + "missing": "หายไป", + "libraryName": "ห้องสมุด" }, "actions": { "playAll": "เล่นทั้งหมด", @@ -89,7 +109,30 @@ "playCount": "เล่นแล้ว", "rating": "ความนิยม", "genre": "ประเภท", - "size": "ขนาด" + "size": "ขนาด", + "role": "Role", + "missing": "หายไป" + }, + "roles": { + "albumartist": "ศิลปินอัลบั้ม |||| ศิลปินอัลบั้ม", + "artist": "ศิลปิน |||| ศิลปิน", + "composer": "ผู้แต่ง |||| ผู้แต่ง", + "conductor": "คอนดักเตอร์ |||| คอนดักเตอร์", + "lyricist": "เนื้อเพลง |||| เนื้อเพลง", + "arranger": "ผู้ดำเนินการ |||| ผู้ดำเนินการ", + "producer": "ผู้จัด |||| ผู้จัด", + "director": "ไดเรกเตอร์ |||| ไดเรกเตอร์", + "engineer": "วิศวกร |||| วิศวกร", + "mixer": "มิกเซอร์ |||| มิกเซอร์", + "remixer": "รีมิกเซอร์ |||| รีมิกเซอร์", + "djmixer": "ดีเจมิกเซอร์ |||| ดีเจมิกเซอร์", + "performer": "ผู้เล่น |||| ผู้เล่น", + "maincredit": "ศิลปิน |||| ศิลปิน" + }, + "actions": { + "shuffle": "เล่นสุ่ม", + "radio": "วิทยุ", + "topSongs": "เพลงยอดนิยม" } }, "user": { @@ -106,10 +149,12 @@ "currentPassword": "รหัสผ่านปัจจุบัน", "newPassword": "รหัสผ่านใหม่", "token": "โทเคน", - "lastAccessAt": "เข้าใช้ล่าสุด" + "lastAccessAt": "เข้าใช้ล่าสุด", + "libraries": "ห้องสมุด" }, "helperTexts": { - "name": "การเปลี่ยนชื่อจะมีผลในการล็อกอินครั้งถัดไป" + "name": "การเปลี่ยนชื่อจะมีผลในการล็อกอินครั้งถัดไป", + "libraries": "เลือกห้องสมุดสำหรับผู้ใช้นี้หรือปล่อยว่างเพื่อใช้ห้องสมุดเริ่มต้น" }, "notifications": { "created": "สร้างชื่อผู้ใช้", @@ -118,7 +163,12 @@ }, "message": { "listenBrainzToken": "ใส่โทเคน ListenBrainz ของคุณ", - "clickHereForToken": "กดที่นี่เพื่อรับโทเคนของคุณ" + "clickHereForToken": "กดที่นี่เพื่อรับโทเคนของคุณ", + "selectAllLibraries": "เลือกห้องสมุดทั้งหมด", + "adminAutoLibraries": "ผู้ดูแลเข้าถึงห้องสมุดทั้งหมดโดยอัตโนมัติ" + }, + "validation": { + "librariesRequired": "ต้องเลือกห้องสมุด 1 ห้อง สำหรับผู้ใช้ที่ไม่ใช่ผู้ดูแล" } }, "player": { @@ -162,11 +212,17 @@ "addNewPlaylist": "สร้าง \"%{name}\"", "export": "ส่งออก", "makePublic": "ทำเป็นสาธารณะ", - "makePrivate": "ทำเป็นส่วนตัว" + "makePrivate": "ทำเป็นส่วนตัว", + "saveQueue": "บันทึกคิวลงเพลย์ลิสต์", + "searchOrCreate": "ค้นหาเพลย์ลิสต์หรือพิมพ์เพื่อสร้างใหม่", + "pressEnterToCreate": "กด Enter เพื่อสร้างเพลย์ลิสต์", + "removeFromSelection": "เอาออกจากที่เลือกไว้" }, "message": { "duplicate_song": "เพิ่มเพลงซ้ำ", - "song_exist": "เพิ่มเพลงซ้ำกันในเพลย์ลิสต์ คุณจะเพิ่มเพลงต่อหรือข้าม" + "song_exist": "เพิ่มเพลงซ้ำกันในเพลย์ลิสต์ คุณจะเพิ่มเพลงต่อหรือข้าม", + "noPlaylistsFound": "ไม่พบเพลย์ลิสต์", + "noPlaylists": "ไม่มีเพลย์ลิสต์อยู่" } }, "radio": { @@ -198,6 +254,75 @@ "createdAt": "สร้างเมื่อ", "downloadable": "อนุญาตให้ดาวโหลด?" } + }, + "missing": { + "name": "ไฟล์ที่หายไป |||| ไฟล์ที่หายไป", + "fields": { + "path": "พาร์ท", + "size": "ขนาด", + "updatedAt": "หายไปจาก", + "libraryName": "ห้องสมุด" + }, + "actions": { + "remove": "เอาออก", + "remove_all": "เอาออกทั้งหมด" + }, + "notifications": { + "removed": "เอาไฟล์ที่หายไปออกแล้ว" + }, + "empty": "ไม่มีไฟล์หาย" + }, + "library": { + "name": "ห้องสมุด |||| ห้องสมุด", + "fields": { + "name": "ชื่อ", + "path": "พาร์ท", + "remotePath": "รีโมทพาร์ท", + "lastScanAt": "สแกนล่าสุด", + "songCount": "เพลง", + "albumCount": "อัลบัม", + "artistCount": "ศิลปิน", + "totalSongs": "เพลง", + "totalAlbums": "อัลบัม", + "totalArtists": "ศิลปิน", + "totalFolders": "แฟ้ม", + "totalFiles": "ไฟล์", + "totalMissingFiles": "ไฟล์ที่หายไป", + "totalSize": "ขนาดทั้งหมด", + "totalDuration": "ความยาว", + "defaultNewUsers": "ค่าเริ่มต้นผู้ใช้ใหม่", + "createdAt": "สร้าง", + "updatedAt": "อัพเดท" + }, + "sections": { + "basic": "ข้อมูลเบื้องต้น", + "statistics": "สถิติ" + }, + "actions": { + "scan": "สแกนห้องสมุด", + "manageUsers": "ตั้งค่าการเข้าถึง", + "viewDetails": "ดูรายละเอียด" + }, + "notifications": { + "created": "สร้างห้องสมุดเรียบร้อย", + "updated": "อัพเดทห้องสมุดเรียบร้อย", + "deleted": "ลบห้องสมุดเพลงเรียบร้อยแล้ว", + "scanStarted": "เริ่มสแกนห้องสมุด", + "scanCompleted": "สแกนห้องสมุดเสร็จแล้ว" + }, + "validation": { + "nameRequired": "ต้องใส่ชื่อห้องสมุดเพลง", + "pathRequired": "ต้องใส่พาร์ทของห้องสมุด", + "pathNotDirectory": "พาร์ทของห้องสมุดต้องเป็นแฟ้ม", + "pathNotFound": "ไม่เจอพาร์ทของห้องสมุด", + "pathNotAccessible": "ไม่สามารถเข้าพาร์ทของห้องสมุด", + "pathInvalid": "พาร์ทห้องสมุดไม่ถูก" + }, + "messages": { + "deleteConfirm": "คุณแน่ใจว่าจะลบห้องสมุดนี้? นี่จะลบข้อมูลและการเข้าถึงของผู้ใช้ที่เกี่ยวข้องทั้งหมด", + "scanInProgress": "กำลังสแกน...", + "noLibrariesAssigned": "ไม่มีห้องสมุดสำหรับผู้ใช้นี้" + } } }, "ra": { @@ -375,7 +500,13 @@ "shareSuccess": "คัดลอก URL ไปคลิปบอร์ด: %{url}", "shareFailure": "คัดลอก URL %{url} ไปคลิปบอร์ดผิดพลาด", "downloadDialogTitle": "ดาวโหลด %{resource} '%{name}' (%{size})", - "shareCopyToClipboard": "คัดลอกไปคลิปบอร์ด: Ctrl+C, Enter" + "shareCopyToClipboard": "คัดลอกไปคลิปบอร์ด: Ctrl+C, Enter", + "remove_missing_title": "ลบรายการไฟล์ที่หายไป", + "remove_missing_content": "คุณแน่ใจว่าจะเอารายการไฟล์ที่หายไปออกจากดาต้าเบส นี่จะเป็นการลบข้อมูลอ้างอิงทั้งหมดของไฟล์ออกอย่างถาวร", + "remove_all_missing_title": "เอารายการไฟล์ที่หายไปออกทั้งหมด", + "remove_all_missing_content": "คุณแน่ใจว่าจะเอารายการไฟล์ที่หายไปออกจากดาต้าเบส นี่จะเป็นการลบข้อมูลอ้างอิงทั้งหมดของไฟล์ออกอย่างถาวร", + "noSimilarSongsFound": "ไม่มีเพลงคล้ายกัน", + "noTopSongsFound": "ไม่พบเพลงยอดนิยม" }, "menu": { "library": "ห้องสมุดเพลง", @@ -404,7 +535,13 @@ "albumList": "อัลบั้ม", "about": "เกี่ยวกับ", "playlists": "เพลย์ลิสต์", - "sharedPlaylists": "เพลย์ลิสต์ที่แบ่งปัน" + "sharedPlaylists": "เพลย์ลิสต์ที่แบ่งปัน", + "librarySelector": { + "allLibraries": "ห้องสมุด (%{count}) ห้อง", + "multipleLibraries": "%{selected} ของ %{total} ห้องสมุด", + "selectLibraries": "เลือกห้องสมุด", + "none": "ไม่มี" + } }, "player": { "playListsText": "คิวเล่น", @@ -441,6 +578,21 @@ "disabled": "ปิดการทำงาน", "waiting": "รอ" } + }, + "tabs": { + "about": "เกี่ยวกับ", + "config": "การตั้งค่า" + }, + "config": { + "configName": "ชื่อการตั้งค่า", + "environmentVariable": "ค่าทั่วไป", + "currentValue": "ค่าปัจจุบัน", + "configurationFile": "ไฟล์การตั้งค่า", + "exportToml": "นำออกการตั้งค่า (TOML)", + "exportSuccess": "นำออกการตั้งค่าไปยังคลิปบอร์ดในรูปแบบ TOML แล้ว", + "exportFailed": "คัดลอกการตั้งค่าล้มเหลว", + "devFlagsHeader": "ปักธงการพัฒนา (อาจมีการเปลี่ยน/เอาออก)", + "devFlagsComment": "การตั้งค่านี้อยู่ในช่วงทดลองและอาจจะมีการเอาออกในเวอร์ชั่นหลัง" } }, "activity": { @@ -449,7 +601,10 @@ "quickScan": "สแกนแบบเร็ว", "fullScan": "สแกนทั้งหมด", "serverUptime": "เซิร์ฟเวอร์ออนไลน์นาน", - "serverDown": "ออฟไลน์" + "serverDown": "ออฟไลน์", + "scanType": "ประเภท", + "status": "สแกนผิดพลาด", + "elapsedTime": "เวลาที่ใช้" }, "help": { "title": "คีย์ลัด Navidrome", @@ -464,5 +619,10 @@ "toggle_love": "เพิ่มเพลงนี้ไปยังรายการโปรด", "current_song": "ไปยังเพลงปัจจุบัน" } + }, + "nowPlaying": { + "title": "กำลังเล่น", + "empty": "ไม่มีเพลงเล่น", + "minutesAgo": "%{smart_count} นาทีที่แล้ว |||| %{smart_count} นาทีที่แล้ว" } } \ No newline at end of file