diff --git a/packages/core/src/parser/utils.ts b/packages/core/src/parser/utils.ts index ca252bff..5341a3df 100644 --- a/packages/core/src/parser/utils.ts +++ b/packages/core/src/parser/utils.ts @@ -84,7 +84,11 @@ export function normaliseTitle(title: string) { } export function cleanTitle(title: string) { - let cleaned = title.normalize('NFD'); + const umlautMap: Record = { + 'Ä':'Ae','ä':'ae','Ö':'Oe','ö':'oe','Ü':'Ue','ü':'ue','ß':'ss' + }; + // replace German umlauts with ASCII equivalents, then normalize to NFD + let cleaned = title.replace(/[ÄäÖöÜüß]/g, c => umlautMap[c]).normalize('NFD'); for (const char of ['♪', '♫', '★', '☆', '♡', '♥', '-']) { cleaned = cleaned.replaceAll(char, ' ');