19 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import English from 'element-plus/es/locale/lang/en';
 | |
| import type { MaybeRef } from '@vueuse/core';
 | |
| import type { InjectionKey, Ref } from 'vue';
 | |
| import type { FieldPath } from 'element-plus/es/utils';
 | |
| import type { Language } from 'element-plus/es/locale';
 | |
| export type LocaleKeys = Exclude<FieldPath<typeof English>, 'name' | 'el'> | (string & NonNullable<unknown>);
 | |
| export type TranslatorOption = Record<string, string | number>;
 | |
| export type Translator = (path: LocaleKeys, option?: TranslatorOption) => string;
 | |
| export type LocaleContext = {
 | |
|     locale: Ref<Language>;
 | |
|     lang: Ref<string>;
 | |
|     t: Translator;
 | |
| };
 | |
| export declare const buildTranslator: (locale: MaybeRef<Language>) => Translator;
 | |
| export declare const translate: (path: LocaleKeys, option: undefined | TranslatorOption, locale: Language) => string;
 | |
| export declare const buildLocaleContext: (locale: MaybeRef<Language>) => LocaleContext;
 | |
| export declare const localeContextKey: InjectionKey<Ref<Language | undefined>>;
 | |
| export declare const useLocale: (localeOverrides?: Ref<Language | undefined>) => LocaleContext;
 |