fix(agent): resolve edit modal loading race condition (#11084)

* fix(agent): resolve edit modal loading race condition

* fix(i18n): Auto update translations for PR #11084

---------

Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
defi-failure 2025-10-31 21:00:35 +08:00 committed by GitHub
parent 9dbc6fbf67
commit 67a379641f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 231 additions and 230 deletions

View File

@ -10,6 +10,10 @@ export const useAgent = (id: string | null) => {
const client = useAgentClient()
const key = id ? client.agentPaths.withId(id) : null
const { apiServerConfig, apiServerRunning } = useApiServer()
// Disable SWR fetching when server is not running by setting key to null
const swrKey = apiServerRunning && id ? key : null
const fetcher = useCallback(async () => {
if (!id) {
throw new Error(t('agent.get.error.null_id'))
@ -17,13 +21,10 @@ export const useAgent = (id: string | null) => {
if (!apiServerConfig.enabled) {
throw new Error(t('apiServer.messages.notEnabled'))
}
if (!apiServerRunning) {
throw new Error(t('agent.server.error.not_running'))
}
const result = await client.getAgent(id)
return result
}, [apiServerConfig.enabled, apiServerRunning, client, id, t])
const { data, error, isLoading } = useSWR(key, id ? fetcher : null)
}, [apiServerConfig.enabled, client, id, t])
const { data, error, isLoading } = useSWR(swrKey, fetcher)
return {
agent: data,

View File

@ -1047,7 +1047,7 @@
"clear": "清除",
"close": "關閉",
"collapse": "折疊",
"completed": "[to be translated]:Completed",
"completed": "已完成",
"confirm": "確認",
"copied": "已複製",
"copy": "複製",
@ -3045,37 +3045,37 @@
},
"content": "匯出部分數據,包括聊天記錄、設定。請注意,備份過程可能需要一些時間,感謝您的耐心等候。",
"lan": {
"auto_close_tip": "[to be translated]:Auto-closing in {{seconds}} seconds...",
"confirm_close_message": "[to be translated]:File transfer is in progress. Closing will interrupt the transfer. Are you sure you want to force close?",
"confirm_close_title": "[to be translated]:Confirm Close",
"connected": "[to be translated]:Connected",
"connection_failed": "[to be translated]:Connection failed",
"auto_close_tip": "將於 {{seconds}} 秒後自動關閉...",
"confirm_close_message": "檔案傳輸正在進行中。關閉將會中斷傳輸。您確定要強制關閉嗎?",
"confirm_close_title": "確認關閉",
"connected": "已連線",
"connection_failed": "連線失敗",
"content": "請確保電腦和手機處於同一網路以使用區域網路傳輸。請打開 Cherry Studio App 掃描此 QR 碼。",
"error": {
"init_failed": "[to be translated]:Initialization failed",
"no_file": "[to be translated]:No file selected",
"no_ip": "[to be translated]:Unable to get IP address",
"send_failed": "[to be translated]:Failed to send file"
"init_failed": "初始化失敗",
"no_file": "未選擇檔案",
"no_ip": "無法取得 IP 位址",
"send_failed": "無法傳送檔案"
},
"force_close": "[to be translated]:Force Close",
"generating_qr": "[to be translated]:Generating QR code...",
"force_close": "強制關閉",
"generating_qr": "正在生成 QR 碼...",
"noZipSelected": "未選取壓縮檔案",
"scan_qr": "[to be translated]:Please scan QR code with your phone",
"scan_qr": "請使用手機掃描QR碼",
"selectZip": "選擇壓縮檔案",
"sendZip": "開始恢復資料",
"status": {
"completed": "[to be translated]:Transfer completed",
"connected": "[to be translated]:Connected",
"connecting": "[to be translated]:Connecting...",
"disconnected": "[to be translated]:Disconnected",
"error": "[to be translated]:Connection error",
"initializing": "[to be translated]:Initializing connection...",
"preparing": "[to be translated]:Preparing transfer...",
"sending": "[to be translated]:Transferring {{progress}}%",
"waiting_qr_scan": "[to be translated]:Please scan QR code to connect"
"completed": "轉帳完成",
"connected": "已連線",
"connecting": "連線中...",
"disconnected": "已斷線",
"error": "連線錯誤",
"initializing": "正在初始化連線...",
"preparing": "正在準備傳輸...",
"sending": "傳輸中 {{progress}}%",
"waiting_qr_scan": "請掃描QR碼以連接"
},
"title": "區域網路傳輸",
"transfer_progress": "[to be translated]:Transfer progress"
"transfer_progress": "傳輸進度"
},
"title": "匯出手機"
},

View File

@ -1047,7 +1047,7 @@
"clear": "Löschen",
"close": "Schließen",
"collapse": "Einklappen",
"completed": "[to be translated]:Completed",
"completed": "Abgeschlossen",
"confirm": "Bestätigen",
"copied": "Kopiert",
"copy": "Kopieren",
@ -3041,43 +3041,43 @@
},
"export_to_phone": {
"confirm": {
"button": "[to be translated]:Select backup file"
"button": "Sicherungsdatei auswählen"
},
"content": "[to be translated]:Export some data, including chat logs and settings. Please note that the backup process may take some time. Thank you for your patience.",
"content": "Exportieren Sie einige Daten, einschließlich Chat-Protokollen und Einstellungen. Bitte beachten Sie, dass der Sicherungsvorgang einige Zeit in Anspruch nehmen kann. Vielen Dank für Ihre Geduld.",
"lan": {
"auto_close_tip": "[to be translated]:Auto-closing in {{seconds}} seconds...",
"confirm_close_message": "[to be translated]:File transfer is in progress. Closing will interrupt the transfer. Are you sure you want to force close?",
"confirm_close_title": "[to be translated]:Confirm Close",
"connected": "[to be translated]:Connected",
"connection_failed": "[to be translated]:Connection failed",
"content": "[to be translated]:Please ensure your computer and phone are on the same network for LAN transfer. Open the Cherry Studio App to scan this QR code.",
"auto_close_tip": "Automatisches Schließen in {{seconds}} Sekunden...",
"confirm_close_message": "Dateiübertragung läuft. Beim Schließen wird die Übertragung unterbrochen. Möchten Sie wirklich das Schließen erzwingen?",
"confirm_close_title": "Schließen bestätigen",
"connected": "Verbunden",
"connection_failed": "Verbindung fehlgeschlagen",
"content": "Bitte stelle sicher, dass sich dein Computer und dein Telefon im selben Netzwerk befinden, um eine LAN-Übertragung durchzuführen. Öffne die Cherry Studio App, um diesen QR-Code zu scannen.",
"error": {
"init_failed": "[to be translated]:Initialization failed",
"no_file": "[to be translated]:No file selected",
"no_ip": "[to be translated]:Unable to get IP address",
"send_failed": "[to be translated]:Failed to send file"
"init_failed": "Initialisierung fehlgeschlagen",
"no_file": "Keine Datei ausgewählt",
"no_ip": "IP-Adresse kann nicht abgerufen werden",
"send_failed": "Fehler beim Senden der Datei"
},
"force_close": "[to be translated]:Force Close",
"generating_qr": "[to be translated]:Generating QR code...",
"noZipSelected": "[to be translated]:No compressed file selected",
"scan_qr": "[to be translated]:Please scan QR code with your phone",
"selectZip": "[to be translated]:Select a compressed file",
"sendZip": "[to be translated]:Begin data recovery",
"force_close": "Erzwungenes Schließen",
"generating_qr": "QR-Code wird generiert...",
"noZipSelected": "Keine komprimierte Datei ausgewählt",
"scan_qr": "Bitte scannen Sie den QR-Code mit Ihrem Telefon.",
"selectZip": "Wählen Sie eine komprimierte Datei",
"sendZip": "Datenwiederherstellung beginnen",
"status": {
"completed": "[to be translated]:Transfer completed",
"connected": "[to be translated]:Connected",
"connecting": "[to be translated]:Connecting...",
"disconnected": "[to be translated]:Disconnected",
"error": "[to be translated]:Connection error",
"initializing": "[to be translated]:Initializing connection...",
"preparing": "[to be translated]:Preparing transfer...",
"sending": "[to be translated]:Transferring {{progress}}%",
"waiting_qr_scan": "[to be translated]:Please scan QR code to connect"
"completed": "Übertragung abgeschlossen",
"connected": "Verbunden",
"connecting": "Verbindung wird hergestellt...",
"disconnected": "Getrennt",
"error": "Verbindungsfehler",
"initializing": "Verbindung wird initialisiert...",
"preparing": "Übertragung wird vorbereitet...",
"sending": "Übertrage {{progress}}%",
"waiting_qr_scan": "Bitte QR-Code scannen, um zu verbinden"
},
"title": "[to be translated]:LAN transmission",
"transfer_progress": "[to be translated]:Transfer progress"
"title": "LAN-Übertragung",
"transfer_progress": "Übertragungsfortschritt"
},
"title": "[to be translated]:Export to phone"
"title": "Auf Telefon exportieren"
},
"hour_interval_one": "{{count}} Stunde",
"hour_interval_other": "{{count}} Stunden",

