From 950040ace685a0251a79c24915f77ffd40d7543f Mon Sep 17 00:00:00 2001
From: xintaofei
Date: Mon, 9 Mar 2026 23:08:26 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=B3=BB=E7=BB=9F=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E5=8D=87=E7=BA=A7=E6=93=8D=E4=BD=9C=E6=B5=81=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../settings/system-network-settings.tsx | 167 ++++++++++--------
src/i18n/messages/ar.json | 2 +-
src/i18n/messages/de.json | 2 +-
src/i18n/messages/en.json | 2 +-
src/i18n/messages/es.json | 2 +-
src/i18n/messages/fr.json | 2 +-
src/i18n/messages/ja.json | 2 +-
src/i18n/messages/ko.json | 2 +-
src/i18n/messages/pt.json | 2 +-
src/i18n/messages/zh-CN.json | 2 +-
src/i18n/messages/zh-TW.json | 2 +-
11 files changed, 108 insertions(+), 79 deletions(-)
diff --git a/src/components/settings/system-network-settings.tsx b/src/components/settings/system-network-settings.tsx
index b90b8b0..b1a73e8 100644
--- a/src/components/settings/system-network-settings.tsx
+++ b/src/components/settings/system-network-settings.tsx
@@ -103,6 +103,30 @@ export function SystemNetworkSettings() {
}).format(lastCheckedAt)
}, [lastCheckedAt, locale])
+ const formattedUpdateDate = useMemo(() => {
+ if (!availableUpdate?.date) return null
+
+ const parsed = new Date(availableUpdate.date)
+ if (Number.isNaN(parsed.getTime())) return availableUpdate.date
+
+ return new Intl.DateTimeFormat(locale, {
+ dateStyle: "medium",
+ }).format(parsed)
+ }, [availableUpdate?.date, locale])
+
+ const updateNotes = useMemo(
+ () => availableUpdate?.body?.trim() || t("none"),
+ [availableUpdate?.body, t]
+ )
+
+ const updateStatusMessage = useMemo(() => {
+ if (checkingUpdate) return t("checking")
+ if (installingUpdate) return t("updating")
+ if (availableUpdate) return null
+ if (lastCheckedAt) return t("alreadyLatest")
+ return null
+ }, [availableUpdate, checkingUpdate, installingUpdate, lastCheckedAt, t])
+
const loadSettings = useCallback(async () => {
setLoading(true)
setLoadError(null)
@@ -220,10 +244,8 @@ export function SystemNetworkSettings() {
if (result.update) {
setAvailableUpdate(result.update)
- toast.success(t("foundUpdate", { version: result.update.version }))
} else {
setAvailableUpdate(null)
- toast.success(t("alreadyLatest"))
}
if (previousUpdate && previousUpdate !== result.update) {
@@ -408,82 +430,89 @@ export function SystemNetworkSettings() {
{t("updateDescription")}
-
-
-
{t("currentVersion")}
-
+
+
+
+ {t("currentVersion")}:
{currentVersion ? `v${currentVersion}` : "-"}
-
+
+ {checkingUpdate ? (
+
+ ) : availableUpdate ? (
+
+ ) : (
+
+ )}
-
-
- {t("upgradableVersion")}
-
-
- {availableUpdate ? `v${availableUpdate.version}` : t("none")}
-
-
-
- {formattedLastCheckedAt && (
-
- {t("lastChecked", { time: formattedLastCheckedAt })}
-
- )}
+ {!availableUpdate && formattedLastCheckedAt && (
+
+ {t("lastChecked", { time: formattedLastCheckedAt })}
+
+ )}
+
+ {updateStatusMessage && (
+
{updateStatusMessage}
+ )}
+
+ {availableUpdate && (
+
+
+
+ {t("upgradableVersion")}:v{availableUpdate.version}
+
+ {formattedUpdateDate && (
+
+ {formattedUpdateDate}
+
+ )}
+
+
+ {updateNotes}
+
+
+ )}
+
{updateError && (
{t("updateError", { message: updateError })}
)}
-
-
- {checkingUpdate ? (
-
- ) : (
-
- )}
-
- {availableUpdate && (
-
- )}
-
diff --git a/src/i18n/messages/ar.json b/src/i18n/messages/ar.json
index 2c83cf2..d1361fc 100644
--- a/src/i18n/messages/ar.json
+++ b/src/i18n/messages/ar.json
@@ -107,7 +107,7 @@
"updateTitle": "تحديث التطبيق",
"updateDescription": "تحقق من المصدر المهيأ للإصدارات الأحدث وثبّت التحديث مباشرة عند توفره.",
"currentVersion": "الإصدار الحالي",
- "upgradableVersion": "الإصدار المتاح",
+ "upgradableVersion": "أحدث إصدار",
"none": "لا يوجد",
"lastChecked": "آخر فحص: {time}",
"updateError": "خطأ في التحديث: {message}",
diff --git a/src/i18n/messages/de.json b/src/i18n/messages/de.json
index c64a8fa..8eacaa5 100644
--- a/src/i18n/messages/de.json
+++ b/src/i18n/messages/de.json
@@ -107,7 +107,7 @@
"updateTitle": "App-Update",
"updateDescription": "Prüft die konfigurierte Release-Quelle auf neue Versionen und installiert sie bei Verfügbarkeit direkt.",
"currentVersion": "Aktuelle Version",
- "upgradableVersion": "Verfügbare Version",
+ "upgradableVersion": "Neueste Version",
"none": "Keine",
"lastChecked": "Zuletzt geprüft: {time}",
"updateError": "Update-Fehler: {message}",
diff --git a/src/i18n/messages/en.json b/src/i18n/messages/en.json
index c8fd48d..855e41f 100644
--- a/src/i18n/messages/en.json
+++ b/src/i18n/messages/en.json
@@ -107,7 +107,7 @@
"updateTitle": "App Update",
"updateDescription": "Check the configured release source for newer versions and install directly when available.",
"currentVersion": "Current version",
- "upgradableVersion": "Available version",
+ "upgradableVersion": "Latest version",
"none": "None",
"lastChecked": "Last checked: {time}",
"updateError": "Update error: {message}",
diff --git a/src/i18n/messages/es.json b/src/i18n/messages/es.json
index 788189c..e0b8bef 100644
--- a/src/i18n/messages/es.json
+++ b/src/i18n/messages/es.json
@@ -107,7 +107,7 @@
"updateTitle": "Actualización de la app",
"updateDescription": "Comprueba versiones más nuevas en la fuente de versiones configurada e instálalas directamente cuando estén disponibles.",
"currentVersion": "Versión actual",
- "upgradableVersion": "Versión disponible",
+ "upgradableVersion": "Última versión",
"none": "Ninguna",
"lastChecked": "Última comprobación: {time}",
"updateError": "Error de actualización: {message}",
diff --git a/src/i18n/messages/fr.json b/src/i18n/messages/fr.json
index 99a2f32..7100398 100644
--- a/src/i18n/messages/fr.json
+++ b/src/i18n/messages/fr.json
@@ -107,7 +107,7 @@
"updateTitle": "Mise à jour de l’app",
"updateDescription": "Vérifiez les nouvelles versions depuis la source de publication configurée et installez-les directement si disponibles.",
"currentVersion": "Version actuelle",
- "upgradableVersion": "Version disponible",
+ "upgradableVersion": "Dernière version",
"none": "Aucune",
"lastChecked": "Dernière vérification : {time}",
"updateError": "Erreur de mise à jour : {message}",
diff --git a/src/i18n/messages/ja.json b/src/i18n/messages/ja.json
index d476194..6743a8f 100644
--- a/src/i18n/messages/ja.json
+++ b/src/i18n/messages/ja.json
@@ -107,7 +107,7 @@
"updateTitle": "アプリ更新",
"updateDescription": "設定されたリリースソースで新しいバージョンを確認し、利用可能なら直接インストールします。",
"currentVersion": "現在のバージョン",
- "upgradableVersion": "利用可能なバージョン",
+ "upgradableVersion": "最新バージョン",
"none": "なし",
"lastChecked": "最終確認: {time}",
"updateError": "更新エラー: {message}",
diff --git a/src/i18n/messages/ko.json b/src/i18n/messages/ko.json
index 1f76f98..9b4ae00 100644
--- a/src/i18n/messages/ko.json
+++ b/src/i18n/messages/ko.json
@@ -107,7 +107,7 @@
"updateTitle": "앱 업데이트",
"updateDescription": "설정된 릴리스 소스에서 새 버전을 확인하고 가능하면 바로 설치합니다.",
"currentVersion": "현재 버전",
- "upgradableVersion": "사용 가능한 버전",
+ "upgradableVersion": "최신 버전",
"none": "없음",
"lastChecked": "마지막 확인: {time}",
"updateError": "업데이트 오류: {message}",
diff --git a/src/i18n/messages/pt.json b/src/i18n/messages/pt.json
index 978b065..ec48359 100644
--- a/src/i18n/messages/pt.json
+++ b/src/i18n/messages/pt.json
@@ -107,7 +107,7 @@
"updateTitle": "Atualização do app",
"updateDescription": "Verifique versões mais novas na fonte de releases configurada e instale diretamente quando disponíveis.",
"currentVersion": "Versão atual",
- "upgradableVersion": "Versão disponível",
+ "upgradableVersion": "Versão mais recente",
"none": "Nenhuma",
"lastChecked": "Última verificação: {time}",
"updateError": "Erro de atualização: {message}",
diff --git a/src/i18n/messages/zh-CN.json b/src/i18n/messages/zh-CN.json
index b11b5de..0edd4e8 100644
--- a/src/i18n/messages/zh-CN.json
+++ b/src/i18n/messages/zh-CN.json
@@ -107,7 +107,7 @@
"updateTitle": "应用升级",
"updateDescription": "点击检查后会从配置的发布源拉取最新版本信息,有新版本时可直接下载并安装。",
"currentVersion": "当前版本",
- "upgradableVersion": "可升级版本",
+ "upgradableVersion": "最新版本",
"none": "暂无",
"lastChecked": "上次检查:{time}",
"updateError": "更新异常:{message}",
diff --git a/src/i18n/messages/zh-TW.json b/src/i18n/messages/zh-TW.json
index 60a572c..66640fd 100644
--- a/src/i18n/messages/zh-TW.json
+++ b/src/i18n/messages/zh-TW.json
@@ -107,7 +107,7 @@
"updateTitle": "應用升級",
"updateDescription": "點擊檢查後會從設定的發佈來源拉取最新版本資訊,有新版本時可直接下載並安裝。",
"currentVersion": "目前版本",
- "upgradableVersion": "可升級版本",
+ "upgradableVersion": "最新版本",
"none": "暫無",
"lastChecked": "上次檢查:{time}",
"updateError": "更新異常:{message}",