feat(i18n): add translations to roles
This commit is contained in:
6 files changed
+261
-18
No files matched your search
@@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { invoke } from '@tauri-apps/api/core';
|
||||
import { t } from 'svelte-i18n';
|
||||
import { X, LoaderCircle } from 'lucide-svelte';
|
||||
import type { TrackInfo, Performer } from '$lib/types';
|
||||
|
||||
@@ -46,14 +47,14 @@
|
||||
parts.push(`${track.maximum_sampling_rate}kHz`);
|
||||
}
|
||||
if (parts.length === 0) {
|
||||
return track.hires_streamable ? 'Hi-Res' : 'Lossless';
|
||||
return track.hires_streamable ? $t('quality.hiRes') : $t('quality.lossless');
|
||||
}
|
||||
return parts.join(' / ');
|
||||
}
|
||||
|
||||
// Convert CamelCase role to display format
|
||||
function formatRole(role: string): string {
|
||||
return role.replace(/([A-Z])/g, ' $1').trim().toUpperCase();
|
||||
return role[0].toLowerCase() + role.slice(1).replaceAll(' ','');
|
||||
}
|
||||
|
||||
// Group performers by role and return ordered entries
|
||||
@@ -199,7 +200,7 @@
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
<button class="close-btn" onclick={onClose} aria-label="Close">
|
||||
<button class="close-btn" onclick={onClose} aria-label={ $t('actions.close') }>
|
||||
<X size={18} />
|
||||
</button>
|
||||
</div>
|
||||
@@ -209,11 +210,11 @@
|
||||
<!-- Metadata Grid (3 columns) -->
|
||||
<div class="metadata-grid">
|
||||
<div class="metadata-item">
|
||||
<span class="metadata-label">DURATION</span>
|
||||
<span class="metadata-label">{$t('tracklist.duration')}</span>
|
||||
<span class="metadata-value">{formatDuration(trackInfo.track.duration)}</span>
|
||||
</div>
|
||||
<div class="metadata-item">
|
||||
<span class="metadata-label">QUALITY</span>
|
||||
<span class="metadata-label">{$t('tracklist.quality')}</span>
|
||||
<span class="metadata-value">{formatQuality(trackInfo.track)}</span>
|
||||
</div>
|
||||
{#if trackInfo.track.isrc}
|
||||
@@ -224,7 +225,7 @@
|
||||
{/if}
|
||||
{#if trackInfo.track.album?.label}
|
||||
<div class="metadata-item">
|
||||
<span class="metadata-label">LABEL</span>
|
||||
<span class="metadata-label">{$t('search.label')}</span>
|
||||
{#if onLabelClick}
|
||||
<button
|
||||
class="label-link"
|
||||
@@ -248,7 +249,7 @@
|
||||
<div class="credits-grid">
|
||||
{#each groupedCredits as { role, names }}
|
||||
<div class="credit-item">
|
||||
<span class="credit-label">{formatRole(role)}</span>
|
||||
<span class="credit-label">{$t(`performerRoles.${formatRole(role)}`)}</span>
|
||||
<span class="credit-value">
|
||||
{#each names as name, i}
|
||||
{#if onMusicianClick || onPerformerSearch}
|
||||
|
||||
@@ -479,7 +479,8 @@
|
||||
"visibility": "Sichtweite",
|
||||
"removeCustomArtwork": "Entfernen Sie benutzerdefinierte Grafiken",
|
||||
"setCustomArtwork": "Legen Sie benutzerdefinierte Grafiken fest",
|
||||
"showInSidebar": "In der Seitenleiste anzeigen"
|
||||
"showInSidebar": "In der Seitenleiste anzeigen",
|
||||
"suggestedSongs": "Vorgeschlagene Lieder"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoriten",
|
||||
@@ -1640,7 +1641,8 @@
|
||||
"enabled": "ermöglicht",
|
||||
"newState": "Blacklist {status}"
|
||||
},
|
||||
"laodingDevices": "Geräte werden geladen..."
|
||||
"laodingDevices": "Geräte werden geladen...",
|
||||
"findingSimilarArtists": "Suche nach ähnlichen Künstlern..."
|
||||
},
|
||||
"offline": {
|
||||
"title": "Offline-Modus",
|
||||
@@ -2405,5 +2407,62 @@
|
||||
"duration": "Laufzeit",
|
||||
"quality": "Qualität",
|
||||
"title": "Titel"
|
||||
},
|
||||
"musician": {
|
||||
"knownFor": "Bekannt für",
|
||||
"viewArtistPage": "Künstlerseite anzeigen"
|
||||
},
|
||||
"performerRoles": {
|
||||
"a&R": "Künstler und Repertoire",
|
||||
"acousticGuitar": "Akustikgitarre",
|
||||
"additionalEngineer": "Zusätzlicher Ingenieur",
|
||||
"additionalKeyboard": "Zusätzliche Tastatur",
|
||||
"additionalVocalist": "Zusätzlicher Sänger",
|
||||
"arranger": "Arrangeur",
|
||||
"assistantEngineer": "Stellvertretender Ingenieur",
|
||||
"assistantMixer": "Assistenzmischer",
|
||||
"associatedPerformer": "Assoziierter Darsteller",
|
||||
"backgroundVocalist": "Backgroundsänger",
|
||||
"bass": "Bass",
|
||||
"bassGuitar": "Bassgitarre",
|
||||
"choir": "Chor",
|
||||
"coProducer": "Co-Produzent",
|
||||
"composer": "Komponist",
|
||||
"composerLyricist": "Komponist und Texter",
|
||||
"digitalEditingEngineer": "Ingenieur für digitale Bearbeitung",
|
||||
"drum": "Trommel",
|
||||
"drumKit": "Schlagzeug",
|
||||
"drums": "Schlagzeug",
|
||||
"electricGuitar": "Elektrische Gitarre",
|
||||
"engineer": "Ingenieur",
|
||||
"featuredArtist": "Ausgewählter Künstler",
|
||||
"guitar": "Gitarre",
|
||||
"keyboard": "Tastatur",
|
||||
"keyboards": "Tastaturen",
|
||||
"lyricist": "Texter",
|
||||
"mainArtist": "Hauptkünstler",
|
||||
"masteringEngineer": "Mastering-Ingenieur",
|
||||
"mixer": "Mischer",
|
||||
"mixingEngineer": "Mischingenieur",
|
||||
"musicPublisher": "Musikverlag",
|
||||
"organ": "Orgel",
|
||||
"percussion": "Schlagzeug",
|
||||
"performance": "Leistung",
|
||||
"piano": "Klavier",
|
||||
"producer": "Produzent",
|
||||
"recordingEngineer": "Aufnahmeingenieur",
|
||||
"programmer": "Programmierer",
|
||||
"recordingSecondEngineer": "Aufnahme des zweiten Ingenieurs",
|
||||
"remixer": "Remixer",
|
||||
"secondEngineer": "Zweiter Ingenieur",
|
||||
"stringArranger": "String-Arrangeur",
|
||||
"strings": "Saiten",
|
||||
"studioPersonnel": "Studiopersonal",
|
||||
"ukulele": "Ukulele",
|
||||
"vocal": "Gesang",
|
||||
"vocalEditingEngineer": "Gesangsbearbeitungsingenieur",
|
||||
"vocalist": "Sänger",
|
||||
"vocals": "Gesang",
|
||||
"writer": "Schriftsteller"
|
||||
}
|
||||
}
|
||||
@@ -479,7 +479,8 @@
|
||||
"dragPlaylists": "Drag playlists to reorder them",
|
||||
"dropOntoFolder": "or drop onto a folder to move.",
|
||||
"newFolder": "New folder",
|
||||
"folderNamePlaceholder": "Enter folder name"
|
||||
"folderNamePlaceholder": "Enter folder name",
|
||||
"suggestedSongs": "Suggested songs"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favorites",
|
||||
@@ -1663,7 +1664,8 @@
|
||||
"loadingCredits": "Loading credits...",
|
||||
"loadingDevices": "Loading devices...",
|
||||
"addedToPlaylist": "Added to playlist",
|
||||
"copied": "Copied!"
|
||||
"copied": "Copied!",
|
||||
"findingSimilarArtists": "Finding similar artists..."
|
||||
},
|
||||
"offline": {
|
||||
"title": "Offline Mode",
|
||||
@@ -2387,7 +2389,7 @@
|
||||
"checkForUpdates": "Check for updates"
|
||||
},
|
||||
"performerRoles": {
|
||||
"a&R": "A&R",
|
||||
"a&R": "Artists and Repertoire",
|
||||
"acousticGuitar": "Acoustic Guitar",
|
||||
"additionalEngineer": "Additional Engineer",
|
||||
"additionalKeyboard": "Additional Keyboard",
|
||||
@@ -2458,5 +2460,9 @@
|
||||
},
|
||||
"common": {
|
||||
"name": "Name"
|
||||
},
|
||||
"musician": {
|
||||
"knownFor": "Known for",
|
||||
"viewArtistPage": "View Artist Page"
|
||||
}
|
||||
}
|
||||
@@ -479,7 +479,8 @@
|
||||
"dragPlaylists": "Arrastra las listas para cambiarlas de orden",
|
||||
"dropOntoFolder": "o arrástralo a una carpeta para moverlo.",
|
||||
"newFolder": "Nueva carpeta",
|
||||
"folderNamePlaceholder": "Introduzca el nombre de la carpeta"
|
||||
"folderNamePlaceholder": "Introduzca el nombre de la carpeta",
|
||||
"suggestedSongs": "Canciones sugeridas"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoritos",
|
||||
@@ -1663,7 +1664,8 @@
|
||||
"addedToPlaylist": "Agregado a la lista",
|
||||
"copied": "¡Copiado!",
|
||||
"loadingCredits": "Cargando créditos...",
|
||||
"laodingDevices": "Cargando dispositivos..."
|
||||
"laodingDevices": "Cargando dispositivos...",
|
||||
"findingSimilarArtists": "Encontrar artistas similares..."
|
||||
},
|
||||
"offline": {
|
||||
"title": "Modo Offline",
|
||||
@@ -2405,5 +2407,62 @@
|
||||
},
|
||||
"integrations": {
|
||||
"connecting": "Conectando..."
|
||||
},
|
||||
"musician": {
|
||||
"knownFor": "conocido por",
|
||||
"viewArtistPage": "Ver página del artista"
|
||||
},
|
||||
"performerRoles": {
|
||||
"a&R": "Artistas y repertorio",
|
||||
"acousticGuitar": "guitarra acustica",
|
||||
"additionalEngineer": "Ingeniero adicional",
|
||||
"additionalKeyboard": "Teclado adicional",
|
||||
"additionalVocalist": "Vocalista adicional",
|
||||
"arranger": "Arreglista",
|
||||
"assistantEngineer": "Ingeniero asistente",
|
||||
"assistantMixer": "Asistente de mezclador",
|
||||
"associatedPerformer": "Intérprete asociado",
|
||||
"backgroundVocalist": "Vocalista de fondo",
|
||||
"bass": "Bajo",
|
||||
"bassGuitar": "Bajo",
|
||||
"choir": "Coro",
|
||||
"coProducer": "Coproductor",
|
||||
"composer": "Compositor",
|
||||
"composerLyricist": "Compositor letrista",
|
||||
"digitalEditingEngineer": "Ingeniero de edición digital",
|
||||
"drum": "Tambor",
|
||||
"drumKit": "Batería",
|
||||
"drums": "Batería",
|
||||
"electricGuitar": "Guitarra eléctrica",
|
||||
"engineer": "Ingeniero",
|
||||
"featuredArtist": "Artista destacado",
|
||||
"guitar": "Guitarra",
|
||||
"keyboard": "Teclado",
|
||||
"keyboards": "Teclados",
|
||||
"lyricist": "Letrista",
|
||||
"mainArtist": "Artista principal",
|
||||
"masteringEngineer": "Ingeniero de masterización",
|
||||
"mixer": "Mezclador",
|
||||
"mixingEngineer": "Ingeniero de Mezcla",
|
||||
"musicPublisher": "Editor de música",
|
||||
"organ": "Órgano",
|
||||
"percussion": "Percusión",
|
||||
"performance": "Actuación",
|
||||
"piano": "Piano",
|
||||
"producer": "Productor",
|
||||
"recordingEngineer": "Ingeniero de grabación",
|
||||
"programmer": "Programador",
|
||||
"recordingSecondEngineer": "Segundo ingeniero de grabación",
|
||||
"remixer": "Remezclador",
|
||||
"secondEngineer": "Segundo ingeniero",
|
||||
"stringArranger": "Arreglista de cuerdas",
|
||||
"strings": "Instrumentos de cuerda",
|
||||
"studioPersonnel": "Personal del estudio",
|
||||
"ukulele": "ukelele",
|
||||
"vocal": "Vocal",
|
||||
"vocalEditingEngineer": "Ingeniero de edición vocal",
|
||||
"vocalist": "Vocalista",
|
||||
"vocals": "Voz",
|
||||
"writer": "Escritor"
|
||||
}
|
||||
}
|
||||
@@ -479,7 +479,8 @@
|
||||
"moveToRoot": "Déplacer à la racine",
|
||||
"newFolder": "Nouveau dossier",
|
||||
"noFoldersMatch": "Aucun dossier ne correspond",
|
||||
"noFoldersYet": "Aucun dossier pour l'instant"
|
||||
"noFoldersYet": "Aucun dossier pour l'instant",
|
||||
"suggestedSongs": "Chansons suggérées"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoris",
|
||||
@@ -1640,7 +1641,8 @@
|
||||
"addedToPlaylist": "Ajouté à la playlist",
|
||||
"loadingCredits": "Chargement des crédits...",
|
||||
"loadingDevices": "Chargement des appareils...",
|
||||
"playlistUpdated": "Playlist mise à jour"
|
||||
"playlistUpdated": "Playlist mise à jour",
|
||||
"findingSimilarArtists": "Trouver des artistes similaires..."
|
||||
},
|
||||
"offline": {
|
||||
"title": "Mode hors ligne",
|
||||
@@ -2405,5 +2407,62 @@
|
||||
"whatsNew": "Quoi de neuf",
|
||||
"whatsNewIn": "Quoi de neuf dans v${version}"
|
||||
}
|
||||
},
|
||||
"musician": {
|
||||
"knownFor": "Connu pour",
|
||||
"viewArtistPage": "Voir la page de l'artiste"
|
||||
},
|
||||
"performerRoles": {
|
||||
"a&R": "Artistes et répertoire",
|
||||
"acousticGuitar": "Guitare acoustique",
|
||||
"additionalEngineer": "Ingénieur supplémentaire",
|
||||
"additionalKeyboard": "Clavier supplémentaire",
|
||||
"additionalVocalist": "Chanteur supplémentaire",
|
||||
"arranger": "Arrangeur",
|
||||
"assistantEngineer": "Ingénieur adjoint",
|
||||
"assistantMixer": "Assistant mixeur",
|
||||
"associatedPerformer": "Interprète associé",
|
||||
"backgroundVocalist": "Choriste",
|
||||
"bass": "Basse",
|
||||
"bassGuitar": "Basse",
|
||||
"choir": "Chœur",
|
||||
"coProducer": "Coproducteur",
|
||||
"composer": "Compositeur",
|
||||
"composerLyricist": "Compositeur Parolier",
|
||||
"digitalEditingEngineer": "Ingénieur édition numérique",
|
||||
"drum": "Tambour",
|
||||
"drumKit": "Batterie",
|
||||
"drums": "Batterie",
|
||||
"electricGuitar": "Guitare électrique",
|
||||
"engineer": "Ingénieur",
|
||||
"featuredArtist": "Artiste en vedette",
|
||||
"guitar": "Guitare",
|
||||
"keyboard": "Clavier",
|
||||
"keyboards": "Claviers",
|
||||
"lyricist": "Parolier",
|
||||
"mainArtist": "Artiste principal",
|
||||
"masteringEngineer": "Ingénieur mastering",
|
||||
"mixer": "Mixer",
|
||||
"mixingEngineer": "Ingénieur Mixage",
|
||||
"musicPublisher": "Éditeur de musique",
|
||||
"organ": "Orgue",
|
||||
"percussion": "Percussion",
|
||||
"performance": "Performance",
|
||||
"piano": "Piano",
|
||||
"producer": "Producteur",
|
||||
"recordingEngineer": "Ingénieur du son",
|
||||
"programmer": "Programmeur",
|
||||
"recordingSecondEngineer": "Deuxième ingénieur d'enregistrement",
|
||||
"remixer": "Remixeur",
|
||||
"secondEngineer": "Deuxième ingénieur",
|
||||
"stringArranger": "Arrangeur de cordes",
|
||||
"strings": "Cordes",
|
||||
"studioPersonnel": "Personnel du studio",
|
||||
"ukulele": "Ukulélé",
|
||||
"vocal": "Vocal",
|
||||
"vocalEditingEngineer": "Ingénieur d'édition vocale",
|
||||
"vocalist": "Chanteur",
|
||||
"vocals": "Voix",
|
||||
"writer": "Écrivain"
|
||||
}
|
||||
}
|
||||
@@ -479,7 +479,8 @@
|
||||
"dragPlaylists": "Arraste playlists para reordená-las",
|
||||
"dropOntoFolder": "ou solte sobre uma pasta para mover.",
|
||||
"newFolder": "Nova pasta",
|
||||
"folderNamePlaceholder": "Digite o nome da pasta"
|
||||
"folderNamePlaceholder": "Digite o nome da pasta",
|
||||
"suggestedSongs": "Músicas sugeridas"
|
||||
},
|
||||
"favorites": {
|
||||
"title": "Favoritos",
|
||||
@@ -1663,7 +1664,8 @@
|
||||
"enabled": "habilitado",
|
||||
"newState": "Lista negra {status}"
|
||||
},
|
||||
"laodingDevices": "Carregando dispositivos..."
|
||||
"laodingDevices": "Carregando dispositivos...",
|
||||
"findingSimilarArtists": "Encontrando artistas semelhantes..."
|
||||
},
|
||||
"offline": {
|
||||
"title": "Modo Offline",
|
||||
@@ -2405,5 +2407,62 @@
|
||||
"duration": "Duração",
|
||||
"quality": "Qualidade",
|
||||
"title": "Título"
|
||||
},
|
||||
"musician": {
|
||||
"knownFor": "Conhecido por",
|
||||
"viewArtistPage": "Ver página do artista"
|
||||
},
|
||||
"performerRoles": {
|
||||
"a&R": "Artistas e Repertório",
|
||||
"acousticGuitar": "Guitarra acústica",
|
||||
"additionalEngineer": "Engenheiro Adicional",
|
||||
"additionalKeyboard": "Teclado Adicional",
|
||||
"additionalVocalist": "Vocalista Adicional",
|
||||
"arranger": "Arranjador",
|
||||
"assistantEngineer": "Engenheiro Assistente",
|
||||
"assistantMixer": "Mixador Assistente",
|
||||
"associatedPerformer": "Artista Associado",
|
||||
"backgroundVocalist": "Vocalista de fundo",
|
||||
"bass": "Baixo",
|
||||
"bassGuitar": "Baixo",
|
||||
"choir": "Coro",
|
||||
"coProducer": "Coprodutor",
|
||||
"composer": "Compositor",
|
||||
"composerLyricist": "Compositor Letrista",
|
||||
"digitalEditingEngineer": "Engenheiro de Edição Digital",
|
||||
"drum": "Tambor",
|
||||
"drumKit": "Bateria",
|
||||
"drums": "Bateria",
|
||||
"electricGuitar": "Guitarra elétrica",
|
||||
"engineer": "Engenheiro",
|
||||
"featuredArtist": "Artista em destaque",
|
||||
"guitar": "Guitarra",
|
||||
"keyboard": "Teclado",
|
||||
"keyboards": "Teclados",
|
||||
"lyricist": "Letrista",
|
||||
"mainArtist": "Artista Principal",
|
||||
"masteringEngineer": "Engenheiro de Masterização",
|
||||
"mixer": "Misturador",
|
||||
"mixingEngineer": "Engenheiro de mixagem",
|
||||
"musicPublisher": "Editora musical",
|
||||
"organ": "Órgão",
|
||||
"percussion": "Percussão",
|
||||
"performance": "Desempenho",
|
||||
"piano": "Piano",
|
||||
"producer": "Produtor",
|
||||
"recordingEngineer": "Engenheiro de Gravação",
|
||||
"programmer": "Programador",
|
||||
"recordingSecondEngineer": "Segundo Engenheiro de Gravação",
|
||||
"remixer": "Remixador",
|
||||
"secondEngineer": "Segundo Engenheiro",
|
||||
"stringArranger": "Arranjador de cordas",
|
||||
"strings": "Cordas",
|
||||
"studioPersonnel": "Pessoal do estúdio",
|
||||
"ukulele": "Ukulele",
|
||||
"vocal": "Vocal",
|
||||
"vocalEditingEngineer": "Engenheiro de edição vocal",
|
||||
"vocalist": "Vocalista",
|
||||
"vocals": "Vocais",
|
||||
"writer": "Escritor"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user