@astrolicious/i18n
Version:
Yet another i18n integration for Astro with server and client utilities, type safety and translations built-in.
37 lines (34 loc) • 871 B
TypeScript
import { Options } from './options.js';
import * as astro from 'astro';
import 'sitemap';
import 'astro/zod';
type I18nextConfig = {
namespaces: Array<string>;
defaultNamespace: string;
resources: Record<string, Record<string, unknown>>;
};
type Route = {
locale: string;
params: Array<string>;
pattern: string;
injectedRoute: astro.InjectedRoute;
};
type I18nConfig = {
clientOptions: Options["client"];
translations: {
initialized: boolean;
i18nextConfig: I18nextConfig;
};
data: {
locale: string;
locales: Array<string>;
defaultLocale: string;
};
paths: {
pathname: string;
routes: Array<Route>;
dynamicParams: Record<string, Record<string, string>>;
strategy: Options["strategy"];
};
};
export type { I18nConfig, I18nextConfig, Route };