nuxt-i18n-micro
Version:
Nuxt I18n Micro is a lightweight, high-performance internationalization module for Nuxt, designed to handle multi-language support with minimal overhead, fast build times, and efficient runtime performance.
100 lines (99 loc) • 7.41 kB
TypeScript
import type { PathStrategy } from '@i18n-micro/path-strategy';
import type { CleanTranslation, I18nRouteParams, Locale, MissingHandler, ModuleOptionsExtend, Params, Translations } from '@i18n-micro/types';
import type { RouteLocationNamedRaw, RouteLocationNormalizedLoaded, RouteLocationRaw, RouteLocationResolved, RouteLocationResolvedGeneric } from 'vue-router';
declare const _default: import("nuxt/app").Plugin<{
getI18nConfig: () => ModuleOptionsExtend;
helper: {
mergeTranslation(locale: string, routeName: string, newTranslations: Translations, _force?: boolean): Promise<void>;
};
i18n: unknown;
__micro: boolean;
i18nStrategy: PathStrategy;
getLocale: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric) => string;
getLocaleName: () => string | null;
defaultLocale: () => string | undefined;
getLocales: () => Locale[];
getRouteName: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric, locale?: string) => string;
t: (key: import("@i18n-micro/types").TranslationKey, params?: Params, defaultValue?: string | null, routeContext?: unknown) => CleanTranslation;
ts: (key: string, params?: Params, defaultValue?: string, route?: RouteLocationNormalizedLoaded) => string;
_t: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string | null) => CleanTranslation;
_ts: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string) => string;
tc: (key: import("@i18n-micro/types").TranslationKey, count: number | Params, defaultValue?: string) => string;
tn: (value: number, options?: Intl.NumberFormatOptions) => string;
td: (value: Date | number | string, options?: Intl.DateTimeFormatOptions) => string;
tdr: (value: Date | number | string, options?: Intl.RelativeTimeFormatOptions) => string;
has: (key: import("@i18n-micro/types").TranslationKey, routeContext?: unknown) => boolean;
mergeTranslations: (newTranslations: Translations) => void;
switchLocaleRoute: (toLocale: string) => RouteLocationRaw;
clearCache: () => void;
switchLocalePath: (toLocale: string) => string;
switchLocale: (toLocale: string) => Promise<unknown>;
switchRoute: (route: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, toLocale?: string) => unknown;
localeRoute(to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string): RouteLocationResolved;
localePath(to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string): string;
setI18nRouteParams: (value: I18nRouteParams) => I18nRouteParams;
loadPageTranslations: (locale: string, routeName: string, translations: Translations) => Promise<void>;
setMissingHandler: (handler: MissingHandler | null) => void;
}> & import("nuxt/app").ObjectPlugin<{
getI18nConfig: () => ModuleOptionsExtend;
helper: {
mergeTranslation(locale: string, routeName: string, newTranslations: Translations, _force?: boolean): Promise<void>;
};
i18n: unknown;
__micro: boolean;
i18nStrategy: PathStrategy;
getLocale: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric) => string;
getLocaleName: () => string | null;
defaultLocale: () => string | undefined;
getLocales: () => Locale[];
getRouteName: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric, locale?: string) => string;
t: (key: import("@i18n-micro/types").TranslationKey, params?: Params, defaultValue?: string | null, routeContext?: unknown) => CleanTranslation;
ts: (key: string, params?: Params, defaultValue?: string, route?: RouteLocationNormalizedLoaded) => string;
_t: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string | null) => CleanTranslation;
_ts: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string) => string;
tc: (key: import("@i18n-micro/types").TranslationKey, count: number | Params, defaultValue?: string) => string;
tn: (value: number, options?: Intl.NumberFormatOptions) => string;
td: (value: Date | number | string, options?: Intl.DateTimeFormatOptions) => string;
tdr: (value: Date | number | string, options?: Intl.RelativeTimeFormatOptions) => string;
has: (key: import("@i18n-micro/types").TranslationKey, routeContext?: unknown) => boolean;
mergeTranslations: (newTranslations: Translations) => void;
switchLocaleRoute: (toLocale: string) => RouteLocationRaw;
clearCache: () => void;
switchLocalePath: (toLocale: string) => string;
switchLocale: (toLocale: string) => Promise<unknown>;
switchRoute: (route: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, toLocale?: string) => unknown;
localeRoute(to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string): RouteLocationResolved;
localePath(to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string): string;
setI18nRouteParams: (value: I18nRouteParams) => I18nRouteParams;
loadPageTranslations: (locale: string, routeName: string, translations: Translations) => Promise<void>;
setMissingHandler: (handler: MissingHandler | null) => void;
}>;
export default _default;
export interface PluginsInjections {
$i18nStrategy: PathStrategy;
$getI18nConfig: () => ModuleOptionsExtend;
$getLocale: (route?: RouteLocationNormalizedLoaded | RouteLocationResolvedGeneric) => string;
$getLocaleName: () => string | null;
$defaultLocale: () => string | undefined;
$getLocales: () => Locale[];
$getRouteName: (route?: RouteLocationNamedRaw | RouteLocationResolvedGeneric, locale?: string) => string;
$t: (key: string, params?: Params, defaultValue?: string | null) => CleanTranslation;
$_t: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string | null) => CleanTranslation;
$ts: (key: string, params?: Params, defaultValue?: string) => string;
$_ts: (route: RouteLocationNormalizedLoaded) => (key: string, params?: Params, defaultValue?: string | null) => string;
$tc: (key: string, params: number | Params, defaultValue?: string) => string;
$tn: (value: number, options?: Intl.NumberFormatOptions) => string;
$td: (value: Date | number | string, options?: Intl.DateTimeFormatOptions) => string;
$tdr: (value: Date | number | string, options?: Intl.RelativeTimeFormatOptions) => string;
$has: (key: string) => boolean;
$mergeTranslations: (newTranslations: Translations) => void;
$switchLocaleRoute: (locale: string) => RouteLocationRaw;
$switchLocalePath: (locale: string) => string;
$switchLocale: (locale: string) => void;
$switchRoute: (route: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, toLocale?: string) => void;
$localeRoute: (to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string) => RouteLocationResolved;
$localePath: (to: RouteLocationNamedRaw | RouteLocationResolvedGeneric | string, locale?: string) => string;
$setI18nRouteParams: (value: I18nRouteParams) => I18nRouteParams;
$loadPageTranslations: (locale: string, routeName: string, translations: Translations) => Promise<void>;
$setMissingHandler: (handler: MissingHandler | null) => void;
}