View File

@ -1047,7 +1047,7 @@
"clear": "Καθαρισμός",
"close": "Κλείσιμο",
"collapse": "Σύμπτυξη",
"completed": "[to be translated]:Completed",
"completed": "Ολοκληρώθηκε",
"confirm": "Επιβεβαίωση",
"copied": "Αντιγράφηκε",
"copy": "Αντιγραφή",
@ -3041,43 +3041,43 @@
},
"export_to_phone": {
"confirm": {
"button": "[to be translated]:选择备份文件"
"button": "Επιλέξτε αρχείο αντιγράφων ασφαλείας"
},
"content": "[to be translated]:导出部分数据,包括聊天记录、设置。请注意,备份过程可能需要一些时间,感谢您的耐心等待。",
"content": "Εξαγωγή μέρους των δεδομένων, συμπεριλαμβανομένων των ιστορικών συνομιλιών και των ρυθμίσεων. Σημειώστε ότι η διαδικασία δημιουργίας αντιγράφων ασφαλείας ενδέχεται να διαρκέσει κάποιο χρονικό διάστημα, ευχαριστούμε για την υπομονή σας.",
"lan": {
"auto_close_tip": "[to be translated]:Auto-closing in {{seconds}} seconds...",
"confirm_close_message": "[to be translated]:File transfer is in progress. Closing will interrupt the transfer. Are you sure you want to force close?",
"confirm_close_title": "[to be translated]:Confirm Close",
"connected": "[to be translated]:Connected",
"connection_failed": "[to be translated]:Connection failed",
"content": "[to be translated]:请确保电脑和手机处于同一网络以使用局域网传输。请打开 Cherry Studio App 扫描此二维码。",
"auto_close_tip": "Αυτόματο κλείσιμο σε {{seconds}} δευτερόλεπτα...",
"confirm_close_message": "Η μεταφορά αρχείων είναι σε εξέλιξη. Το κλείσιμο θα διακόψει τη μεταφορά. Είστε σίγουροι ότι θέλετε να κλείσετε βίαια;",
"confirm_close_title": "Επιβεβαίωση Κλεισίματος",
"connected": "Συνδεδεμένος",
"connection_failed": "Η σύνδεση απέτυχε",
"content": "Βεβαιωθείτε ότι ο υπολογιστής και το κινητό βρίσκονται στο ίδιο δίκτυο για να χρησιμοποιήσετε τη μεταφορά LAN. Ανοίξτε την εφαρμογή Cherry Studio και σαρώστε αυτόν τον κωδικό QR.",
"error": {
"init_failed": "[to be translated]:Initialization failed",
"no_file": "[to be translated]:No file selected",
"no_ip": "[to be translated]:Unable to get IP address",
"send_failed": "[to be translated]:Failed to send file"
"init_failed": "Η αρχικοποίηση απέτυχε",
"no_file": "Κανένα αρχείο δεν επιλέχθηκε",
"no_ip": "Αδυναμία λήψης διεύθυνσης IP",
"send_failed": "Αποτυχία αποστολής αρχείου"
},
"force_close": "[to be translated]:Force Close",
"generating_qr": "[to be translated]:Generating QR code...",
"noZipSelected": "[to be translated]:未选择压缩文件",
"scan_qr": "[to be translated]:Please scan QR code with your phone",
"selectZip": "[to be translated]:选择压缩文件",
"sendZip": "[to be translated]:开始恢复数据",
"force_close": "Κλείσιμο με βία",
"generating_qr": "Δημιουργία κώδικα QR...",
"noZipSelected": "Δεν επιλέχθηκε συμπιεσμένο αρχείο",
"scan_qr": "Παρακαλώ σαρώστε τον κωδικό QR με το τηλέφωνό σας",
"selectZip": "Επιλέξτε συμπιεσμένο αρχείο",
"sendZip": "Έναρξη ανάκτησης δεδομένων",
"status": {
"completed": "[to be translated]:Transfer completed",
"connected": "[to be translated]:Connected",
"connecting": "[to be translated]:Connecting...",
"disconnected": "[to be translated]:Disconnected",
"error": "[to be translated]:Connection error",
"initializing": "[to be translated]:Initializing connection...",
"preparing": "[to be translated]:Preparing transfer...",
"sending": "[to be translated]:Transferring {{progress}}%",
"waiting_qr_scan": "[to be translated]:Please scan QR code to connect"
"completed": "Η μεταφορά ολοκληρώθηκε",
"connected": "Συνδεδεμένος",
"connecting": "Σύνδεση...",
"disconnected": "Αποσυνδέθηκε",
"error": "Σφάλμα σύνδεσης",
"initializing": "Αρχικοποίηση σύνδεσης...",
"preparing": "Προετοιμασία μεταφοράς...",
"sending": "Μεταφορά {{progress}}%",
"waiting_qr_scan": "Παρακαλώ σαρώστε τον κωδικό QR για σύνδεση"
},
"title": "[to be translated]:局域网传输",
"transfer_progress": "[to be translated]:Transfer progress"
"title": "Μεταφορά τοπικού δικτύου",
"transfer_progress": "Πρόοδος μεταφοράς"
},
"title": "[to be translated]:导出至手机"
"title": "Εξαγωγή στο κινητό"
},
"hour_interval_one": "{{count}} ώρα",
"hour_interval_other": "{{count}} ώρες",

