diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json
index 36cb42ffc..c5282c5a4 100644
--- a/app/appearance/langs/en_US.json
+++ b/app/appearance/langs/en_US.json
@@ -101,7 +101,7 @@
"exportBySiYuan": "Export by SiYuan",
"featureBetaStage": "This feature support is currently in the free public beta stage, and there is no clear charging plan yet, please know",
"syncOfficialProviderIntro": "Currently selected is the cloud storage service officially provided by SiYuan, which only supports paid subscription users",
- "syncThirdPartyProviderS3Intro": "The current selected is a third-party cloud storage service compatible with the Amazon S3 protocol (eg Qiniu, Aliyun OSS, Cloudflare R2)",
+ "syncThirdPartyProviderS3Intro": "The current selected is a third-party cloud storage service compatible with the Amazon S3 protocol (eg Qiniu, Aliyun OSS, Cloudflare R2)",
"syncThirdPartyProviderWebDAVIntro": "The currently selected is a third-party cloud storage service with the WebDAV protocol. Due to the poor performance and insufficient stability of this protocol, it is recommended to choose the S3 service first",
"syncThirdPartyProviderTip": "Before using this feature, please pay attention to the technical limitations and billing items of the third-party cloud storage service:
- Technical limitations such as interface calling frequency and bandwidth
- Billing items such as storage space and traffic
- Terms of use and availability guarantee
Disclaimer: For details, please refer to the relevant terms in the open source license AGPLv3 used by SiYuan",
"syncProvider": "Cloud Storage Service Provider",
@@ -1078,7 +1078,7 @@
"125": "Auto sync failed too many times, please try to manually trigger sync, if there is still a problem, please report it via GitHub Issues",
"126": "Bookmark cannot be empty",
"127": "There are [%d] days left before the subscription expires, after which the cloud data will be completely deleted. Please visit Here, if you don't need to renew, please log out of your account to close the reminder",
- "128": "Subscription has expired, cloud data will be completely deleted after expiration. To renew, please visit here , if you don't need to renew, please log out of your account to close the reminder",
+ "128": "The subscription has expired. After the expiration, the cloud data will be completely deleted. The reminder will no longer pop up two days after the subscription expires. To renew, please visit here",
"129": "Cloud data has been corrupted, please refer to here to resolve the issue",
"130": "Starting new version installer...",
"131": "This operation is not supported, please go to the cloud storage provider management console to operate",
diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json
index 57817172a..6db3e5b93 100644
--- a/app/appearance/langs/es_ES.json
+++ b/app/appearance/langs/es_ES.json
@@ -1078,7 +1078,7 @@
"125": "La sincronización automática ha fallado demasiadas veces, por favor intente activar la sincronización manualmente, si todavía hay un problema, por favor infórmelo a través de Problemas GitHub",
"126": "El marcador no puede estar vacío",
"127": "There are [%d] days left before the subscription expires, after which the cloud data will be completely deleted. Please visit Aquí para la renovación, si no necesita renovar, salga de su cuenta para cerrar el recordatorio",
- "128": "La suscripción ha caducado, los datos de la nube se eliminarán completamente después de la expiración. Para renovar, visite Aquí, si no necesita renovar, salga de su cuenta para cerrar el recordatorio",
+ "128": "La suscripción caducó. Después de la caducidad, los datos de la nube se eliminarán por completo. El recordatorio ya no aparecerá dos días después de que caduque la suscripción. Para renovar, visite aquí",
"129": "Los datos de la nube se han dañado, consulte aquí para resolver el problema",
"130": "Iniciando instalador de nueva versión...",
"131": "Esta solicitud no es compatible, vaya a la consola de administración del proveedor de almacenamiento en la nube para operar",
diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json
index c787eb614..6867cd17c 100644
--- a/app/appearance/langs/fr_FR.json
+++ b/app/appearance/langs/fr_FR.json
@@ -1077,8 +1077,8 @@
"124": "Veuillez activer la synchronisation cloud dans [Paramètres - Activer la synchronisation cloud]",
"125": "Il y a trop d'échecs de téléchargement dans la synchronisation automatique. Veuillez essayer de déclencher manuellement la synchronisation. Si le problème persiste, veuillez le signaler via GitHub Issues",
"126": "Les signets ne peuvent pas être vides",
- "127": "Il reste [%d] jours avant l'expiration de l'abonnement, après quoi les données cloud seront complètement supprimées. Veuillez visiter ici, si vous n'avez pas besoin de renouveler, veuillez vous déconnecter de votre compte pour fermer le rappel",
- "128": "L'abonnement a expiré, les données cloud seront complètement supprimées après l'expiration. Pour renouveler, veuillez visiter ici , si vous n'avez pas besoin de renouveler, veuillez vous déconnecter de votre compte pour fermer le rappel",
+ "127": "Il reste [%d] jours avant l'expiration de l'abonnement, après quoi les données cloud seront complètement supprimées. Veuillez visiter ici, si vous n'avez pas besoin de renouveler, veuillez vous déconnecter de votre compte pour fermer le rappel",
+ "128": "L'abonnement a expiré. Après l'expiration, les données cloud seront complètement supprimées. Le rappel ne s'affichera plus deux jours après l'expiration de l'abonnement. Pour renouveler, veuillez visiter ici",
"129": "Les données cloud ont été corrompues, veuillez vous référer à ici pour résoudre le problème",
"130": "Démarrage du programme d'installation de la nouvelle version...",
"131": "Cette opération n'est pas prise en charge, veuillez vous rendre sur la console de gestion du fournisseur de stockage cloud pour opérer",
diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json
index 898b19b89..7c7e4861a 100644
--- a/app/appearance/langs/zh_CHT.json
+++ b/app/appearance/langs/zh_CHT.json
@@ -1078,7 +1078,7 @@
"125": "自動同步下載失敗次數過多,請嘗試手動觸發同步,如果還有問題請回饋",
"126": "書籤不能為空",
"127": "訂閱距過期還剩 [%d] 天,過期後雲端數據會被徹底刪除。續訂請訪問這裡,如果不需要續訂,請登出賬號關閉該提醒",
- "128": "訂閱已經過期,過期後雲端數據會被徹底刪除。續訂請訪問這裡,如果不需要續訂,請登出賬號關閉該提醒",
+ "128": "訂閱已經過期,過期後雲端數據會被徹底刪除,訂閱過期兩天后不再彈出該提醒,續訂請訪問這裡",
"129": "雲端數據已經損壞,請參考這裡解決該問題",
"130": "正在啟動新版本安裝程式...",
"131": "不支持該操作,請到雲端存儲提供商管理控制台進行操作",
diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json
index afb4bd2ff..ad611e7f7 100644
--- a/app/appearance/langs/zh_CN.json
+++ b/app/appearance/langs/zh_CN.json
@@ -1078,7 +1078,7 @@
"125": "自动同步下载失败次数过多,请尝试手动触发同步,如果还有问题请反馈",
"126": "书签不能为空",
"127": "订阅距过期还剩 [%d] 天,过期后云端数据会被彻底删除。续订请访问这里,如果不需要续订,请登出账号关闭该提醒",
- "128": "订阅已经过期,过期后云端数据会被彻底删除。续订请访问这里,如果不需要续订,请登出账号关闭该提醒",
+ "128": "订阅已经过期,过期后云端数据会被彻底删除,订阅过期两天后不再弹出该提醒,续订请访问这里",
"129": "云端数据已经损坏,请参考这里解决该问题",
"130": "正在启动新版本安装程序...",
"131": "不支持该操作,请到云端存储提供商管理控制台进行操作",
diff --git a/kernel/model/liandi.go b/kernel/model/liandi.go
index e5279926e..f2d2f45c6 100644
--- a/kernel/model/liandi.go
+++ b/kernel/model/liandi.go
@@ -227,12 +227,15 @@ func refreshSubscriptionExpirationRemind() {
}
if IsSubscriber() && -1 != Conf.User.UserSiYuanProExpireTime {
expired := int64(Conf.User.UserSiYuanProExpireTime)
- if time.Now().UnixMilli() >= expired { // 已经过期
- time.Sleep(time.Second * 30)
- util.PushErrMsg(Conf.Language(128), 0)
+ now := time.Now().UnixMilli()
+ if now >= expired { // 已经过期
+ if now-expired <= 1000*60*60*24*2 { // 2 天内提醒 https://github.com/siyuan-note/siyuan/issues/7816
+ time.Sleep(time.Second * 30)
+ util.PushErrMsg(Conf.Language(128), 0)
+ }
return
}
- remains := int((expired - time.Now().UnixMilli()) / 1000 / 60 / 60 / 24)
+ remains := int((expired - now) / 1000 / 60 / 60 / 24)
expireDay := 15 // 付费订阅提前 15 天提醒
if 2 == Conf.User.UserSiYuanSubscriptionPlan {
expireDay = 3 // 试用订阅提前 3 天提醒