Merge remote-tracking branch 'origin/dev' into feature/20260602_connection_driver_i18n

# Conflicts:
#	frontend/src/App.tsx
#	frontend/src/components/AISettingsModal.tsx
#	frontend/src/components/ConnectionModal.edit-password.test.tsx
#	frontend/src/components/ConnectionModal.tsx
#	frontend/src/components/DataSyncModal.i18n.test.ts
#	frontend/src/components/DataSyncModal.tsx
#	frontend/src/components/QueryEditor.external-sql-save.test.tsx
#	frontend/src/components/QueryEditor.tsx
#	frontend/src/components/Sidebar.locate-toolbar.test.tsx
#	frontend/src/components/Sidebar.tsx
#	frontend/src/components/SnippetSettingsModal.tsx
#	frontend/src/components/TableOverview.tsx
#	frontend/src/components/ai/AIChatHeader.test.tsx
#	frontend/src/components/ai/AISettingsProvidersSection.tsx
#	frontend/src/components/ai/aiChatPayloadDispatch.ts
#	frontend/src/components/ai/aiChatReadiness.ts
#	frontend/src/components/ai/aiSettingsModalConfig.tsx
#	frontend/src/components/ai/messageBubble/AIMessageCodeBlock.tsx
#	frontend/src/components/sidebarV2Utils.ts
#	frontend/src/i18n/catalog.test.ts
#	frontend/src/utils/connectionTypeCatalog.test.ts
#	frontend/src/utils/connectionTypeCatalog.ts
#	frontend/src/utils/tabDisplay.ts
#	internal/ai/provider/custom.go
#	internal/ai/service/service.go
#	internal/app/methods_driver.go
#	internal/app/methods_file.go
#	internal/db/custom_impl.go
#	internal/db/iris_impl.go
#	internal/db/mariadb_impl.go
#	internal/db/sqlserver_impl.go
#	shared/i18n/de-DE.json
#	shared/i18n/en-US.json
#	shared/i18n/ja-JP.json
#	shared/i18n/ru-RU.json
#	shared/i18n/zh-CN.json
#	shared/i18n/zh-TW.json
This commit is contained in:
tianqijiuyun-latiao
2026-06-23 12:41:27 +08:00
295 changed files with 107350 additions and 69164 deletions

View File

@@ -12,6 +12,7 @@ import { t as catalogTranslate } from '../i18n/catalog';
type SidebarV2Translate = (key: string) => string;
const translateSidebarV2Current: SidebarV2Translate = (key) => t(key);
const translateSidebarV2ZhCN: SidebarV2Translate = (key) => catalogTranslate('zh-CN', key);
export type SidebarTreeNodeType =
@@ -137,7 +138,7 @@ export const sortSidebarTableEntries = <T extends SidebarTableEntryForSort>(
export const buildV2SidebarTableSectionedChildren = (
parentKey: string,
tableNodes: SidebarTreeNode[],
translate: SidebarV2Translate = translateSidebarV2ZhCN,
translate: SidebarV2Translate = translateSidebarV2Current,
): SidebarTreeNode[] => {
const pinnedTables = tableNodes.filter((node) => node?.dataRef?.pinnedSidebarTable);
if (pinnedTables.length === 0) return tableNodes;
@@ -166,7 +167,7 @@ export const buildSidebarTableChildrenForUi = (
parentKey: string,
tableNodes: SidebarTreeNode[],
isV2Ui: boolean,
translate: SidebarV2Translate = translateSidebarV2ZhCN,
translate: SidebarV2Translate = translateSidebarV2Current,
): SidebarTreeNode[] => {
if (!isV2Ui) return tableNodes;
return buildV2SidebarTableSectionedChildren(parentKey, tableNodes, translate);
@@ -296,7 +297,7 @@ export const getV2RailConnectionGroupBadgeText = (name: unknown, fallback = t('c
export type V2ExplorerFilter = 'all' | 'tables' | 'views' | 'routines' | 'events';
export const buildV2ExplorerFilterOptions = (
translate: SidebarV2Translate = translateSidebarV2ZhCN,
translate: SidebarV2Translate = translateSidebarV2Current,
): Array<{ key: V2ExplorerFilter; label: string }> => [
{ key: 'all', label: translate('sidebar.command_search.object_kind.all') },
{ key: 'tables', label: translate('sidebar.command_search.object_kind.tables') },
@@ -305,7 +306,7 @@ export const buildV2ExplorerFilterOptions = (
{ key: 'events', label: translate('sidebar.command_search.object_kind.events') },
];
export const V2_EXPLORER_FILTER_OPTIONS: Array<{ key: V2ExplorerFilter; label: string }> = buildV2ExplorerFilterOptions();
export const V2_EXPLORER_FILTER_OPTIONS: Array<{ key: V2ExplorerFilter; label: string }> = buildV2ExplorerFilterOptions(translateSidebarV2ZhCN);
const V2_EXPLORER_FILTER_GROUP_KEYS: Record<Exclude<V2ExplorerFilter, 'all'>, string[]> = {
tables: ['tables'],