View File

@ -1047,7 +1047,7 @@
"clear": "Limpiar",
"close": "Cerrar",
"collapse": "Colapsar",
"completed": "[to be translated]:Completed",
"completed": "Completado",
"confirm": "Confirmar",
"copied": "Copiado",
"copy": "Copiar",
@ -3041,43 +3041,43 @@
},
"export_to_phone": {
"confirm": {
"button": "[to be translated]:选择备份文件"
"button": "Seleccionar archivo de copia de seguridad"
},
"content": "[to be translated]:导出部分数据,包括聊天记录、设置。请注意,备份过程可能需要一些时间,感谢您的耐心等待。",
"content": "Exportar parte de los datos, incluidos los registros de chat y la configuración. Tenga en cuenta que el proceso de copia de seguridad puede tardar un tiempo; gracias por su paciencia.",
"lan": {
"auto_close_tip": "[to be translated]:Auto-closing in {{seconds}} seconds...",
"confirm_close_message": "[to be translated]:File transfer is in progress. Closing will interrupt the transfer. Are you sure you want to force close?",
"confirm_close_title": "[to be translated]:Confirm Close",
"connected": "[to be translated]:Connected",
"connection_failed": "[to be translated]:Connection failed",
"content": "[to be translated]:请确保电脑和手机处于同一网络以使用局域网传输。请打开 Cherry Studio App 扫描此二维码。",
"auto_close_tip": "Cierre automático en {{seconds}} segundos...",
"confirm_close_message": "La transferencia de archivos está en progreso. Cerrar interrumpirá la transferencia. ¿Estás seguro de que quieres forzar el cierre?",
"confirm_close_title": "Confirmar Cierre",
"connected": "Conectado",
"connection_failed": "Conexión fallida",
"content": "Asegúrate de que el ordenador y el móvil estén en la misma red para usar la transferencia por LAN. Abre la aplicación Cherry Studio y escanea este código QR.",
"error": {
"init_failed": "[to be translated]:Initialization failed",
"no_file": "[to be translated]:No file selected",
"no_ip": "[to be translated]:Unable to get IP address",
"send_failed": "[to be translated]:Failed to send file"
"init_failed": "Falló la inicialización",
"no_file": "Ningún archivo seleccionado",
"no_ip": "No se puede obtener la dirección IP",
"send_failed": "Error al enviar el archivo"
},
"force_close": "[to be translated]:Force Close",
"generating_qr": "[to be translated]:Generating QR code...",
"noZipSelected": "[to be translated]:未选择压缩文件",
"scan_qr": "[to be translated]:Please scan QR code with your phone",
"selectZip": "[to be translated]:选择压缩文件",
"sendZip": "[to be translated]:开始恢复数据",
"force_close": "Cerrar forzosamente",
"generating_qr": "Generando código QR...",
"noZipSelected": "No se ha seleccionado ningún archivo comprimido",
"scan_qr": "Por favor, escanea el código QR con tu teléfono",
"selectZip": "Seleccionar archivo comprimido",
"sendZip": "Comenzar la recuperación de datos",
"status": {
"completed": "[to be translated]:Transfer completed",
"connected": "[to be translated]:Connected",
"connecting": "[to be translated]:Connecting...",
"disconnected": "[to be translated]:Disconnected",
"error": "[to be translated]:Connection error",
"initializing": "[to be translated]:Initializing connection...",
"preparing": "[to be translated]:Preparing transfer...",
"sending": "[to be translated]:Transferring {{progress}}%",
"waiting_qr_scan": "[to be translated]:Please scan QR code to connect"
"completed": "Transferencia completada",
"connected": "Conectado",
"connecting": "Conectando...",
"disconnected": "Desconectado",
"error": "Error de conexión",
"initializing": "Inicializando conexión...",
"preparing": "Preparando transferencia...",
"sending": "Transfiriendo {{progress}}%",
"waiting_qr_scan": "Por favor, escanea el código QR para conectarte"
},
"title": "[to be translated]:局域网传输",
"transfer_progress": "[to be translated]:Transfer progress"
"title": "Transferencia de red local",
"transfer_progress": "Progreso de transferencia"
},
"title": "[to be translated]:导出至手机"
"title": "Exportar al teléfono"
},
"hour_interval_one": "{{count}} hora",
"hour_interval_other": "{{count}} horas",

