@llselect/core/i18n

Language packs for the UI chrome - the @llselect/core/i18n subpath. Pure data, tree-shakeable; spread a pack into the uiTranslationPack setting.

Pack contract

LLSelectUiTranslationPack

Defined in: i18n.ts:47

All chrome strings of one select instance.

  • placeholder is NOT here: it is app copy, not chrome (language packs never set it).
  • Static strings are plain strings; parameterized messages are functions taking RESOLVED primitives (never the item type T), so a language pack can implement them. Keys are message ids (no Fn suffix); see naming-conventions.md s7a.4.

Properties

triggerPlaceholder

triggerPlaceholder: string

Defined in: i18n.ts:54

Default text shown in the trigger while nothing is chosen, used only when the app did not pass the placeholder setting. An explicit placeholder always wins (app copy beats chrome); this key just localizes the library fallback.

filterInputAriaLabel

filterInputAriaLabel: string

Defined in: i18n.ts:61

Fallback accessible name (aria-label) of the filter input, used only when the app supplies neither ariaLabel nor ariaLabelledBy (the field name then replaces this generic operation label). The input has no visible label, so screen readers rely on one of these.

filterInputPlaceholder

filterInputPlaceholder: string | null

Defined in: i18n.ts:67

Placeholder text of the filter input. Also teaches the Esc behavior (first Esc clears the filter). null = no placeholder (pass uiTranslationPack: { filterInputPlaceholder: null } to remove the default).

popupListNoResults

popupListNoResults: string

Defined in: i18n.ts:72

Message shown (and announced via role="status") when the visible item list is empty - a filter matched nothing, or there are no items at all.

triggerClearButtonAriaLabel

triggerClearButtonAriaLabel: string

Defined in: i18n.ts:74

Accessible name (aria-label) of the trigger's clear (x) button (clearable).

tagRemoveButtonAriaLabel

tagRemoveButtonAriaLabel: (itemText) => string

Defined in: i18n.ts:79

itemText (already itemToString-resolved) -> the accessible name (aria-label) of that tag's remove button. 'tags' mode only.

Parameters
Parameter Type
itemText string
Returns

string

triggerCountSummary

triggerCountSummary: (chosenCount, totalCount) => string

Defined in: i18n.ts:84

Count summary shown in the multi trigger. Called only when chosenCount > 0 (an empty selection shows placeholder instead).

Parameters
Parameter Type
chosenCount number
totalCount number
Returns

string

chooseAllRowText

chooseAllRowText: (chosenCount, totalCount) => string

Defined in: i18n.ts:90

Text of the multi choose-all row (chooseAllRow setting): both the visible text and the accessible name. Counts refer to the subset the row acts on: toggleAllVisible documents it.

Parameters
Parameter Type
chosenCount number
totalCount number
Returns

string

Language packs

uiTranslationPackByLocale

const uiTranslationPackByLocale: Record<string, LLSelectUiTranslationPack>

Defined in: i18n.ts:170

All packs keyed by their BCP 47 tag, for navigator.language-style lookup.

  • Tags are the MINIMAL sufficient form (BCP 47 / CLDR convention): ja and en carry no region (the strings are not region-specific); zh-TW / zh-CN must (Traditional vs Simplified differ entirely); en / es / pt are deliberately unsplit (these strings do not differ by region). Named exports stay camelCase (zhTW, nanTW) only because - is illegal in a JS identifier.
  • Alias keys map onto another tag's pack object: no -> nb (macrolanguage tag browsers still report), zh-HK -> zh-TW (formal written Chinese; these strings do not differ - written VERNACULAR Cantonese is the separate primary tag yue).
  • Script / orthography variants of one language differ by subtag, not by language id: nan-TW (Han) vs nan-Latn-tailo (Tai-lo romanization).
  • Browsers may report longer or different tags (en-GB, ja-JP, zh-Hant-TW), so negotiate instead of indexing blindly - e.g. try the full tag, then the base language, then fall back: uiTranslationPackByLocale[tag] ?? uiTranslationPackByLocale[tag.split('-')[0]!] ?? en.

ar

const ar: LLSelectUiTranslationPack

Defined in: i18n/ar.ts:7

Arabic pack (RTL).


bg

const bg: LLSelectUiTranslationPack

Defined in: i18n/bg.ts:7

Bulgarian pack.


bn

const bn: LLSelectUiTranslationPack

Defined in: i18n/bn.ts:7

Bengali pack.


ca

const ca: LLSelectUiTranslationPack

Defined in: i18n/ca.ts:7

Catalan pack.


cs

const cs: LLSelectUiTranslationPack

Defined in: i18n/cs.ts:7

Czech pack.


da

const da: LLSelectUiTranslationPack

Defined in: i18n/da.ts:7

Danish pack.


de

const de: LLSelectUiTranslationPack

Defined in: i18n/de.ts:7

German pack.


el

const el: LLSelectUiTranslationPack

Defined in: i18n/el.ts:7

Greek pack.


en

const en: LLSelectUiTranslationPack

Defined in: i18n/en.ts:7

The built-in English pack - the library default.


es

const es: LLSelectUiTranslationPack

Defined in: i18n/es.ts:7

Spanish pack (unsplit: these strings do not differ across regions).


et

const et: LLSelectUiTranslationPack

Defined in: i18n/et.ts:7

Estonian pack.


fa

const fa: LLSelectUiTranslationPack

Defined in: i18n/fa.ts:7

Persian pack (RTL).


fi

const fi: LLSelectUiTranslationPack

Defined in: i18n/fi.ts:7

Finnish pack.


fil

const fil: LLSelectUiTranslationPack

