From ec46518936b8b3f6f60c2c51b8054df74db2d332 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Thu, 6 Feb 2025 18:13:03 +0800 Subject: [PATCH] feat: Improve the name of the professional version (#7807) --- frontend/src/api/interface/setting.ts | 1 + frontend/src/lang/modules/en.ts | 3 +++ frontend/src/lang/modules/ja.ts | 5 ++++- frontend/src/lang/modules/ko.ts | 3 +++ frontend/src/lang/modules/ms.ts | 3 +++ frontend/src/lang/modules/pt-br.ts | 3 +++ frontend/src/lang/modules/ru.ts | 5 ++++- frontend/src/lang/modules/tw.ts | 5 ++++- frontend/src/lang/modules/zh.ts | 5 ++++- frontend/src/views/setting/license/index.vue | 19 ++++++++++++++++++- 10 files changed, 47 insertions(+), 5 deletions(-) diff --git a/frontend/src/api/interface/setting.ts b/frontend/src/api/interface/setting.ts index cde776038..5f264f221 100644 --- a/frontend/src/api/interface/setting.ts +++ b/frontend/src/api/interface/setting.ts @@ -178,6 +178,7 @@ export namespace Setting { licenseName: string; assigneeName: string; productPro: string; + versionConstraint: string; trial: boolean; offline: boolean; status: string; diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index f6bf216aa..1668a50a8 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -1709,6 +1709,9 @@ const message = { oss: 'Open Source Software', pro: 'Pro', trial: 'Trial', + subscription: 'Subscription', + perpetual: 'Perpetual', + versionConstraint: '{0} Version Buyout', office: 'Official', trialInfo: 'Version', authorizationId: 'Subscription authorization ID', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 5804579d0..a0b3de278 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -1681,7 +1681,10 @@ const message = { community: '無料', oss: '無料', pro: '専門', - trial: 'トライアル', + trial: '体験', + subscription: 'サブスクリプション', + perpetual: '永久ライセンス', + versionConstraint: '{0} バージョン買い取り', office: '正式', trialInfo: 'バージョン', authorizationId: 'サブスクリプション承認ID', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index 2684e43a3..d4dc7e74d 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -1654,6 +1654,9 @@ const message = { oss: '오픈 소스 소프트웨어', pro: 'Pro', trial: '체험판', + subscription: '구독', + perpetual: '영구 라이선스', + versionConstraint: '{0} 버전 일시불 구매', office: '공식', trialInfo: '버전', authorizationId: '구독 인증 ID', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 0603f4f70..00402ee9c 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -1737,6 +1737,9 @@ const message = { oss: 'Perisian Sumber Terbuka', pro: 'Pro', trial: 'Percubaan', + subscription: 'Langganan', + perpetual: 'Lesen Perpetual', + versionConstraint: '{0} Pembelian versi', office: 'Rasmi', trialInfo: 'Versi', authorizationId: 'ID Kebenaran Langganan', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index e56fbfdca..e4d30c3a6 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -1722,6 +1722,9 @@ const message = { community: 'Gratuito', pro: 'Pro', trial: 'Teste', + subscription: 'Assinatura', + perpetual: 'Licença Perpétua', + versionConstraint: '{0} Compra do versão', office: 'Oficial', trialInfo: 'Versão', authorizationId: 'ID de autorização de assinatura', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index d5a2d31ea..2f4b3e744 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -1720,7 +1720,10 @@ const message = { community: 'OSS', oss: 'Open Source Software', pro: 'Pro', - trial: 'Trial', + trial: 'Пробная версия', + subscription: 'Подписка', + perpetual: 'Пожизненная лицензия', + versionConstraint: '{0} Выкуп версии', office: 'Official', trialInfo: 'Версия', authorizationId: 'ID авторизации подписки', diff --git a/frontend/src/lang/modules/tw.ts b/frontend/src/lang/modules/tw.ts index 87790eeb5..b4a5bccda 100644 --- a/frontend/src/lang/modules/tw.ts +++ b/frontend/src/lang/modules/tw.ts @@ -1597,7 +1597,10 @@ const message = { community: '社區版', oss: '社區版', pro: '專業版', - trial: '試用版', + trial: '試用', + subscription: '訂閱', + perpetual: '永久授權', + versionConstraint: '{0} 版本買斷', office: '正式版', trialInfo: '版本', authorizationId: '訂閱授權 ID', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 165944bce..a095557ae 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -1597,7 +1597,10 @@ const message = { community: '社区版', oss: '社区版', pro: '专业版', - trial: '试用版', + trial: '试用', + subscription: '订阅', + perpetual: '永久授权', + versionConstraint: '{0} 版本买断', office: '正式版', trialInfo: '版本', authorizationId: '订阅授权 ID', diff --git a/frontend/src/views/setting/license/index.vue b/frontend/src/views/setting/license/index.vue index 99a39c2db..9ca51f7f7 100644 --- a/frontend/src/views/setting/license/index.vue +++ b/frontend/src/views/setting/license/index.vue @@ -36,7 +36,7 @@ {{ license.productName || '-' }} - {{ license.trial ? $t('license.trial') : $t('license.office') }} + {{ loadVersion() }} {{ license.expiresAt || '-' }} @@ -134,6 +134,8 @@ const license = reactive({ assigneeName: '', productName: '', + versionConstraint: '', + productPro: '', status: '', message: '', }); @@ -150,6 +152,19 @@ const loadInfo = () => { return license.status === 'Lost' ? i18n.global.t('license.lostHelper') : i18n.global.t('license.disableHelper'); }; +const loadVersion = () => { + if (license.trial) { + return i18n.global.t('license.trial'); + } + if (license.productPro && license.productPro !== '0') { + return i18n.global.t('license.subscription'); + } + if (license.versionConstraint) { + return i18n.global.t('license.versionConstraint', ['v' + license.versionConstraint.replace('.x', '')]); + } + return i18n.global.t('license.perpetual'); +}; + const onSync = async () => { loading.value = true; await syncLicense() @@ -222,6 +237,8 @@ const search = async () => { license.assigneeName = res.data.assigneeName; license.trial = res.data.trial; license.offline = res.data.offline; + license.productPro = res.data.productPro; + license.versionConstraint = res.data.versionConstraint; if (res.data.productPro) { license.productName = 'product-1panel-pro'; license.expiresAt =