diyaa.de/lib/i18n.ts
2026-03-13 09:26:40 +01:00

38 lines
1006 B
TypeScript

import ar from "@/content/ar";
import en from "@/content/en";
import type { Dictionary } from "@/content/types";
import { isComingSoonMode } from "@/lib/site";
export const locales = ["ar", "en"] as const;
export type Locale = (typeof locales)[number];
const dictionaries: Record<Locale, Dictionary> = {
ar,
en,
};
export function getActiveLocale(locale: Locale): Locale {
return isComingSoonMode() ? "en" : locale;
}
export function getEnabledLocales(): Locale[] {
return isComingSoonMode() ? ["en"] : [...locales];
}
export function isLocale(value: string): value is Locale {
return locales.includes(value as Locale);
}
export function getDictionary(locale: Locale): Dictionary {
return dictionaries[getActiveLocale(locale)];
}
export function getDirection(locale: Locale): "rtl" | "ltr" {
return getActiveLocale(locale) === "ar" ? "rtl" : "ltr";
}
export function getLocaleName(locale: Locale): string {
return getActiveLocale(locale) === "ar" ? "العربية" : "English";
}