LiteyukiBot/docs/components/scripts/i18n.ts

74 lines
2.0 KiB
TypeScript
Raw Normal View History

2024-09-01 12:39:51 +00:00
import {ref} from "vue";
2024-09-01 14:00:17 +00:00
2024-09-01 10:25:37 +00:00
import {useData} from "vitepress";
const i18nData = {
2024-09-01 12:39:51 +00:00
en: {
2024-09-01 14:30:46 +00:00
stats: 'Stats',
2024-09-01 12:39:51 +00:00
online: 'Online',
offline: 'Offline',
total: 'Total',
fetching: 'Fetching',
stars: 'Stars',
forks: 'Forks',
issues: 'Issues',
prs: 'Pull Requests',
2024-09-01 16:13:37 +00:00
visitors: 'Visitor',
2024-09-01 13:16:45 +00:00
size: 'Size',
plugins: 'Plugins',
resources: 'Resources',
2024-09-01 14:14:09 +00:00
pluginStore: 'Plugin Store',
pluginStoreDesc: 'Content from the LightSnow Plugin Store, LightSnow supports NoneBot through the lpnonebot plugin, and references some NoneBot plugins',
liteyukiOnly: 'Liteyuki Only',
search: 'Search',
resourceStore: 'Resources Store',
2024-09-01 12:39:51 +00:00
},
zh: {
2024-09-01 14:30:46 +00:00
stats: '统计信息',
2024-09-01 12:39:51 +00:00
online: '在线',
offline: '离线',
total: '实例',
fetching: '获取中',
2024-09-02 13:27:41 +00:00
stars: '星标',
2024-09-02 13:26:11 +00:00
forks: '分叉',
2024-09-01 13:16:45 +00:00
issues: '开启议题',
2024-09-01 12:45:06 +00:00
prs: '合并请求',
2024-09-01 16:13:37 +00:00
visitors: '访客',
2024-09-01 13:16:45 +00:00
size: '大小',
plugins: '插件',
resources: '主题资源',
2024-09-01 14:14:09 +00:00
store: '商店',
pluginStore: '插件商店',
pluginStoreDesc: '内容来自轻雪插件商店轻雪通过lpnonebot插件对NoneBot实现支持引用了部分NoneBot插件',
liteyukiOnly: '仅轻雪',
search: '搜索',
resourceStore: '资源商店',
2024-09-01 12:39:51 +00:00
}
2024-09-01 10:25:37 +00:00
}
2024-09-01 12:39:51 +00:00
let refData = {}
function getText(lang: string, key: string): string {
lang = formatLang(lang);
2024-09-01 14:00:17 +00:00
return i18nData[lang][key];
2024-09-01 12:39:51 +00:00
}
function formatLang(lang: string): string {
if (lang.includes('-')) {
return lang.split('-')[0];
}
return lang;
}
2024-09-01 14:00:17 +00:00
export function updateRefData() {
const lang = formatLang(useData().site.value.lang);
2024-09-01 12:39:51 +00:00
for (let key in refData) {
refData[key].value = getText(lang, key);
}
}
export function getTextRef(key: string): any {
const lang = formatLang(useData().site.value.lang);
2024-09-01 14:00:17 +00:00
refData[key] = getText(lang, key);
2024-09-01 12:39:51 +00:00
return refData[key]
2024-09-01 10:25:37 +00:00
}