feat(i18n): add "open" label for app data directory in multiple languages

This commit is contained in:
kangfenmao 2026-01-04 19:17:54 +08:00
parent a2639053ef
commit d27d750bc5
13 changed files with 21 additions and 26 deletions

View File

@ -3165,6 +3165,7 @@
"label": "App Data",
"migration_title": "Data Migration",
"new_path": "New Path",
"open": "Open Directory",
"original_path": "Original Path",
"path_change_failed": "Failed to change data directory",
"path_changed_without_copy": "Path changed successfully",

View File

@ -3165,6 +3165,7 @@
"label": "应用数据",
"migration_title": "数据迁移",
"new_path": "新路径",
"open": "打开目录",
"original_path": "原始路径",
"path_change_failed": "数据目录更改失败",
"path_changed_without_copy": "路径已更改成功",

View File

@ -3165,6 +3165,7 @@
"label": "應用程式資料",
"migration_title": "資料移轉",
"new_path": "新路徑",
"open": "開啟目錄",
"original_path": "原始路徑",
"path_change_failed": "資料目錄變更失敗",
"path_changed_without_copy": "路徑已變更成功",

View File

@ -3165,6 +3165,7 @@
"label": "Anwendungsdaten",
"migration_title": "Datenmigration",
"new_path": "Neuer Pfad",
"open": "Offenes Verzeichnis",
"original_path": "Ursprünglicher Pfad",
"path_change_failed": "Datenverzeichnisänderung fehlgeschlagen",
"path_changed_without_copy": "Pfad erfolgreich geändert",

View File

@ -3165,6 +3165,7 @@
"label": "Δεδομένα εφαρμογής",
"migration_title": "Μεταφορά δεδομένων",
"new_path": "Νέα διαδρομή",
"open": "Ανοιχτός Κατάλογος",
"original_path": "Αρχική διαδρομή",
"path_change_failed": "Η αλλαγή του καταλόγου δεδομένων απέτυχε",
"path_changed_without_copy": "Η διαδρομή άλλαξε επιτυχώς",

View File

@ -3165,6 +3165,7 @@
"label": "Datos de la aplicación",
"migration_title": "Migración de datos",
"new_path": "Nueva ruta",
"open": "Directorio abierto",
"original_path": "Ruta original",
"path_change_failed": "Error al cambiar el directorio de datos",
"path_changed_without_copy": "La ruta se ha cambiado correctamente",

View File

@ -3165,6 +3165,7 @@
"label": "Données de l'application",
"migration_title": "Migration des données",
"new_path": "Nouveau chemin",
"open": "Répertoire ouvert",
"original_path": "Chemin d'origine",
"path_change_failed": "Échec de la modification du répertoire de données",
"path_changed_without_copy": "Le chemin a été modifié avec succès",

View File

@ -3165,6 +3165,7 @@
"label": "アプリデータ",
"migration_title": "データ移行",
"new_path": "新しいパス",
"open": "オープンディレクトリ",
"original_path": "元のパス",
"path_change_failed": "データディレクトリの変更に失敗しました",
"path_changed_without_copy": "パスが変更されました。",

View File

@ -3165,6 +3165,7 @@
"label": "Dados do aplicativo",
"migration_title": "Migração de Dados",
"new_path": "Novo Caminho",
"open": "Diretório Aberto",
"original_path": "Caminho Original",
"path_change_failed": "Falha ao alterar o diretório de dados",
"path_changed_without_copy": "O caminho foi alterado com sucesso",

View File

@ -3165,6 +3165,7 @@
"label": "Date aplicație",
"migration_title": "Migrare date",
"new_path": "Cale nouă",
"open": "Director Deschis",
"original_path": "Cale originală",
"path_change_failed": "Schimbarea directorului de date a eșuat",
"path_changed_without_copy": "Calea a fost schimbată cu succes",

View File

