@scribdown/shared 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +387 -2
- package/dist/index.js +924 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -374,7 +374,7 @@ declare const PROJECT_HOMEPAGE_URL = "https://share-man-man.github.io/scribdown/
|
|
|
374
374
|
/**
|
|
375
375
|
* 当前项目固定 Node.js LTS 版本。
|
|
376
376
|
*/
|
|
377
|
-
declare const NODE_LTS_VERSION = "24.
|
|
377
|
+
declare const NODE_LTS_VERSION = "24.18.0";
|
|
378
378
|
/**
|
|
379
379
|
* 当前项目支持的平台列表。
|
|
380
380
|
*/
|
|
@@ -525,4 +525,389 @@ declare const SCRIBDOWN_TOOLBAR_CURRENT_TEXT_CLASS_NAME = "scribdown-toolbar-cur
|
|
|
525
525
|
*/
|
|
526
526
|
declare const CONTENT_WIDTH_STORAGE_KEY = "scribdown-content-width";
|
|
527
527
|
|
|
528
|
-
|
|
528
|
+
/**
|
|
529
|
+
* Scribdown 国际化「语言」契约。
|
|
530
|
+
* 统一收敛支持的 locale、默认兜底、回落链,以及各宿主静态文件(Chrome _locales、
|
|
531
|
+
* VS Code package.nls)的目录/后缀命名映射,禁止在其他包重新定义或硬编码。
|
|
532
|
+
*/
|
|
533
|
+
/**
|
|
534
|
+
* 支持的界面语言枚举(BCP-47 规范写法)。
|
|
535
|
+
* 新增语言时在此追加,并在 {@link SUPPORTED_LOCALES}、{@link LOCALE_FALLBACKS}、
|
|
536
|
+
* messages 目录三处补齐即可,无需改动接线逻辑。
|
|
537
|
+
*/
|
|
538
|
+
declare enum LocaleType {
|
|
539
|
+
/** 英语(默认兜底语言)。 */
|
|
540
|
+
English = "en",
|
|
541
|
+
/** 简体中文。 */
|
|
542
|
+
SimplifiedChinese = "zh-CN",
|
|
543
|
+
/** 繁体中文。 */
|
|
544
|
+
TraditionalChinese = "zh-TW",
|
|
545
|
+
/** 日语。 */
|
|
546
|
+
Japanese = "ja",
|
|
547
|
+
/** 韩语。 */
|
|
548
|
+
Korean = "ko",
|
|
549
|
+
/** 西班牙语。 */
|
|
550
|
+
Spanish = "es",
|
|
551
|
+
/** 法语。 */
|
|
552
|
+
French = "fr",
|
|
553
|
+
/** 德语。 */
|
|
554
|
+
German = "de",
|
|
555
|
+
/** 巴西葡萄牙语。 */
|
|
556
|
+
BrazilianPortuguese = "pt-BR",
|
|
557
|
+
/** 俄语。 */
|
|
558
|
+
Russian = "ru"
|
|
559
|
+
}
|
|
560
|
+
/**
|
|
561
|
+
* 默认兜底语言:无法识别宿主语言、或某语言缺失文案时最终回落到此。
|
|
562
|
+
*/
|
|
563
|
+
declare const DEFAULT_LOCALE: LocaleType;
|
|
564
|
+
/**
|
|
565
|
+
* 界面语言偏好。`System` 表示未显式选择语言,跟随浏览器或编辑器的系统界面语言。
|
|
566
|
+
* 宿主负责将该值持久化到自己的全局配置;共享层只负责解析,避免耦合 Web Storage。
|
|
567
|
+
*/
|
|
568
|
+
declare enum LocalePreference {
|
|
569
|
+
/** 跟随宿主系统界面语言。 */
|
|
570
|
+
System = "system",
|
|
571
|
+
/** 始终使用英语。 */
|
|
572
|
+
English = "en",
|
|
573
|
+
/** 始终使用简体中文。 */
|
|
574
|
+
SimplifiedChinese = "zh-CN",
|
|
575
|
+
/** 始终使用繁体中文。 */
|
|
576
|
+
TraditionalChinese = "zh-TW",
|
|
577
|
+
/** 始终使用日语。 */
|
|
578
|
+
Japanese = "ja",
|
|
579
|
+
/** 始终使用韩语。 */
|
|
580
|
+
Korean = "ko",
|
|
581
|
+
/** 始终使用西班牙语。 */
|
|
582
|
+
Spanish = "es",
|
|
583
|
+
/** 始终使用法语。 */
|
|
584
|
+
French = "fr",
|
|
585
|
+
/** 始终使用德语。 */
|
|
586
|
+
German = "de",
|
|
587
|
+
/** 始终使用巴西葡萄牙语。 */
|
|
588
|
+
BrazilianPortuguese = "pt-BR",
|
|
589
|
+
/** 始终使用俄语。 */
|
|
590
|
+
Russian = "ru"
|
|
591
|
+
}
|
|
592
|
+
/**
|
|
593
|
+
* 当前支持的全部语言列表(用于校验入参、遍历生成静态文件)。
|
|
594
|
+
*/
|
|
595
|
+
declare const SUPPORTED_LOCALES: LocaleType[];
|
|
596
|
+
/** 工具栏与宿主配置共用的可选语言定义。 */
|
|
597
|
+
interface LocalePreferenceOption {
|
|
598
|
+
/** 持久化到宿主配置的显式语言偏好。 */
|
|
599
|
+
preference: Exclude<LocalePreference, LocalePreference.System>;
|
|
600
|
+
/** 此偏好对应的实际界面语言。 */
|
|
601
|
+
locale: LocaleType;
|
|
602
|
+
/** 语言的原生自称,跨界面语言保持一致,便于识别和切换。 */
|
|
603
|
+
nativeLabel: string;
|
|
604
|
+
}
|
|
605
|
+
/** 语言选择器按稳定顺序展示的全部显式语言选项;跟随应用语言是未设置偏好的默认行为。 */
|
|
606
|
+
declare const LOCALE_PREFERENCE_OPTIONS: readonly LocalePreferenceOption[];
|
|
607
|
+
/**
|
|
608
|
+
* 各语言的回落链:命中语言缺失某 key 时,按顺序回落到链上语言,最终止于 {@link DEFAULT_LOCALE}。
|
|
609
|
+
* 默认语言自身链为空。
|
|
610
|
+
*/
|
|
611
|
+
declare const LOCALE_FALLBACKS: Record<LocaleType, LocaleType[]>;
|
|
612
|
+
/**
|
|
613
|
+
* 语言 → Chrome 扩展 `_locales/<dir>/messages.json` 目录名映射。
|
|
614
|
+
* Chrome 约定 locale 目录名用下划线(如 `zh_CN`)。
|
|
615
|
+
*/
|
|
616
|
+
declare const CHROME_LOCALE_DIRECTORY: Record<LocaleType, string>;
|
|
617
|
+
/**
|
|
618
|
+
* 语言 → VS Code `package.nls[.<suffix>].json` 文件名后缀映射。
|
|
619
|
+
* VS Code 约定后缀用小写连字符(如 `zh-cn`);默认语言写入无后缀的 `package.nls.json`。
|
|
620
|
+
*/
|
|
621
|
+
declare const VSCODE_NLS_SUFFIX: Record<LocaleType, string>;
|
|
622
|
+
/**
|
|
623
|
+
* 把宿主上报的原始语言标签归一化成受支持的 {@link LocaleType}。
|
|
624
|
+
* 逐级降级匹配:先精确命中,再按主语言子标签匹配(如 `zh-Hans-CN` → `zh-CN`),
|
|
625
|
+
* 全不命中回落到 {@link DEFAULT_LOCALE}。
|
|
626
|
+
* @param rawLocale 宿主原始语言标签(如 `navigator.language`、`vscode.env.language`),大小写与分隔符不限。
|
|
627
|
+
* @returns 归一化后的受支持语言。
|
|
628
|
+
*/
|
|
629
|
+
declare function normalizeLocale(rawLocale: string | null | undefined): LocaleType;
|
|
630
|
+
/**
|
|
631
|
+
* 解析宿主保存的语言偏好。非法值安全回落到 {@link LocalePreference.System}。
|
|
632
|
+
* @param rawPreference 宿主配置或存储中读到的原始值。
|
|
633
|
+
* @returns 合法的语言偏好。
|
|
634
|
+
*/
|
|
635
|
+
declare function normalizeLocalePreference(rawPreference: unknown): LocalePreference;
|
|
636
|
+
/**
|
|
637
|
+
* 判断值是否为受支持的语言偏好。
|
|
638
|
+
* @param value 待校验的原始值。
|
|
639
|
+
* @returns 值为合法 {@link LocalePreference} 时返回 true。
|
|
640
|
+
*/
|
|
641
|
+
declare function isLocalePreference(value: unknown): value is LocalePreference;
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* Scribdown 文案目录的结构契约。
|
|
645
|
+
* 每个受支持语言都必须提供 {@link Messages} 的全部 key(由 Record 类型在编译期约束缺漏),
|
|
646
|
+
* 保证跨语言 key 对齐;带 `{name}` 的值表示运行时插值占位。
|
|
647
|
+
*/
|
|
648
|
+
/**
|
|
649
|
+
* 全量文案 key → 文案字符串的映射结构。
|
|
650
|
+
* key 采用 `<面>.<语义>` 命名,便于按面归组与静态文件生成。
|
|
651
|
+
*/
|
|
652
|
+
interface Messages {
|
|
653
|
+
/** 工具栏「目录」按钮 / 目录侧栏标题。 */
|
|
654
|
+
"toolbar.toc": string;
|
|
655
|
+
/** 目录侧栏右上角关闭按钮 aria-label。 */
|
|
656
|
+
"toolbar.tocClose": string;
|
|
657
|
+
/** 目录为空时的占位文案。 */
|
|
658
|
+
"toolbar.tocEmpty": string;
|
|
659
|
+
/** 工具栏「更多」按钮。 */
|
|
660
|
+
"toolbar.more": string;
|
|
661
|
+
/** 「更多」菜单内「页面宽度」触发行文案。 */
|
|
662
|
+
"toolbar.pageWidth": string;
|
|
663
|
+
/** 「更多」菜单内「回到顶部」项。 */
|
|
664
|
+
"toolbar.backTop": string;
|
|
665
|
+
/** 「更多」菜单内「语言」切换触发行。 */
|
|
666
|
+
"toolbar.language": string;
|
|
667
|
+
/** 语言切换列表中的跟随系统选项。 */
|
|
668
|
+
"toolbar.languageSystem": string;
|
|
669
|
+
/** 语言切换列表中的英文选项。 */
|
|
670
|
+
"toolbar.languageEnglish": string;
|
|
671
|
+
/** 语言切换列表中的简体中文选项。 */
|
|
672
|
+
"toolbar.languageSimplifiedChinese": string;
|
|
673
|
+
/** 语言切换列表中的繁体中文选项。 */
|
|
674
|
+
"toolbar.languageTraditionalChinese": string;
|
|
675
|
+
/** 语言切换列表中的日语选项。 */
|
|
676
|
+
"toolbar.languageJapanese": string;
|
|
677
|
+
/** 语言切换列表中的韩语选项。 */
|
|
678
|
+
"toolbar.languageKorean": string;
|
|
679
|
+
/** 语言切换列表中的西班牙语选项。 */
|
|
680
|
+
"toolbar.languageSpanish": string;
|
|
681
|
+
/** 语言切换列表中的法语选项。 */
|
|
682
|
+
"toolbar.languageFrench": string;
|
|
683
|
+
/** 语言切换列表中的德语选项。 */
|
|
684
|
+
"toolbar.languageGerman": string;
|
|
685
|
+
/** 语言切换列表中的巴西葡萄牙语选项。 */
|
|
686
|
+
"toolbar.languageBrazilianPortuguese": string;
|
|
687
|
+
/** 语言切换列表中的俄语选项。 */
|
|
688
|
+
"toolbar.languageRussian": string;
|
|
689
|
+
/** 「更多」菜单内「关于」项。 */
|
|
690
|
+
"toolbar.about": string;
|
|
691
|
+
/** 代码块复制按钮 aria-label(默认态)。 */
|
|
692
|
+
"code.copy": string;
|
|
693
|
+
/** 代码块复制按钮 aria-label(已复制态)。 */
|
|
694
|
+
"code.copied": string;
|
|
695
|
+
/** Mermaid 渲染失败占位文案。 */
|
|
696
|
+
"mermaid.renderFailed": string;
|
|
697
|
+
/** Mermaid 代码块上的「全屏查看」按钮 aria-label。 */
|
|
698
|
+
"mermaid.fullscreenButton": string;
|
|
699
|
+
/** Mermaid 全屏查看对话框 aria-label。 */
|
|
700
|
+
"mermaid.fullscreen": string;
|
|
701
|
+
/** Mermaid 全屏查看器放大按钮 aria-label。 */
|
|
702
|
+
"mermaid.zoomIn": string;
|
|
703
|
+
/** Mermaid 全屏查看器缩小按钮 aria-label。 */
|
|
704
|
+
"mermaid.zoomOut": string;
|
|
705
|
+
/** Mermaid 全屏查看器重置缩放按钮 aria-label。 */
|
|
706
|
+
"mermaid.zoomReset": string;
|
|
707
|
+
/** Mermaid 全屏查看器关闭按钮 aria-label。 */
|
|
708
|
+
"mermaid.close": string;
|
|
709
|
+
/** 图片查看器无标题时的兜底 aria-label。 */
|
|
710
|
+
"image.viewFull": string;
|
|
711
|
+
/** 图片查看器带标题时的 aria-label(插值:{alt} 图片标题)。 */
|
|
712
|
+
"image.viewFullOf": string;
|
|
713
|
+
/** 图片加载失败占位文案。 */
|
|
714
|
+
"image.loadFailed": string;
|
|
715
|
+
/** 图片查看器快捷键提示文本。 */
|
|
716
|
+
"image.hint": string;
|
|
717
|
+
/** 图片查看器放大按钮 aria-label。 */
|
|
718
|
+
"image.zoomIn": string;
|
|
719
|
+
/** 图片查看器缩小按钮 aria-label。 */
|
|
720
|
+
"image.zoomOut": string;
|
|
721
|
+
/** 图片查看器重置缩放按钮 aria-label。 */
|
|
722
|
+
"image.zoomReset": string;
|
|
723
|
+
/** 图片查看器关闭按钮 aria-label。 */
|
|
724
|
+
"image.close": string;
|
|
725
|
+
/** 视频加载失败占位文案。 */
|
|
726
|
+
"video.loadFailed": string;
|
|
727
|
+
/** 内联目录容器 aria-label / summary 文案。 */
|
|
728
|
+
"toc.label": string;
|
|
729
|
+
/** 内联目录子项折叠切换按钮 aria-label。 */
|
|
730
|
+
"toc.toggle": string;
|
|
731
|
+
/** Frontmatter 折叠块标题。 */
|
|
732
|
+
"frontmatter.label": string;
|
|
733
|
+
/** 顶部启用开关 aria-label。 */
|
|
734
|
+
"popup.enableAria": string;
|
|
735
|
+
/** 顶部启用开关 title(已启用)。 */
|
|
736
|
+
"popup.enabledTitle": string;
|
|
737
|
+
/** 顶部启用开关 title(已关闭)。 */
|
|
738
|
+
"popup.disabledTitle": string;
|
|
739
|
+
/** 扩展关闭时的空态提示。 */
|
|
740
|
+
"popup.disabledEmpty": string;
|
|
741
|
+
/** 「允许访问文件网址」未开启横幅标题。 */
|
|
742
|
+
"popup.fileAccessBannerTitle": string;
|
|
743
|
+
/** 「允许访问文件网址」未开启横幅说明。 */
|
|
744
|
+
"popup.fileAccessBannerText": string;
|
|
745
|
+
/** 横幅「去开启」按钮文案。 */
|
|
746
|
+
"popup.fileAccessAction": string;
|
|
747
|
+
/** 横幅「去开启」按钮 aria-label。 */
|
|
748
|
+
"popup.fileAccessActionAria": string;
|
|
749
|
+
/** 自动刷新设置分组 aria-label。 */
|
|
750
|
+
"popup.autoRefreshGroupAria": string;
|
|
751
|
+
/** 自动刷新开关标签。 */
|
|
752
|
+
"popup.autoRefreshLabel": string;
|
|
753
|
+
/** 自动刷新说明按钮 aria-label。 */
|
|
754
|
+
"popup.autoRefreshInfoAria": string;
|
|
755
|
+
/** 自动刷新开启态说明气泡(插值:{seconds} 刷新间隔秒数)。 */
|
|
756
|
+
"popup.autoRefreshOnTip": string;
|
|
757
|
+
/** 自动刷新关闭态说明气泡。 */
|
|
758
|
+
"popup.autoRefreshOffTip": string;
|
|
759
|
+
/** 刷新间隔输入项标签。 */
|
|
760
|
+
"popup.intervalLabel": string;
|
|
761
|
+
/** 刷新间隔说明按钮 aria-label。 */
|
|
762
|
+
"popup.intervalInfoAria": string;
|
|
763
|
+
/** 刷新间隔取值范围气泡(插值:{min} 最小值、{max} 最大值)。 */
|
|
764
|
+
"popup.intervalRangeTip": string;
|
|
765
|
+
/** 刷新间隔单位(秒)。 */
|
|
766
|
+
"popup.intervalUnit": string;
|
|
767
|
+
/** 切换后保存成功提示。 */
|
|
768
|
+
"popup.savedTip": string;
|
|
769
|
+
/** 扩展关闭时的浏览器工具栏图标 title。 */
|
|
770
|
+
"browser.disabledTitle": string;
|
|
771
|
+
/** 未开启「允许访问文件网址」时的工具栏图标 title。 */
|
|
772
|
+
"browser.fileAccessNeededTitle": string;
|
|
773
|
+
/** 渲染失败错误页标题。 */
|
|
774
|
+
"viewer.errorHeading": string;
|
|
775
|
+
/** 「查看原始链接」跳转文案。 */
|
|
776
|
+
"viewer.viewRawLink": string;
|
|
777
|
+
/** 禁止在 iframe 中加载的错误。 */
|
|
778
|
+
"viewer.errorIframe": string;
|
|
779
|
+
/** 缺少 src 参数的错误。 */
|
|
780
|
+
"viewer.errorMissingSrc": string;
|
|
781
|
+
/** 请求失败错误(插值:{message} 错误信息)。 */
|
|
782
|
+
"viewer.errorRequestFailed": string;
|
|
783
|
+
/** 响应非 Markdown 类型的错误(插值:{contentType} 响应内容类型)。 */
|
|
784
|
+
"viewer.errorNotMarkdown": string;
|
|
785
|
+
/** Content-Type 未声明时的占位词,用于填充 {contentType}。 */
|
|
786
|
+
"viewer.contentTypeUndeclared": string;
|
|
787
|
+
/** 文件内容为空的错误。 */
|
|
788
|
+
"viewer.errorEmpty": string;
|
|
789
|
+
/** 不支持的协议错误(插值:{protocol} 协议名)。 */
|
|
790
|
+
"viewer.errorUnsupportedProtocol": string;
|
|
791
|
+
/** src 非合法 URL 的错误。 */
|
|
792
|
+
"viewer.errorInvalidUrl": string;
|
|
793
|
+
/** 无激活 Markdown 文档时的警告。 */
|
|
794
|
+
"vscode.noMarkdownWarning": string;
|
|
795
|
+
/** 无法打开链接的警告(插值:{href} 链接地址)。 */
|
|
796
|
+
"vscode.openLinkFailed": string;
|
|
797
|
+
/** 链接目标不存在的警告(插值:{path} 目标路径)。 */
|
|
798
|
+
"vscode.linkTargetMissing": string;
|
|
799
|
+
/** 预览渲染失败标题。 */
|
|
800
|
+
"vscode.renderFailed": string;
|
|
801
|
+
/** 浏览器扩展商店展示名称。 */
|
|
802
|
+
"manifest.browserName": string;
|
|
803
|
+
/** 浏览器扩展商店描述。 */
|
|
804
|
+
"manifest.browserDescription": string;
|
|
805
|
+
/** VS Code 扩展展示名称(displayName)。 */
|
|
806
|
+
"manifest.vscodeDisplayName": string;
|
|
807
|
+
/** VS Code 扩展描述(description)。 */
|
|
808
|
+
"manifest.vscodeDescription": string;
|
|
809
|
+
/** VS Code「打开预览」命令标题。 */
|
|
810
|
+
"manifest.vscodeCommandTitle": string;
|
|
811
|
+
/** VS Code 界面语言设置的说明。 */
|
|
812
|
+
"manifest.vscodeLanguageDescription": string;
|
|
813
|
+
/** VS Code 界面语言设置中「跟随系统」选项的说明。 */
|
|
814
|
+
"manifest.vscodeLanguageSystemDescription": string;
|
|
815
|
+
/** VS Code 界面语言设置中英语选项的说明。 */
|
|
816
|
+
"manifest.vscodeLanguageEnglishDescription": string;
|
|
817
|
+
/** VS Code 界面语言设置中简体中文选项的说明。 */
|
|
818
|
+
"manifest.vscodeLanguageSimplifiedChineseDescription": string;
|
|
819
|
+
/** VS Code 界面语言设置中繁体中文选项的说明。 */
|
|
820
|
+
"manifest.vscodeLanguageTraditionalChineseDescription": string;
|
|
821
|
+
/** VS Code 界面语言设置中日语选项的说明。 */
|
|
822
|
+
"manifest.vscodeLanguageJapaneseDescription": string;
|
|
823
|
+
/** VS Code 界面语言设置中韩语选项的说明。 */
|
|
824
|
+
"manifest.vscodeLanguageKoreanDescription": string;
|
|
825
|
+
/** VS Code 界面语言设置中西班牙语选项的说明。 */
|
|
826
|
+
"manifest.vscodeLanguageSpanishDescription": string;
|
|
827
|
+
/** VS Code 界面语言设置中法语选项的说明。 */
|
|
828
|
+
"manifest.vscodeLanguageFrenchDescription": string;
|
|
829
|
+
/** VS Code 界面语言设置中德语选项的说明。 */
|
|
830
|
+
"manifest.vscodeLanguageGermanDescription": string;
|
|
831
|
+
/** VS Code 界面语言设置中巴西葡萄牙语选项的说明。 */
|
|
832
|
+
"manifest.vscodeLanguageBrazilianPortugueseDescription": string;
|
|
833
|
+
/** VS Code 界面语言设置中俄语选项的说明。 */
|
|
834
|
+
"manifest.vscodeLanguageRussianDescription": string;
|
|
835
|
+
}
|
|
836
|
+
/**
|
|
837
|
+
* 文案 key 联合类型,供 `t()` 与 `createTranslator()` 约束调用方只能取已声明的 key。
|
|
838
|
+
*/
|
|
839
|
+
type MessageKey = keyof Messages;
|
|
840
|
+
|
|
841
|
+
/**
|
|
842
|
+
* Scribdown 全量文案目录(唯一源)。
|
|
843
|
+
* 三处运行时(浏览器 popup/viewer、共享工具栏、VS Code 宿主/webview)与两处静态清单
|
|
844
|
+
* (Chrome `_locales`、VS Code `package.nls`)均以此为准,禁止在各端硬编码或重复定义。
|
|
845
|
+
* 插值占位统一用 `{name}` 语法,由 translator 在运行时替换。
|
|
846
|
+
*/
|
|
847
|
+
|
|
848
|
+
/**
|
|
849
|
+
* 语言 → 文案目录的总表。新增语言时在此登记对应目录。
|
|
850
|
+
*/
|
|
851
|
+
declare const MESSAGES: Record<LocaleType, Messages>;
|
|
852
|
+
|
|
853
|
+
/**
|
|
854
|
+
* Scribdown 无框架文案取值内核。
|
|
855
|
+
* 纯 TS、零第三方依赖,可在浏览器 popup(React)、纯 DOM 工具栏、VS Code webview 与
|
|
856
|
+
* Node 宿主中一致运行。宿主启动时按语言调一次 {@link setActiveLocale},其余代码用 {@link t}
|
|
857
|
+
* 取文案;需要多语言并存时用 {@link createTranslator} 取独立实例。
|
|
858
|
+
*/
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* 插值变量映射:把文案中的 `{name}` 占位替换为对应值。
|
|
862
|
+
*/
|
|
863
|
+
type MessageVars = Record<string, string | number>;
|
|
864
|
+
/**
|
|
865
|
+
* 设置全局生效语言。非受支持语言会被静默回落到 {@link DEFAULT_LOCALE},避免脏输入。
|
|
866
|
+
* @param locale 目标语言(应为受支持的 {@link LocaleType})。
|
|
867
|
+
*/
|
|
868
|
+
declare function setActiveLocale(locale: LocaleType): void;
|
|
869
|
+
/**
|
|
870
|
+
* 读取当前全局生效语言。
|
|
871
|
+
* @returns 当前语言。
|
|
872
|
+
*/
|
|
873
|
+
declare function getActiveLocale(): LocaleType;
|
|
874
|
+
/**
|
|
875
|
+
* 按「显式语言偏好优先,系统语言其次」解析当前应使用的语言。
|
|
876
|
+
* @param preference 宿主持久化的语言偏好;省略时视为跟随系统。
|
|
877
|
+
* @param rawHostLocale 宿主原始语言标签(如 `navigator.language`、`vscode.env.language`)。
|
|
878
|
+
* @returns 实际应生效的受支持语言。
|
|
879
|
+
*/
|
|
880
|
+
declare function resolveLocalePreference(preference: LocalePreference | undefined, rawHostLocale: string | null | undefined): LocaleType;
|
|
881
|
+
/**
|
|
882
|
+
* 根据宿主保存的偏好和系统语言更新全局界面语言。
|
|
883
|
+
* @param preference 宿主持久化的语言偏好;省略时跟随系统。
|
|
884
|
+
* @param rawHostLocale 宿主原始语言标签。
|
|
885
|
+
* @returns 实际生效的语言。
|
|
886
|
+
*/
|
|
887
|
+
declare function setActiveLocaleFromPreference(preference: LocalePreference | undefined, rawHostLocale: string | null | undefined): LocaleType;
|
|
888
|
+
/**
|
|
889
|
+
* 便捷方法:把宿主原始语言标签归一化后设为全局语言。
|
|
890
|
+
* @param rawLocale 宿主原始语言标签(如 `navigator.language`、`vscode.env.language`)。
|
|
891
|
+
* @returns 实际生效的语言。
|
|
892
|
+
*/
|
|
893
|
+
declare function setActiveLocaleFromHost(rawLocale: string | null | undefined): LocaleType;
|
|
894
|
+
/**
|
|
895
|
+
* 按当前全局语言取文案。
|
|
896
|
+
* @param key 文案 key。
|
|
897
|
+
* @param vars 可选插值变量。
|
|
898
|
+
* @returns 已解析并插值的文案。
|
|
899
|
+
*/
|
|
900
|
+
declare function t(key: MessageKey, vars?: MessageVars): string;
|
|
901
|
+
/**
|
|
902
|
+
* 翻译函数类型:绑定固定语言的取文案方法。
|
|
903
|
+
*/
|
|
904
|
+
type Translator = (key: MessageKey, vars?: MessageVars) => string;
|
|
905
|
+
/**
|
|
906
|
+
* 创建绑定固定语言的独立翻译器,不受全局语言影响。
|
|
907
|
+
* 适用于多语言并存、或需要显式指定语言的场景(如静态清单生成)。
|
|
908
|
+
* @param locale 目标语言,接受原始标签或 {@link LocaleType},会归一化到受支持语言。
|
|
909
|
+
* @returns 绑定该语言的翻译函数。
|
|
910
|
+
*/
|
|
911
|
+
declare function createTranslator(locale: LocaleType | string): Translator;
|
|
912
|
+
|
|
913
|
+
export { CHROME_LOCALE_DIRECTORY, CODE_BLOCK_BODY_CLASS_NAME, CODE_BLOCK_CHROME_CLASS_NAME, CODE_BLOCK_CLASS_NAME, CODE_BLOCK_COPY_CLASS_NAME, CODE_BLOCK_COPY_ICON_CHECK_CLASS_NAME, CODE_BLOCK_COPY_ICON_CLASS_NAME, CODE_BLOCK_COPY_ICON_COPY_CLASS_NAME, CODE_BLOCK_GUTTER_CLASS_NAME, CODE_BLOCK_GUTTER_LINE_CLASS_NAME, CODE_BLOCK_LANG_CLASS_NAME, CODE_BLOCK_LINE_CLASS_NAME, CONTENT_WIDTH_STORAGE_KEY, DEFAULT_LOCALE, DEFAULT_THEME, DETAILS_CLASS_NAME, FRAME_CLASS_NAME, FRONTMATTER_CHROME_CLASS_NAME, FRONTMATTER_CLASS_NAME, FRONTMATTER_LABEL_CLASS_NAME, FRONTMATTER_LIST_CLASS_NAME, FRONTMATTER_LIST_NESTED_CLASS_NAME, HEADING_MARK_CLASS_NAME, IMAGE_CAPTION_CLASS_NAME, IMAGE_ELEMENT_CLASS_NAME, IMAGE_FALLBACK_CLASS_NAME, IMAGE_FALLBACK_ICON_CLASS_NAME, IMAGE_FALLBACK_SOURCE_CLASS_NAME, IMAGE_FALLBACK_TEXT_CLASS_NAME, IMAGE_FIGURE_CLASS_NAME, IMAGE_FRAME_CLASS_NAME, IMAGE_FRAME_FAILED_CLASS_NAME, IMAGE_FRAME_LOADED_CLASS_NAME, IMAGE_VIEWER_BUTTON_CLASS_NAME, IMAGE_VIEWER_CAPTION_CLASS_NAME, IMAGE_VIEWER_CAPTION_GROUP_CLASS_NAME, IMAGE_VIEWER_CHROME_CLASS_NAME, IMAGE_VIEWER_CLOSE_BUTTON_CLASS_NAME, IMAGE_VIEWER_CONTROLS_CLASS_NAME, IMAGE_VIEWER_DIALOG_CLASS_NAME, IMAGE_VIEWER_DRAGGING_CLASS_NAME, IMAGE_VIEWER_HINT_CLASS_NAME, IMAGE_VIEWER_IMAGE_CLASS_NAME, IMAGE_VIEWER_VIEWPORT_CLASS_NAME, IMAGE_VIEWER_ZOOMED_CLASS_NAME, IMAGE_VIEWER_ZOOM_VALUE_CLASS_NAME, LOCALE_FALLBACKS, LOCALE_PREFERENCE_OPTIONS, LocalePreference, type LocalePreferenceOption, LocaleType, MARKDOWN_FILE_EXTNAME, MARKDOWN_LANGUAGE_ID, MERMAID_BODY_CLASS_NAME, MERMAID_CANVAS_CLASS_NAME, MERMAID_CHROME_CLASS_NAME, MERMAID_FALLBACK_CLASS_NAME, MERMAID_FALLBACK_ICON_CLASS_NAME, MERMAID_FALLBACK_SOURCE_CLASS_NAME, MERMAID_FALLBACK_TEXT_CLASS_NAME, MERMAID_FIGURE_CLASS_NAME, MERMAID_FIGURE_FAILED_CLASS_NAME, MERMAID_FIGURE_LOADED_CLASS_NAME, MERMAID_FIGURE_LOADING_CLASS_NAME, MERMAID_FULLSCREEN_BUTTON_CLASS_NAME, MERMAID_LABEL_CLASS_NAME, MERMAID_VIEWER_BUTTON_CLASS_NAME, MERMAID_VIEWER_CANVAS_CLASS_NAME, MERMAID_VIEWER_CAPTION_CLASS_NAME, MERMAID_VIEWER_CHROME_CLASS_NAME, MERMAID_VIEWER_CLOSE_BUTTON_CLASS_NAME, MERMAID_VIEWER_CONTROLS_CLASS_NAME, MERMAID_VIEWER_DIALOG_CLASS_NAME, MERMAID_VIEWER_DRAGGING_CLASS_NAME, MERMAID_VIEWER_VIEWPORT_CLASS_NAME, MERMAID_VIEWER_ZOOMED_CLASS_NAME, MERMAID_VIEWER_ZOOM_VALUE_CLASS_NAME, MESSAGES, type MessageKey, type MessageVars, type Messages, NODE_LTS_VERSION, OPEN_PREVIEW_COMMAND, PROJECT_HOMEPAGE_URL, PROJECT_NAME, PlatformType, SCRIBDOWN_APP_CLASS_NAME, SCRIBDOWN_CONTENT_AREA_CLASS_NAME, SCRIBDOWN_CONTENT_SCROLL_CLASS_NAME, SCRIBDOWN_MARKDOWN_CLASS_NAME, SCRIBDOWN_PAGE_CLASS_NAME, SCRIBDOWN_THIN_SCROLLBAR_CLASS_NAME, SCRIBDOWN_TOC_HOST_CLASS_NAME, SCRIBDOWN_TOOLBAR_BTN_CLASS_NAME, SCRIBDOWN_TOOLBAR_CLASS_NAME, SCRIBDOWN_TOOLBAR_CURRENT_CLASS_NAME, SCRIBDOWN_TOOLBAR_CURRENT_TEXT_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_GROUP_CHOICES_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_GROUP_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_ITEM_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_SELECT_CHEVRON_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_SELECT_LABEL_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_SELECT_VALUE_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_SUB_ITEM_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_SUB_ITEM_LABEL_CLASS_NAME, SCRIBDOWN_TOOLBAR_MENU_SUB_ITEM_MARK_CLASS_NAME, SCRIBDOWN_TOOLBAR_TOC_PANEL_CLASS_NAME, SCRIBDOWN_TOOLBAR_TOC_PANEL_CLOSE_CLASS_NAME, SCRIBDOWN_TOOLBAR_TOC_PANEL_EMPTY_CLASS_NAME, SCRIBDOWN_TOOLBAR_TOC_PANEL_TITLE_CLASS_NAME, SOURCE_LINE_ACTIVE_CLASS_NAME, SOURCE_LINE_DATA_ATTRIBUTE, SOURCE_LINE_OFFSCREEN_HINT_BOTTOM_CLASS_NAME, SOURCE_LINE_OFFSCREEN_HINT_CLASS_NAME, SOURCE_LINE_OFFSCREEN_HINT_TOP_CLASS_NAME, SUPPORTED_LOCALES, SUPPORTED_PLATFORMS, TOC_CLASS_NAME, TOC_ITEM_BRANCH_CLASS_NAME, TOC_ITEM_CLASS_PREFIX, TOC_ITEM_COLLAPSED_CLASS_NAME, TOC_LINK_ACTIVE_CLASS_NAME, TOC_LINK_CLASS_NAME, TOC_LIST_CLASS_NAME, TOC_LIST_NESTED_CLASS_NAME, TOC_NAV_CLASS_NAME, TOC_SUMMARY_CLASS_NAME, TOC_TOGGLE_CLASS_NAME, ThemeType, type Translator, VIDEO_ELEMENT_CLASS_NAME, VIDEO_FALLBACK_CLASS_NAME, VIDEO_FALLBACK_ICON_CLASS_NAME, VIDEO_FALLBACK_SOURCE_CLASS_NAME, VIDEO_FALLBACK_TEXT_CLASS_NAME, VIDEO_FIGURE_CLASS_NAME, VIDEO_FRAME_CLASS_NAME, VIDEO_FRAME_FAILED_CLASS_NAME, VIDEO_FRAME_LOADED_CLASS_NAME, VSCODE_NLS_SUFFIX, createTranslator, getActiveLocale, isLocalePreference, normalizeLocale, normalizeLocalePreference, resolveLocalePreference, setActiveLocale, setActiveLocaleFromHost, setActiveLocaleFromPreference, t };
|