📝 [docs]: 新增在线展示

This commit is contained in:
2024-09-01 20:39:51 +08:00
parent 0860b61ccd
commit 9cae3edb6b
12 changed files with 591 additions and 257 deletions

View File

@ -1,27 +1,52 @@
import {ref} from "vue";
import {useData} from "vitepress";
const i18nData = {
"zh": {
online: '当前在线',
offline: '离线',
total: '全球实例',
fetching: '获取中',
},
"en": {
online: 'Online',
offline: 'Offline',
total: 'Total',
fetching: 'Fetching',
}
en: {
online: 'Online',
offline: 'Offline',
total: 'Total',
fetching: 'Fetching',
stars: 'Stars',
forks: 'Forks',
issues: 'Issues',
prs: 'Pull Requests',
},
zh: {
online: '在线',
offline: '离线',
total: '实例',
fetching: '获取中',
stars: '星星',
forks: '叉子',
issues: '议题',
prs: '合并',
}
}
export default function getText(key: string): string {
// 转换语言
// zh-Hans -> zh
// en-US -> en
if (useData().site.value.lang.includes('-')) {
return i18nData[useData().site.value.lang.split('-')[0]][key];
} else {
return i18nData[useData().site.value.lang][key];
}
let refData = {}
function getText(lang: string, key: string): string {
lang = formatLang(lang);
return i18nData[key][key];
}
function formatLang(lang: string): string {
if (lang.includes('-')) {
return lang.split('-')[0];
}
return lang;
}
export function updateRef() {
const lang = useData().site.value.lang;
for (let key in refData) {
refData[key].value = getText(lang, key);
}
}
export function getTextRef(key: string): any {
const lang = formatLang(useData().site.value.lang);
refData[key] = ref(i18nData[lang][key]);
return refData[key]
}