@ui18n/selector-web
Version:
🌐 零依赖Web Components语言选择器 - 支持所有框架和浏览器的通用组件
43 lines (37 loc) • 1.41 kB
JavaScript
/**
* @ui18n/selector-web
* 零依赖Web Components语言选择器
*
* @example
* ```html
* <script type="module" src="@ui18n/selector-web"></script>
* <ui18n-language-selector
* languages="zh-CN,en,ja"
* current="zh-CN">
* </ui18n-language-selector>
* ```
*/
import { UI18nLanguageSelector as LanguageSelector } from './language-selector.js';
export { LanguageSelector as UI18nLanguageSelector };
export { LANGUAGE_NAMES, getLanguageName } from './language-names.js';
export {
labelForLang,
getUserSystemLanguage,
getUserSystemLanguageLabel,
normalizeLocale,
filterLanguages
} from './language-utils.js';
// 自动注册 Custom Element(导入即可用)
import './language-selector.js';
// 全局导出(用于CDN和quickSetup自动检测)
// 支持多种导出方式以确保兼容性
if (typeof window !== 'undefined') {
// 方式1: 直接导出到window(最常用)
window.UI18nLanguageSelector = LanguageSelector;
// 方式2: 如果UMD包装器创建了命名空间,也在那里导出
if (typeof window.UI18nSelectorWeb === 'object') {
window.UI18nSelectorWeb.UI18nLanguageSelector = LanguageSelector;
}
console.log('[UI18N Selector] Registered to window.UI18nLanguageSelector');
console.log('[UI18N Selector] Custom element:', customElements.get('ui18n-language-selector') ? 'registered' : 'pending');
}