Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
|
- export const FALLBACK_LANG = "zh";
- export const SUPPORTED_LANGUAGES = ["zh", "en"] as const;
- export type AppLanguage = (typeof SUPPORTED_LANGUAGES)[number];
-
- /** Cookie name read by `@unly/universal-language-detector`. */
- export const I18N_COOKIE_NAME = "i18next";
-
- export function isAppLanguage(value: unknown): value is AppLanguage {
- return value === "zh" || value === "en";
- }
-
- export function normalizeAppLanguage(value: unknown): AppLanguage | null {
- if (typeof value !== "string") return null;
- const lower = value.trim().toLowerCase();
- if (lower === "zh" || lower.startsWith("zh-")) return "zh";
- if (lower === "en" || lower.startsWith("en-")) return "en";
- return null;
- }
-
- export function setLanguageCookie(lang: AppLanguage) {
- if (typeof document === "undefined") return;
- document.cookie = `${I18N_COOKIE_NAME}=${lang}; Path=/; SameSite=Lax; Max-Age=31536000`;
- }
|