fix lang labels

This commit is contained in:
Ildar Kamalov 2026-07-23 14:12:03 +03:00
parent 9b59e83e39
commit a7c10ff294

View file

@ -17,7 +17,23 @@ type LanguageDropdownProps = {
sort?: boolean;
};
const getLanguageShortLabel = (lang: string) => (lang || '').slice(0, 2).toUpperCase();
const getLanguageShortLabel = (lang: string) => {
const code = (lang || '').toLowerCase();
const parts = code.split('-');
if (parts.length === 1) {
return parts[0].slice(0, 2).toUpperCase();
}
const prefix = parts[0].slice(0, 2).toUpperCase();
const suffix = parts.slice(1).map((p) => p.toUpperCase()).join('-');
// Skip redundant suffix, e.g. pt-pt → PT (not PT (PT))
if (prefix === suffix) {
return prefix;
}
return `${prefix} (${suffix})`;
};
export const LanguageDropdown = (props: LanguageDropdownProps) => {
const [open, setOpen] = createSignal(false);