feat: configurable auto-update check frequency

Adds a "Settings > Auto-update check" submenu with Disabled / Hourly /
Daily / Weekly. Hourly is the default; existing settings files pick it
up automatically via serde default. Manual "Check for updates" is
unchanged and still fires when auto is disabled.

The 24-hour hardcoded interval is replaced by reading
Settings.update_check_interval_secs in both the startup scheduler and
the post-check rearm path. None means auto is disabled and no timer is
armed.

Adds five new i18n keys across all eight locales.
This commit is contained in:
tiennm99 committed 2026-05-16 12:57:50 +07:00
1 parent 5fc9d18c67
commit 2ca5052915
12 files changed
+152 -18

No files matched your search

+5
View File
@@ -23,6 +23,11 @@ update_failed = "Update fehlgeschlagen"
applying_update = "Update wird angewendet…"
update_available = "Update verfügbar"
update_via_winget = "über WinGet"
auto_update_check = "Automatische Updateprüfung"
auto_check_disabled = "Deaktiviert"
auto_check_hourly = "Stündlich"
auto_check_daily = "Täglich"
auto_check_weekly = "Wöchentlich"
exit = "Beenden"
show_widget = "Widget anzeigen"
session_window = "5h"
+5
View File
@@ -23,6 +23,11 @@ update_failed = "Update failed"
applying_update = "Applying update…"
update_available = "Update available"
update_via_winget = "via WinGet"
auto_update_check = "Auto-update check"
auto_check_disabled = "Disabled"
auto_check_hourly = "Hourly"
auto_check_daily = "Daily"
auto_check_weekly = "Weekly"
exit = "Exit"
show_widget = "Show widget"
session_window = "5h"
+5
View File
@@ -23,6 +23,11 @@ update_failed = "Actualización fallida"
applying_update = "Aplicando actualización…"
update_available = "Actualización disponible"
update_via_winget = "vía WinGet"
auto_update_check = "Búsqueda automática de actualizaciones"
auto_check_disabled = "Desactivada"
auto_check_hourly = "Cada hora"
auto_check_daily = "Cada día"
auto_check_weekly = "Cada semana"
exit = "Salir"
show_widget = "Mostrar widget"
session_window = "5h"
+5
View File
@@ -23,6 +23,11 @@ update_failed = "Mise à jour échouée"
applying_update = "Mise à jour en cours…"
update_available = "Mise à jour disponible"
update_via_winget = "via WinGet"
auto_update_check = "Vérification automatique des mises à jour"
auto_check_disabled = "Désactivée"
auto_check_hourly = "Toutes les heures"
auto_check_daily = "Quotidienne"
auto_check_weekly = "Hebdomadaire"
exit = "Quitter"
show_widget = "Afficher le widget"
session_window = "5h"
+5
View File
@@ -23,6 +23,11 @@ update_failed = "更新に失敗しました"
applying_update = "更新を適用中…"
update_available = "更新あり"
update_via_winget = "WinGet経由"
auto_update_check = "更新の自動確認"
auto_check_disabled = "無効"
auto_check_hourly = "1時間ごと"
auto_check_daily = "毎日"
auto_check_weekly = "毎週"
exit = "終了"
show_widget = "ウィジェットを表示"
session_window = "5時間"
+5
View File
@@ -23,6 +23,11 @@ update_failed = "업데이트 실패"
applying_update = "업데이트 적용 중…"
update_available = "업데이트 있음"
update_via_winget = "WinGet 사용"
auto_update_check = "업데이트 자동 확인"
auto_check_disabled = "사용 안 함"
auto_check_hourly = "매시간"
auto_check_daily = "매일"
auto_check_weekly = "매주"
exit = "종료"
show_widget = "위젯 표시"
session_window = "5시간"
+5
View File
@@ -23,6 +23,11 @@ update_failed = "Update mislukt"
applying_update = "Update toepassen…"
update_available = "Update beschikbaar"
update_via_winget = "via WinGet"
auto_update_check = "Automatische updatecontrole"
auto_check_disabled = "Uitgeschakeld"
auto_check_hourly = "Per uur"
auto_check_daily = "Dagelijks"
auto_check_weekly = "Wekelijks"
exit = "Afsluiten"
show_widget = "Widget tonen"
session_window = "5u"
+5
View File
@@ -23,6 +23,11 @@ update_failed = "更新失敗"
applying_update = "正在套用更新…"
update_available = "有可用更新"
update_via_winget = "透過 WinGet"
auto_update_check = "自動檢查更新"
auto_check_disabled = "停用"
auto_check_hourly = "每小時"
auto_check_daily = "每天"
auto_check_weekly = "每週"
exit = "結束"
show_widget = "顯示小工具"
session_window = "5 小時"
+5
View File
@@ -43,6 +43,11 @@ pub struct LocaleStrings {
pub applying_update: String,
pub update_available: String,
pub update_via_winget: String,
pub auto_update_check: String,
pub auto_check_disabled: String,
pub auto_check_hourly: String,
pub auto_check_daily: String,
pub auto_check_weekly: String,
pub exit: String,
pub show_widget: String,
pub session_window: String,