View File

@ -1047,7 +1047,7 @@
"clear": "Effacer",
"close": "Fermer",
"collapse": "Réduire",
"completed": "[to be translated]:Completed",
"completed": "Terminé",
"confirm": "Confirmer",
"copied": "Copié",
"copy": "Copier",
@ -3041,43 +3041,43 @@
},
"export_to_phone": {
"confirm": {
"button": "[to be translated]:选择备份文件"
"button": "Sélectionner le fichier de sauvegarde"
},
"content": "[to be translated]:导出部分数据,包括聊天记录、设置。请注意,备份过程可能需要一些时间,感谢您的耐心等待。",
"content": "Exporter une partie des données, incluant les historiques de discussion et les paramètres. Veuillez noter que le processus de sauvegarde peut prendre un certain temps ; merci pour votre patience.",
"lan": {
"auto_close_tip": "[to be translated]:Auto-closing in {{seconds}} seconds...",
"confirm_close_message": "[to be translated]:File transfer is in progress. Closing will interrupt the transfer. Are you sure you want to force close?",
"confirm_close_title": "[to be translated]:Confirm Close",
"connected": "[to be translated]:Connected",
"connection_failed": "[to be translated]:Connection failed",
"content": "[to be translated]:请确保电脑和手机处于同一网络以使用局域网传输。请打开 Cherry Studio App 扫描此二维码。",
"auto_close_tip": "Fermeture automatique dans {{seconds}} secondes...",
"confirm_close_message": "Le transfert de fichier est en cours. Fermer interrompra le transfert. Êtes-vous sûr de vouloir forcer la fermeture ?",
"confirm_close_title": "Confirmer la fermeture",
"connected": "Connecté",
"connection_failed": "Échec de la connexion",
"content": "Assurez-vous que l'ordinateur et le téléphone sont connectés au même réseau pour utiliser le transfert en réseau local. Ouvrez l'application Cherry Studio et scannez ce code QR.",
"error": {
"init_failed": "[to be translated]:Initialization failed",
"no_file": "[to be translated]:No file selected",
"no_ip": "[to be translated]:Unable to get IP address",
"send_failed": "[to be translated]:Failed to send file"
"init_failed": "Échec de l'initialisation",
"no_file": "Aucun fichier sélectionné",
"no_ip": "Impossible d'obtenir l'adresse IP",
"send_failed": "Échec de l'envoi du fichier"
},
"force_close": "[to be translated]:Force Close",
"generating_qr": "[to be translated]:Generating QR code...",
"noZipSelected": "[to be translated]:未选择压缩文件",
"scan_qr": "[to be translated]:Please scan QR code with your phone",
"selectZip": "[to be translated]:选择压缩文件",
"sendZip": "[to be translated]:开始恢复数据",
"force_close": "Fermer de force",
"generating_qr": "Génération du code QR...",
"noZipSelected": "Aucun fichier compressé sélectionné",
"scan_qr": "Veuillez scanner le code QR avec votre téléphone",
"selectZip": "Sélectionner le fichier compressé",
"sendZip": "Commencer la restauration des données",
"status": {
"completed": "[to be translated]:Transfer completed",
"connected": "[to be translated]:Connected",
"connecting": "[to be translated]:Connecting...",
"disconnected": "[to be translated]:Disconnected",
"error": "[to be translated]:Connection error",
"initializing": "[to be translated]:Initializing connection...",
"preparing": "[to be translated]:Preparing transfer...",
"sending": "[to be translated]:Transferring {{progress}}%",
"waiting_qr_scan": "[to be translated]:Please scan QR code to connect"
"completed": "Transfert terminé",
"connected": "Connecté",
"connecting": "Connexion...",
"disconnected": "Déconnecté",
"error": "Erreur de connexion",
"initializing": "Initialisation de la connexion...",
"preparing": "Préparation du transfert...",
"sending": "Transfert {{progress}} %",
"waiting_qr_scan": "Veuillez scanner le code QR pour vous connecter"
},
"title": "[to be translated]:局域网传输",
"transfer_progress": "[to be translated]:Transfer progress"
"title": "Transmission en réseau local",
"transfer_progress": "Progression du transfert"
},
"title": "[to be translated]:导出至手机"
"title": "Exporter vers le téléphone"
},
"hour_interval_one": "{{count}} heure",
"hour_interval_other": "{{count}} heures",

