diff --git a/web/src/app/home/components/home-sidebar/HomeSidebarChild.tsx b/web/src/app/home/components/home-sidebar/HomeSidebarChild.tsx index 27f946b0..8529d410 100644 --- a/web/src/app/home/components/home-sidebar/HomeSidebarChild.tsx +++ b/web/src/app/home/components/home-sidebar/HomeSidebarChild.tsx @@ -1,5 +1,5 @@ import styles from './HomeSidebar.module.css'; -import { I18nText } from '@/app/infra/entities/api'; +import { I18nLabel } from '@/app/infra/entities/common'; export interface ISidebarChildVO { id: string; @@ -7,7 +7,7 @@ export interface ISidebarChildVO { name: string; route: string; description: string; - helpLink: I18nText; + helpLink: I18nLabel; } export class SidebarChildVO { @@ -16,7 +16,7 @@ export class SidebarChildVO { name: string; route: string; description: string; - helpLink: I18nText; + helpLink: I18nLabel; constructor(props: ISidebarChildVO) { this.id = props.id; diff --git a/web/src/app/home/components/home-titlebar/HomeTitleBar.tsx b/web/src/app/home/components/home-titlebar/HomeTitleBar.tsx index ccea2ed1..56e849fa 100644 --- a/web/src/app/home/components/home-titlebar/HomeTitleBar.tsx +++ b/web/src/app/home/components/home-titlebar/HomeTitleBar.tsx @@ -1,6 +1,6 @@ import { i18nObj } from '@/i18n/I18nProvider'; import styles from './HomeTittleBar.module.css'; -import { I18nText } from '@/app/infra/entities/api'; +import { I18nLabel } from '@/app/infra/entities/common'; export default function HomeTitleBar({ title, @@ -9,7 +9,7 @@ export default function HomeTitleBar({ }: { title: string; subtitle: string; - helpLink: I18nText; + helpLink: I18nLabel; }) { return (
diff --git a/web/src/app/home/layout.tsx b/web/src/app/home/layout.tsx index 06877872..7dd68b25 100644 --- a/web/src/app/home/layout.tsx +++ b/web/src/app/home/layout.tsx @@ -5,7 +5,7 @@ import HomeSidebar from '@/app/home/components/home-sidebar/HomeSidebar'; import HomeTitleBar from '@/app/home/components/home-titlebar/HomeTitleBar'; import React, { useState } from 'react'; import { SidebarChildVO } from '@/app/home/components/home-sidebar/HomeSidebarChild'; -import { I18nText } from '@/app/infra/entities/api'; +import { I18nLabel } from '@/app/infra/entities/common'; export default function HomeLayout({ children, @@ -14,7 +14,7 @@ export default function HomeLayout({ }>) { const [title, setTitle] = useState(''); const [subtitle, setSubtitle] = useState(''); - const [helpLink, setHelpLink] = useState({ + const [helpLink, setHelpLink] = useState({ en_US: '', zh_Hans: '', }); diff --git a/web/src/app/infra/entities/api/index.ts b/web/src/app/infra/entities/api/index.ts index 145f79c0..fa6eda5a 100644 --- a/web/src/app/infra/entities/api/index.ts +++ b/web/src/app/infra/entities/api/index.ts @@ -1,5 +1,6 @@ import { IDynamicFormItemSchema } from '@/app/infra/entities/form/dynamic'; import { PipelineConfigTab } from '@/app/infra/entities/pipeline'; +import { I18nLabel } from '@/app/infra/entities/common'; export interface ApiResponse { code: number; @@ -7,11 +8,6 @@ export interface ApiResponse { msg: string; } -export interface I18nText { - en_US: string; - zh_Hans: string; -} - export interface AsyncTaskCreatedResp { task_id: number; } @@ -26,8 +22,8 @@ export interface ApiRespProviderRequester { export interface Requester { name: string; - label: I18nText; - description: I18nText; + label: I18nLabel; + description: I18nLabel; icon?: string; spec: { config: IDynamicFormItemSchema[]; @@ -84,8 +80,8 @@ export interface ApiRespPlatformAdapter { export interface Adapter { name: string; - label: I18nText; - description: I18nText; + label: I18nLabel; + description: I18nLabel; icon?: string; spec: { config: AdapterSpecConfig[]; @@ -94,7 +90,7 @@ export interface Adapter { export interface AdapterSpecConfig { default: string | number | boolean | Array; - label: I18nText; + label: I18nLabel; name: string; required: boolean; type: string; @@ -133,8 +129,8 @@ export interface ApiRespPlugin { export interface Plugin { author: string; name: string; - description: I18nText; - label: I18nText; + description: I18nLabel; + label: I18nLabel; version: string; enabled: boolean; priority: number; diff --git a/web/src/i18n/I18nProvider.tsx b/web/src/i18n/I18nProvider.tsx index 4821d1eb..ef3ea0b7 100644 --- a/web/src/i18n/I18nProvider.tsx +++ b/web/src/i18n/I18nProvider.tsx @@ -2,7 +2,7 @@ import { ReactNode } from 'react'; import '@/i18n'; -import { I18nText } from '@/app/infra/entities/api'; +import { I18nLabel } from '@/app/infra/entities/common'; interface I18nProviderProps { children: ReactNode; @@ -11,10 +11,10 @@ interface I18nProviderProps { export default function I18nProvider({ children }: I18nProviderProps) { return <>{children}; } -export function i18nObj(i18nText: I18nText): string { +export function i18nObj(i18nLabel: I18nLabel): string { const language = localStorage.getItem('langbot_language'); - if ((language === 'zh-Hans' && i18nText.zh_Hans) || !i18nText.en_US) { - return i18nText.zh_Hans; + if ((language === 'zh-Hans' && i18nLabel.zh_Hans) || !i18nLabel.en_US) { + return i18nLabel.zh_Hans; } - return i18nText.en_US; + return i18nLabel.en_US; }