Files
wordpress-theme-aksrt/assets/admin/src/schema/sections/global/i18n.js
T
kate522 9375b1c30c refactor(assets): vendor 资产迁入标准目录并全仓去除 zibll 标识
- assets/vendor 全量迁移: fontawesome5→assets/fontawesome5, css→assets/css,
  js→assets/js/runtime(避开 14 个同名自有文件), img 合并去重→assets/img,
  fonts→assets/fonts; 删除 assets/vendor
- libs 五个与 widgets/third-party 字节相同的库不重复入库, loader paths 改指向
- 运行时切换: _win.uri=assets 根, loader baseUrl=/js/runtime, enlighter 注入
  路径同步; PHP 7 个引用文件切换并改名 $zibll_*→$runtime_*
- 去品牌: Qinver 头注释/品牌 console.log/演示链接清除, 默认文案中性化
- 功能标识符改名: zib__→aksrt__, zib_ajax→aksrt_ajax, window.zib→
  window.aksrtLegacy, zibllblock/*→aksrtblock/*, .zib-widget→.aksrt-panel,
  .zib-slider→.aksrt-slider, zib_menu_options meta 键等
- 自有 CSS 改名: legacy-utilities/compat-vars/footer shell
- admin SPA 重建; 契约测试同步(路径/断言/文件更名)
- 例外保留: tests/visual 对照环境与 fixtures 前缀(外部 Zibll 产品引用)

验证: php -l 133 个改动文件通过; runtime 86 个 JS node --check 通过;
契约测试 68/70(2 个失败经 stash 对照确认为存量问题)
2026-08-22 16:16:30 +08:00

86 lines
3.4 KiB
JavaScript

export const i18nSchema = {
key: 'global.i18n',
title: '多语言翻译',
icon: 'fa fas fa-language',
description: '配置站点语言、语言切换器和翻译管理。',
defaults: {
i18n_enabled: false,
i18n_default_lang: 'zh-CN',
i18n_switcher_position: 'footer',
i18n_auto_detect: true,
i18n_available_langs: 'zh-CN|简体中文\nen|English\nzh-TW|繁體中文\nja|日本語\nko|한국어\nfr|Français\nde|Deutsch\nes|Español\nru|Русский',
i18n_nomenclature: '',
i18n_url_strategy: 'query',
},
groups: [
{
key: 'basic',
title: '基础配置',
icon: 'fa fas fa-globe',
fields: [
{ key: 'i18n_enabled', label: '启用多语言', type: 'switch', default: false, help: '开启后站点将支持多语言切换' },
{
key: 'i18n_default_lang',
label: '默认语言',
type: 'select',
default: 'zh-CN',
options: [
{ label: '简体中文', value: 'zh-CN' },
{ label: 'English', value: 'en' },
{ label: '繁體中文', value: 'zh-TW' },
{ label: '日本語', value: 'ja' },
{ label: '한국어', value: 'ko' },
{ label: 'Français', value: 'fr' },
{ label: 'Deutsch', value: 'de' },
{ label: 'Español', value: 'es' },
{ label: 'Русский', value: 'ru' },
],
dependsOn: { key: 'i18n_enabled', value: true },
},
{ key: 'i18n_auto_detect', label: '自动检测浏览器语言', type: 'switch', default: true, dependsOn: { key: 'i18n_enabled', value: true }, help: '基于浏览器 Accept-Language 自动切换(AKSRT 方案,区别于 legacy IP 定位方案)' },
],
},
{
key: 'languages',
title: '语言管理',
icon: 'fa fas fa-language',
fields: [
{ key: 'i18n_available_langs', label: '可用语言列表', type: 'textarea', default: 'zh-CN|简体中文\nen|English\nzh-TW|繁體中文\nja|日本語\nko|한국어\nfr|Français\nde|Deutsch\nes|Español\nru|Русский', dependsOn: { key: 'i18n_enabled', value: true }, help: '每行一个语言:语言代码|显示名称(9 种内置语言)' },
{ key: 'i18n_nomenclature', label: '自定义术语', type: 'code', default: '', dependsOn: { key: 'i18n_enabled', value: true }, help: 'JSON 格式自定义翻译术语(key => 翻译),对齐 legacy nomenclature' },
],
},
{
key: 'display',
title: '展示设置',
icon: 'fa fas fa-eye',
fields: [
{
key: 'i18n_switcher_position',
label: '语言切换器位置',
type: 'radio',
default: 'footer',
options: [
{ label: '导航栏', value: 'header' },
{ label: '页脚', value: 'footer' },
{ label: '导航栏+页脚', value: 'both' },
{ label: '隐藏', value: 'none' },
],
dependsOn: { key: 'i18n_enabled', value: true },
},
{
key: 'i18n_url_strategy',
label: 'URL 策略',
type: 'radio',
default: 'query',
options: [
{ label: '查询参数 (?lang=en)', value: 'query' },
{ label: '路径前缀 (/en/page)', value: 'path' },
{ label: '子域名 (en.site.com)', value: 'subdomain' },
],
dependsOn: { key: 'i18n_enabled', value: true },
},
],
},
],
}