Skip to content

Commit 5485735

Browse files
committed
fix:调整多语言加载
1 parent 9e6bc9c commit 5485735

File tree

5 files changed

+14
-6
lines changed

5 files changed

+14
-6
lines changed

website/src/components/useMdData/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ import { useEffect, useState } from 'react';
22
import { CodeBlockData } from 'markdown-react-code-preview-loader';
33
import { useTranslation } from 'react-i18next';
44

5-
const useMdData = (path: (lang: string) => Promise<{ default: CodeBlockData }>) => {
5+
const useMdData = (path: (lang: string) => Promise<{ default: CodeBlockData }>, name: string = 'language') => {
66
const init = useTranslation();
77
const [mdData, setMdData] = useState<CodeBlockData>({
88
source: '',
99
components: {},
1010
codeBlock: {},
1111
languages: {},
1212
});
13-
const lang = init.t('language');
13+
const lang = init.t(name);
1414
useEffect(() => {
1515
const getMd = async () => {
1616
try {

website/src/language/i18n.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ import LanguageData from './language.json';
66
// or even better, manage them separated from your code: https://react.i18next.com/guides/multiple-translation-files)
77
const resources: Record<string, { translation: { language: string } }> = {};
88
Object.entries(LanguageData).forEach(([key, item]) => {
9+
const { value, label, ...rest } = item;
910
resources[key] = {
1011
translation: {
1112
language: item.value,
13+
...rest,
1214
},
1315
};
1416
});

website/src/language/language.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
{
22
"zh": {
33
"label": "中文",
4-
"value": "-zh"
4+
"value": "-zh",
5+
"markdown-react-code-preview-loader": "README-zh",
6+
"App": "App-zh"
57
},
68
"en": {
79
"label": "英文",
8-
"value": ""
10+
"value": "",
11+
"markdown-react-code-preview-loader": "README",
12+
"App": "App"
913
}
1014
}

website/src/pages/docs/index.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import MarkdownPreview from '@uiw/react-markdown-preview';
22
import useMdData from './../../components/useMdData';
33
export function HomePage() {
4-
const mdData = useMdData((lang) => import(`markdown-react-code-preview-loader/README${lang}.md`));
4+
const mdData = useMdData((path) => {
5+
return import(`markdown-react-code-preview-loader/${path}.md`);
6+
}, 'markdown-react-code-preview-loader');
57
return <MarkdownPreview source={mdData.source} />;
68
}

website/src/pages/example/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const getMetaData = (meta: string) => {
1414
};
1515

1616
export function ExamplePage() {
17-
const mdData = useMdData((lang) => import(`./App${lang}.md`));
17+
const mdData = useMdData((path) => import(`./${path}.md`), 'App');
1818
return (
1919
<div>
2020
<MarkdownPreview

0 commit comments

Comments
 (0)