Defined in: i18n/fil.ts:7

Filipino pack.


fr

const fr: LLSelectUiTranslationPack

Defined in: i18n/fr.ts:7

French pack.


ga

const ga: LLSelectUiTranslationPack

Defined in: i18n/ga.ts:7

Irish pack.


he

const he: LLSelectUiTranslationPack

Defined in: i18n/he.ts:7

Hebrew pack (RTL).


hi

const hi: LLSelectUiTranslationPack

Defined in: i18n/hi.ts:7

Hindi pack.


hr

const hr: LLSelectUiTranslationPack

Defined in: i18n/hr.ts:7

Croatian pack.


hu

const hu: LLSelectUiTranslationPack

Defined in: i18n/hu.ts:7

Hungarian pack.


id

const id: LLSelectUiTranslationPack

Defined in: i18n/id.ts:7

Indonesian pack.


is

const is: LLSelectUiTranslationPack

Defined in: i18n/is.ts:7

Icelandic pack.


it

const it: LLSelectUiTranslationPack

Defined in: i18n/it.ts:7

Italian pack.


ja

const ja: LLSelectUiTranslationPack

Defined in: i18n/ja.ts:7

Japanese pack.


kk

const kk: LLSelectUiTranslationPack

Defined in: i18n/kk.ts:7

Kazakh pack (Cyrillic).


km

const km: LLSelectUiTranslationPack

Defined in: i18n/km.ts:7

Khmer pack.


ko

const ko: LLSelectUiTranslationPack

Defined in: i18n/ko.ts:7

Korean pack.


lt

const lt: LLSelectUiTranslationPack

Defined in: i18n/lt.ts:7

Lithuanian pack.


lv

const lv: LLSelectUiTranslationPack

Defined in: i18n/lv.ts:7

Latvian pack.


mn

const mn: LLSelectUiTranslationPack

Defined in: i18n/mn.ts:7

Mongolian pack (Cyrillic; the traditional script needs vertical layout and is out of scope).


ms

const ms: LLSelectUiTranslationPack

Defined in: i18n/ms.ts:7

Malay pack.


my

const my: LLSelectUiTranslationPack

Defined in: i18n/my.ts:7

Burmese pack.


nanLatnTailo

const nanLatnTailo: LLSelectUiTranslationPack

Defined in: i18n/nanLatnTailo.ts:10

Taiwanese Hokkien pack (Tai-lo romanization; IANA variant subtag tailo). DRAFT - see TRANSLATION STATUS: needs the maintainer's native vetting. Same language as nan-TW, distinguished by script (Latn) + variant, not by a separate language id.


nanTW

const nanTW: LLSelectUiTranslationPack

Defined in: i18n/nanTW.ts:8

Taiwanese Hokkien pack (Taiwan; Han script, MOE recommended characters). DRAFT - see TRANSLATION STATUS: needs the maintainer's native vetting.


nb

const nb: LLSelectUiTranslationPack

Defined in: i18n/nb.ts:7

Norwegian Bokmål pack (no resolves here in uiTranslationPackByLocale).


nl

const nl: LLSelectUiTranslationPack

Defined in: i18n/nl.ts:7

Dutch pack.


pl

const pl: LLSelectUiTranslationPack

Defined in: i18n/pl.ts:7

Polish pack.


pt

const pt: LLSelectUiTranslationPack

Defined in: i18n/pt.ts:7

Portuguese pack (unsplit: vocabulary valid in both European and Brazilian usage).


ro

const ro: LLSelectUiTranslationPack

Defined in: i18n/ro.ts:7

Romanian pack.


ru

const ru: LLSelectUiTranslationPack

Defined in: i18n/ru.ts:7

Russian pack.


sk

const sk: LLSelectUiTranslationPack

Defined in: i18n/sk.ts:7

Slovak pack.


sl

const sl: LLSelectUiTranslationPack

Defined in: i18n/sl.ts:7

Slovenian pack.


sr

const sr: LLSelectUiTranslationPack

Defined in: i18n/sr.ts:7

Serbian pack (Cyrillic).


sv

const sv: LLSelectUiTranslationPack

Defined in: i18n/sv.ts:7

Swedish pack.


sw

const sw: LLSelectUiTranslationPack

Defined in: i18n/sw.ts:7

Swahili pack.


ta

const ta: LLSelectUiTranslationPack

Defined in: i18n/ta.ts:7

Tamil pack.


th

const th: LLSelectUiTranslationPack

Defined in: i18n/th.ts:7

Thai pack.


tr

const tr: LLSelectUiTranslationPack

Defined in: i18n/tr.ts:7

Turkish pack.


uk

const uk: LLSelectUiTranslationPack

Defined in: i18n/uk.ts:7

Ukrainian pack.


ur

const ur: LLSelectUiTranslationPack

Defined in: i18n/ur.ts:7

Urdu pack (RTL).


vi

const vi: LLSelectUiTranslationPack

Defined in: i18n/vi.ts:7

Vietnamese pack.


yue

const yue: LLSelectUiTranslationPack

Defined in: i18n/yue.ts:10

Cantonese pack (written VERNACULAR Cantonese, Hong Kong). Deliberately a different register from zh-HK (which is formal written Chinese and aliases to zh-TW): pick yue only when the product speaks colloquial Cantonese on purpose.


zhCN

const zhCN: LLSelectUiTranslationPack

Defined in: i18n/zhCN.ts:7

Simplified Chinese (mainland) pack.


zhTW

const zhTW: LLSelectUiTranslationPack

Defined in: i18n/zhTW.ts:7

Traditional Chinese (Taiwan) pack (zh-HK resolves here in uiTranslationPackByLocale).