View File

@ -1047,7 +1047,7 @@
"clear": "クリア",
"close": "閉じる",
"collapse": "折りたたむ",
"completed": "[to be translated]:Completed",
"completed": "完了",
"confirm": "確認",
"copied": "コピーされました",
"copy": "コピー",
@ -3041,43 +3041,43 @@
},
"export_to_phone": {
"confirm": {
"button": "[to be translated]:选择备份文件"
"button": "バックアップファイルを選択"
},
"content": "[to be translated]:导出部分数据,包括聊天记录、设置。请注意,备份过程可能需要一些时间,感谢您的耐心等待。",
"content": "一部のデータ、チャット履歴や設定をエクスポートします。バックアップには時間がかかる場合がありますので、しばらくお待ちください。",
"lan": {
"auto_close_tip": "[to be translated]:Auto-closing in {{seconds}} seconds...",
"confirm_close_message": "[to be translated]:File transfer is in progress. Closing will interrupt the transfer. Are you sure you want to force close?",
"confirm_close_title": "[to be translated]:Confirm Close",
"connected": "[to be translated]:Connected",
"connection_failed": "[to be translated]:Connection failed",
"content": "[to be translated]:请确保电脑和手机处于同一网络以使用局域网传输。请打开 Cherry Studio App 扫描此二维码。",
"auto_close_tip": "{{seconds}}秒後に自動的に閉じます...",
"confirm_close_message": "ファイル転送が進行中です。閉じると転送が中断されます。強制終了してもよろしいですか?",
"confirm_close_title": "閉じることを確認",
"connected": "接続済み",
"connection_failed": "接続に失敗しました",
"content": "コンピューターとスマートフォンが同じネットワークに接続されていることを確認し、ローカルエリアネットワーク転送を使用してください。Cherry Studioアプリを開き、このQRコードをスキャンしてください。",
"error": {
"init_failed": "[to be translated]:Initialization failed",
"no_file": "[to be translated]:No file selected",
"no_ip": "[to be translated]:Unable to get IP address",
"send_failed": "[to be translated]:Failed to send file"
"init_failed": "初期化に失敗しました",
"no_file": "ファイルが選択されていません",
"no_ip": "IPアドレスを取得できません",
"send_failed": "ファイルの送信に失敗しました"
},
"force_close": "[to be translated]:Force Close",
"generating_qr": "[to be translated]:Generating QR code...",
"noZipSelected": "[to be translated]:未选择压缩文件",
"scan_qr": "[to be translated]:Please scan QR code with your phone",
"selectZip": "[to be translated]:选择压缩文件",
"sendZip": "[to be translated]:开始恢复数据",
"force_close": "強制終了",
"generating_qr": "QRコードを生成中...",
"noZipSelected": "圧縮ファイルが選択されていません",
"scan_qr": "携帯電話でQRコードをスキャンしてください",
"selectZip": "圧縮ファイルを選択",
"sendZip": "データの復元を開始します",
"status": {
"completed": "[to be translated]:Transfer completed",
"connected": "[to be translated]:Connected",
"connecting": "[to be translated]:Connecting...",
"disconnected": "[to be translated]:Disconnected",
"error": "[to be translated]:Connection error",
"initializing": "[to be translated]:Initializing connection...",
"preparing": "[to be translated]:Preparing transfer...",
"sending": "[to be translated]:Transferring {{progress}}%",
"waiting_qr_scan": "[to be translated]:Please scan QR code to connect"
"completed": "転送完了",
"connected": "接続済み",
"connecting": "接続中...",
"disconnected": "切断されました",
"error": "接続エラー",
"initializing": "接続を初期化中...",
"preparing": "転送準備中...",
"sending": "転送中 {{progress}}%",
"waiting_qr_scan": "QRコードをスキャンして接続してください"
},
"title": "[to be translated]:局域网传输",
"transfer_progress": "[to be translated]:Transfer progress"
"title": "LAN転送",
"transfer_progress": "転送進行"
},
"title": "[to be translated]:导出至手机"
"title": "スマートフォンにエクスポート"
},
"hour_interval_one": "{{count}} 時間",
"hour_interval_other": "{{count}} 時間",

