From 4ff4ea0df04ca8e3d030212b1727a3aaea03be0c Mon Sep 17 00:00:00 2001 From: Psychotoxical Date: Sat, 18 Apr 2026 23:35:01 +0200 Subject: [PATCH] fix(i18n): use t('artists.albumCount') in ArtistCardLocal The album count on local artist cards was rendered with hardcoded German ("Album"/"Alben"). Switched to the existing plural-aware i18n key which covers all 8 locales (including Russian Slavic plurals). Co-Authored-By: cucadmuh Co-Authored-By: Claude Opus 4.7 (1M context) --- src/components/ArtistCardLocal.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/ArtistCardLocal.tsx b/src/components/ArtistCardLocal.tsx index 29a7566d..28bc210e 100644 --- a/src/components/ArtistCardLocal.tsx +++ b/src/components/ArtistCardLocal.tsx @@ -2,6 +2,7 @@ import React, { useMemo } from 'react'; import { SubsonicArtist, buildCoverArtUrl, coverArtCacheKey } from '../api/subsonic'; import { useNavigate } from 'react-router-dom'; import { Users } from 'lucide-react'; +import { useTranslation } from 'react-i18next'; import CachedImage from './CachedImage'; interface Props { @@ -9,6 +10,7 @@ interface Props { } export default function ArtistCardLocal({ artist }: Props) { + const { t } = useTranslation(); const navigate = useNavigate(); const coverId = artist.coverArt || artist.id; // buildCoverArtUrl generates a new crypto salt on every call — must be @@ -38,7 +40,7 @@ export default function ArtistCardLocal({ artist }: Props) { {artist.name} {typeof artist.albumCount === 'number' && ( - {artist.albumCount} {artist.albumCount === 1 ? 'Album' : 'Alben'} + {t('artists.albumCount', { count: artist.albumCount })} )}