Files
diyaa.de/lib/i18n.ts
T

38 lines
1006 B
TypeScript

import ar from "@/content/ar";
import en from "@/content/en";
import type { Dictionary } from "@/content/types";
import { isSiteClosedMode } 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 isSiteClosedMode() ? "en" : locale;
}
export function getEnabledLocales(): Locale[] {
return isSiteClosedMode() ? ["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";
}