View File

@ -1047,7 +1047,7 @@
"clear": "Limpar",
"close": "Fechar",
"collapse": "Recolher",
"completed": "[to be translated]:Completed",
"completed": "Concluído",
"confirm": "Confirmar",
"copied": "Copiado",
"copy": "Copiar",
@ -3041,28 +3041,28 @@
},
"export_to_phone": {
"confirm": {
"button": "[to be translated]:选择备份文件"
"button": "Selecionar arquivo de backup"
},
"content": "[to be translated]:导出部分数据,包括聊天记录、设置。请注意,备份过程可能需要一些时间,感谢您的耐心等待。",
"content": "Exportar parte dos dados, incluindo registros de conversas e configurações. Observe que o processo de backup pode demorar um pouco; agradecemos sua paciência.",
"lan": {
"auto_close_tip": "[to be translated]:Auto-closing in {{seconds}} seconds...",
"confirm_close_message": "[to be translated]:File transfer is in progress. Closing will interrupt the transfer. Are you sure you want to force close?",
"confirm_close_title": "[to be translated]:Confirm Close",
"connected": "[to be translated]:Connected",
"connection_failed": "[to be translated]:Connection failed",
"content": "[to be translated]:请确保电脑和手机处于同一网络以使用局域网传输。请打开 Cherry Studio App 扫描此二维码。",
"auto_close_tip": "Fechando automaticamente em {{seconds}} segundos...",
"confirm_close_message": "Transferência de arquivo em andamento. Fechar irá interromper a transferência. Tem certeza de que deseja forçar o fechamento?",
"confirm_close_title": "Confirmar Fechamento",
"connected": "Conectado",
"connection_failed": "Falha na conexão",
"content": "Certifique-se de que o computador e o telefone estejam na mesma rede para usar a transferência via LAN. Abra o aplicativo Cherry Studio e escaneie este código QR.",
"error": {
"init_failed": "[to be translated]:Initialization failed",
"no_file": "[to be translated]:No file selected",
"no_file": "Nenhum arquivo selecionado",
"no_ip": "[to be translated]:Unable to get IP address",
"send_failed": "[to be translated]:Failed to send file"
},
"force_close": "[to be translated]:Force Close",
"generating_qr": "[to be translated]:Generating QR code...",
"noZipSelected": "[to be translated]:未选择压缩文件",
"scan_qr": "[to be translated]:Please scan QR code with your phone",
"selectZip": "[to be translated]:选择压缩文件",
"sendZip": "[to be translated]:开始恢复数据",
"force_close": "Forçar Fechamento",
"generating_qr": "Gerando código QR...",
"noZipSelected": "Nenhum arquivo de compressão selecionado",
"scan_qr": "Por favor, escaneie o código QR com o seu telefone",
"selectZip": "Selecionar arquivo compactado",
"sendZip": "Iniciar recuperação de dados",
"status": {
"completed": "[to be translated]:Transfer completed",
"connected": "[to be translated]:Connected",
@ -3074,10 +3074,10 @@
"sending": "[to be translated]:Transferring {{progress}}%",
"waiting_qr_scan": "[to be translated]:Please scan QR code to connect"
},
"title": "[to be translated]:局域网传输",
"transfer_progress": "[to be translated]:Transfer progress"
"title": "transmissão de rede local",
"transfer_progress": "Progresso da transferência"
},
"title": "[to be translated]:导出至手机"
"title": "Exportar para o telemóvel"
},
"hour_interval_one": "{{count}} hora",
"hour_interval_other": "{{count}} horas",

