Browse Source
* Add i18next, react-i18next, i18next-parser and configs * Add language config entry * Refactor for translations, add translation files * Update i18next-parser * Update translations after merge and parser fix * Add more missing translations * Remove theme translations and fix i18next globbing * Fix minor UI sizing for translations * Update translations after merge * Fix linting * Add mockSettings to i18n.jsmaster
Gelaechter
3 years ago
committed by
GitHub
53 changed files with 2778 additions and 1054 deletions
@ -1,261 +1,263 @@ |
|||
import i18next from 'i18next'; |
|||
|
|||
export const Fonts = [ |
|||
{ |
|||
label: 'Archivo', |
|||
value: 'Archivo', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Cormorant', |
|||
value: 'Cormorant', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Encode Sans', |
|||
value: 'Encode Sans', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Epilogue', |
|||
value: 'Epilogue', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Hahmlet', |
|||
value: 'Hahmlet', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Inter', |
|||
value: 'Inter', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'JetBrains Mono', |
|||
value: 'JetBrains Mono', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Manrope', |
|||
value: 'Manrope', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Monsterrat', |
|||
value: 'Monsterrat', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Oswald', |
|||
value: 'Oswald', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Oxygen', |
|||
value: 'Oxygen', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Poppins', |
|||
value: 'Poppins', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Raleway', |
|||
value: 'Raleway', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Roboto', |
|||
value: 'Roboto', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Sora', |
|||
value: 'Sora', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Spectral', |
|||
value: 'Spectral', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
{ |
|||
label: 'Work Sans', |
|||
value: 'Work Sans', |
|||
role: 'Regular', |
|||
role: i18next.t('Regular'), |
|||
}, |
|||
|
|||
// LIGHT
|
|||
{ |
|||
label: 'Archivo (Light)', |
|||
value: 'ArchivoLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Cormorant (Light)', |
|||
value: 'CormorantLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Encode Sans (Light)', |
|||
value: 'Encode SansLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Epilogue (Light)', |
|||
value: 'EpilogueLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Hahmlet (Light)', |
|||
value: 'HahmletLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Inter (Light)', |
|||
value: 'InterLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'JetBrains Mono (Light)', |
|||
value: 'JetBrains MonoLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Manrope (Light)', |
|||
value: 'ManropeLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Monsterrat (Light)', |
|||
value: 'MonsterratLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Oswald (Light)', |
|||
value: 'OswaldLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Oxygen (Light)', |
|||
value: 'OxygenLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Poppins (Light)', |
|||
value: 'PoppinsLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Raleway (Light)', |
|||
value: 'RalewayLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Roboto (Light)', |
|||
value: 'RobotoLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Sora (Light)', |
|||
value: 'SoraLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Spectral (Light)', |
|||
value: 'SpectralLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
{ |
|||
label: 'Work Sans (Light)', |
|||
value: 'Work SansLight', |
|||
role: 'Light', |
|||
role: i18next.t('Light'), |
|||
}, |
|||
|
|||
// MEDIUM
|
|||
{ |
|||
label: 'Archivo (Medium)', |
|||
value: 'ArchivoMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Cormorant (Medium)', |
|||
value: 'CormorantMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Encode Sans (Medium)', |
|||
value: 'Encode SansMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Epilogue (Medium)', |
|||
value: 'EpilogueMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Hahmlet (Medium)', |
|||
value: 'HahmletMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Inter (Medium)', |
|||
value: 'InterMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'JetBrains Mono (Medium)', |
|||
value: 'JetBrains MonoMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Manrope (Medium)', |
|||
value: 'ManropeMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Monsterrat (Medium)', |
|||
value: 'MonsterratMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Oswald (Medium)', |
|||
value: 'OswaldMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Oxygen (Medium)', |
|||
value: 'OxygenMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Poppins (Medium)', |
|||
value: 'PoppinsMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Raleway (Medium)', |
|||
value: 'RalewayMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Roboto (Medium)', |
|||
value: 'RobotoMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Sora (Medium)', |
|||
value: 'SoraMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Spectral (Medium)', |
|||
value: 'SpectralMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
{ |
|||
label: 'Work Sans (Medium)', |
|||
value: 'Work SansMedium', |
|||
role: 'Medium', |
|||
role: i18next.t('Medium'), |
|||
}, |
|||
]; |
|||
|
File diff suppressed because it is too large
@ -0,0 +1,42 @@ |
|||
import settings from 'electron-settings'; |
|||
import i18n from 'i18next'; |
|||
import { initReactI18next } from 'react-i18next'; |
|||
import { mockSettings } from '../shared/mockSettings'; |
|||
|
|||
// the translations
|
|||
// (tip move them in a JSON file and import them,
|
|||
// or even better, manage them separated from your code: https://react.i18next.com/guides/multiple-translation-files)
|
|||
const de = require('./locales/de.json'); |
|||
const en = require('./locales/en.json'); |
|||
|
|||
const resources = { |
|||
en: { translation: en }, |
|||
de: { translation: de }, |
|||
}; |
|||
|
|||
i18n |
|||
.use(initReactI18next) // passes i18n down to react-i18next
|
|||
.init({ |
|||
resources, |
|||
lng: process.env.NODE_ENV === 'test' ? mockSettings.language : settings.getSync('language'), |
|||
fallbackLng: 'en', // language to use, more information here: https://www.i18next.com/overview/configuration-options#languages-namespaces-resources
|
|||
// you can use the i18n.changeLanguage function to change the language manually: https://www.i18next.com/overview/api#changelanguage
|
|||
// if you're using a language detector, do not define the lng option
|
|||
|
|||
interpolation: { |
|||
escapeValue: false, // react already safes from xss
|
|||
}, |
|||
}); |
|||
|
|||
export default i18n; |
|||
|
|||
export const Languages = [ |
|||
{ |
|||
label: 'English', |
|||
value: 'en', |
|||
}, |
|||
{ |
|||
label: 'Deutsch', |
|||
value: 'de', |
|||
}, |
|||
]; |
@ -0,0 +1,113 @@ |
|||
// i18next-parser.config.js
|
|||
|
|||
module.exports = { |
|||
contextSeparator: '_', |
|||
// Key separator used in your translation keys
|
|||
|
|||
createOldCatalogs: true, |
|||
// Save the \_old files
|
|||
|
|||
defaultNamespace: 'translation', |
|||
// Default namespace used in your i18next config
|
|||
|
|||
defaultValue: '', |
|||
// Default value to give to empty keys
|
|||
// You may also specify a function accepting the locale, namespace, and key as arguments
|
|||
|
|||
indentation: 2, |
|||
// Indentation of the catalog files
|
|||
|
|||
keepRemoved: false, |
|||
// Keep keys from the catalog that are no longer in code
|
|||
|
|||
keySeparator: false, |
|||
// Key separator used in your translation keys
|
|||
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
|
|||
|
|||
// see below for more details
|
|||
lexers: { |
|||
hbs: ['HandlebarsLexer'], |
|||
handlebars: ['HandlebarsLexer'], |
|||
|
|||
htm: ['HTMLLexer'], |
|||
html: ['HTMLLexer'], |
|||
|
|||
mjs: ['JavascriptLexer'], |
|||
js: ['JavascriptLexer'], // if you're writing jsx inside .js files, change this to JsxLexer
|
|||
ts: ['JavascriptLexer'], |
|||
jsx: ['JsxLexer'], |
|||
tsx: ['JsxLexer'], |
|||
|
|||
default: ['JavascriptLexer'], |
|||
}, |
|||
|
|||
lineEnding: 'auto', |
|||
// Control the line ending. See options at https://github.com/ryanve/eol
|
|||
|
|||
locales: ['en', 'de'], |
|||
// An array of the locales in your applications
|
|||
|
|||
namespaceSeparator: false, |
|||
// Namespace separator used in your translation keys
|
|||
// If you want to use plain english keys, separators such as `.` and `:` will conflict. You might want to set `keySeparator: false` and `namespaceSeparator: false`. That way, `t('Status: Loading...')` will not think that there are a namespace and three separator dots for instance.
|
|||
|
|||
output: 'src/i18n/locales/$LOCALE.json', |
|||
// Supports $LOCALE and $NAMESPACE injection
|
|||
// Supports JSON (.json) and YAML (.yml) file formats
|
|||
// Where to write the locale files relative to process.cwd()
|
|||
|
|||
pluralSeparator: '_', |
|||
// Plural separator used in your translation keys
|
|||
// If you want to use plain english keys, separators such as `_` might conflict. You might want to set `pluralSeparator` to a different string that does not occur in your keys.
|
|||
|
|||
input: [ |
|||
'../../src/**/*.{js,jsx,ts,tsx}', |
|||
'!../../src/node_modules/**', |
|||
'!../../src/**/*.prod.js', |
|||
], |
|||
// An array of globs that describe where to look for source files
|
|||
// relative to the location of the configuration file
|
|||
|
|||
sort: true, |
|||
// Whether or not to sort the catalog. Can also be a [compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#parameters)
|
|||
|
|||
skipDefaultValues: false, |
|||
// Whether to ignore default values
|
|||
// You may also specify a function accepting the locale and namespace as arguments
|
|||
|
|||
useKeysAsDefaultValue: true, |
|||
// Whether to use the keys as the default value; ex. "Hello": "Hello", "World": "World"
|
|||
// This option takes precedence over the `defaultValue` and `skipDefaultValues` options
|
|||
// You may also specify a function accepting the locale and namespace as arguments
|
|||
|
|||
verbose: false, |
|||
// Display info about the parsing including some stats
|
|||
|
|||
failOnWarnings: false, |
|||
// Exit with an exit code of 1 on warnings
|
|||
|
|||
failOnUpdate: false, |
|||
// Exit with an exit code of 1 when translations are updated (for CI purpose)
|
|||
|
|||
customValueTemplate: null, |
|||
// If you wish to customize the value output the value as an object, you can set your own format.
|
|||
// ${defaultValue} is the default value you set in your translation function.
|
|||
// Any other custom property will be automatically extracted.
|
|||
//
|
|||
// Example:
|
|||
// {
|
|||
// message: "${defaultValue}",
|
|||
// description: "${maxLength}", //
|
|||
// }
|
|||
|
|||
resetDefaultValueLocale: 'en', |
|||
// The locale to compare with default values to determine whether a default value has been changed.
|
|||
// If this is set and a default value differs from a translation in the specified locale, all entries
|
|||
// for that key across locales are reset to the default value, and existing translations are moved to
|
|||
// the `_old` file.
|
|||
|
|||
i18nextOptions: null, |
|||
// If you wish to customize options in internally used i18next instance, you can define an object with any
|
|||
// configuration property supported by i18next (https://www.i18next.com/overview/configuration-options).
|
|||
// { compatibilityJSON: 'v3' } can be used to generate v3 compatible plurals.
|
|||
}; |
@ -0,0 +1,341 @@ |
|||
{ |
|||
" • Modified {{val, datetime}}": " • Geändert {{val, datetime}}", |
|||
" albums": " Alben", |
|||
"- Folder not found": "- Ordner nicht gefunden", |
|||
"(Paused)": "(Pausiert)", |
|||
"[{{albumTitle}}] No parent album found": "[{{albumTitle}}] Kein übergeordnetes Album gefunden", |
|||
"* Drag & drop rows from the # column to re-order": "* Drag & drop Zeilen von der # Spalte zum neu Anordnen", |
|||
"*You will need to manually move any existing cached files to their new location.": "*Du musst alle existierenden Cache-Dateien manuell an den neuen Speicherort verschieben.", |
|||
"# (Drag/Drop)": "# (Drag/Drop)", |
|||
"A-Z (Album Artist)": "A-Z (Alben Künstler)", |
|||
"A-Z (Album)": "A-Z (Album)", |
|||
"A-Z (Artist)": "A-Z (Künstler)", |
|||
"A-Z (Name)": "A-Z (Name)", |
|||
"Add": "Hinzufügen", |
|||
"Add (later)": "Hinzufügen (später)", |
|||
"Add (next)": "Hinzufügen (als nächstes)", |
|||
"Add playlist": "Playlist hinzufügen", |
|||
"Add shuffled to queue": "Geshuffelt zur Warteschlange hinzufügen", |
|||
"Add to favorites": "Zu Favoriten hinzufügen", |
|||
"Add to playlist": "Zu Playlist hinzufügen", |
|||
"Add to queue (later)": "Zur Warteschlange hinzufügen (später)", |
|||
"Add to queue (next)": "Zur Warteschlange hinzufügen (als nächstes)", |
|||
"Added {{n}} songs": "{{n}} Songs hinzugefügt", |
|||
"Added {{n}} songs [{{i}} filtered]": "{{n}} Songs hinzugefügt [{{i}} gefiltert]", |
|||
"Added {{songCount}} item(s) to playlist {{playlist}}": "{{songCount}} Songs zur Playlist {{playlist}} hinzugefügt", |
|||
"Added {{val, datetime}}": "Hinzugefügt {{val, datetime}}", |
|||
"Advanced": "Erweitert", |
|||
"Album": "Album", |
|||
"ALBUM": "ALBUM", |
|||
"Album Count": "Alben Anzahl", |
|||
"Album images": "Alben Bilder", |
|||
"Albums": "Alben", |
|||
"Allow Transcoding": "Transkodierung zulassen", |
|||
"An unknown error occurred": "Ein unbekannter Fehler ist aufgetreten", |
|||
"Appears On ": "Erscheint in", |
|||
"Are you sure you want to delete {{n}} playlist(s)?": "Bist du dir sicher dass du {{n}} Ülaylist(s) löschen willst?", |
|||
"Are you sure you want to delete this playlist?": "Bist du dir sicher dass du diese Playlist löschen willst?", |
|||
"Are you sure you want to reset your settings to default?": "Bist du dir sicher dass du deine Einstellungen zurücksetzen willst?", |
|||
"Art": "Kunst", |
|||
"Artist": "Künstler", |
|||
"Artist images": "Künstler Bilder", |
|||
"Artists": "Künstler", |
|||
"ASC": "AUFSTEIGEND", |
|||
"Audio Device": "Audio Gerät", |
|||
"Auto playlist": "Auto Playlist", |
|||
"Auto scroll": "Auto scroll", |
|||
"Automatic Updates": "Automatische Updates", |
|||
"Bitrate": "Bitrate", |
|||
"by": "von", |
|||
"By {{dataOwner}} • ": "Von {{dataOwner}} • ", |
|||
"Cache": "Cache", |
|||
"Card Size": "Karten Größe", |
|||
"Center": "Mitte", |
|||
"Clear cache": "Cache löschen", |
|||
"Clear queue": "Warteschlange löschen", |
|||
"Cleared {{type}} image cache": "{{type}} Bilder Cache gelöscht", |
|||
"Cleared song cache": "Song-Cache gelöscht", |
|||
"Clickable": "Anklickbar", |
|||
"Client/Application Id": "Client/Applikations Id", |
|||
"Collapse": "Einklappen", |
|||
"Column": "Spalte", |
|||
"Config": "Einstellungen", |
|||
"Config for integration with external programs.": "Einstellungen für die Integration in externe Programme.", |
|||
"Confirm": "Bestätigen", |
|||
"Connect": "Verbinden", |
|||
"Constant Power": "Konstante Stärke", |
|||
"Constant Power (fast cut)": "Konstante Stärke (schneller Abbau)", |
|||
"Constant Power (slow cut)": "Konstante Stärke (langsamer Abbau)", |
|||
"Constant Power (slow fade)": "Konstante Stärke (langsamer Übergang)", |
|||
"Copy to clipboard": "In Zwischenablage kopieren", |
|||
"CoverArt": "Titelbild", |
|||
"Create": "Erstellen", |
|||
"Create new playlist": "Neue Playlist erstellen", |
|||
"Created": "Erstellt", |
|||
"Created {{val, datetime}}": "Erstellt {{val, datetime}}", |
|||
"Crossfade Duration (s)": "Überblendedauer", |
|||
"Crossfade Type": "Überblendeart", |
|||
"Current version:": "Derzeitige Version:", |
|||
"Dashboard": "Startseite", |
|||
"Default": "Standard", |
|||
"Default Album Sort": "Standard Alben Sortierung", |
|||
"Default Song Sort": "Standard Song Sortierung", |
|||
"Delete": "Löschen", |
|||
"Delete playlist(s)": "Playlist(en) löschen", |
|||
"Deleted {{n}} playlists": "{{n}} Playlist(s) gelöscht", |
|||
"DESC": "ABSTEIGEND", |
|||
"Description": "Beschreibung", |
|||
"Deselect All": "Alle abwählen", |
|||
"Dipped": "Abgesenkt", |
|||
"Disconnect": "Verbindung trennen", |
|||
"Discord Client Id": "Discord Client Id", |
|||
"Displays the debug window.": "Zeigt das Debug-Fenster an.", |
|||
"Do you want to restart the application now?": "Willst du die Anwendung jetzt neustarten?", |
|||
"Don't know where to start? Apply a preset and tweak from there.": "Du weißt nicht wo du anfangen sollst? Wende eine Voreinstellung an und passe von da aus an.", |
|||
"Download": "Download", |
|||
"Download ({{downloadSize}})": "Download ({{downloadSize}})", |
|||
"Download links copied!": "Download links kopiert!", |
|||
"Duration": "Laufzeit", |
|||
"Dynamic Background": "Dynamischer Hintergrund", |
|||
"Edit": "Bearbeiten", |
|||
"Edit cache location": "Cache Speicherort bearbeiten", |
|||
"Enable or disable global media hotkeys (play/pause, next, previous, stop, etc). For macOS, you will need to add Sonixd as a <2>trusted accessibility client.</2>": "Aktiviere oder deaktiviere die globalen Medien-Hotkeys (Play/Pause, Weiter, Zurück, Stopp, etc.). Für macOS musst du Sonixd als <2>vertrauenswürdigen Accessibility-Client hinzufügen.</2>", |
|||
"Enable or disable the volume fade used by the crossfading players. If disabled, the fading in track will start at full volume.": "Aktiviere oder deaktiviere die Lautstärkeüberblendung die von den Crossfading-Playern verwendet wird. Wenn diese Funktion deaktiviert ist, beginnt die Überblendung bei voller Lautstärke.", |
|||
"Enable or disable the Windows System Media Transport Controls (play/pause, next, previous, stop). This will show the Windows Media Popup (Windows 10 only) when pressing a media key. This feauture will override the Global Media Hotkeys option.": "Aktiviere oder deaktiviere die Windows System Media Transport Controls (Play/Pause, Weiter, Zurück, Stopp). Dadurch wird beim drücken einer Medientaste das Windows Media Popup (nur Windows 10) angezeigt. Diese Funktion hat Vorrang vor der Globale Medien-Hotkeys Option.", |
|||
"Enabled": "Aktiviert", |
|||
"Enables or disables automatic updates. When a new version is detected, it will automatically be downloaded and installed.": "Aktiviert oder deaktiviert automatische Updates. Wenn eine neue Version gefunden wird, wird sie automatisch heruntergeladen und installiert.", |
|||
"Enter name...": "Name eingeben", |
|||
"Enter password": "Passwort eingeben", |
|||
"Enter regex string": "Regex-String eingeben", |
|||
"Enter username": "Nutzernamen eingeben", |
|||
"Equal Power": "Gleiche Stärke", |
|||
"Error adding to playlist": "Fehler beim Hinzufügen zur Playlist", |
|||
"Error fetching audio devices": "Fehler beim Lesen der Audiogeräte", |
|||
"Error saving playlist": "Fehler beim Speichern der Playlist", |
|||
"Error: {{error}}": "Fehler: {{error}}", |
|||
"Errored while saving playlist": "Fehler beim Speichern der Playlist", |
|||
"Exit to Tray": "In die Taskleiste schließen", |
|||
"Exits to the system tray.": "Schließt in die Taskleiste.", |
|||
"Expand": "Erweitern", |
|||
"External": "Extern", |
|||
"Fade": "Überblenden", |
|||
"Fav": "Fav", |
|||
"Favorite": "Favorit", |
|||
"Favorites": "Favoriten", |
|||
"File Path": "Dateipfad", |
|||
"Filter": "Filter", |
|||
"Filter out tracks based on regex string(s) by their title when adding to the queue. Adding by double-clicking a track will ignore all filters for that one track.": "Filtere tracks basierend auf Regex-String(s) nach ihren Titeln wenn du sie zur Warteschlange hinzufügst. Hinzufügen eines Tracks durch Doppelklicken ignoriert alle Filter für diesen einen Track.", |
|||
"Folder images": "Ordner Bilder", |
|||
"Folders": "Ordner", |
|||
"Font": "Schriftart", |
|||
"Font Size {{type}}": "Schriftgröße {{type}}", |
|||
"From": "Von", |
|||
"From year": "Vom Jahr", |
|||
"Gap Size": "Lücken Größe", |
|||
"Gapless": "Lückenlos", |
|||
"Genre": "Genre", |
|||
"Genres": "Genres", |
|||
"Global Media Hotkeys": "Globale Medien-Hotkeys", |
|||
"Go": "Los", |
|||
"Go to playlist": "Gehe zu Playlist", |
|||
"Go up": "Gehe aufwärts", |
|||
"Grid Alignment": "Gitterausrichtung", |
|||
"Grid View": "Gitteransicht", |
|||
"Highlight On Hover": "Hervorhebung bei Hover", |
|||
"Highlights the list view row when hovering it with the mouse.": "Hebt die Zeile in der Listenansicht beim Darüberfahren mit der Maus hervor.", |
|||
"How many tracks? (1-500)*": "Wieviele Tracks? (1-500)*", |
|||
"If local, scrobbles the currently playing song to local .txt files. If web, scrobbles the currently playing song to Tuna plugin's webserver.": "Wenn Lokal, wird der aktuell spielende Song in lokale .txt-Dateien gescrobbelt. Wenn Web, wird der aktuell wiedergegebene Song auf den Webserver des Tuna-Plugins gescrobbelt.", |
|||
"If your audio files are not playing properly or are not in a supported web streaming format, you will need to enable this (requires app restart).": "Wenn Audiodateien nicht richtig abgespielt werden oder nicht in einem unterstützten Webstreaming-Format vorliegen, aktiviere diese Funktion (Neustart der App erforderlich).", |
|||
"Images": "Bilder", |
|||
"Integrates with Discord's rich presence to display the currently playing song as your status.": "Integriert sich in Discords Rich Presence um den aktuell gespielten Song als Status anzuzeigen.", |
|||
"Items per page (Songs)": "Elemente pro Seite (Songs)", |
|||
"Language": "Sprache", |
|||
"Latest Albums ": "Neuste Alben ", |
|||
"Latest version:": "Neuste Version:", |
|||
"Left": "Links", |
|||
"Legacy auth (plaintext)": "Veraltete Autorisierung (Klartext)", |
|||
"Light": "Leicht", |
|||
"Linear": "Linear", |
|||
"List View": "Listenansicht", |
|||
"Loading...": "Lädt...", |
|||
"Local": "Lokal", |
|||
"Location:": "Ort:", |
|||
"Look & Feel": "Erscheinungsbild", |
|||
"Media Folder": "Medien Ordner", |
|||
"Medium": "Medium", |
|||
"Mini": "Mini", |
|||
"Mini-player": "Mini-player", |
|||
"Minimize to Tray": "In Taskleiste minimieren", |
|||
"Minimizes to the system tray.": "Minimiert in die Taskleiste.", |
|||
"Miniplayer": "Miniplayer", |
|||
"Modified": "Geändert", |
|||
"Most Played": "Meistgespielt", |
|||
"Move down": "Nach unten verschieben", |
|||
"Move selected down": "Auswahl nach unten verschieben", |
|||
"Move selected to [...]": "Auswahl verschieben nach [...]", |
|||
"Move selected to bottom": "Auswahl ans Ende verschieben", |
|||
"Move selected to top": "Auswahl an den Anfang verschieben", |
|||
"Move selected up": "Auswahl nach oben verschieben", |
|||
"Move to index": "Zum Index verschieben", |
|||
"Move up": "Nach oben verschieben", |
|||
"Music folder": "Musik Ordner", |
|||
"Muted": "Gestummt", |
|||
"Name": "Name", |
|||
"Native": "System", |
|||
"Next Track": "Nächster Track", |
|||
"No Album Playing": "Kein Album wird gespielt", |
|||
"No parent album found": "Kein übergeordnetes Album gefunden", |
|||
"No songs found, adjust your filters": "Keine Songs gefunden, passe deine Filter an", |
|||
"No Track Playing": "Kein Track wird gespielt", |
|||
"None": "Keine", |
|||
"Note: These settings may not function correctly depending on your desktop environment.": "Hinweis: Diese Einstellungen funktionieren je nach Desktop-Umgebung möglicherweise nicht korrekt.", |
|||
"Now Playing": "Warteschlange", |
|||
"Ok": "Ok", |
|||
"Opacity": "Sichtbarkeit", |
|||
"Open settings JSON": "Öffne Einstellungs-JSON", |
|||
"Other": "Sonstiges", |
|||
"Owner": "Besitzer", |
|||
"Page Sonixd will display on start.": "Die Seite welche beim Start von Sonixd gezeigt wird.", |
|||
"Pagination": "Seitenumbruch", |
|||
"Password": "Passwort", |
|||
"Path": "Pfad", |
|||
"Path: {{newCachePath}} not found. Enter a valid path.": "Pfad: {{newCachePath}} nicht gefunden. Gib einen gültigen Pfad an.", |
|||
"Play": "Abspielen", |
|||
"Play Artist Mix": "Spiele Künstler Mix", |
|||
"Play Compilation Albums": "Compilation-Alben abspielen", |
|||
"Play Count": "Wiedergaben", |
|||
"Play Latest Albums": "Neuste Alben abspielen", |
|||
"Play Top Songs": "Spiele Top-Songs", |
|||
"Play/Pause": "Play/Pause", |
|||
"Playback": "Wiedergabe", |
|||
"Playback Presets": "Wiedergabe Presets", |
|||
"Player": "Player", |
|||
"Playing {{n}} songs": "Wiedergabe von {{n}} Songs", |
|||
"Playing {{n}} songs [{{i}} filtered]": "Wiedergabe von {{n}} songs [{{i}} gefiltert]", |
|||
"PLAYLIST": "PLAYLIST", |
|||
"Playlist \"{{newPlaylistName}}\" created!": "Playlist \"{{newPlaylistName}}\" erstellt!", |
|||
"Playlist images": "Playlist Bilder", |
|||
"Playlists": "Playlists", |
|||
"Plays": "Wiedergaben", |
|||
"Polling Interval": "Abfrageintervall", |
|||
"Previous Track": "Previous Track", |
|||
"Private": "Privat", |
|||
"Public": "Öffentlich", |
|||
"Random": "Zuffälig", |
|||
"Rate": "Bewerten", |
|||
"Rating": "Bewertung", |
|||
"Recently Added": "Kürzlich hinzugefügt", |
|||
"Recently Played": "Kürzlich gespielt", |
|||
"Recover playlist": "Playlist wiederherstellen", |
|||
"Recovered playlist from backup": "Playlist aus Backup wiederhergestellt", |
|||
"Refresh": "Aktualisieren", |
|||
"Regular": "Normal", |
|||
"Related Artists ": "Ähnliche Künstler ", |
|||
"Release Date": "Erscheinungsdatum", |
|||
"Remove from favorites": "Aus Favoriten entfernen", |
|||
"Remove selected": "Ausgewählte entfernen", |
|||
"Repeat": "Wiederholen", |
|||
"Repeat all": "Alle wiederholen", |
|||
"Repeat one": "Einen wiederholen", |
|||
"Requires http(s)://": "Benötigt http(s)://", |
|||
"Reset": "Zurücksetzen", |
|||
"Reset defaults": "Auf Standardeinstellungen zurücksetzen", |
|||
"Reset to default": "Auf Standardeinstellungen zurücksetzen", |
|||
"Resizable": "Anpassbar", |
|||
"Restart?": "Neustarten?", |
|||
"Rich Presence": "Rich Presence", |
|||
"Row Height {{type}}": "Zeilen Höhe {{type}}", |
|||
"Save": "Speichern", |
|||
"Save (WARNING: Closing the application while saving may result in data loss)": "Speichern (WARNUNG: Das Schließen der Anwendung während des Speicherns kann zu Datenverlust führen)", |
|||
"Saved playlist": "Playlist gespeichert", |
|||
"Scan": "Scannen", |
|||
"Scrobble": "Scrobbeln", |
|||
"Scrobbling": "Scrobbling", |
|||
"Search": "Suche", |
|||
"Search: {{urlQuery}}": "Suche: {{urlQuery}}", |
|||
"Seek backward": "Zurückspulen", |
|||
"Seek Backward": "Zurückspulen", |
|||
"Seek forward": "Vorspulen", |
|||
"Seek Forward": "Vorspulen", |
|||
"Select": "Auswählen", |
|||
"Select a folder": "Wähle einen Ordner", |
|||
"Select only one row": "Wähle nur eine Zeile", |
|||
"Select which pages to apply media folder filtering to:": "Wähle auf welchen Seiten die Medienordner gefiltert werden sollen:", |
|||
"Send player updates to your server. This is required by servers such as Jellyfin and Navidrome to track play counts and use external services such as Last.fm.": "Sende Player-Updates an den Server. Dies wird von Servern wie Jellyfin und Navidrome vorrausgesetzt, um die Wiedergaben zu zählen und externe Dienste wie Last.fm zu nutzen.", |
|||
"Server": "Server", |
|||
"Server type": "Server Art", |
|||
"Session expired. Logging out.": "Sitzung abgelaufen. Abmeldung läuft.", |
|||
"Set rating": "Bewertung festlegen", |
|||
"Sets a dynamic background based on the currently playing song.": "Legt einen dynamischen Hintergrund fest, der auf dem aktuell gespielten Lied basiert.", |
|||
"Sets the parent media folder your audio files are located in. Leaving this blank will use all media folders.": "Legt den übergeordneten Medienordner fest, in dem sich die Audiodateien befinden. Ist dieses Feld leer werden alle Medienordner verwendet.", |
|||
"Show Debug Window": "Debug-Fenster anzeigen", |
|||
"SHOW LESS": "WENIGER ANZEIGEN", |
|||
"SHOW MORE": "MEHR ANZEIGEN", |
|||
"Shuffle": "Shuffeln", |
|||
"Shuffle queue": "Warteschlange Shuffeln", |
|||
"Size": "Größe", |
|||
"Song Count": "Song Anzahl", |
|||
"Songs": "Songs", |
|||
"Songs are cached only when playback for the track fully completes and ends. Skipping to the next or previous track after only partially completing the track will not begin the caching process.": "Titel werden nur dann gecached, wenn die Wiedergabe des Titels vollständig abgeschlossen ist. Springt man zum nächsten oder vorherigen Titel, bevor der Titel vollständig abgespielt ist, wird der Caching-Vorgang nicht gestartet.", |
|||
"Sort": "Sortieren", |
|||
"Sort Type": "Typ Sortieren", |
|||
"Start page": "Startseite", |
|||
"The alignment of cards in the grid view layout.": "Die Anordnung der Karten im Layout der Gitteransicht.", |
|||
"The application font.": "Die Schriftart in der Anwendung.", |
|||
"The application language.": "Die Sprache der Anwendung.", |
|||
"The application theme. Want to create your own themes? Check out the documentation <2>here</2>.": "Das Theme der Anwendung. Möchtest du deine eigenen Themes erstellen? Sieh dir <2>hier</2> die Dokumentation an.", |
|||
"The audio device for Sonixd. Leaving this blank will use the system default.": "Das Audiogerät für Sonixd. Ist diese Feld leer, wird die Systemvorgabe verwendet.", |
|||
"The client/application Id of the Sonixd discord application. To use your own, create one on the <2>developer application portal</2>. The large icon uses the name \"icon\". Default is 923372440934055968.": "Die Client/Applikations ID der Sonixd Discord Application. Um deine eigene zu verwenden, erstellst du eine auf dem <2>Entwickleranwendungsportal</2>. Das große Icon verwendet den Namen \"icon\". Standard ist 923372440934055968.", |
|||
"The default album page sort selection on application startup.": "Die standardmäßige Sortierung der Alben Seite beim Start der Anwendung.", |
|||
"The default song page sort selection on application startup.": "Die standardmäßige Sortierung der Song Seite beim Start der Anwendung.", |
|||
"The fade calculation to use when crossfading between two tracks. Enable the debug window to view the differences between each fade type.": "Die Überblendungsberechnung, die beim Überblenden zwischen zwei Tracks verwendet werden soll. Aktiviere das Debug-Fenster, um die Unterschiede zwischen den einzelnen Überblendungsarten zu sehen.", |
|||
"The full path to the directory where song metadata will be created.": "Der vollständige Pfad zu dem Verzeichnis, in dem die Song-Metadaten erstellt werden sollen.", |
|||
"The full URL to the Tuna webserver.": "Die vollständige URL zu dem Tuna Webserver.", |
|||
"The gap in pixels (px) of the grid view layout.": "Die Lücke in Pixeln (px) des Layouts der Gitteransicht.", |
|||
"The height in pixels (px) of each row in the list view.": "Die höhe in Pixeln (px) von jeder Zeile in der Listenansicht.", |
|||
"The number in milliseconds (ms) between each poll when metadata is sent.": "Die Zeit in Millisekunden (ms) zwischen den einzelnen Anfragen welche Metadaten senden.", |
|||
"The number in milliseconds between each poll when music is playing. This is used in the calculation for crossfading and gapless playback. Recommended value for gapless playback is between 10 and 20.": "Die Zeit in Millisekunden zwischen den einzelnen Abfragen bei der Musikwiedergabe. Dieser Wert wird für die Berechnung der Überblendung und der lückenlosen Wiedergabe verwendet. Der empfohlene Wert für die lückenlose Wiedergabe liegt zwischen 10 und 20.", |
|||
"The number in seconds before starting the crossfade to the next track. Setting this to 0 will enable gapless playback.": "Die Zeit in Sekunden, bevor die Überblendung zum nächsten Titel beginnt. Stellt man hier den Wert 0 ein, wird die lückenlose Wiedergabe aktiviert.", |
|||
"The number in seconds the player will skip backwards when clicking the seek backward button.": "Die Zeit in Sekunden, die der Player zurück springt, wenn man auf die Schaltfläche \"Zurückspulen\" klickt.", |
|||
"The number in seconds the player will skip forwards when clicking the seek forward button.": "Die Zeit in Sekunden, die der Player vorwärts springt, wenn man auf die Schaltfläche \"Vorspulen\" klickt.", |
|||
"The number of items that will be retrieved per page. Setting this to 0 will disable pagination.": "Die Anzahl der Elemente, die pro Seite abgerufen werden. Bei einem Wert von 0 wird der Seitenumbruch deaktiviert.", |
|||
"The titlebar style (requires app restart). ": "Das Aussehen der Titelleiste (erfordert einen Neustart)", |
|||
"The width and height in pixels (px) of each grid view card.": "Die Breite und Höhe in Pixeln (px) der einzelnen Karten der Gitteransicht.", |
|||
"Theme": "Theme", |
|||
"This is highly recommended!": "Dies ist streng empfohlen!", |
|||
"Title": "Titel", |
|||
"Title (Combined)": "Titel (Kombiniert)", |
|||
"Titlebar Style": "Aussehen der Titelleiste", |
|||
"To": "Bis", |
|||
"To year": "Zum Jahr", |
|||
"Toggle favorite": "Ent-/Favorisieren", |
|||
"Top Songs": "Top Songs", |
|||
"Track": "Track", |
|||
"Track #": "Track #", |
|||
"Track Count": "Track Anzahl", |
|||
"Track Filters": "Track Filter", |
|||
"Tracks": "Tracks", |
|||
"Tuna Webserver Url": "Tuna Webserver Url", |
|||
"Unable to clear cache item: {{error}}": "Cache-Element kann nicht gelöscht werden: {{error}}", |
|||
"Unable to scan directory: {{err}}": "Verzeichnis kann nicht gescannt werden: {{err}}", |
|||
"Unknown Album": "Unbekanntes Album", |
|||
"Unknown Artist": "Unbekannter Künstler", |
|||
"Unknown Title": "Unbekannter Titel", |
|||
"Username": "Nutzername", |
|||
"View All Songs": "Alle Songs anzeigen", |
|||
"View CHANGELOG": "CHANGELOG öffnen", |
|||
"View Discography": "Discographie anzeigen", |
|||
"View in folder": "In Ordner anzeigen", |
|||
"View in modal": "In Fenster anzeigen", |
|||
"View on GitHub": "Auf GitHub ansehen", |
|||
"Visibility": "Sichtbarkeit", |
|||
"Volume Fade": "Lautstärkeüberblendung", |
|||
"WARNING: This will reload the application": "WARNUNG: Dadurch wird die Anwendung neu geladen", |
|||
"Web": "Web", |
|||
"Which cache would you like to clear?": "Welcher Cache soll gelöscht werden?", |
|||
"Window": "Fenster", |
|||
"Windows System Media Transport Controls": "Windows System Media Transport Controls", |
|||
"Year": "Jahr", |
|||
"Years": "Jahre", |
|||
"Yes": "Ja" |
|||
} |
@ -0,0 +1,341 @@ |
|||
{ |
|||
" • Modified {{val, datetime}}": " • Modified {{val, datetime}}", |
|||
" albums": " albums", |
|||
"- Folder not found": "- Folder not found", |
|||
"(Paused)": "(Paused)", |
|||
"[{{albumTitle}}] No parent album found": "[{{albumTitle}}] No parent album found", |
|||
"* Drag & drop rows from the # column to re-order": "* Drag & drop rows from the # column to re-order", |
|||
"*You will need to manually move any existing cached files to their new location.": "*You will need to manually move any existing cached files to their new location.", |
|||
"# (Drag/Drop)": "# (Drag/Drop)", |
|||
"A-Z (Album Artist)": "A-Z (Album Artist)", |
|||
"A-Z (Album)": "A-Z (Album)", |
|||
"A-Z (Artist)": "A-Z (Artist)", |
|||
"A-Z (Name)": "A-Z (Name)", |
|||
"Add": "Add", |
|||
"Add (later)": "Add (later)", |
|||
"Add (next)": "Add (next)", |
|||
"Add playlist": "Add playlist", |
|||
"Add shuffled to queue": "Add shuffled to queue", |
|||
"Add to favorites": "Add to favorites", |
|||
"Add to playlist": "Add to playlist", |
|||
"Add to queue (later)": "Add to queue (later)", |
|||
"Add to queue (next)": "Add to queue (next)", |
|||
"Added {{n}} songs": "Added {{n}} songs", |
|||
"Added {{n}} songs [{{i}} filtered]": "Added {{n}} songs [{{i}} filtered]", |
|||
"Added {{songCount}} item(s) to playlist {{playlist}}": "Added {{songCount}} item(s) to playlist {{playlist}}", |
|||
"Added {{val, datetime}}": "Added {{val, datetime}}", |
|||
"Advanced": "Advanced", |
|||
"Album": "Album", |
|||
"ALBUM": "ALBUM", |
|||
"Album Count": "Album Count", |
|||
"Album images": "Album images", |
|||
"Albums": "Albums", |
|||
"Allow Transcoding": "Allow Transcoding", |
|||
"An unknown error occurred": "An unknown error occurred", |
|||
"Appears On ": "Appears On ", |
|||
"Are you sure you want to delete {{n}} playlist(s)?": "Are you sure you want to delete {{n}} playlist(s)?", |
|||
"Are you sure you want to delete this playlist?": "Are you sure you want to delete this playlist?", |
|||
"Are you sure you want to reset your settings to default?": "Are you sure you want to reset your settings to default?", |
|||
"Art": "Art", |
|||
"Artist": "Artist", |
|||
"Artist images": "Artist images", |
|||
"Artists": "Artists", |
|||
"ASC": "ASC", |
|||
"Audio Device": "Audio Device", |
|||
"Auto playlist": "Auto playlist", |
|||
"Auto scroll": "Auto scroll", |
|||
"Automatic Updates": "Automatic Updates", |
|||
"Bitrate": "Bitrate", |
|||
"by": "by", |
|||
"By {{dataOwner}} • ": "By {{dataOwner}} • ", |
|||
"Cache": "Cache", |
|||
"Card Size": "Card Size", |
|||
"Center": "Center", |
|||
"Clear cache": "Clear cache", |
|||
"Clear queue": "Clear queue", |
|||
"Cleared {{type}} image cache": "Cleared {{type}} image cache", |
|||
"Cleared song cache": "Cleared song cache", |
|||
"Clickable": "Clickable", |
|||
"Client/Application Id": "Client/Application Id", |
|||
"Collapse": "Collapse", |
|||
"Column": "Column", |
|||
"Config": "Config", |
|||
"Config for integration with external programs.": "Config for integration with external programs.", |
|||
"Confirm": "Confirm", |
|||
"Connect": "Connect", |
|||
"Constant Power": "Constant Power", |
|||
"Constant Power (fast cut)": "Constant Power (fast cut)", |
|||
"Constant Power (slow cut)": "Constant Power (slow cut)", |
|||
"Constant Power (slow fade)": "Constant Power (slow fade)", |
|||
"Copy to clipboard": "Copy to clipboard", |
|||
"CoverArt": "CoverArt", |
|||
"Create": "Create", |
|||
"Create new playlist": "Create new playlist", |
|||
"Created": "Created", |
|||
"Created {{val, datetime}}": "Created {{val, datetime}}", |
|||
"Crossfade Duration (s)": "Crossfade Duration (s)", |
|||
"Crossfade Type": "Crossfade Type", |
|||
"Current version:": "Current version:", |
|||
"Dashboard": "Dashboard", |
|||
"Default": "Default", |
|||
"Default Album Sort": "Default Album Sort", |
|||
"Default Song Sort": "Default Song Sort", |
|||
"Delete": "Delete", |
|||
"Delete playlist(s)": "Delete playlist(s)", |
|||
"Deleted {{n}} playlists": "Deleted {{n}} playlists", |
|||
"DESC": "DESC", |
|||
"Description": "Description", |
|||
"Deselect All": "Deselect All", |
|||
"Dipped": "Dipped", |
|||
"Disconnect": "Disconnect", |
|||
"Discord Client Id": "Discord Client Id", |
|||
"Displays the debug window.": "Displays the debug window.", |
|||
"Do you want to restart the application now?": "Do you want to restart the application now?", |
|||
"Don't know where to start? Apply a preset and tweak from there.": "Don't know where to start? Apply a preset and tweak from there.", |
|||
"Download": "Download", |
|||
"Download ({{downloadSize}})": "Download ({{downloadSize}})", |
|||
"Download links copied!": "Download links copied!", |
|||
"Duration": "Duration", |
|||
"Dynamic Background": "Dynamic Background", |
|||
"Edit": "Edit", |
|||
"Edit cache location": "Edit cache location", |
|||
"Enable or disable global media hotkeys (play/pause, next, previous, stop, etc). For macOS, you will need to add Sonixd as a <2>trusted accessibility client.</2>": "Enable or disable global media hotkeys (play/pause, next, previous, stop, etc). For macOS, you will need to add Sonixd as a <2>trusted accessibility client.</2>", |
|||
"Enable or disable the volume fade used by the crossfading players. If disabled, the fading in track will start at full volume.": "Enable or disable the volume fade used by the crossfading players. If disabled, the fading in track will start at full volume.", |
|||
"Enable or disable the Windows System Media Transport Controls (play/pause, next, previous, stop). This will show the Windows Media Popup (Windows 10 only) when pressing a media key. This feauture will override the Global Media Hotkeys option.": "Enable or disable the Windows System Media Transport Controls (play/pause, next, previous, stop). This will show the Windows Media Popup (Windows 10 only) when pressing a media key. This feauture will override the Global Media Hotkeys option.", |
|||
"Enabled": "Enabled", |
|||
"Enables or disables automatic updates. When a new version is detected, it will automatically be downloaded and installed.": "Enables or disables automatic updates. When a new version is detected, it will automatically be downloaded and installed.", |
|||
"Enter name...": "Enter name...", |
|||
"Enter password": "Enter password", |
|||
"Enter regex string": "Enter regex string", |
|||
"Enter username": "Enter username", |
|||
"Equal Power": "Equal Power", |
|||
"Error adding to playlist": "Error adding to playlist", |
|||
"Error fetching audio devices": "Error fetching audio devices", |
|||
"Error saving playlist": "Error saving playlist", |
|||
"Error: {{error}}": "Error: {{error}}", |
|||
"Errored while saving playlist": "Errored while saving playlist", |
|||
"Exit to Tray": "Exit to Tray", |
|||
"Exits to the system tray.": "Exits to the system tray.", |
|||
"Expand": "Expand", |
|||
"External": "External", |
|||
"Fade": "Fade", |
|||
"Fav": "Fav", |
|||
"Favorite": "Favorite", |
|||
"Favorites": "Favorites", |
|||
"File Path": "File Path", |
|||
"Filter": "Filter", |
|||
"Filter out tracks based on regex string(s) by their title when adding to the queue. Adding by double-clicking a track will ignore all filters for that one track.": "Filter out tracks based on regex string(s) by their title when adding to the queue. Adding by double-clicking a track will ignore all filters for that one track.", |
|||
"Folder images": "Folder images", |
|||
"Folders": "Folders", |
|||
"Font": "Font", |
|||
"Font Size {{type}}": "Font Size {{type}}", |
|||
"From": "From", |
|||
"From year": "From year", |
|||
"Gap Size": "Gap Size", |
|||
"Gapless": "Gapless", |
|||
"Genre": "Genre", |
|||
"Genres": "Genres", |
|||
"Global Media Hotkeys": "Global Media Hotkeys", |
|||
"Go": "Go", |
|||
"Go to playlist": "Go to playlist", |
|||
"Go up": "Go up", |
|||
"Grid Alignment": "Grid Alignment", |
|||
"Grid View": "Grid View", |
|||
"Highlight On Hover": "Highlight On Hover", |
|||
"Highlights the list view row when hovering it with the mouse.": "Highlights the list view row when hovering it with the mouse.", |
|||
"How many tracks? (1-500)*": "How many tracks? (1-500)*", |
|||
"If local, scrobbles the currently playing song to local .txt files. If web, scrobbles the currently playing song to Tuna plugin's webserver.": "If local, scrobbles the currently playing song to local .txt files. If web, scrobbles the currently playing song to Tuna plugin's webserver.", |
|||
"If your audio files are not playing properly or are not in a supported web streaming format, you will need to enable this (requires app restart).": "If your audio files are not playing properly or are not in a supported web streaming format, you will need to enable this (requires app restart).", |
|||
"Images": "Images", |
|||
"Integrates with Discord's rich presence to display the currently playing song as your status.": "Integrates with Discord's rich presence to display the currently playing song as your status.", |
|||
"Items per page (Songs)": "Items per page (Songs)", |
|||
"Language": "Language", |
|||
"Latest Albums ": "Latest Albums ", |
|||
"Latest version:": "Latest version:", |
|||
"Left": "Left", |
|||
"Legacy auth (plaintext)": "Legacy auth (plaintext)", |
|||
"Light": "Light", |
|||
"Linear": "Linear", |
|||
"List View": "List View", |
|||
"Loading...": "Loading...", |
|||
"Local": "Local", |
|||
"Location:": "Location:", |
|||
"Look & Feel": "Look & Feel", |
|||
"Media Folder": "Media Folder", |
|||
"Medium": "Medium", |
|||
"Mini": "Mini", |
|||
"Mini-player": "Mini-player", |
|||
"Minimize to Tray": "Minimize to Tray", |
|||
"Minimizes to the system tray.": "Minimizes to the system tray.", |
|||
"Miniplayer": "Miniplayer", |
|||
"Modified": "Modified", |
|||
"Most Played": "Most Played", |
|||
"Move down": "Move down", |
|||
"Move selected down": "Move selected down", |
|||
"Move selected to [...]": "Move selected to [...]", |
|||
"Move selected to bottom": "Move selected to bottom", |
|||
"Move selected to top": "Move selected to top", |
|||
"Move selected up": "Move selected up", |
|||
"Move to index": "Move to index", |
|||
"Move up": "Move up", |
|||
"Music folder": "Music folder", |
|||
"Muted": "Muted", |
|||
"Name": "Name", |
|||
"Native": "Native", |
|||
"Next Track": "Next Track", |
|||
"No Album Playing": "No Album Playing", |
|||
"No parent album found": "No parent album found", |
|||
"No songs found, adjust your filters": "No songs found, adjust your filters", |
|||
"No Track Playing": "No Track Playing", |
|||
"None": "None", |
|||
"Note: These settings may not function correctly depending on your desktop environment.": "Note: These settings may not function correctly depending on your desktop environment.", |
|||
"Now Playing": "Now Playing", |
|||
"Ok": "Ok", |
|||
"Opacity": "Opacity", |
|||
"Open settings JSON": "Open settings JSON", |
|||
"Other": "Other", |
|||
"Owner": "Owner", |
|||
"Page Sonixd will display on start.": "Page Sonixd will display on start.", |
|||
"Pagination": "Pagination", |
|||
"Password": "Password", |
|||
"Path": "Path", |
|||
"Path: {{newCachePath}} not found. Enter a valid path.": "Path: {{newCachePath}} not found. Enter a valid path.", |
|||
"Play": "Play", |
|||
"Play Artist Mix": "Play Artist Mix", |
|||
"Play Compilation Albums": "Play Compilation Albums", |
|||
"Play Count": "Play Count", |
|||
"Play Latest Albums": "Play Latest Albums", |
|||
"Play Top Songs": "Play Top Songs", |
|||
"Play/Pause": "Play/Pause", |
|||
"Playback": "Playback", |
|||
"Playback Presets": "Playback Presets", |
|||
"Player": "Player", |
|||
"Playing {{n}} songs": "Playing {{n}} songs", |
|||
"Playing {{n}} songs [{{i}} filtered]": "Playing {{n}} songs [{{i}} filtered]", |
|||
"PLAYLIST": "PLAYLIST", |
|||
"Playlist \"{{newPlaylistName}}\" created!": "Playlist \"{{newPlaylistName}}\" created!", |
|||
"Playlist images": "Playlist images", |
|||
"Playlists": "Playlists", |
|||
"Plays": "Plays", |
|||
"Polling Interval": "Polling Interval", |
|||
"Previous Track": "Previous Track", |
|||
"Private": "Private", |
|||
"Public": "Public", |
|||
"Random": "Random", |
|||
"Rate": "Rate", |
|||
"Rating": "Rating", |
|||
"Recently Added": "Recently Added", |
|||
"Recently Played": "Recently Played", |
|||
"Recover playlist": "Recover playlist", |
|||
"Recovered playlist from backup": "Recovered playlist from backup", |
|||
"Refresh": "Refresh", |
|||
"Regular": "Regular", |
|||
"Related Artists ": "Related Artists ", |
|||
"Release Date": "Release Date", |
|||
"Remove from favorites": "Remove from favorites", |
|||
"Remove selected": "Remove selected", |
|||
"Repeat": "Repeat", |
|||
"Repeat all": "Repeat all", |
|||
"Repeat one": "Repeat one", |
|||
"Requires http(s)://": "Requires http(s)://", |
|||
"Reset": "Reset", |
|||
"Reset defaults": "Reset defaults", |
|||
"Reset to default": "Reset to default", |
|||
"Resizable": "Resizable", |
|||
"Restart?": "Restart?", |
|||
"Rich Presence": "Rich Presence", |
|||
"Row Height {{type}}": "Row Height {{type}}", |
|||
"Save": "Save", |
|||
"Save (WARNING: Closing the application while saving may result in data loss)": "Save (WARNING: Closing the application while saving may result in data loss)", |
|||
"Saved playlist": "Saved playlist", |
|||
"Scan": "Scan", |
|||
"Scrobble": "Scrobble", |
|||
"Scrobbling": "Scrobbling", |
|||
"Search": "Search", |
|||
"Search: {{urlQuery}}": "Search: {{urlQuery}}", |
|||
"Seek backward": "Seek backward", |
|||
"Seek Backward": "Seek Backward", |
|||
"Seek forward": "Seek forward", |
|||
"Seek Forward": "Seek Forward", |
|||
"Select": "Select", |
|||
"Select a folder": "Select a folder", |
|||
"Select only one row": "Select only one row", |
|||
"Select which pages to apply media folder filtering to:": "Select which pages to apply media folder filtering to:", |
|||
"Send player updates to your server. This is required by servers such as Jellyfin and Navidrome to track play counts and use external services such as Last.fm.": "Send player updates to your server. This is required by servers such as Jellyfin and Navidrome to track play counts and use external services such as Last.fm.", |
|||
"Server": "Server", |
|||
"Server type": "Server type", |
|||
"Session expired. Logging out.": "Session expired. Logging out.", |
|||
"Set rating": "Set rating", |
|||
"Sets a dynamic background based on the currently playing song.": "Sets a dynamic background based on the currently playing song.", |
|||
"Sets the parent media folder your audio files are located in. Leaving this blank will use all media folders.": "Sets the parent media folder your audio files are located in. Leaving this blank will use all media folders.", |
|||
"Show Debug Window": "Show Debug Window", |
|||
"SHOW LESS": "SHOW LESS", |
|||
"SHOW MORE": "SHOW MORE", |
|||
"Shuffle": "Shuffle", |
|||
"Shuffle queue": "Shuffle queue", |
|||
"Size": "Size", |
|||
"Song Count": "Song Count", |
|||
"Songs": "Songs", |
|||
"Songs are cached only when playback for the track fully completes and ends. Skipping to the next or previous track after only partially completing the track will not begin the caching process.": "Songs are cached only when playback for the track fully completes and ends. Skipping to the next or previous track after only partially completing the track will not begin the caching process.", |
|||
"Sort": "Sort", |
|||
"Sort Type": "Sort Type", |
|||
"Start page": "Start page", |
|||
"The alignment of cards in the grid view layout.": "The alignment of cards in the grid view layout.", |
|||
"The application font.": "The application font.", |
|||
"The application language.": "The application language.", |
|||
"The application theme. Want to create your own themes? Check out the documentation <2>here</2>.": "The application theme. Want to create your own themes? Check out the documentation <2>here</2>.", |
|||
"The audio device for Sonixd. Leaving this blank will use the system default.": "The audio device for Sonixd. Leaving this blank will use the system default.", |
|||
"The client/application Id of the Sonixd discord application. To use your own, create one on the <2>developer application portal</2>. The large icon uses the name \"icon\". Default is 923372440934055968.": "The client/application Id of the Sonixd discord application. To use your own, create one on the <2>developer application portal</2>. The large icon uses the name \"icon\". Default is 923372440934055968.", |
|||
"The default album page sort selection on application startup.": "The default album page sort selection on application startup.", |
|||
"The default song page sort selection on application startup.": "The default song page sort selection on application startup.", |
|||
"The fade calculation to use when crossfading between two tracks. Enable the debug window to view the differences between each fade type.": "The fade calculation to use when crossfading between two tracks. Enable the debug window to view the differences between each fade type.", |
|||
"The full path to the directory where song metadata will be created.": "The full path to the directory where song metadata will be created.", |
|||
"The full URL to the Tuna webserver.": "The full URL to the Tuna webserver.", |
|||
"The gap in pixels (px) of the grid view layout.": "The gap in pixels (px) of the grid view layout.", |
|||
"The height in pixels (px) of each row in the list view.": "The height in pixels (px) of each row in the list view.", |
|||
"The number in milliseconds (ms) between each poll when metadata is sent.": "The number in milliseconds (ms) between each poll when metadata is sent.", |
|||
"The number in milliseconds between each poll when music is playing. This is used in the calculation for crossfading and gapless playback. Recommended value for gapless playback is between 10 and 20.": "The number in milliseconds between each poll when music is playing. This is used in the calculation for crossfading and gapless playback. Recommended value for gapless playback is between 10 and 20.", |
|||
"The number in seconds before starting the crossfade to the next track. Setting this to 0 will enable gapless playback.": "The number in seconds before starting the crossfade to the next track. Setting this to 0 will enable gapless playback.", |
|||
"The number in seconds the player will skip backwards when clicking the seek backward button.": "The number in seconds the player will skip backwards when clicking the seek backward button.", |
|||
"The number in seconds the player will skip forwards when clicking the seek forward button.": "The number in seconds the player will skip forwards when clicking the seek forward button.", |
|||
"The number of items that will be retrieved per page. Setting this to 0 will disable pagination.": "The number of items that will be retrieved per page. Setting this to 0 will disable pagination.", |
|||
"The titlebar style (requires app restart). ": "The titlebar style (requires app restart). ", |
|||
"The width and height in pixels (px) of each grid view card.": "The width and height in pixels (px) of each grid view card.", |
|||
"Theme": "Theme", |
|||
"This is highly recommended!": "This is highly recommended!", |
|||
"Title": "Title", |
|||
"Title (Combined)": "Title (Combined)", |
|||
"Titlebar Style": "Titlebar Style", |
|||
"To": "To", |
|||
"To year": "To year", |
|||
"Toggle favorite": "Toggle favorite", |
|||
"Top Songs": "Top Songs", |
|||
"Track": "Track", |
|||
"Track #": "Track #", |
|||
"Track Count": "Track Count", |
|||
"Track Filters": "Track Filters", |
|||
"Tracks": "Tracks", |
|||
"Tuna Webserver Url": "Tuna Webserver Url", |
|||
"Unable to clear cache item: {{error}}": "Unable to clear cache item: {{error}}", |
|||
"Unable to scan directory: {{err}}": "Unable to scan directory: {{err}}", |
|||
"Unknown Album": "Unknown Album", |
|||
"Unknown Artist": "Unknown Artist", |
|||
"Unknown Title": "Unknown Title", |
|||
"Username": "Username", |
|||
"View All Songs": "View All Songs", |
|||
"View CHANGELOG": "View CHANGELOG", |
|||
"View Discography": "View Discography", |
|||
"View in folder": "View in folder", |
|||
"View in modal": "View in modal", |
|||
"View on GitHub": "View on GitHub", |
|||
"Visibility": "Visibility", |
|||
"Volume Fade": "Volume Fade", |
|||
"WARNING: This will reload the application": "WARNING: This will reload the application", |
|||
"Web": "Web", |
|||
"Which cache would you like to clear?": "Which cache would you like to clear?", |
|||
"Window": "Window", |
|||
"Windows System Media Transport Controls": "Windows System Media Transport Controls", |
|||
"Year": "Year", |
|||
"Years": "Years", |
|||
"Yes": "Yes" |
|||
} |
File diff suppressed because it is too large
Loading…
Reference in new issue