diff --git a/react/src/App.tsx b/react/src/App.tsx
index 3e2da8daf0..6817c474ce 100644
--- a/react/src/App.tsx
+++ b/react/src/App.tsx
@@ -28,7 +28,7 @@ const ServingPage = React.lazy(() => import('./pages/ServingPage'));
const EndpointDetailPage = React.lazy(
() => import('./pages/EndpointDetailPage'),
);
-// const SummaryPage = React.lazy(() => import('./pages/SummaryPage'));
+const StartPage = React.lazy(() => import('./pages/StartPage'));
const EnvironmentPage = React.lazy(() => import('./pages/EnvironmentPage'));
const MyEnvironmentPage = React.lazy(() => import('./pages/MyEnvironmentPage'));
const StorageHostSettingPage = React.lazy(
@@ -61,9 +61,9 @@ const ComputeSessionList = React.lazy(
() => import('./components/ComputeSessionList'),
);
-const RedirectToSummary = () => {
+const RedirectToStart = () => {
useSuspendedBackendaiClient();
- const pathName = '/summary';
+ const pathName = '/start';
document.dispatchEvent(
new CustomEvent('move-to-from-react', {
detail: {
@@ -72,7 +72,7 @@ const RedirectToSummary = () => {
},
}),
);
- return ;
+ return ;
};
const router = createBrowserRouter([
@@ -109,17 +109,26 @@ const router = createBrowserRouter([
children: [
{
path: '/',
- element: ,
+ element: ,
},
{
//for electron dev mode
path: '/build/electron-app/app/index.html',
- element: ,
+ element: ,
},
{
//for electron prod mode
path: '/app/index.html',
- element: ,
+ element: ,
+ },
+ {
+ path: '/start',
+ element: (
+
+
+
+ ),
+ handle: { labelKey: 'webui.menu.Start' },
},
{
path: '/summary',
@@ -134,7 +143,6 @@ const router = createBrowserRouter([
style={{ marginBottom: token.paddingContentVerticalLG }}
closable
/>
- {/* */}
>
);
},
diff --git a/react/src/components/ActionItemContent.tsx b/react/src/components/ActionItemContent.tsx
new file mode 100644
index 0000000000..5b1460f50b
--- /dev/null
+++ b/react/src/components/ActionItemContent.tsx
@@ -0,0 +1,122 @@
+import Flex from './Flex';
+import { Button, Divider, Typography, theme } from 'antd';
+import { useEffect, useRef, useState } from 'react';
+
+interface StartItemContentProps {
+ title: string;
+ description?: string;
+ icon?: React.ReactNode;
+ buttonText: string;
+ onClick?: () => void;
+ themeColor?: string;
+ iconBgColor?: string;
+}
+
+const ActionItemContent: React.FC = ({
+ title,
+ description,
+ icon,
+ buttonText,
+ onClick,
+ themeColor,
+ iconBgColor,
+}) => {
+ const { token } = theme.useToken();
+ const [needScroll, setNeedScroll] = useState(false);
+ const containerRef = useRef(null);
+
+ useEffect(() => {
+ const handleResize = () => {
+ if (containerRef.current) {
+ const { clientWidth } = containerRef.current;
+ // Currently, the minimum width for non-scrollable content is 220px (Start an Interactive Session Card)
+ if (clientWidth <= 225) {
+ setNeedScroll(true);
+ } else {
+ setNeedScroll(false);
+ }
+ }
+ };
+ handleResize();
+ window.addEventListener('resize', handleResize);
+ return () => {
+ window.removeEventListener('resize', handleResize);
+ };
+ }, []);
+
+ return (
+
+
+
+ {icon}
+
+
+
+ {title}
+
+
+
+ {!needScroll && description}
+
+
+
+ {description && (
+
+ )}
+
+
+
+
+
+ );
+};
+
+export default ActionItemContent;
diff --git a/react/src/components/BAIBoard.tsx b/react/src/components/BAIBoard.tsx
index 4f75ed034d..e0ae218e44 100644
--- a/react/src/components/BAIBoard.tsx
+++ b/react/src/components/BAIBoard.tsx
@@ -1,7 +1,6 @@
-import Flex from './Flex';
import Board, { BoardProps } from '@cloudscape-design/board-components/board';
import BoardItem from '@cloudscape-design/board-components/board-item';
-import { Skeleton, Typography } from 'antd';
+import { Skeleton } from 'antd';
import { createStyles } from 'antd-style';
import { Suspense } from 'react';
@@ -23,29 +22,31 @@ const useStyles = createStyles(({ css }) => {
board: css`
${defaultBoard}
`,
- disableCustomize: css`
- ${defaultBoard}
- .bai_board_handle {
+ disableResize: css`
+ .bai_board_resizer {
display: none !important;
}
- .bai_board_resizer {
+ `,
+ disableMove: css`
+ .bai_board_handle {
display: none !important;
}
.bai_board_header {
- height: var(--token-boardHeaderHeight, 55px) !important;
+ display: none !important;
}
`,
boardItems: css`
& > div:first-child {
- border: 1px solid var(--token-colorBorder) !important ;
+ border: none !important ;
border-radius: var(--token-borderRadius) !important ;
background-color: var(--token-colorBgContainer) !important ;
}
& > div:first-child > div:first-child > div:first-child {
- border-bottom: 1px solid var(--token-colorBorder) !important;
margin-bottom: var(--token-margin);
background-color: var(--token-colorBgContainer) !important ;
+ position: absolute;
+ z-index: 1;
}
`,
};
@@ -56,19 +57,27 @@ interface BAICustomizableGridProps {
onItemsChange: (
event: CustomEvent>,
) => void;
- customizable?: boolean;
+ resizable?: boolean;
+ movable?: boolean;
}
const BAIBoard: React.FC = ({
items: parsedItems,
- customizable = false,
+ resizable = false,
+ movable = false,
...BoardProps
}) => {
const { styles } = useStyles();
+
+ const boardStyles = [
+ styles.board,
+ !movable && styles.disableMove,
+ !resizable && styles.disableResize,
+ ].join(' ');
+
return (
{
return (
@@ -82,11 +91,6 @@ const BAIBoard: React.FC = ({
resizeHandleAriaLabel: '',
resizeHandleAriaDescription: '',
}}
- header={
-
- {item.data.title}
-
- }
>
}>
{item.data.content}
diff --git a/react/src/components/MainLayout/WebUISider.tsx b/react/src/components/MainLayout/WebUISider.tsx
index ae2351eeaf..cbcfd36876 100644
--- a/react/src/components/MainLayout/WebUISider.tsx
+++ b/react/src/components/MainLayout/WebUISider.tsx
@@ -19,6 +19,7 @@ import {
FileDoneOutlined,
HddOutlined,
InfoCircleOutlined,
+ PlayCircleOutlined,
RocketOutlined,
SolutionOutlined,
ToolOutlined,
@@ -70,6 +71,11 @@ const WebUISider: React.FC = (props) => {
const [isOpenSignoutModal, { toggle: toggleSignoutModal }] = useToggle(false);
const generalMenu = filterEmptyItem([
+ {
+ label: t('webui.menu.Start'),
+ icon: ,
+ key: 'start',
+ },
{
label: t('webui.menu.Summary'),
icon: ,
diff --git a/react/src/components/SummaryPageItems/SummaryItemDownloadApp.tsx b/react/src/components/SummaryPageItems/SummaryItemDownloadApp.tsx
deleted file mode 100644
index b2e487d2ce..0000000000
--- a/react/src/components/SummaryPageItems/SummaryItemDownloadApp.tsx
+++ /dev/null
@@ -1,92 +0,0 @@
-import { useSuspendedBackendaiClient } from '../../hooks';
-import Flex from '../Flex';
-import { Button, Select, Typography, theme } from 'antd';
-import { useState } from 'react';
-
-const detectDefaultOS = () => {
- if (navigator.userAgent.indexOf('Mac') !== -1) return 'MacOS';
- if (navigator.userAgent.indexOf('Win') !== -1) return 'Windows';
- if (navigator.userAgent.indexOf('Linux') !== -1) return 'Linux';
- return 'MacOS';
-};
-
-const SummaryItemDownloadApp: React.FC = () => {
- const { token } = theme.useToken();
- const [OS, setOS] = useState(detectDefaultOS());
-
- const baiClient = useSuspendedBackendaiClient();
- const url = baiClient._config.appDownloadUrl;
- const windowOS = baiClient.supports('use-win-instead-of-win32')
- ? 'win'
- : 'win32';
-
- const appDownloadMap: Record = {
- Linux: {
- os: 'linux',
- architecture: ['arm64', 'x64'],
- extension: 'zip',
- },
- MacOS: {
- os: 'macos',
- architecture: ['arm64', 'x64'],
- extension: 'dmg',
- },
- Windows: {
- os: windowOS,
- architecture: ['arm64', 'x64'],
- extension: 'zip',
- },
- };
- const downloadApp = (architecture: string) => {
- //@ts-ignore
- const pkgVersion = globalThis.packageVersion;
- const os = appDownloadMap[OS].os;
- const extension = appDownloadMap[OS].extension;
- const downloadLink = `${url}/v${pkgVersion}/backend.ai-desktop-${pkgVersion}-${os}-${architecture}.${extension}`;
- window.open(downloadLink, '_blank');
- };
-
- return (
-
-
- );
-};
-
-export default SummaryItemDownloadApp;
diff --git a/react/src/components/SummaryPageItems/SummaryItemInvitation.tsx b/react/src/components/SummaryPageItems/SummaryItemInvitation.tsx
deleted file mode 100644
index 9edaa7007a..0000000000
--- a/react/src/components/SummaryPageItems/SummaryItemInvitation.tsx
+++ /dev/null
@@ -1,169 +0,0 @@
-import BAICard from '../../BAICard';
-import {
- baiSignedRequestWithPromise,
- useBaiSignedRequestWithPromise,
-} from '../../helper';
-import { useSuspendedBackendaiClient } from '../../hooks';
-import {
- useSuspenseTanQuery,
- useTanMutation,
-} from '../../hooks/reactQueryAlias';
-import Flex from '../Flex';
-import { App, Button, Descriptions, Empty, Tag, Typography, theme } from 'antd';
-import { useTranslation } from 'react-i18next';
-
-const SummaryItemInvitation: React.FC = () => {
- const { t } = useTranslation();
- const { token } = theme.useToken();
- const app = App.useApp();
-
- const baiClient = useSuspendedBackendaiClient();
- const baiRequestWithPromise = useBaiSignedRequestWithPromise();
- const {
- data: { invitations },
- refetch,
- } = useSuspenseTanQuery({
- queryKey: ['baiClient.invitation.list'],
- queryFn: () =>
- baiRequestWithPromise({
- method: 'GET',
- url: '/folders/invitations/list',
- }),
- });
-
- const terminateInvitationsMutation = useTanMutation({
- mutationFn: (inv_id: string) => {
- return baiSignedRequestWithPromise({
- method: 'DELETE',
- url: '/folders/invitations/delete',
- body: {
- inv_id: inv_id,
- },
- client: baiClient,
- });
- },
- });
-
- const acceptInvitationsMutation = useTanMutation({
- mutationFn: (inv_id: string) => {
- return baiSignedRequestWithPromise({
- method: 'POST',
- url: '/folders/invitations/accept',
- body: {
- inv_id: inv_id,
- },
- client: baiClient,
- });
- },
- });
-
- const permissionIndicator = (permission: any) => {
- const indicator = [...permission].map((p: any) => {
- const color = ['green', 'blue', 'red', 'orange'][
- ['r', 'w', 'd', 'o'].indexOf(p)
- ];
- const text = ['read', 'write', 'delete', 'only'][
- ['r', 'w', 'd', 'o'].indexOf(p)
- ];
-
- return (
-
- {text}
-
- );
- });
-
- return indicator;
- };
-
- return (
-
- {invitations.length > 0 ? (
- <>
- {invitations.map((invitation: any) => (
-
-
-
- {invitation.vfolder_name}
-
-
- {permissionIndicator(invitation.perm)}
-
-
-
-
-
-
-
- ))}
- >
- ) : (
-
- )}
-
- );
-};
-
-export default SummaryItemInvitation;
diff --git a/react/src/components/SummaryPageItems/SummaryItemStartMenu.tsx b/react/src/components/SummaryPageItems/SummaryItemStartMenu.tsx
deleted file mode 100644
index 856ca3c222..0000000000
--- a/react/src/components/SummaryPageItems/SummaryItemStartMenu.tsx
+++ /dev/null
@@ -1,146 +0,0 @@
-import { useWebUINavigate } from '../../hooks';
-import Flex from '../Flex';
-import { PoweroffOutlined } from '@ant-design/icons';
-import { Button, Typography, theme } from 'antd';
-import { useTranslation } from 'react-i18next';
-
-interface StartMenuProps {
- deactivate?: boolean;
- allowNeoSessionLauncher?: boolean;
-}
-
-export const SummaryItemStartMenu: React.FC = ({
- deactivate,
- allowNeoSessionLauncher,
-}) => {
- const { token } = theme.useToken();
- const webuiNavigate = useWebUINavigate();
- const { t } = useTranslation();
-
- return (
-
-
-
-
- webuiNavigate('/data')}
- >
-
-
- {t('summary.UploadFiles')}
-
-
- {
- webuiNavigate({
- pathname: '/credential',
- search: '?action=add',
- });
- }}
- >
-
-
- {t('summary.CreateANewKeypair')}
-
-
- {
- webuiNavigate({
- pathname: '/credential',
- search: '?action=manage',
- });
- }}
- >
-
-
- {t('summary.MaintainKeypairs')}
-
-
-
-
- );
-};
-
-export default SummaryItemStartMenu;
diff --git a/react/src/hooks/useBAISetting.tsx b/react/src/hooks/useBAISetting.tsx
index f0641f3d88..e21506d732 100644
--- a/react/src/hooks/useBAISetting.tsx
+++ b/react/src/hooks/useBAISetting.tsx
@@ -1,5 +1,5 @@
import { jotaiStore } from '../components/DefaultProviders';
-import { SummaryItem } from '../pages/SummaryPage';
+import { StartItem } from '../pages/StartPage';
import { atom, useAtom } from 'jotai';
import { atomFamily } from 'jotai/utils';
@@ -14,7 +14,7 @@ interface UserSettings {
last_window_close_time?: number;
endpoints?: string[];
auto_logout?: boolean;
- summary_items?: Array>;
+ summary_items?: Array>;
selected_language?: string;
classic_session_launcher?: boolean;
recentSessionHistory?: Array;
diff --git a/react/src/pages/StartPage.tsx b/react/src/pages/StartPage.tsx
new file mode 100644
index 0000000000..378f91cd03
--- /dev/null
+++ b/react/src/pages/StartPage.tsx
@@ -0,0 +1,244 @@
+import ActionItemContent from '../components/ActionItemContent';
+import BAIBoard from '../components/BAIBoard';
+import { SessionLauncherPageLocationState } from '../components/LocationStateBreadCrumb';
+import { useWebUINavigate } from '../hooks';
+import { useBAISettingUserState } from '../hooks/useBAISetting';
+import { SessionLauncherFormValue } from './SessionLauncherPage';
+import {
+ AppstoreAddOutlined,
+ FolderAddOutlined,
+ LinkOutlined,
+ PlaySquareOutlined,
+} from '@ant-design/icons';
+import { BoardProps } from '@cloudscape-design/board-components/board';
+import { theme } from 'antd';
+import _ from 'lodash';
+import { useState } from 'react';
+import { useTranslation } from 'react-i18next';
+
+export interface StartItem
+ extends BoardProps.Item<{
+ content: JSX.Element;
+ }> {
+ id:
+ | 'createFolder'
+ | 'startSession'
+ | 'startBatchSession'
+ | 'modelService'
+ | 'startFromExample'
+ | 'startFromURL';
+}
+
+const StartPage: React.FC = () => {
+ const { t } = useTranslation();
+ const { token } = theme.useToken();
+ const webuiNavigate = useWebUINavigate();
+
+ const defaultSummaryElements: {
+ [key in StartItem['id']]: StartItem['data'];
+ } = {
+ createFolder: {
+ content: (
+
+ }
+ onClick={() => webuiNavigate('/data')}
+ />
+ ),
+ },
+ startSession: {
+ content: (
+
+ }
+ onClick={() => webuiNavigate('/session/start')}
+ />
+ ),
+ },
+ startBatchSession: {
+ content: (
+
+ }
+ onClick={() => {
+ const launcherValue: DeepPartial = {
+ sessionType: 'batch',
+ };
+ const params = new URLSearchParams();
+ params.set('step', '0');
+ params.set('formValues', JSON.stringify(launcherValue));
+ webuiNavigate(`/session/start?${params.toString()}`, {
+ state: {
+ from: {
+ pathname: '/start',
+ label: t('start.StartSession'),
+ },
+ } as SessionLauncherPageLocationState,
+ });
+ }}
+ />
+ ),
+ },
+ // The colors of the items below are not finalized.
+ // they should be changed in the future to provide specific tokens by adding them to the provider.
+ modelService: {
+ content: (
+
+ }
+ onClick={() => webuiNavigate('/service/start')}
+ themeColor={token['cyan-6']}
+ iconBgColor={token['cyan-1']}
+ />
+ ),
+ },
+ startFromExample: {
+ content: (
+
+ }
+ onClick={() => webuiNavigate('/import')}
+ themeColor={token['cyan-6']}
+ iconBgColor={token['cyan-1']}
+ />
+ ),
+ },
+ startFromURL: {
+ content: (
+
+ }
+ onClick={() => webuiNavigate('/import')}
+ themeColor={token['cyan-6']}
+ iconBgColor={token['cyan-1']}
+ />
+ ),
+ },
+ };
+ const [summaryItemsSetting, setSummaryItemsSetting] =
+ useBAISettingUserState('summary_items');
+
+ const [items, setItems] = useState>(
+ !_.isEmpty(summaryItemsSetting)
+ ? _.map(summaryItemsSetting, (item) => ({
+ ...item,
+ data: {
+ ...defaultSummaryElements[item?.id],
+ },
+ }))
+ : [
+ {
+ id: 'createFolder',
+ rowSpan: 3,
+ columnSpan: 1,
+ columnOffset: { 4: 0 },
+ data: defaultSummaryElements.createFolder,
+ },
+ {
+ id: 'startSession',
+ rowSpan: 3,
+ columnSpan: 1,
+ columnOffset: { 4: 1 },
+ data: defaultSummaryElements.startSession,
+ },
+ {
+ id: 'startBatchSession',
+ rowSpan: 3,
+ columnSpan: 1,
+ columnOffset: { 4: 2 },
+ data: defaultSummaryElements.startBatchSession,
+ },
+ {
+ id: 'modelService',
+ rowSpan: 3,
+ columnSpan: 1,
+ columnOffset: { 4: 3 },
+ data: defaultSummaryElements.modelService,
+ },
+ {
+ id: 'startFromExample',
+ rowSpan: 3,
+ columnSpan: 1,
+ columnOffset: { 4: 0 },
+ data: defaultSummaryElements.startFromExample,
+ },
+ {
+ id: 'startFromURL',
+ rowSpan: 3,
+ columnSpan: 1,
+ columnOffset: { 4: 1 },
+ data: defaultSummaryElements.startFromURL,
+ },
+ ],
+ );
+
+ return (
+ {
+ const changedItems = event.detail.items as typeof items;
+ setItems(changedItems);
+ setSummaryItemsSetting(
+ _.map(changedItems, (item) => _.omit(item, 'data')),
+ );
+ }}
+ />
+ );
+};
+export default StartPage;
diff --git a/react/src/pages/SummaryPage.tsx b/react/src/pages/SummaryPage.tsx
deleted file mode 100644
index f6102531d6..0000000000
--- a/react/src/pages/SummaryPage.tsx
+++ /dev/null
@@ -1,85 +0,0 @@
-import BAIBoard from '../components/BAIBoard';
-import SummaryItemDownloadApp from '../components/SummaryPageItems/SummaryItemDownloadApp';
-import SummaryItemInvitation from '../components/SummaryPageItems/SummaryItemInvitation';
-import SummaryItemStartMenu from '../components/SummaryPageItems/SummaryItemStartMenu';
-import { useBAISettingUserState } from '../hooks/useBAISetting';
-import { BoardProps } from '@cloudscape-design/board-components/board';
-import _ from 'lodash';
-import { useState } from 'react';
-import { useTranslation } from 'react-i18next';
-
-export interface SummaryItem
- extends BoardProps.Item<{
- title: string;
- content: JSX.Element;
- }> {
- id: 'startMenu' | 'invitation' | 'downloadApp';
-}
-
-const SummaryPage: React.FC = () => {
- const { t } = useTranslation();
- const defaultSummaryElements: {
- [key in SummaryItem['id']]: SummaryItem['data'];
- } = {
- startMenu: {
- title: t('summary.StartMenu'),
- content: ,
- },
-
- invitation: {
- title: t('summary.Invitation'),
- content: ,
- },
-
- downloadApp: {
- title: t('summary.DownloadWebUIApp'),
- content: ,
- },
- };
- const [summaryItemsSetting, setSummaryItemsSetting] =
- useBAISettingUserState('summary_items');
-
- const [items, setItems] = useState>(
- !_.isEmpty(summaryItemsSetting)
- ? _.map(summaryItemsSetting, (item) => ({
- ...item,
- data: {
- ...defaultSummaryElements[item?.id],
- },
- }))
- : [
- {
- id: 'startMenu',
- rowSpan: 5,
- columnSpan: 1,
- data: defaultSummaryElements.startMenu,
- },
- {
- id: 'invitation',
- rowSpan: 1,
- columnSpan: 1,
- data: defaultSummaryElements.invitation,
- },
- {
- id: 'downloadApp',
- rowSpan: 1,
- columnSpan: 1,
- data: defaultSummaryElements.downloadApp,
- },
- ],
- );
-
- return (
- {
- const changedItems = event.detail.items as typeof items;
- setItems(changedItems);
- setSummaryItemsSetting(
- _.map(changedItems, (item) => _.omit(item, 'data')),
- );
- }}
- />
- );
-};
-export default SummaryPage;
diff --git a/resources/i18n/de.json b/resources/i18n/de.json
index 55ce08d636..de91d2fd79 100644
--- a/resources/i18n/de.json
+++ b/resources/i18n/de.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Geben sie ihre E-Mail Adresse ein",
"DisMatchUserEmail": "Die E-Mail-Adresse des Benutzers stimmt nicht überein",
"MyEnvironments": "Meine Umgebungen",
- "ResourcePolicy": "Ressourcenpolitik"
+ "ResourcePolicy": "Ressourcenpolitik",
+ "Start": "Start"
},
"YouAreOffline": "Offline: Keine Verbindung zu einem Netzwerk.",
"YouAreOnline": "Sie sind jetzt online",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Wählen Sie Endpunkt aus",
"SyncInput": "Eingang synchronisieren",
"CompareWithOtherModels": "Vergleichen Sie mit anderen Modellen"
+ },
+ "start": {
+ "CreateFolder": "Erstellen Sie einen neuen Speicherordner",
+ "button": {
+ "CreateFolder": "Ordner erstellen",
+ "StartSession": "Sitzung starten",
+ "ModelService": "Dienst starten",
+ "StartNow": "Beginnen Sie jetzt",
+ "StartBatchSession": "Beginnen Sie mit einer URL"
+ },
+ "CreateFolderDesc": "Für das Training von Modellen oder die externe Bereitstellung von Diensten sind das Erstellen eines Ordners und das Hochladen von Dateien von entscheidender Bedeutung. \nBitte beginnen Sie mit dem Hochladen der Dateien.",
+ "StartSession": "Starten Sie eine interaktive Sitzung",
+ "StartSessionDesc": "Möchten Sie ein Model trainieren? \nKlicken Sie auf die Schaltfläche, um sofort eine Sitzung zu erstellen. \nWählen Sie Ihre bevorzugte Umgebung und Ressourcen zum Ausführen von Code und anderen Aufgaben.",
+ "StartBatchSession": "Starten Sie die Batch-Sitzung",
+ "StartBatchSessionDesc": "Versuchen Sie für vordefinierte Dateien oder geplante Aufgaben Batch-Sitzungen. \nGeben Sie den Befehl ein, stellen Sie Datum und Uhrzeit ein und führen Sie ihn nach Bedarf aus.",
+ "ModelService": "Modelldienst starten",
+ "ModelServiceDesc": "Sind Sie bereit, Ihr trainiertes Modell mit anderen zu teilen? \nKlicken Sie auf die Schaltfläche, um einen Dienst zu erstellen.",
+ "StartFromExample": "Beginnen Sie mit dem Beispiel",
+ "StartFromExampleDesc": "Entdecken Sie verschiedene Beispielcodes und legen Sie los.",
+ "StartFromURL": "Beginnen Sie mit der URL",
+ "StartFromURLDesc": "Importieren Sie Ihr Projekt und Ihren Code aus verschiedenen Umgebungen wie GitHub, GitLab, Notebook usw."
}
}
diff --git a/resources/i18n/el.json b/resources/i18n/el.json
index 83b7b1fb8e..9bd844a52a 100644
--- a/resources/i18n/el.json
+++ b/resources/i18n/el.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Συμπληρώστε το email σας",
"DisMatchUserEmail": "Το email χρήστη δεν ταιριάζει",
"MyEnvironments": "Τα περιβάλλοντα μου",
- "ResourcePolicy": "Πολιτική Πόρων"
+ "ResourcePolicy": "Πολιτική Πόρων",
+ "Start": "Αρχή"
},
"YouAreOffline": "Offline: Δεν είναι συνδεδεμένος σε κανένα δίκτυο.",
"YouAreOnline": "Είστε πλέον συνδεδεμένοι",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Επιλέξτε Τελικό σημείο",
"SyncInput": "Συγχρονισμός εισόδου",
"CompareWithOtherModels": "Συγκρίνετε με άλλα μοντέλα"
+ },
+ "start": {
+ "CreateFolder": "Δημιουργήστε έναν νέο φάκελο αποθήκευσης",
+ "button": {
+ "CreateFolder": "Δημιουργία φακέλου",
+ "StartSession": "Έναρξη συνεδρίας",
+ "ModelService": "Ξεκινήστε την υπηρεσία",
+ "StartNow": "Ξεκινήστε τώρα",
+ "StartBatchSession": "Ξεκινήστε από μια διεύθυνση URL"
+ },
+ "CreateFolderDesc": "Η δημιουργία ενός φακέλου και η μεταφόρτωση αρχείων είναι ζωτικής σημασίας για τα μοντέλα εκπαίδευσης ή την παροχή υπηρεσιών εξωτερικά. \nΞεκινήστε ανεβάζοντας τα αρχεία.",
+ "StartSession": "Ξεκινήστε μια διαδραστική συνεδρία",
+ "StartSessionDesc": "Θέλετε να εκπαιδεύσετε ένα μοντέλο; \nΚάντε κλικ στο κουμπί για να δημιουργήσετε μια περίοδο λειτουργίας αμέσως. \nΕπιλέξτε το περιβάλλον και τους πόρους που προτιμάτε για την εκτέλεση κώδικα και άλλων εργασιών.",
+ "StartBatchSession": "Έναρξη Μαζικής Συνεδρίας",
+ "StartBatchSessionDesc": "Για προκαθορισμένα αρχεία ή προγραμματισμένες εργασίες, δοκιμάστε τις ομαδικές συνεδρίες. \nΕισαγάγετε την εντολή, ορίστε την ημερομηνία και την ώρα και εκτελέστε όπως απαιτείται.",
+ "ModelService": "Ξεκινήστε την υπηρεσία μοντέλου",
+ "ModelServiceDesc": "Είστε έτοιμοι να μοιραστείτε το εκπαιδευμένο μοντέλο σας με άλλους; \nΚάντε κλικ στο κουμπί για να δημιουργήσετε μια υπηρεσία.",
+ "StartFromExample": "Ξεκινήστε από το Παράδειγμα",
+ "StartFromExampleDesc": "Εξερευνήστε διάφορα παραδείγματα κωδικών και ξεκινήστε.",
+ "StartFromURL": "Έναρξη από τη διεύθυνση URL",
+ "StartFromURLDesc": "Εισαγάγετε το έργο και τον κώδικα σας από διάφορα περιβάλλοντα όπως GitHub, GitLab, Notebook κ.λπ."
}
}
diff --git a/resources/i18n/en.json b/resources/i18n/en.json
index c5d744c1f0..d3b7af984d 100644
--- a/resources/i18n/en.json
+++ b/resources/i18n/en.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Enter your e-mail",
"DisMatchUserEmail": "User E-mail does not match",
"MyEnvironments": "My Environments",
- "ResourcePolicy": "Resource Policy"
+ "ResourcePolicy": "Resource Policy",
+ "Start": "Start"
},
"YouAreOffline": "Offline: Not connected to any networks.",
"YouAreOnline": "You are now online",
@@ -1762,5 +1763,26 @@
"DeleteChattingSessionDescription": "You are about to delete this topic. Once deleted, it cannot be recovered. Please proceed with caution.",
"SyncInput": "Sync input",
"CompareWithOtherModels": "Compare with other models"
+ },
+ "start": {
+ "CreateFolder": "Create New Storage Folder",
+ "button": {
+ "CreateFolder": "Create Folder",
+ "StartSession": "Start Session",
+ "ModelService": "Start Service",
+ "StartNow": "Start Now",
+ "StartBatchSession": "Start from a URL"
+ },
+ "CreateFolderDesc": "Create folders and upload files. To train models or provide external services, it is essential to create folders and upload files.",
+ "StartSession": "Start Interactive Session",
+ "StartSessionDesc": "Create a session to train a model. Choose your preferred environment and resources to run a code.",
+ "StartBatchSession": "Start Batch Session",
+ "StartBatchSessionDesc": "Create a batch session for predefined files or scheduled tasks. Enter the command, set the date and time, and run the session on demand.",
+ "ModelService": "Start Model Service",
+ "ModelServiceDesc": "Select to share your trained model with others. This action will create a model service.",
+ "StartFromExample": "Start from the Example",
+ "StartFromExampleDesc": "Explore various example codes and get started.",
+ "StartFromURLDesc": "Import your project and code from various environments such as GitHub, GitLab, Notebook, etc.",
+ "StartFromURL": "Start From URL"
}
}
diff --git a/resources/i18n/es.json b/resources/i18n/es.json
index c86b731746..6f347edaf5 100644
--- a/resources/i18n/es.json
+++ b/resources/i18n/es.json
@@ -1687,7 +1687,8 @@
"InvalidBlankEmail": "Introduce tu correo electrónico",
"DisMatchUserEmail": "El correo electrónico del usuario no coincide",
"MyEnvironments": "Mis ambientes",
- "ResourcePolicy": "Política de recursos"
+ "ResourcePolicy": "Política de recursos",
+ "Start": "Comenzar"
},
"NetworkSoftTimeout": "El servidor está tardando más en responder. Por favor, espere un momento"
},
@@ -1759,5 +1760,26 @@
"SelectEndpoint": "Seleccionar punto final",
"SyncInput": "Entrada de sincronización",
"CompareWithOtherModels": "Comparar con otros modelos"
+ },
+ "start": {
+ "CreateFolder": "Crear una nueva carpeta de almacenamiento",
+ "button": {
+ "CreateFolder": "Crear carpeta",
+ "StartSession": "Iniciar sesión",
+ "ModelService": "Iniciar servicio",
+ "StartNow": "Empezar ahora",
+ "StartBatchSession": "Comenzar desde una URL"
+ },
+ "CreateFolderDesc": "Crear una carpeta y cargar archivos es crucial para entrenar modelos o brindar servicios externamente. \nComience subiendo los archivos.",
+ "StartSession": "Iniciar una sesión interactiva",
+ "StartSessionDesc": "¿Quieres entrenar un modelo? \nHaga clic en el botón para crear una sesión al instante. \nElija su entorno y recursos preferidos para ejecutar código y otras tareas.",
+ "StartBatchSession": "Iniciar sesión por lotes",
+ "StartBatchSessionDesc": "Para archivos predefinidos o tareas programadas, pruebe las sesiones por lotes. \nIngrese el comando, establezca la fecha y la hora y ejecútelo según sea necesario.",
+ "ModelService": "Iniciar servicio de modelo",
+ "ModelServiceDesc": "¿Listo para compartir su modelo entrenado con otros? \nHaga clic en el botón para crear un servicio.",
+ "StartFromExample": "Empezar desde el ejemplo",
+ "StartFromExampleDesc": "Explore varios códigos de ejemplo y comience.",
+ "StartFromURL": "Empezar desde URL",
+ "StartFromURLDesc": "Importe su proyecto y código desde varios entornos como GitHub, GitLab, Notebook, etc."
}
}
diff --git a/resources/i18n/fi.json b/resources/i18n/fi.json
index d23145686d..c7e28546ed 100644
--- a/resources/i18n/fi.json
+++ b/resources/i18n/fi.json
@@ -1684,7 +1684,8 @@
"InvalidBlankEmail": "Syötä sähköpostiosoitteesi",
"DisMatchUserEmail": "Käyttäjän sähköpostiosoite ei täsmää",
"MyEnvironments": "Omat ympäristöt",
- "ResourcePolicy": "Resurssipolitiikka"
+ "ResourcePolicy": "Resurssipolitiikka",
+ "Start": "Aloita"
},
"NetworkSoftTimeout": "Palvelimen vastaus kestää kauemmin. Odota hetki"
},
@@ -1755,5 +1756,26 @@
"SelectModel": "Valitse Malli",
"SyncInput": "Synkronoi sisääntulo",
"CompareWithOtherModels": "Vertaa muihin malleihin"
+ },
+ "start": {
+ "CreateFolder": "Luo uusi tallennuskansio",
+ "button": {
+ "CreateFolder": "Luo kansio",
+ "StartSession": "Aloita istunto",
+ "ModelService": "Aloita palvelu",
+ "StartNow": "Aloita nyt",
+ "StartBatchSession": "Aloita URL-osoitteesta"
+ },
+ "CreateFolderDesc": "Kansion luominen ja tiedostojen lataaminen ovat tärkeitä koulutusmallien tai palvelujen tarjoamisen kannalta. \nAloita lataamalla tiedostot.",
+ "StartSession": "Aloita interaktiivinen istunto",
+ "StartSessionDesc": "Haluatko kouluttaa mallia? \nNapsauta painiketta luodaksesi istunnon välittömästi. \nValitse haluamasi ympäristö ja resurssit koodin ja muiden tehtävien suorittamista varten.",
+ "StartBatchSession": "Aloita eräistunto",
+ "StartBatchSessionDesc": "Jos haluat käyttää ennalta määritettyjä tiedostoja tai ajoitettuja tehtäviä, kokeile eräistuntoja. \nAnna komento, aseta päivämäärä ja aika ja suorita tarvittaessa.",
+ "ModelService": "Käynnistä mallipalvelu",
+ "ModelServiceDesc": "Oletko valmis jakamaan koulutetun mallisi muiden kanssa? \nNapsauta painiketta luodaksesi palvelun.",
+ "StartFromExample": "Aloita esimerkistä",
+ "StartFromExampleDesc": "Tutustu erilaisiin esimerkkikoodeihin ja aloita.",
+ "StartFromURL": "Aloita URL-osoitteesta",
+ "StartFromURLDesc": "Tuo projektisi ja koodisi eri ympäristöistä, kuten GitHubista, GitLabista, Notebookista jne."
}
}
diff --git a/resources/i18n/fr.json b/resources/i18n/fr.json
index 634387d222..cf1b2d6c35 100644
--- a/resources/i18n/fr.json
+++ b/resources/i18n/fr.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Entrer votre Email",
"DisMatchUserEmail": "L'e-mail de l'utilisateur ne correspond pas",
"MyEnvironments": "Mes environnements",
- "ResourcePolicy": "Politique des ressources"
+ "ResourcePolicy": "Politique des ressources",
+ "Start": "Commencer"
},
"YouAreOffline": "Hors ligne : N'est connecté à aucun réseau.",
"YouAreOnline": "Vous êtes maintenant en ligne",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Sélectionnez le point de terminaison",
"SyncInput": "Entrée de synchronisation",
"CompareWithOtherModels": "Comparez avec d'autres modèles"
+ },
+ "start": {
+ "CreateFolder": "Créer un nouveau dossier de stockage",
+ "button": {
+ "CreateFolder": "Créer un dossier",
+ "StartSession": "Démarrer la session",
+ "ModelService": "Démarrer le service",
+ "StartNow": "Commencez maintenant",
+ "StartBatchSession": "Commencer à partir d'une URL"
+ },
+ "CreateFolderDesc": "La création d'un dossier et le téléchargement de fichiers sont cruciaux pour former des modèles ou fournir des services en externe. \nVeuillez commencer par télécharger les fichiers.",
+ "StartSession": "Démarrer une session interactive",
+ "StartSessionDesc": "Vous souhaitez former un modèle ? \nCliquez sur le bouton pour créer une session instantanément. \nChoisissez votre environnement et vos ressources préférés pour exécuter du code et d'autres tâches.",
+ "StartBatchSession": "Démarrer une session par lots",
+ "StartBatchSessionDesc": "Pour les fichiers prédéfinis ou les tâches planifiées, essayez les sessions par lots. \nEntrez la commande, définissez la date et l'heure et exécutez-la selon vos besoins.",
+ "ModelService": "Démarrer le service de modèle",
+ "ModelServiceDesc": "Prêt à partager votre modèle formé avec d'autres ? \nCliquez sur le bouton pour créer un service.",
+ "StartFromExample": "Partir de l'exemple",
+ "StartFromExampleDesc": "Explorez divers exemples de codes et commencez.",
+ "StartFromURL": "Commencer à partir de l'URL",
+ "StartFromURLDesc": "Importez votre projet et votre code depuis divers environnements tels que GitHub, GitLab, Notebook, etc."
}
}
diff --git a/resources/i18n/id.json b/resources/i18n/id.json
index 8923b2fcf7..10c1d937bd 100644
--- a/resources/i18n/id.json
+++ b/resources/i18n/id.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Masukkan email Anda",
"DisMatchUserEmail": "Email Pengguna tidak cocok",
"MyEnvironments": "Lingkungan Saya",
- "ResourcePolicy": "Kebijakan Sumber Daya"
+ "ResourcePolicy": "Kebijakan Sumber Daya",
+ "Start": "Awal"
},
"YouAreOffline": "Offline: Tidak terhubung ke jaringan apa pun.",
"YouAreOnline": "Anda sekarang online",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Pilih Titik Akhir",
"SyncInput": "Sinkronkan masukan",
"CompareWithOtherModels": "Bandingkan dengan model lain"
+ },
+ "start": {
+ "CreateFolder": "Buat Folder Penyimpanan Baru",
+ "button": {
+ "CreateFolder": "Buat Folder",
+ "StartSession": "Mulai Sesi",
+ "ModelService": "Mulai Layanan",
+ "StartNow": "Mulai Sekarang",
+ "StartBatchSession": "Mulai dari URL"
+ },
+ "CreateFolderDesc": "Membuat folder dan mengunggah file sangat penting untuk melatih model atau menyediakan layanan secara eksternal. \nSilakan mulai dengan mengunggah file.",
+ "StartSession": "Mulai Sesi Interaktif",
+ "StartSessionDesc": "Ingin melatih model? \nKlik tombol untuk membuat sesi secara instan. \nPilih lingkungan dan sumber daya pilihan Anda untuk menjalankan kode dan tugas lainnya.",
+ "StartBatchSession": "Mulai Sesi Batch",
+ "StartBatchSessionDesc": "Untuk file yang telah ditentukan sebelumnya atau tugas terjadwal, cobalah sesi Batch. \nMasukkan perintah, atur tanggal dan waktu, dan jalankan sesuai kebutuhan.",
+ "ModelService": "Mulai Layanan Model",
+ "ModelServiceDesc": "Siap membagikan model terlatih Anda kepada orang lain? \nKlik tombol untuk membuat layanan.",
+ "StartFromExample": "Mulailah dari Contoh",
+ "StartFromExampleDesc": "Jelajahi berbagai contoh kode dan mulailah.",
+ "StartFromURL": "Mulai Dari URL",
+ "StartFromURLDesc": "Impor proyek dan kode Anda dari berbagai lingkungan seperti GitHub, GitLab, Notebook, dll."
}
}
diff --git a/resources/i18n/it.json b/resources/i18n/it.json
index 723d6a632b..d4fd8fc851 100644
--- a/resources/i18n/it.json
+++ b/resources/i18n/it.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Inserisci il tuo indirizzo email",
"DisMatchUserEmail": "L'e-mail dell'utente non corrisponde",
"MyEnvironments": "I miei ambienti",
- "ResourcePolicy": "Politica delle risorse"
+ "ResourcePolicy": "Politica delle risorse",
+ "Start": "Inizio"
},
"YouAreOffline": "Non in linea: Non è collegato ad alcuna rete.",
"YouAreOnline": "Ora sei online",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Seleziona punto finale",
"SyncInput": "Ingresso sincronizzato",
"CompareWithOtherModels": "Confronta con altri modelli"
+ },
+ "start": {
+ "CreateFolder": "Crea una nuova cartella di archiviazione",
+ "button": {
+ "CreateFolder": "Crea cartella",
+ "StartSession": "Avvia sessione",
+ "ModelService": "Avvia servizio",
+ "StartNow": "Inizia ora",
+ "StartBatchSession": "Inizia da un URL"
+ },
+ "CreateFolderDesc": "La creazione di una cartella e il caricamento di file sono fondamentali per la formazione di modelli o la fornitura di servizi esternamente. \nInizia caricando i file.",
+ "StartSession": "Avvia una sessione interattiva",
+ "StartSessionDesc": "Vuoi addestrare un modello? \nFare clic sul pulsante per creare immediatamente una sessione. \nScegli l'ambiente e le risorse preferiti per l'esecuzione del codice e altre attività.",
+ "StartBatchSession": "Avvia sessione batch",
+ "StartBatchSessionDesc": "Per file predefiniti o attività pianificate, prova le sessioni batch. \nImmettere il comando, impostare la data e l'ora ed eseguirlo secondo necessità.",
+ "ModelService": "Avvia il servizio modello",
+ "ModelServiceDesc": "Pronto a condividere il tuo modello addestrato con altri? \nFare clic sul pulsante per creare un servizio.",
+ "StartFromExample": "Partire dall'Esempio",
+ "StartFromExampleDesc": "Esplora vari codici di esempio e inizia.",
+ "StartFromURL": "Inizia dall'URL",
+ "StartFromURLDesc": "Importa il tuo progetto e codice da vari ambienti come GitHub, GitLab, Notebook, ecc."
}
}
diff --git a/resources/i18n/ja.json b/resources/i18n/ja.json
index f785f9c741..d3b13bfb8f 100644
--- a/resources/i18n/ja.json
+++ b/resources/i18n/ja.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "メールアドレスを入力",
"DisMatchUserEmail": "ユーザーの電子メールが一致しません",
"MyEnvironments": "私の環境",
- "ResourcePolicy": "リソースポリシー"
+ "ResourcePolicy": "リソースポリシー",
+ "Start": "始める"
},
"YouAreOffline": "オフライン:どのネットワークにも接続されていない。",
"YouAreOnline": "あなたは今オンラインです",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "エンドポイントの選択",
"SyncInput": "同期入力",
"CompareWithOtherModels": "他モデルとの比較"
+ },
+ "start": {
+ "CreateFolder": "新しい保存フォルダーを作成する",
+ "button": {
+ "CreateFolder": "フォルダーの作成",
+ "StartSession": "セッションの開始",
+ "ModelService": "サービス開始",
+ "StartNow": "今すぐ始めましょう",
+ "StartBatchSession": "URLから開始"
+ },
+ "CreateFolderDesc": "フォルダーの作成とファイルのアップロードは、モデルをトレーニングしたり、外部にサービスを提供したりするために重要です。\nファイルをアップロードすることから始めてください。",
+ "StartSession": "インタラクティブセッションを開始する",
+ "StartSessionDesc": "モデルをトレーニングしたいですか?\nボタンをクリックすると、セッションが即座に作成されます。\nコードやその他のタスクを実行するための優先環境とリソースを選択します。",
+ "StartBatchSession": "バッチセッションの開始",
+ "StartBatchSessionDesc": "事前定義されたファイルまたはスケジュールされたタスクについては、バッチ セッションを試してください。\nコマンドを入力し、日付と時刻を設定し、必要に応じて実行します。",
+ "ModelService": "モデルサービスの開始",
+ "ModelServiceDesc": "トレーニングされたモデルを他の人と共有する準備はできていますか?\nボタンをクリックしてサービスを作成します。",
+ "StartFromExample": "例から始める",
+ "StartFromExampleDesc": "さまざまなコード例を調べて開始してください。",
+ "StartFromURL": "URLから開始",
+ "StartFromURLDesc": "GitHub、GitLab、Notebook などのさまざまな環境からプロジェクトとコードをインポートします。"
}
}
diff --git a/resources/i18n/ko.json b/resources/i18n/ko.json
index 0c4f412d72..f779bd9cf7 100644
--- a/resources/i18n/ko.json
+++ b/resources/i18n/ko.json
@@ -66,7 +66,8 @@
"InvalidBlankPassword": "패스워드를 입력하세요.",
"DisMatchUserEmail": "사용자 E-mail이 일치하지 않습니다.",
"MyEnvironments": "나의 실행 환경",
- "ResourcePolicy": "자원 정책"
+ "ResourcePolicy": "자원 정책",
+ "Start": "시작"
},
"YouAreOffline": "오프라인: 네트워크에 연결되어 있지 않습니다.",
"YouAreOnline": "온라인 상태가 되었습니다",
@@ -1759,5 +1760,26 @@
"SelectEndpoint": "엔드포인트 선택",
"SyncInput": "입력 연동",
"CompareWithOtherModels": "다른 모델과 비교하기"
+ },
+ "start": {
+ "CreateFolder": "새 스토리지 폴더 생성하기",
+ "button": {
+ "CreateFolder": "폴더 생성하기",
+ "StartSession": "세션 생성",
+ "ModelService": "서비스 생성",
+ "StartNow": "지금 시작하기",
+ "StartBatchSession": "URL로 시작하기"
+ },
+ "CreateFolderDesc": "폴더를 만들고 파일을 업로드합니다. 모델을 학습시키거나 외부 서비스를 제공하려면 해당 작업은 필수적입니다.",
+ "StartSession": "Interactive 세션 생성",
+ "StartSessionDesc": "모델을 학습시킬 세션을 생성합니다. 원하는 환경과 리소스를 선택하여 코드를 실행하세요.",
+ "StartBatchSession": "Batch 세션 생성",
+ "StartBatchSessionDesc": "미리 정의된 파일 또는 예약된 작업에 대한 배치 세션을 생성합니다. 명령을 입력하고 날짜와 시간을 설정한 다음 필요에 따라 세션을 실행하세요.",
+ "ModelService": "모델 서비스 시작",
+ "ModelServiceDesc": "학습이 끝난 모델을 다른 사람과 공유하고 싶다면, 버튼을 클릭하여 서비스를 생성하세요.",
+ "StartFromExample": "가져오기 및 실행",
+ "StartFromExampleDesc": "다양한 예제 코드를 살펴보고, 해당 코드로부터 실행할 수 있습니다.",
+ "StartFromURL": "URL 로 시작",
+ "StartFromURLDesc": "GitHub, GitLab, Notebook 등 다양한 환경에서 프로젝트와 코드를 가져오고, 실행할 수 있습니다. "
}
}
diff --git a/resources/i18n/mn.json b/resources/i18n/mn.json
index 4cf77e72bd..c652f1a248 100644
--- a/resources/i18n/mn.json
+++ b/resources/i18n/mn.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Имэйлээ оруулна уу",
"DisMatchUserEmail": "Хэрэглэгчийн имэйл таарахгүй байна",
"MyEnvironments": "Миний орчин",
- "ResourcePolicy": "Нөөцийн бодлого"
+ "ResourcePolicy": "Нөөцийн бодлого",
+ "Start": "Эхлэх"
},
"YouAreOffline": "Офлайн: Ямар ч сүлжээнд холбогдоогүй.",
"YouAreOnline": "Та одоо онлайн байна",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Төгсгөлийн цэгийг сонгоно уу",
"SyncInput": "Синкийн оролт",
"CompareWithOtherModels": "Бусад загваруудтай харьцуул"
+ },
+ "start": {
+ "CreateFolder": "Хадгалах шинэ хавтас үүсгэх",
+ "button": {
+ "CreateFolder": "Хавтас үүсгэх",
+ "StartSession": "Сеанс эхлүүлэх",
+ "ModelService": "Үйлчилгээг эхлүүлэх",
+ "StartNow": "Одоо эхэл",
+ "StartBatchSession": "URL-аас эхэл"
+ },
+ "CreateFolderDesc": "Загваруудыг сургах эсвэл гаднаас үйлчилгээ үзүүлэхэд хавтас үүсгэх, файл байршуулах нь маш чухал юм. \nФайлуудыг байршуулж эхэлнэ үү.",
+ "StartSession": "Интерактив сесс эхлүүлэх",
+ "StartSessionDesc": "Та загвар өмсөгч сурмаар байна уу? \nШууд сесс үүсгэхийн тулд товчлуур дээр дарна уу. \nКод болон бусад ажлуудыг ажиллуулахын тулд өөрийн дуртай орчин, нөөцийг сонго.",
+ "StartBatchSession": "Багц сессийг эхлүүлэх",
+ "StartBatchSessionDesc": "Урьдчилан тодорхойлсон файлууд эсвэл төлөвлөсөн ажлуудын хувьд Багц сессийг туршиж үзээрэй. \nТушаалыг оруулаад огноо, цагийг тохируулж, шаардлагатай бол ажиллуул.",
+ "ModelService": "Загварын үйлчилгээг эхлүүлэх",
+ "ModelServiceDesc": "Бэлтгэгдсэн загвараа бусадтай хуваалцахад бэлэн үү? \nҮйлчилгээ үүсгэхийн тулд товчлуур дээр дарна уу.",
+ "StartFromExample": "Жишээнээс эхэлье",
+ "StartFromExampleDesc": "Төрөл бүрийн жишээ кодуудыг судалж, эхлээрэй.",
+ "StartFromURL": "URL-аас эхлэх",
+ "StartFromURLDesc": "GitHub, GitLab, Notebook гэх мэт янз бүрийн орчноос өөрийн төсөл болон кодыг импортлох."
}
}
diff --git a/resources/i18n/ms.json b/resources/i18n/ms.json
index 63a97f78fd..db1a313d0f 100644
--- a/resources/i18n/ms.json
+++ b/resources/i18n/ms.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Masukkan emel anda",
"DisMatchUserEmail": "E-mel Pengguna tidak sepadan",
"MyEnvironments": "Persekitaran Saya",
- "ResourcePolicy": "Dasar Sumber"
+ "ResourcePolicy": "Dasar Sumber",
+ "Start": "Mulakan"
},
"YouAreOffline": "Luar talian: Tidak disambungkan ke mana-mana rangkaian.",
"YouAreOnline": "Anda kini dalam talian",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Pilih Titik Akhir",
"SyncInput": "Input penyegerakan",
"CompareWithOtherModels": "Bandingkan dengan model lain"
+ },
+ "start": {
+ "CreateFolder": "Buat Folder Storan Baharu",
+ "button": {
+ "CreateFolder": "Buat Folder",
+ "StartSession": "Mulakan Sesi",
+ "ModelService": "Mulakan Perkhidmatan",
+ "StartNow": "Mulakan Sekarang",
+ "StartBatchSession": "Mulakan daripada URL"
+ },
+ "CreateFolderDesc": "Mencipta folder dan memuat naik fail adalah penting untuk model latihan atau menyediakan perkhidmatan secara luaran. \nSila mulakan dengan memuat naik fail.",
+ "StartSession": "Mulakan Sesi Interaktif",
+ "StartSessionDesc": "Ingin melatih model? \nKlik butang untuk membuat sesi serta-merta. \nPilih persekitaran dan sumber pilihan anda untuk menjalankan kod dan tugasan lain.",
+ "StartBatchSession": "Mulakan Sesi Kelompok",
+ "StartBatchSessionDesc": "Untuk fail yang dipratentukan atau tugasan yang dijadualkan, cuba sesi Kelompok. \nMasukkan arahan, tetapkan tarikh dan masa, dan jalankan seperti yang diperlukan.",
+ "ModelService": "Mulakan Perkhidmatan Model",
+ "ModelServiceDesc": "Bersedia untuk berkongsi model terlatih anda dengan orang lain? \nKlik butang untuk membuat perkhidmatan.",
+ "StartFromExample": "Mulakan daripada Contoh",
+ "StartFromExampleDesc": "Terokai pelbagai contoh kod dan mulakan.",
+ "StartFromURL": "Mulakan Dari URL",
+ "StartFromURLDesc": "Import projek dan kod anda daripada pelbagai persekitaran seperti GitHub, GitLab, Notebook, dsb."
}
}
diff --git a/resources/i18n/pl.json b/resources/i18n/pl.json
index a6147da667..9831c232dd 100644
--- a/resources/i18n/pl.json
+++ b/resources/i18n/pl.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Wprowadź swój email",
"DisMatchUserEmail": "Adres e-mail użytkownika nie jest zgodny",
"MyEnvironments": "Moje Środowiska",
- "ResourcePolicy": "Polityka zasobów"
+ "ResourcePolicy": "Polityka zasobów",
+ "Start": "Start"
},
"YouAreOffline": "Offline: Brak połączenia z siecią.",
"YouAreOnline": "Jesteś teraz online",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Wybierz Punkt końcowy",
"SyncInput": "Synchronizuj wejście",
"CompareWithOtherModels": "Porównaj z innymi modelami"
+ },
+ "start": {
+ "CreateFolder": "Utwórz nowy folder przechowywania",
+ "button": {
+ "CreateFolder": "Utwórz folder",
+ "StartSession": "Rozpocznij sesję",
+ "ModelService": "Uruchom usługę",
+ "StartNow": "Zacznij teraz",
+ "StartBatchSession": "Zacznij od adresu URL"
+ },
+ "CreateFolderDesc": "Utworzenie folderu i przesłanie plików jest kluczowe w przypadku uczenia modeli lub świadczenia usług na zewnątrz. \nRozpocznij od przesłania plików.",
+ "StartSession": "Rozpocznij sesję interaktywną",
+ "StartSessionDesc": "Chcesz wyszkolić modelkę? \nKliknij przycisk, aby natychmiast utworzyć sesję. \nWybierz preferowane środowisko i zasoby do uruchamiania kodu i innych zadań.",
+ "StartBatchSession": "Rozpocznij sesję wsadową",
+ "StartBatchSessionDesc": "W przypadku wstępnie zdefiniowanych plików lub zaplanowanych zadań wypróbuj sesje wsadowe. \nWprowadź polecenie, ustaw datę i godzinę i uruchom w razie potrzeby.",
+ "ModelService": "Uruchom usługę modelową",
+ "ModelServiceDesc": "Chcesz udostępnić wytrenowany model innym? \nKliknij przycisk, aby utworzyć usługę.",
+ "StartFromExample": "Zacznij od przykładu",
+ "StartFromExampleDesc": "Zapoznaj się z różnymi przykładowymi kodami i rozpocznij pracę.",
+ "StartFromURL": "Zacznij od adresu URL",
+ "StartFromURLDesc": "Zaimportuj swój projekt i kod z różnych środowisk, takich jak GitHub, GitLab, Notatnik itp."
}
}
diff --git a/resources/i18n/pt-BR.json b/resources/i18n/pt-BR.json
index ff67456094..3a77a9f8cb 100644
--- a/resources/i18n/pt-BR.json
+++ b/resources/i18n/pt-BR.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Digite seu e-mail",
"DisMatchUserEmail": "E-mail do usuário não corresponde",
"MyEnvironments": "Meus ambientes",
- "ResourcePolicy": "Política de Recursos"
+ "ResourcePolicy": "Política de Recursos",
+ "Start": "Começar"
},
"YouAreOffline": "Desligado: Não está ligado a nenhuma rede.",
"YouAreOnline": "Agora você está online",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Selecione o ponto final",
"SyncInput": "Entrada de sincronização",
"CompareWithOtherModels": "Compare com outros modelos"
+ },
+ "start": {
+ "CreateFolder": "Crie uma nova pasta de armazenamento",
+ "button": {
+ "CreateFolder": "Criar pasta",
+ "StartSession": "Iniciar sessão",
+ "ModelService": "Iniciar serviço",
+ "StartNow": "Comece agora",
+ "StartBatchSession": "Comece a partir de um URL"
+ },
+ "CreateFolderDesc": "Criar uma pasta e fazer upload de arquivos são cruciais para treinar modelos ou fornecer serviços externamente. \nComece enviando os arquivos.",
+ "StartSession": "Iniciar uma sessão interativa",
+ "StartSessionDesc": "Quer treinar um modelo? \nClique no botão para criar uma sessão instantaneamente. \nEscolha seu ambiente e recursos preferidos para executar código e outras tarefas.",
+ "StartBatchSession": "Iniciar sessão em lote",
+ "StartBatchSessionDesc": "Para arquivos predefinidos ou tarefas agendadas, experimente sessões em lote. \nDigite o comando, defina a data e a hora e execute conforme necessário.",
+ "ModelService": "Iniciar serviço de modelo",
+ "ModelServiceDesc": "Pronto para compartilhar seu modelo treinado com outras pessoas? \nClique no botão para criar um serviço.",
+ "StartFromExample": "Comece pelo exemplo",
+ "StartFromExampleDesc": "Explore vários exemplos de códigos e comece.",
+ "StartFromURL": "Começar do URL",
+ "StartFromURLDesc": "Importe seu projeto e código de vários ambientes como GitHub, GitLab, Notebook, etc."
}
}
diff --git a/resources/i18n/pt.json b/resources/i18n/pt.json
index 32225ea785..1b983d4cf5 100644
--- a/resources/i18n/pt.json
+++ b/resources/i18n/pt.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Digite seu e-mail",
"DisMatchUserEmail": "E-mail do usuário não corresponde",
"MyEnvironments": "Meus ambientes",
- "ResourcePolicy": "Política de Recursos"
+ "ResourcePolicy": "Política de Recursos",
+ "Start": "Começar"
},
"YouAreOffline": "Desligado: Não está ligado a nenhuma rede.",
"YouAreOnline": "Agora você está online",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Selecione o ponto final",
"SyncInput": "Entrada de sincronização",
"CompareWithOtherModels": "Compare com outros modelos"
+ },
+ "start": {
+ "CreateFolder": "Crie uma nova pasta de armazenamento",
+ "button": {
+ "CreateFolder": "Criar pasta",
+ "StartSession": "Iniciar sessão",
+ "ModelService": "Iniciar serviço",
+ "StartNow": "Comece agora",
+ "StartBatchSession": "Comece a partir de um URL"
+ },
+ "CreateFolderDesc": "Criar uma pasta e fazer upload de arquivos são cruciais para treinar modelos ou fornecer serviços externamente. \nComece enviando os arquivos.",
+ "StartSession": "Iniciar uma sessão interativa",
+ "StartSessionDesc": "Quer treinar um modelo? \nClique no botão para criar uma sessão instantaneamente. \nEscolha seu ambiente e recursos preferidos para executar código e outras tarefas.",
+ "StartBatchSession": "Iniciar sessão em lote",
+ "StartBatchSessionDesc": "Para arquivos predefinidos ou tarefas agendadas, experimente sessões em lote. \nDigite o comando, defina a data e a hora e execute conforme necessário.",
+ "ModelService": "Iniciar serviço de modelo",
+ "ModelServiceDesc": "Pronto para compartilhar seu modelo treinado com outras pessoas? \nClique no botão para criar um serviço.",
+ "StartFromExample": "Comece pelo exemplo",
+ "StartFromExampleDesc": "Explore vários exemplos de códigos e comece.",
+ "StartFromURL": "Começar do URL",
+ "StartFromURLDesc": "Importe seu projeto e código de vários ambientes como GitHub, GitLab, Notebook, etc."
}
}
diff --git a/resources/i18n/ru.json b/resources/i18n/ru.json
index dbd743c4d1..34b8e6aeae 100644
--- a/resources/i18n/ru.json
+++ b/resources/i18n/ru.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Введите адрес электронной почты",
"DisMatchUserEmail": "Электронная почта пользователя не совпадает",
"MyEnvironments": "Моя среда",
- "ResourcePolicy": "Ресурсная политика"
+ "ResourcePolicy": "Ресурсная политика",
+ "Start": "Начинать"
},
"YouAreOffline": "Не в сети: Не подключен ни к одной сети.",
"YouAreOnline": "Вы сейчас в сети",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Выберите конечную точку",
"SyncInput": "Вход синхронизации",
"CompareWithOtherModels": "Сравнить с другими моделями"
+ },
+ "start": {
+ "CreateFolder": "Создайте новую папку хранения",
+ "button": {
+ "CreateFolder": "Создать папку",
+ "StartSession": "Начать сеанс",
+ "ModelService": "Запустить службу",
+ "StartNow": "Начать сейчас",
+ "StartBatchSession": "Начать с URL-адреса"
+ },
+ "CreateFolderDesc": "Создание папки и загрузка файлов имеют решающее значение для обучения моделей или внешнего предоставления услуг. \nПожалуйста, начните с загрузки файлов.",
+ "StartSession": "Начать интерактивный сеанс",
+ "StartSessionDesc": "Хотите обучить модель? \nНажмите кнопку, чтобы мгновенно создать сеанс. \nВыберите предпочитаемую среду и ресурсы для выполнения кода и других задач.",
+ "StartBatchSession": "Начать пакетный сеанс",
+ "StartBatchSessionDesc": "Для предопределенных файлов или запланированных задач попробуйте пакетные сеансы. \nВведите команду, установите дату и время и запускайте по мере необходимости.",
+ "ModelService": "Запустить службу модели",
+ "ModelServiceDesc": "Готовы поделиться своей обученной моделью с другими? \nНажмите кнопку, чтобы создать услугу.",
+ "StartFromExample": "Начните с примера",
+ "StartFromExampleDesc": "Изучите различные примеры кода и приступайте к работе.",
+ "StartFromURL": "Начать с URL-адреса",
+ "StartFromURLDesc": "Импортируйте свой проект и код из различных сред, таких как GitHub, GitLab, Notebook и т. д."
}
}
diff --git a/resources/i18n/th.json b/resources/i18n/th.json
index 3849c23358..847db1e491 100644
--- a/resources/i18n/th.json
+++ b/resources/i18n/th.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "ใส่อีเมลของคุณ",
"DisMatchUserEmail": "อีเมลผู้ใช้ไม่ตรงกัน",
"MyEnvironments": "สภาพแวดล้อมของฉัน",
- "ResourcePolicy": "นโยบายทรัพยากร"
+ "ResourcePolicy": "นโยบายทรัพยากร",
+ "Start": "เริ่ม"
},
"YouAreOffline": "ออฟไลน์: ไม่ได้เชื่อมต่อกับเครือข่ายใดๆ",
"YouAreOnline": "คุณออนไลน์แล้ว",
@@ -1737,5 +1738,26 @@
"DeleteChattingSessionDescription": "คุณกำลังจะลบหัวข้อนี้ เมื่อลบแล้วจะไม่สามารถกู้คืนได้ กรุณาดำเนินการด้วยความระมัดระวัง",
"SyncInput": "ซิงค์อินพุต",
"CompareWithOtherModels": "เปรียบเทียบกับรุ่นอื่นๆ"
+ },
+ "start": {
+ "CreateFolder": "สร้างโฟลเดอร์จัดเก็บข้อมูลใหม่",
+ "button": {
+ "CreateFolder": "สร้างโฟลเดอร์",
+ "StartSession": "เริ่มเซสชัน",
+ "ModelService": "เริ่มบริการ",
+ "StartNow": "เริ่มเลย",
+ "StartBatchSession": "เริ่มจาก URL"
+ },
+ "CreateFolderDesc": "การสร้างโฟลเดอร์และการอัพโหลดไฟล์ถือเป็นสิ่งสำคัญสำหรับโมเดลการฝึกหรือการให้บริการภายนอก \nกรุณาเริ่มต้นด้วยการอัพโหลดไฟล์",
+ "StartSession": "เริ่มเซสชันแบบโต้ตอบ",
+ "StartSessionDesc": "ต้องการฝึกโมเดลหรือไม่? \nคลิกปุ่มเพื่อสร้างเซสชันทันที \nเลือกสภาพแวดล้อมและทรัพยากรที่คุณต้องการสำหรับการรันโค้ดและงานอื่นๆ",
+ "StartBatchSession": "เริ่มเซสชันแบทช์",
+ "StartBatchSessionDesc": "สำหรับไฟล์ที่กำหนดไว้ล่วงหน้าหรืองานที่กำหนดเวลาไว้ ให้ลองใช้เซสชันแบบกลุ่ม \nป้อนคำสั่ง ตั้งค่าวันที่และเวลา และรันตามต้องการ",
+ "ModelService": "เริ่มบริการโมเดล",
+ "ModelServiceDesc": "พร้อมที่จะแบ่งปันโมเดลที่ผ่านการฝึกอบรมของคุณกับผู้อื่นแล้วหรือยัง? \nคลิกปุ่มเพื่อสร้างบริการ",
+ "StartFromExample": "เริ่มจากตัวอย่าง",
+ "StartFromExampleDesc": "สำรวจโค้ดตัวอย่างต่างๆ และเริ่มต้นใช้งาน",
+ "StartFromURL": "เริ่มจาก URL",
+ "StartFromURLDesc": "นำเข้าโปรเจ็กต์และโค้ดของคุณจากสภาพแวดล้อมต่างๆ เช่น GitHub, GitLab, Notebook เป็นต้น"
}
}
diff --git a/resources/i18n/tr.json b/resources/i18n/tr.json
index 5f026d8117..1c42247ecd 100644
--- a/resources/i18n/tr.json
+++ b/resources/i18n/tr.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "E-postanızı giriniz",
"DisMatchUserEmail": "Kullanıcı E-postası eşleşmiyor",
"MyEnvironments": "Ortamlarım",
- "ResourcePolicy": "Kaynak Politikası"
+ "ResourcePolicy": "Kaynak Politikası",
+ "Start": "Başlangıç"
},
"YouAreOffline": "Çevrimdışı: Herhangi bir ağa bağlı değil.",
"YouAreOnline": "artık çevrimiçisin",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Uç Noktayı Seçin",
"SyncInput": "Senkronizasyon girişi",
"CompareWithOtherModels": "Diğer modellerle karşılaştırın"
+ },
+ "start": {
+ "CreateFolder": "Yeni Bir Depolama Klasörü Oluşturun",
+ "button": {
+ "CreateFolder": "Klasör Oluştur",
+ "StartSession": "Oturumu Başlat",
+ "ModelService": "Hizmeti Başlat",
+ "StartNow": "Şimdi Başla",
+ "StartBatchSession": "Bir URL'den başlayın"
+ },
+ "CreateFolderDesc": "Bir klasör oluşturmak ve dosyaları yüklemek, modellerin eğitimi veya dışarıdan hizmet sağlanması için çok önemlidir. \nLütfen dosyaları yükleyerek başlayın.",
+ "StartSession": "Etkileşimli Bir Oturum Başlatın",
+ "StartSessionDesc": "Bir model yetiştirmek ister misiniz? \nAnında oturum oluşturmak için düğmeye tıklayın. \nKod çalıştırmak ve diğer görevler için tercih ettiğiniz ortamı ve kaynakları seçin.",
+ "StartBatchSession": "Toplu Oturumu Başlat",
+ "StartBatchSessionDesc": "Önceden tanımlanmış dosyalar veya zamanlanmış görevler için Toplu oturumları deneyin. \nKomutu girin, tarih ve saati ayarlayın ve gerektiği gibi çalıştırın.",
+ "ModelService": "Model Hizmetini Başlat",
+ "ModelServiceDesc": "Eğitimli modelinizi başkalarıyla paylaşmaya hazır mısınız? \nBir hizmet oluşturmak için düğmeye tıklayın.",
+ "StartFromExample": "Örnekten Başlayın",
+ "StartFromExampleDesc": "Çeşitli örnek kodları keşfedin ve başlayın.",
+ "StartFromURL": "URL'den Başla",
+ "StartFromURLDesc": "Projenizi ve kodunuzu GitHub, GitLab, Notebook vb. çeşitli ortamlardan içe aktarın."
}
}
diff --git a/resources/i18n/vi.json b/resources/i18n/vi.json
index 0a91fc8b39..9b374b3b6d 100644
--- a/resources/i18n/vi.json
+++ b/resources/i18n/vi.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "Nhập email của bạn",
"DisMatchUserEmail": "E-mail của người dùng không khớp",
"MyEnvironments": "Môi trường của tôi",
- "ResourcePolicy": "Chính sách tài nguyên"
+ "ResourcePolicy": "Chính sách tài nguyên",
+ "Start": "Bắt đầu"
},
"YouAreOffline": "Ngoại tuyến: Không kết nối với bất kỳ mạng nào.",
"YouAreOnline": "Bạn hiện đang trực tuyến",
@@ -1757,5 +1758,26 @@
"SelectEndpoint": "Chọn điểm cuối",
"SyncInput": "Đồng bộ hóa đầu vào",
"CompareWithOtherModels": "So sánh với các mô hình khác"
+ },
+ "start": {
+ "CreateFolder": "Tạo thư mục lưu trữ mới",
+ "button": {
+ "CreateFolder": "Tạo thư mục",
+ "StartSession": "Bắt đầu phiên",
+ "ModelService": "Bắt đầu dịch vụ",
+ "StartNow": "Bắt đầu ngay bây giờ",
+ "StartBatchSession": "Bắt đầu từ một URL"
+ },
+ "CreateFolderDesc": "Việc tạo thư mục và tải tệp lên là rất quan trọng đối với việc đào tạo mô hình hoặc cung cấp dịch vụ bên ngoài. \nHãy bắt đầu bằng cách tải lên các tập tin.",
+ "StartSession": "Bắt đầu một phiên tương tác",
+ "StartSessionDesc": "Bạn muốn đào tạo một người mẫu? \nNhấp vào nút để tạo phiên ngay lập tức. \nChọn môi trường và tài nguyên ưa thích của bạn để chạy mã và các tác vụ khác.",
+ "StartBatchSession": "Bắt đầu phiên hàng loạt",
+ "StartBatchSessionDesc": "Đối với các tệp được xác định trước hoặc các tác vụ đã lên lịch, hãy thử phiên Batch. \nNhập lệnh, đặt ngày giờ và chạy khi cần.",
+ "ModelService": "Bắt đầu dịch vụ mẫu",
+ "ModelServiceDesc": "Sẵn sàng chia sẻ mô hình được đào tạo của bạn với người khác? \nNhấp vào nút để tạo một dịch vụ.",
+ "StartFromExample": "Bắt đầu từ ví dụ",
+ "StartFromExampleDesc": "Khám phá các mã ví dụ khác nhau và bắt đầu.",
+ "StartFromURL": "Bắt đầu từ URL",
+ "StartFromURLDesc": "Nhập dự án và mã của bạn từ nhiều môi trường khác nhau như GitHub, GitLab, Notebook, v.v."
}
}
diff --git a/resources/i18n/zh-CN.json b/resources/i18n/zh-CN.json
index 874ceaa5a4..79f12ea929 100644
--- a/resources/i18n/zh-CN.json
+++ b/resources/i18n/zh-CN.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "输入你的电子邮箱",
"DisMatchUserEmail": "用户电子邮件不匹配",
"MyEnvironments": "我的环境",
- "ResourcePolicy": "资源政策"
+ "ResourcePolicy": "资源政策",
+ "Start": "开始"
},
"YouAreOffline": "脱机:未连接任何网络。",
"YouAreOnline": "您现在在线",
@@ -1758,5 +1759,26 @@
"SelectEndpoint": "选择端点",
"SyncInput": "同步输入",
"CompareWithOtherModels": "与其他型号比较"
+ },
+ "start": {
+ "CreateFolder": "创建新的存储文件夹",
+ "button": {
+ "CreateFolder": "创建文件夹",
+ "StartSession": "开始会话",
+ "ModelService": "启动服务",
+ "StartNow": "现在开始",
+ "StartBatchSession": "从 URL 开始"
+ },
+ "CreateFolderDesc": "创建文件夹和上传文件对于训练模型或对外提供服务至关重要。\n请首先上传文件。",
+ "StartSession": "开始互动会话",
+ "StartSessionDesc": "想训练模型吗?\n单击该按钮即可立即创建会话。\n选择您喜欢的环境和资源来运行代码和其他任务。",
+ "StartBatchSession": "开始批量会话",
+ "StartBatchSessionDesc": "对于预定义文件或计划任务,请尝试批处理会话。\n输入命令,设置日期和时间,然后根据需要运行。",
+ "ModelService": "启动模型服务",
+ "ModelServiceDesc": "准备好与其他人分享您训练过的模型了吗?\n单击按钮创建服务。",
+ "StartFromExample": "从例子开始",
+ "StartFromExampleDesc": "探索各种示例代码并开始使用。",
+ "StartFromURL": "从网址开始",
+ "StartFromURLDesc": "从各种环境(例如 GitHub、GitLab、Notebook 等)导入您的项目和代码。"
}
}
diff --git a/resources/i18n/zh-TW.json b/resources/i18n/zh-TW.json
index b65e891add..9dda62f329 100644
--- a/resources/i18n/zh-TW.json
+++ b/resources/i18n/zh-TW.json
@@ -66,7 +66,8 @@
"InvalidBlankEmail": "輸入你的電子郵件信箱",
"DisMatchUserEmail": "使用者電子郵件不符",
"MyEnvironments": "我的環境",
- "ResourcePolicy": "資源政策"
+ "ResourcePolicy": "資源政策",
+ "Start": "開始"
},
"YouAreOffline": "脱机:未连接任何网络。",
"YouAreOnline": "您現在在線",
@@ -1758,5 +1759,26 @@
"SelectEndpoint": "選擇端點",
"SyncInput": "同步輸入",
"CompareWithOtherModels": "與其他型號比較"
+ },
+ "start": {
+ "CreateFolder": "建立新的儲存資料夾",
+ "button": {
+ "CreateFolder": "建立資料夾",
+ "StartSession": "開始會話",
+ "ModelService": "啟動服務",
+ "StartNow": "現在開始",
+ "StartBatchSession": "從 URL 開始"
+ },
+ "CreateFolderDesc": "建立資料夾和上傳檔案對於訓練模型或對外提供服務至關重要。\n請先上傳文件。",
+ "StartSession": "開始互動會話",
+ "StartSessionDesc": "想訓練模型嗎?\n按一下該按鈕即可立即建立會話。\n選擇您喜歡的環境和資源來執行程式碼和其他任務。",
+ "StartBatchSession": "開始批量會話",
+ "StartBatchSessionDesc": "對於預先定義檔案或排程任務,請嘗試批次會話。\n輸入命令,設定日期和時間,然後根據需要運行。",
+ "ModelService": "啟動模型服務",
+ "ModelServiceDesc": "準備好與其他人分享您訓練過的模型了嗎?\n點選按鈕建立服務。",
+ "StartFromExample": "從例子開始",
+ "StartFromExampleDesc": "探索各種範例程式碼並開始使用。",
+ "StartFromURL": "從網址開始",
+ "StartFromURLDesc": "從各種環境(例如 GitHub、GitLab、Notebook 等)匯入您的專案和程式碼。"
}
}
diff --git a/src/backend-ai-app.ts b/src/backend-ai-app.ts
index 61152b6346..c014baea45 100644
--- a/src/backend-ai-app.ts
+++ b/src/backend-ai-app.ts
@@ -12,6 +12,7 @@ export const navigate =
// Extract the page name from path.
if (
[
+ '/start',
'/summary',
'/job',
'/session',
diff --git a/src/components/backend-ai-error-view.ts b/src/components/backend-ai-error-view.ts
index 447b03acb9..e00f981eef 100644
--- a/src/components/backend-ai-error-view.ts
+++ b/src/components/backend-ai-error-view.ts
@@ -70,8 +70,8 @@ export default class BackendAIErrorView extends BackendAIPage {
* @param {string} url - page to redirect from the current page.
*/
_moveTo(url = '') {
- const page = url !== '' ? url : 'summary';
- globalThis.history.pushState({}, '', '/summary');
+ const page = url !== '' ? url : 'start';
+ globalThis.history.pushState({}, '', '/start');
store.dispatch(navigate(decodeURIComponent('/' + page), {}));
document.dispatchEvent(
new CustomEvent('react-navigate', {
@@ -98,7 +98,7 @@ export default class BackendAIErrorView extends BackendAIPage {
fullwidth
id="go-to-summary"
label="${_t('button.GoBackToSummaryPage')}"
- @click="${() => this._moveTo('summary')}"
+ @click="${() => this._moveTo('start')}"
>
diff --git a/src/components/backend-ai-permission-denied-view.ts b/src/components/backend-ai-permission-denied-view.ts
index 503a11adba..21b5e1e580 100644
--- a/src/components/backend-ai-permission-denied-view.ts
+++ b/src/components/backend-ai-permission-denied-view.ts
@@ -113,8 +113,8 @@ export default class BackendAIPermissionDeniedView extends BackendAIPage {
* @param {string} url - page to redirect from the current page.
*/
_moveTo(url = '') {
- const page = url !== '' ? url : 'summary';
- globalThis.history.pushState({}, '', '/summary');
+ const page = url !== '' ? url : 'start';
+ globalThis.history.pushState({}, '', '/start');
store.dispatch(navigate(decodeURIComponent('/' + page), {}));
}
@@ -135,7 +135,7 @@ export default class BackendAIPermissionDeniedView extends BackendAIPage {
fullwidth
id="go-to-summary"
label="${_t('button.GoBackToSummaryPage')}"
- @click="${() => this._moveTo('summary')}"
+ @click="${() => this._moveTo('start')}"
>
diff --git a/src/components/backend-ai-storage-list.ts b/src/components/backend-ai-storage-list.ts
index 5bd2b27369..328de6ad14 100644
--- a/src/components/backend-ai-storage-list.ts
+++ b/src/components/backend-ai-storage-list.ts
@@ -1080,7 +1080,7 @@ export default class BackendAiStorageList extends BackendAIPage {
* @param {string} url - page to redirect from the current page.
*/
_moveTo(url = '') {
- const page = url !== '' ? url : 'summary';
+ const page = url !== '' ? url : 'start';
// globalThis.history.pushState({}, '', page);
store.dispatch(navigate(decodeURIComponent(page), {}));
diff --git a/src/components/backend-ai-storage-proxy-list.ts b/src/components/backend-ai-storage-proxy-list.ts
index 6b1c808a21..e37bd812ed 100644
--- a/src/components/backend-ai-storage-proxy-list.ts
+++ b/src/components/backend-ai-storage-proxy-list.ts
@@ -249,7 +249,7 @@ export default class BackendAIStorageProxyList extends BackendAIPage {
* @param {string} url - page to redirect from the current page.
*/
_moveTo(url = '') {
- const page = url !== '' ? url : 'summary';
+ const page = url !== '' ? url : 'start';
// globalThis.history.pushState({}, '', page);
store.dispatch(navigate(decodeURIComponent(page), {}));
diff --git a/src/components/backend-ai-summary-view.ts b/src/components/backend-ai-summary-view.ts
index fd78b7d3c9..653e39734d 100644
--- a/src/components/backend-ai-summary-view.ts
+++ b/src/components/backend-ai-summary-view.ts
@@ -469,7 +469,7 @@ export default class BackendAISummary extends BackendAIPage {
* @param {string} search
*/
_moveTo(url = '', search: string | undefined = undefined) {
- const page = url !== '' ? url : 'summary';
+ const page = url !== '' ? url : 'start';
// globalThis.history.pushState({}, '', page);
store.dispatch(navigate(decodeURIComponent(page), {}));
diff --git a/src/components/backend-ai-webui.ts b/src/components/backend-ai-webui.ts
index c0c69ba109..a0cf6a5cea 100644
--- a/src/components/backend-ai-webui.ts
+++ b/src/components/backend-ai-webui.ts
@@ -145,6 +145,7 @@ export default class BackendAIWebUI extends connect(store)(LitElement) {
@property({ type: Number }) sidepanelWidth = 250;
@property({ type: Object }) supports = Object();
@property({ type: Array }) availablePages = [
+ 'start',
'summary',
'verify-email',
'change-password',
@@ -719,7 +720,7 @@ export default class BackendAIWebUI extends connect(store)(LitElement) {
*/
_loadPageElement() {
if (this._page === 'index.html' || this._page === '') {
- this._page = 'summary';
+ this._page = 'start';
navigate(decodeURIComponent('/'));
}
}