View File

@ -3041,41 +3041,41 @@
},
"export_to_phone": {
"confirm": {
"button": "[to be translated]:选择备份文件"
"button": "Выберите файл резервной копии"
},
"content": "[to be translated]:导出部分数据,包括聊天记录、设置。请注意,备份过程可能需要一些时间,感谢您的耐心等待。",
"lan": {
"auto_close_tip": "[to be translated]:Auto-closing in {{seconds}} seconds...",
"confirm_close_message": "[to be translated]:File transfer is in progress. Closing will interrupt the transfer. Are you sure you want to force close?",
"confirm_close_title": "[to be translated]:Confirm Close",
"connected": "[to be translated]:Connected",
"connection_failed": "[to be translated]:Connection failed",
"content": "[to be translated]:请确保电脑和手机处于同一网络以使用局域网传输。请打开 Cherry Studio App 扫描此二维码。",
"auto_close_tip": "Автоматическое закрытие через {{seconds}} секунд...",
"confirm_close_message": "Передача файла в процессе. Закрытие прервет передачу. Вы уверены, что хотите принудительно закрыть?",
"confirm_close_title": "Подтвердить закрытие",
"connected": "Подключено",
"connection_failed": "Соединение не удалось",
"content": "Убедитесь, что компьютер и телефон подключены к одной сети, чтобы использовать локальную передачу. Откройте приложение Cherry Studio и отсканируйте этот QR-код.",
"error": {
"init_failed": "[to be translated]:Initialization failed",
"no_file": "[to be translated]:No file selected",
"no_ip": "[to be translated]:Unable to get IP address",
"send_failed": "[to be translated]:Failed to send file"
"init_failed": "Инициализация не удалась",
"no_file": "Файл не выбран",
"no_ip": "Не удалось получить IP-адрес",
"send_failed": "Не удалось отправить файл"
},
"force_close": "[to be translated]:Force Close",
"generating_qr": "[to be translated]:Generating QR code...",
"noZipSelected": "[to be translated]:未选择压缩文件",
"scan_qr": "[to be translated]:Please scan QR code with your phone",
"selectZip": "[to be translated]:选择压缩文件",
"sendZip": "[to be translated]:开始恢复数据",
"force_close": "Принудительное закрытие",
"generating_qr": "Генерация QR-кода...",
"noZipSelected": "Архив не выбран",
"scan_qr": "Пожалуйста, отсканируйте QR-код с помощью вашего телефона",
"selectZip": "Выберите архив",
"sendZip": "Начать восстановление данных",
"status": {
"completed": "[to be translated]:Transfer completed",
"connected": "[to be translated]:Connected",
"connecting": "[to be translated]:Connecting...",
"disconnected": "[to be translated]:Disconnected",
"error": "[to be translated]:Connection error",
"initializing": "[to be translated]:Initializing connection...",
"preparing": "[to be translated]:Preparing transfer...",
"sending": "[to be translated]:Transferring {{progress}}%",
"waiting_qr_scan": "[to be translated]:Please scan QR code to connect"
"completed": "Перевод завершён",
"connected": "Подключено",
"connecting": "Подключение...",
"disconnected": "Отключено",
"error": "Ошибка подключения",
"initializing": "Инициализация соединения...",
"preparing": "Подготовка передачи...",
"sending": "Передача {{progress}}%",
"waiting_qr_scan": "Пожалуйста, отсканируйте QR-код для подключения"
},
"title": "[to be translated]:局域网传输",
"transfer_progress": "[to be translated]:Transfer progress"
"title": "Передача по локальной сети",
"transfer_progress": "Прогресс передачи"
},
"title": "[to be translated]:导出至手机"
},