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 =