@ui18n/vue
Version:
💚 Vue 3 internationalization with Composition API, auto-reactive translations, and seamless TypeScript support
70 lines (69 loc) • 1.34 kB
TypeScript
import { SupportedLanguage } from '@ui18n/core';
/**
* T组件的Props类型
*/
export interface TComponentProps {
/**
* 要翻译的文本
*/
text: string;
/**
* 目标语言
*/
targetLanguage?: SupportedLanguage;
/**
* 渲染的HTML标签
* @default 'span'
*/
tag?: string;
/**
* 加载时显示的占位文本
* @default ''
*/
fallback?: string;
/**
* 错误时显示的文本
* @default ''
*/
errorFallback?: string;
/**
* 自定义CSS类名
*/
class?: string;
/**
* 自定义样式
*/
style?: any;
}
/**
* T组件的Emits类型
*/
export interface TComponentEmits {
(e: 'translated', text: string): void;
(e: 'error', error: Error): void;
(e: 'loading', loading: boolean): void;
}
/**
* LanguageSelector 组件的属性
*/
export interface LanguageSelectorProps {
/**
* 默认显示的语言列表
* @default ['zh-CN', 'en']
*/
defaultLanguages?: SupportedLanguage[];
/**
* 是否显示搜索框
* @default true
*/
showSearchBox?: boolean;
/**
* 是否自动检测系统语言并预填充
* @default true
*/
autoDetectSystemLanguage?: boolean;
/**
* 自定义CSS类名
*/
className?: string;
}