@ -3165,6 +3165,7 @@
"label": "Данные приложения",
"migration_title": "Миграция данных",
"new_path": "Новый путь",
"open": "Открыть каталог",
"original_path": "Исходный путь",
"path_change_failed": "Сбой изменения каталога данных",
"path_changed_without_copy": "Путь изменен успешно",

View File

@ -169,9 +169,7 @@ const AboutSettings: FC = () => {
const onOpenDocs = () => {
const isChinese = i18n.language.startsWith('zh')
window.api.openWebsite(
isChinese ? 'https://docs.cherry-ai.com/' : 'https://docs.cherry-ai.com/docs/en-us'
)
window.api.openWebsite(isChinese ? 'https://docs.cherry-ai.com/' : 'https://docs.cherry-ai.com/docs/en-us')
}
return (

View File

@ -1,11 +1,4 @@
import {
CloudServerOutlined,
CloudSyncOutlined,
FileSearchOutlined,
LoadingOutlined,
WifiOutlined,
YuqueOutlined
} from '@ant-design/icons'
import { CloudServerOutlined, CloudSyncOutlined, LoadingOutlined, WifiOutlined, YuqueOutlined } from '@ant-design/icons'
import DividerWithText from '@renderer/components/DividerWithText'
import { NutstoreIcon } from '@renderer/components/Icons/NutstoreIcons'
import { HStack } from '@renderer/components/Layout'
@ -23,8 +16,8 @@ import { setSkipBackupFile as _setSkipBackupFile } from '@renderer/store/setting
import type { AppInfo } from '@renderer/types'
import { formatFileSize } from '@renderer/utils'
import { occupiedDirs } from '@shared/config/constant'
import { Button, Progress, Switch, Typography } from 'antd'
import { FileText, FolderCog, FolderInput, FolderOpen, SaveIcon } from 'lucide-react'
import { Button, Progress, Switch, Tooltip, Typography } from 'antd'
import { FileText, FolderCog, FolderInput, FolderOpen, FolderOutput, SaveIcon } from 'lucide-react'
import type { FC } from 'react'
import { useEffect, useState } from 'react'
import { useTranslation } from 'react-i18next'
@ -646,9 +639,13 @@ const DataSettings: FC = () => {
onClick={() => handleOpenPath(appInfo?.appDataPath)}>
{appInfo?.appDataPath}
</PathText>
<StyledIcon onClick={() => handleOpenPath(appInfo?.appDataPath)} style={{ flexShrink: 0 }} />
<Tooltip title={t('settings.data.app_data.select')}>
<FolderOutput onClick={handleSelectAppDataPath} style={{ cursor: 'pointer' }} size={16} />
</Tooltip>
<HStack gap="5px" style={{ marginLeft: '8px' }}>
<Button onClick={handleSelectAppDataPath}>{t('settings.data.app_data.select')}</Button>
<Button onClick={() => handleOpenPath(appInfo?.appDataPath)}>
{t('settings.data.app_data.open')}
</Button>
</HStack>
</PathRow>
</SettingRow>
@ -659,7 +656,6 @@ const DataSettings: FC = () => {
<PathText style={{ color: 'var(--color-text-3)' }} onClick={() => handleOpenPath(appInfo?.logsPath)}>
{appInfo?.logsPath}
</PathText>
<StyledIcon onClick={() => handleOpenPath(appInfo?.logsPath)} style={{ flexShrink: 0 }} />
<HStack gap="5px" style={{ marginLeft: '8px' }}>
<Button onClick={() => handleOpenPath(appInfo?.logsPath)}>
{t('settings.data.app_logs.button')}
@ -717,16 +713,6 @@ const Container = styled(HStack)`
flex: 1;
`
const StyledIcon = styled(FileSearchOutlined)`
color: var(--color-text-2);
cursor: pointer;
transition: color 0.3s;
&:hover {
color: var(--color-text-1);
}
`
const MenuList = styled.div`
display: flex;
flex-direction: column;