mirror of
https://github.com/jeffvli/feishin.git
synced 2024-11-20 06:27:09 +01:00
Merge branch 'development' of github.com:jeffvli/feishin into development
This commit is contained in:
commit
73c6ddd116
@ -1,4 +1,4 @@
|
||||
import { PostProcessorModule } from 'i18next';
|
||||
import { PostProcessorModule, TOptions, StringMap } from 'i18next';
|
||||
import i18n from 'i18next';
|
||||
import { initReactI18next } from 'react-i18next';
|
||||
import en from './locales/en.json';
|
||||
@ -125,16 +125,18 @@ const titleCasePostProcessor: PostProcessorModule = {
|
||||
},
|
||||
};
|
||||
|
||||
const ignoreSentenceCaseLanguages = ['de']
|
||||
|
||||
const sentenceCasePostProcessor: PostProcessorModule = {
|
||||
type: 'postProcessor',
|
||||
name: 'sentenceCase',
|
||||
process: (value: string) => {
|
||||
process: (value: string, _key: string, _options: TOptions<StringMap>, translator: any) => {
|
||||
const sentences = value.split('. ');
|
||||
|
||||
return sentences
|
||||
.map((sentence) => {
|
||||
return (
|
||||
sentence.charAt(0).toLocaleUpperCase() + sentence.slice(1).toLocaleLowerCase()
|
||||
sentence.charAt(0).toLocaleUpperCase() + (!ignoreSentenceCaseLanguages.includes(translator.language) ? sentence.slice(1).toLocaleLowerCase() : sentence.slice(1))
|
||||
);
|
||||
})
|
||||
.join('. ');
|
||||
|
@ -8,8 +8,8 @@
|
||||
"deletePlaylist": "löschen $t(entity.playlist_one)",
|
||||
"deselectAll": "Alle abwählen",
|
||||
"goToPage": "Gehe zur Seite",
|
||||
"moveToTop": "Nach Oben",
|
||||
"moveToBottom": "Nach Unten",
|
||||
"moveToTop": "Nach oben",
|
||||
"moveToBottom": "Nach unten",
|
||||
"removeFromPlaylist": "Entfernen von $t(entity.playlist_one)",
|
||||
"viewPlaylists": "Ansicht $t(entity.playlist_other)",
|
||||
"refresh": "$t(common.refresh)",
|
||||
@ -23,7 +23,7 @@
|
||||
"increase": "erhöhen",
|
||||
"rating": "Wertung",
|
||||
"bpm": "bpm",
|
||||
"refresh": "erneuern",
|
||||
"refresh": "Aktualisieren",
|
||||
"unknown": "Unbekannt",
|
||||
"areYouSure": "Bist Du sicher?",
|
||||
"edit": "Bearbeiten",
|
||||
@ -61,7 +61,8 @@
|
||||
"delete": "Löschen",
|
||||
"cancel": "Abbrechen",
|
||||
"forceRestartRequired": "Neustarten um die Änderungen zu übernehmen... Schließe die Benachrichtigung zum Neustarten",
|
||||
"setting": "Einstellung",
|
||||
"setting": "Einstellungen",
|
||||
"setting_other": "Einstellungen",
|
||||
"version": "Version",
|
||||
"title": "Titel",
|
||||
"filter_one": "Filter",
|
||||
@ -84,7 +85,7 @@
|
||||
"sortOrder": "Reihenfolge",
|
||||
"none": "keine",
|
||||
"menu": "Menü",
|
||||
"restartRequired": "Neustart benötigt",
|
||||
"restartRequired": "(Neustart benötigt)",
|
||||
"previousSong": "vorheriger $t(entity.track_one)",
|
||||
"noResultsFromQuery": "Die Abfrage brachte keine Ergebnisse",
|
||||
"quit": "Verlassen",
|
||||
@ -120,7 +121,7 @@
|
||||
"loginRateError": "Zu viele Anmeldeversuche, bitte versuche es in einigen Sekunden erneut"
|
||||
},
|
||||
"filter": {
|
||||
"mostPlayed": "Meist gespielt",
|
||||
"mostPlayed": "Meistgespielt",
|
||||
"comment": "Kommentar",
|
||||
"playCount": "Anzahl abgespielt",
|
||||
"recentlyUpdated": "kürzlich aktualisiert",
|
||||
@ -224,12 +225,12 @@
|
||||
"artist_other": "Interpreten",
|
||||
"folderWithCount_one": "{{count}} Verzeichnis",
|
||||
"folderWithCount_other": "{{count}} Verzeichnisse",
|
||||
"albumArtist_one": "Album Interpret",
|
||||
"albumArtist_other": "Album Interpreten",
|
||||
"albumArtist_one": "Albuminterpret",
|
||||
"albumArtist_other": "Albuminterpreten",
|
||||
"track_one": "Track",
|
||||
"track_other": "Tracks",
|
||||
"albumArtistCount_one": "{{count}} Album Interpret",
|
||||
"albumArtistCount_other": "{{count}} Album Interpreten",
|
||||
"albumArtistCount_one": "{{count}} Albuminterpret",
|
||||
"albumArtistCount_other": "{{count}} Albuminterpreten",
|
||||
"albumWithCount_one": "{{count}} Album",
|
||||
"albumWithCount_other": "{{count}} Alben",
|
||||
"favorite_one": "Favorit",
|
||||
@ -272,12 +273,12 @@
|
||||
"synchronized": "synchronisiert",
|
||||
"followCurrentLyric": "dem Songtext folgen",
|
||||
"opacity": "Deckkraft",
|
||||
"lyricSize": "Songtext Größe",
|
||||
"lyricSize": "Songtext-Größe",
|
||||
"showLyricProvider": "Songtext-Anbieter anzeigen",
|
||||
"unsynchronized": "nicht synchronisiert",
|
||||
"lyricAlignment": "Songtext Ausrichtung",
|
||||
"lyricAlignment": "Songtext-Ausrichtung",
|
||||
"useImageAspectRatio": "Bildseitenverhältnis verwenden",
|
||||
"lyricGap": "Songtext Lücke"
|
||||
"lyricGap": "Songtext-Lücke"
|
||||
},
|
||||
"upNext": "als nächstes",
|
||||
"lyrics": "Songtexte",
|
||||
@ -289,16 +290,16 @@
|
||||
"manageServers": "Server verwalten",
|
||||
"expandSidebar": "Seitenleiste erweitern",
|
||||
"collapseSidebar": "Seitenleiste einklappen",
|
||||
"openBrowserDevtools": "Browser Entwicklungswerkzeuge öffnen",
|
||||
"openBrowserDevtools": "Browser-Entwicklungswerkzeuge öffnen",
|
||||
"goBack": "Gehe zurück",
|
||||
"goForward": "Gehe vorwärts",
|
||||
"settings": "$t(common.setting_other)",
|
||||
"quit": "$t(common.quit)"
|
||||
},
|
||||
"home": {
|
||||
"mostPlayed": "Meist gespielt",
|
||||
"mostPlayed": "Meistgespielt",
|
||||
"newlyAdded": "Neu hinzugefügte Veröffentlichungen",
|
||||
"explore": "Entdecken Sie Ihre Bibliothek",
|
||||
"explore": "Entdecke deine Bibliothek",
|
||||
"recentlyPlayed": "Kürzlich gespielt",
|
||||
"title": "$t(common.home)"
|
||||
},
|
||||
@ -431,7 +432,7 @@
|
||||
"sidebarCollapsedNavigation_description": "Zeigt die Navigation in der minimierten Seitenleiste an oder verbirgt sie",
|
||||
"mpvExecutablePath_help": "eine pro Zeile",
|
||||
"hotkey_volumeUp": "Lauter",
|
||||
"skipDuration": "Sprung Dauer",
|
||||
"skipDuration": "Sprungdauer",
|
||||
"showSkipButtons": "Schaltflächen zum Überspringen anzeigen",
|
||||
"playButtonBehavior_optionPlay": "$t(player.play)",
|
||||
"minimumScrobblePercentage": "minimale Scrobble-Dauer (Prozentsatz)",
|
||||
@ -495,7 +496,7 @@
|
||||
"savePlayQueue": "Wiedergabe-Warteschlange speichern",
|
||||
"minimumScrobbleSeconds_description": "die Mindestdauer in Sekunden, die das Lied abspielen muss, bevor es gescrobbelt wird",
|
||||
"skipPlaylistPage_description": "Gehen Sie beim Navigieren zu einer Wiedergabeliste zur Titelseite der Wiedergabeliste und nicht zur Standardseite",
|
||||
"fontType_description": "Die integrierte Schriftart wählt eine der von Feishin bereitgestellten Schriftarten aus. Mit der Systemschriftart können Sie jede von Ihrem Betriebssystem bereitgestellte Schriftart auswählen. Benutzerdefiniert erlaubt es eine eigene Schriftart bereitstellen",
|
||||
"fontType_description": "Die integrierte Schriftart wählt eine der von Feishin bereitgestellten Schriftarten aus. Mit der Systemschriftart können Sie jede von Ihrem Betriebssystem bereitgestellte Schriftart auswählen. Benutzerdefiniert erlaubt es eine eigene Schriftart bereitzustellen",
|
||||
"playButtonBehavior": "Verhalten der Wiedergabetaste",
|
||||
"volumeWheelStep": "Lautstärkeregler Stufe",
|
||||
"sidebarPlaylistList_description": "Ein- oder Ausblenden der Playlisten-Liste in der Seitenleiste",
|
||||
@ -510,7 +511,7 @@
|
||||
"sidebarConfiguration_description": "Wählen Sie die Elemente und die Reihenfolge aus, in der sie in der Seitenleiste angezeigt werden",
|
||||
"remotePort": "Port des Fernsteuerungsserver",
|
||||
"hotkey_playbackNext": "Nächster Track",
|
||||
"useSystemTheme_description": "der systemdefinierten Hell oder Dunkel Präferenz folgen",
|
||||
"useSystemTheme_description": "der systemdefinierten Hell- oder Dunkelpräferenz folgen",
|
||||
"playButtonBehavior_optionAddNext": "$t(player.addNext)",
|
||||
"lyricFetch_description": "Songtexte aus verschiedenen Internetquellen abrufen",
|
||||
"lyricFetchProvider_description": "Wählen Sie die Anbieter aus, von denen Sie Liedtexte abrufen möchten. Die Reihenfolge der Anbieter ist die Reihenfolge, in der sie abgefragt werden",
|
||||
|
@ -317,9 +317,9 @@ const createWindow = async () => {
|
||||
}
|
||||
});
|
||||
|
||||
const globalMediaKeysEnabled = store.get('global_media_hotkeys') as boolean;
|
||||
const globalMediaKeysEnabled = store.get('global_media_hotkeys', true) as boolean;
|
||||
|
||||
if (globalMediaKeysEnabled !== false) {
|
||||
if (globalMediaKeysEnabled) {
|
||||
enableMediaKeys(mainWindow);
|
||||
}
|
||||
|
||||
@ -633,7 +633,7 @@ ipcMain.on(
|
||||
}
|
||||
}
|
||||
|
||||
const globalMediaKeysEnabled = store.get('global_media_hotkeys') as boolean;
|
||||
const globalMediaKeysEnabled = store.get('global_media_hotkeys', true) as boolean;
|
||||
|
||||
if (globalMediaKeysEnabled) {
|
||||
enableMediaKeys(mainWindow);
|
||||
|
@ -251,7 +251,16 @@ const HomeRoute = () => {
|
||||
property: 'name',
|
||||
route: {
|
||||
route: AppRoute.LIBRARY_ALBUMS_DETAIL,
|
||||
slugs: [{ idProperty: 'id', slugProperty: 'albumId' }],
|
||||
slugs: [
|
||||
{
|
||||
idProperty:
|
||||
server?.type === ServerType.JELLYFIN &&
|
||||
carousel.itemType === LibraryItem.SONG
|
||||
? 'albumId'
|
||||
: 'id',
|
||||
slugProperty: 'albumId',
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -272,7 +281,16 @@ const HomeRoute = () => {
|
||||
itemType={carousel.itemType}
|
||||
route={{
|
||||
route: AppRoute.LIBRARY_ALBUMS_DETAIL,
|
||||
slugs: [{ idProperty: 'id', slugProperty: 'albumId' }],
|
||||
slugs: [
|
||||
{
|
||||
idProperty:
|
||||
server?.type === ServerType.JELLYFIN &&
|
||||
carousel.itemType === LibraryItem.SONG
|
||||
? 'albumId'
|
||||
: 'id',
|
||||
slugProperty: 'albumId',
|
||||
},
|
||||
],
|
||||
}}
|
||||
title={{
|
||||
label: (
|
||||
|
Loading…
Reference in New Issue
Block a user