feat(i18n): add "Open Logs" button translations for multiple languages

- Introduced new translation keys for the "Open Logs" button in various languages (en-us, ja-jp, ru-ru, zh-cn, zh-tw, el-gr, es-es, fr-fr, pt-pt).
- Updated the DataSettings component to include a button for opening application logs, enhancing user accessibility to log files.
This commit is contained in:
kangfenmao 2025-07-09 19:22:57 +08:00
parent 4a8a5e8428
commit 074ba0ae05
11 changed files with 31 additions and 15 deletions

View File

@ -1348,6 +1348,7 @@
"app_knowledge.remove_all_confirm": "Deleting knowledge base files will reduce the storage space occupied, but will not delete the knowledge base vector data, after deletion, the source file will no longer be able to be opened. Continue?",
"app_knowledge.remove_all_success": "Files removed successfully",
"app_logs": "App Logs",
"app_logs.button": "Open Logs",
"backup.skip_file_data_help": "Skip backing up data files such as pictures and knowledge bases during backup, and only back up chat records and settings. Reduce space occupancy and speed up the backup speed.",
"backup.skip_file_data_title": "Slim Backup",
"clear_cache": {

View File

@ -1348,6 +1348,7 @@
"app_knowledge.remove_all_confirm": "ナレッジベースファイルを削除すると、ナレッジベース自体は削除されません。これにより、ストレージ容量を節約できます。続行しますか?",
"app_knowledge.remove_all_success": "ファイル削除成功",
"app_logs": "アプリログ",
"app_logs.button": "ログを開く",
"backup.skip_file_data_help": "バックアップ時に、画像や知識ベースなどのデータファイルをバックアップ対象から除外し、チャット履歴と設定のみをバックアップします。スペースの占有を減らし、バックアップ速度を向上させます。",
"backup.skip_file_data_title": "精簡バックアップ",
"clear_cache": {

View File

@ -1348,6 +1348,7 @@
"app_knowledge.remove_all_confirm": "Удаление файлов базы знаний не удалит саму базу знаний, что позволит уменьшить занимаемый объем памяти, продолжить?",
"app_knowledge.remove_all_success": "Файлы удалены успешно",
"app_logs": "Логи приложения",
"app_logs.button": "Открыть логи",
"backup.skip_file_data_help": "Пропустить при резервном копировании такие данные, как изображения, базы знаний и другие файлы данных, и сделать резервную копию только переписки и настроек. Это уменьшает использование места на диске и ускоряет процесс резервного копирования.",
"backup.skip_file_data_title": "Упрощенная резервная копия",
"clear_cache": {

View File

@ -1348,6 +1348,7 @@
"app_knowledge.remove_all_confirm": "删除知识库文件可以减少存储空间占用,但不会删除知识库向量化数据,删除之后将无法打开源文件,是否删除?",
"app_knowledge.remove_all_success": "文件删除成功",
"app_logs": "应用日志",
"app_logs.button": "打开日志",
"backup.skip_file_data_help": "备份时跳过备份图片、知识库等数据文件,仅备份聊天记录和设置。减少空间占用,加快备份速度",
"backup.skip_file_data_title": "精简备份",
"clear_cache": {

View File

@ -1348,6 +1348,7 @@
"app_knowledge.remove_all_confirm": "刪除知識庫文件可以減少儲存空間佔用,但不會刪除知識庫向量化資料,刪除之後將無法開啟原始檔,是否刪除?",
"app_knowledge.remove_all_success": "檔案刪除成功",
"app_logs": "應用程式日誌",
"app_logs.button": "開啟日誌",
"backup.skip_file_data_help": "備份時跳過備份圖片、知識庫等數據文件,僅備份聊天記錄和設置。減少空間佔用,加快備份速度",
"backup.skip_file_data_title": "精簡備份",
"clear_cache": {

View File

@ -935,6 +935,7 @@
"app_knowledge.remove_all_confirm": "Η διαγραφή των αρχείων της βάσης γνώσεων μπορεί να μειώσει τη χρήση χώρου αποθήκευσης, αλλά δεν θα διαγράψει τα διανυσματωτικά δεδομένα της βάσης γνώσεων. Μετά τη διαγραφή, δεν θα μπορείτε να ανοίξετε τα αρχεία πηγή. Θέλετε να διαγράψετε;",
"app_knowledge.remove_all_success": "Τα αρχεία διαγράφηκαν με επιτυχία",
"app_logs": "Φάκελοι εφαρμογής",
"app_logs.button": "Άνοιγμα καταγραφής",
"backup.skip_file_data_help": "Κατά τη δημιουργία αντιγράφων ασφαλείας, παραλείψτε τις εικόνες, τις βάσεις γνώσεων και άλλα αρχεία δεδομένων. Δημιουργήστε αντίγραφα μόνο για το ιστορικό συνομιλιών και τις ρυθμίσεις. Αυτό θα μειώσει τη χρήση χώρου και θα επιταχύνει την ταχύτητα δημιουργίας αντιγράφων.",
"backup.skip_file_data_title": "Συμπυκνωμένο αντίγραφο ασφαλείας",
"clear_cache": {

View File

@ -936,6 +936,7 @@
"app_knowledge.remove_all_confirm": "Eliminar los archivos de la base de conocimientos reducirá el uso del espacio de almacenamiento, pero no eliminará los datos vectorizados de la base de conocimientos. Después de la eliminación, no se podrán abrir los archivos originales. ¿Desea eliminarlos?",
"app_knowledge.remove_all_success": "Archivos eliminados con éxito",
"app_logs": "Registros de la aplicación",
"app_logs.button": "Abrir registros",
"clear_cache": {
"button": "Limpiar caché",
"confirm": "Limpiar caché eliminará los datos de la caché de la aplicación, incluyendo los datos de las aplicaciones mini. Esta acción no se puede deshacer, ¿desea continuar?",

View File

@ -935,6 +935,7 @@
"app_knowledge.remove_all_confirm": "La suppression des fichiers de la base de connaissances libérera de l'espace de stockage, mais ne supprimera pas les données vectorisées de la base de connaissances. Après la suppression, vous ne pourrez plus ouvrir les fichiers sources. Souhaitez-vous continuer ?",
"app_knowledge.remove_all_success": "Fichiers supprimés avec succès",
"app_logs": "Journaux de l'application",
"app_logs.button": "Ouvrir les journaux",
"backup.skip_file_data_help": "Passer outre les fichiers de données tels que les images et les bases de connaissances lors de la sauvegarde, et ne sauvegarder que les conversations et les paramètres. Cela réduit l'occupation d'espace et accélère la vitesse de sauvegarde.",
"backup.skip_file_data_title": "Sauvegarde réduite",
"clear_cache": {

View File

@ -936,6 +936,7 @@
"app_knowledge.remove_all_confirm": "A exclusão dos arquivos da base de conhecimento reduzirá o uso do espaço de armazenamento, mas não excluirá os dados vetoriais da base de conhecimento. Após a exclusão, os arquivos originais não poderão ser abertos. Deseja excluir?",
"app_knowledge.remove_all_success": "Arquivo excluído com sucesso",
"app_logs": "Logs do aplicativo",
"app_logs.button": "Abrir logs",
"backup.skip_file_data_help": "Pule arquivos de dados como imagens e bancos de conhecimento durante o backup e realize apenas o backup das conversas e configurações. Diminua o consumo de espaço e aumente a velocidade do backup.",
"backup.skip_file_data_title": "Backup simplificado",
"clear_cache": {

View File

@ -594,15 +594,6 @@ const DataSettings: FC = () => {
</HStack>
</SettingRow>
<SettingDivider />
<SettingRow>
<SettingRowTitle>{t('settings.general.reset.title')}</SettingRowTitle>
<HStack gap="5px">
<Button onClick={reset} danger>
{t('settings.general.reset.button')}
</Button>
</HStack>
</SettingRow>
<SettingDivider />
<SettingRow>
<SettingRowTitle>{t('settings.data.backup.skip_file_data_title')}</SettingRowTitle>
<Switch checked={skipBackupFile} onChange={onSkipBackupFilesChange} />
@ -628,17 +619,22 @@ const DataSettings: FC = () => {
<SettingRow>
<SettingRowTitle>{t('settings.data.app_logs')}</SettingRowTitle>
<PathRow>
<PathText style={{ color: 'var(--color-text-3)' }}>{appInfo?.logsPath}</PathText>
<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')}
</Button>
</HStack>
</PathRow>
</SettingRow>
<SettingDivider />
<SettingRow>
<SettingRowTitle>{t('settings.data.app_knowledge')}</SettingRowTitle>
<HStack alignItems="center" gap="5px">
<Button onClick={handleRemoveAllFiles} danger>
{t('settings.data.app_knowledge.button.delete')}
</Button>
<Button onClick={handleRemoveAllFiles}>{t('settings.data.app_knowledge.button.delete')}</Button>
</HStack>
</SettingRow>
<SettingDivider />
@ -648,8 +644,15 @@ const DataSettings: FC = () => {
{cacheSize && <CacheText>({cacheSize}MB)</CacheText>}
</SettingRowTitle>
<HStack gap="5px">
<Button onClick={handleClearCache} danger>
{t('settings.data.clear_cache.button')}
<Button onClick={handleClearCache}>{t('settings.data.clear_cache.button')}</Button>
</HStack>
</SettingRow>
<SettingDivider />
<SettingRow>
<SettingRowTitle>{t('settings.general.reset.title')}</SettingRowTitle>
<HStack gap="5px">
<Button onClick={reset} danger>
{t('settings.general.reset.title')}
</Button>
</HStack>
</SettingRow>
@ -725,6 +728,7 @@ const PathText = styled(Typography.Text)`
vertical-align: middle;
text-align: right;
margin-left: 5px;
cursor: pointer;
`
const PathRow = styled(HStack)`

View File

@ -108,6 +108,9 @@ export async function reset() {
title: i18n.t('common.warning'),
content: i18n.t('message.reset.confirm.content'),
centered: true,
okButtonProps: {
danger: true
},
onOk: async () => {
window.modal.confirm({
title: i18n.t('message.reset.double.confirm.title'),