From 8f4125fcc9e00384b82496c674e3df9a28233ddb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Lohrer?= Date: Tue, 21 Apr 2026 12:41:29 +0200 Subject: [PATCH] =?UTF-8?q?feat(app):=20displayLanguage=20code=E2=86=92anz?= =?UTF-8?q?eigename?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/lib/nostr/languageNames.test.ts | 17 +++++++++++++++++ app/src/lib/nostr/languageNames.ts | 9 +++++++++ 2 files changed, 26 insertions(+) create mode 100644 app/src/lib/nostr/languageNames.test.ts create mode 100644 app/src/lib/nostr/languageNames.ts diff --git a/app/src/lib/nostr/languageNames.test.ts b/app/src/lib/nostr/languageNames.test.ts new file mode 100644 index 0000000..8d64698 --- /dev/null +++ b/app/src/lib/nostr/languageNames.test.ts @@ -0,0 +1,17 @@ +import { describe, it, expect } from 'vitest'; +import { displayLanguage } from './languageNames'; + +describe('displayLanguage', () => { + it('kennt deutsch', () => { + expect(displayLanguage('de')).toBe('Deutsch'); + }); + it('kennt english', () => { + expect(displayLanguage('en')).toBe('English'); + }); + it('fällt bei unbekanntem code auf uppercase-code zurück', () => { + expect(displayLanguage('fr')).toBe('FR'); + }); + it('fällt bei leerer sprache auf ? zurück', () => { + expect(displayLanguage('')).toBe('?'); + }); +}); diff --git a/app/src/lib/nostr/languageNames.ts b/app/src/lib/nostr/languageNames.ts new file mode 100644 index 0000000..1e2d44b --- /dev/null +++ b/app/src/lib/nostr/languageNames.ts @@ -0,0 +1,9 @@ +const NAMES: Record = { + de: 'Deutsch', + en: 'English' +}; + +export function displayLanguage(code: string): string { + if (!code) return '?'; + return NAMES[code] ?? code.toUpperCase(); +}