import type { LocalMessage } from 'stream-chat' type MessageWithI18n = Pick & { i18n?: Record | null } export function normalizeLanguageCode(language?: string): string | undefined { const normalized = language?.trim().toLowerCase().split(/[-_]/)[0] return normalized || undefined } export function getMessageDisplayText({ message, viewerLanguage, }: { message?: MessageWithI18n | null viewerLanguage?: string }): string | undefined { const fallbackText = message?.text const normalizedLanguage = normalizeLanguageCode(viewerLanguage) if (!normalizedLanguage) { return fallbackText } return message?.i18n?.[`${normalizedLanguage}_text`] ?? fallbackText }