Initial Commit
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
* Ordered list of built-in supported locale codes shipped with the
|
||||
* Suaveplan i18n family. The order is the canonical default order
|
||||
* used by the locale detector when no caller-supplied preference list
|
||||
* is available.
|
||||
*/
|
||||
export const DEFAULT_LOCALES = [
|
||||
"en",
|
||||
"es",
|
||||
"fr",
|
||||
"de",
|
||||
"cy",
|
||||
"zh",
|
||||
"ar",
|
||||
"ru",
|
||||
"pl",
|
||||
"ja",
|
||||
"ko",
|
||||
"pt",
|
||||
"it",
|
||||
"nl",
|
||||
"he",
|
||||
"fa",
|
||||
] as const;
|
||||
|
||||
/** String-literal union of every code in {@link DEFAULT_LOCALES}. */
|
||||
export type DefaultLocale = (typeof DEFAULT_LOCALES)[number];
|
||||
|
||||
/**
|
||||
* Per-locale display metadata: English `name`, locale-native
|
||||
* `nativeName`, and the canonical text `direction`.
|
||||
*
|
||||
* Every entry in {@link DEFAULT_LOCALES} has a corresponding
|
||||
* descriptor here. The `direction` field SHALL agree with the
|
||||
* locale's membership in `RTL_LOCALES` — a unit test asserts the
|
||||
* cross-file invariant.
|
||||
*/
|
||||
export const LOCALE_DESCRIPTORS: Record<
|
||||
string,
|
||||
{ name: string; nativeName: string; direction: "ltr" | "rtl" }
|
||||
> = {
|
||||
en: { name: "English", nativeName: "English", direction: "ltr" },
|
||||
es: { name: "Spanish", nativeName: "Español", direction: "ltr" },
|
||||
fr: { name: "French", nativeName: "Français", direction: "ltr" },
|
||||
de: { name: "German", nativeName: "Deutsch", direction: "ltr" },
|
||||
cy: { name: "Welsh", nativeName: "Cymraeg", direction: "ltr" },
|
||||
zh: { name: "Chinese", nativeName: "中文", direction: "ltr" },
|
||||
ar: { name: "Arabic", nativeName: "العربية", direction: "rtl" },
|
||||
ru: { name: "Russian", nativeName: "Русский", direction: "ltr" },
|
||||
pl: { name: "Polish", nativeName: "Polski", direction: "ltr" },
|
||||
ja: { name: "Japanese", nativeName: "日本語", direction: "ltr" },
|
||||
ko: { name: "Korean", nativeName: "한국어", direction: "ltr" },
|
||||
pt: { name: "Portuguese", nativeName: "Português", direction: "ltr" },
|
||||
it: { name: "Italian", nativeName: "Italiano", direction: "ltr" },
|
||||
nl: { name: "Dutch", nativeName: "Nederlands", direction: "ltr" },
|
||||
he: { name: "Hebrew", nativeName: "עברית", direction: "rtl" },
|
||||
fa: { name: "Persian", nativeName: "فارسی", direction: "rtl" },
|
||||
};
|
||||
Reference in New Issue
Block a user