From 2a350e93cef0393fb41adbfc7ed67f92b7818740 Mon Sep 17 00:00:00 2001 From: jingrow Date: Mon, 29 Dec 2025 05:06:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=94=E7=94=A8=E5=B8=82=E5=9C=BA=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=A2=9E=E5=8A=A0=E5=A4=9A=E8=AF=AD=E8=A8=80=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dashboard/src/components/GenericList.vue | 2 +- .../components/MarketplaceAppDescriptions.vue | 32 +-- .../src/components/MarketplaceAppListing.vue | 54 ++--- .../src/components/MarketplaceAppProfile.vue | 24 +-- dashboard/src/components/NavigationItems.vue | 2 +- dashboard/src/components/ObjectList.vue | 2 +- .../marketplace/AppListingStepsDialog.vue | 12 +- .../marketplace/ChangeAppBranchDialog.vue | 12 +- .../marketplace/MarketplaceAppAnalytics.vue | 16 +- .../marketplace/NewMarketplaceAppDialog.vue | 18 +- dashboard/src/objects/domain.js | 57 ++--- dashboard/src/objects/marketplace.js | 134 ++++++------ dashboard/src/objects/site.js | 168 +++++++-------- .../src/views/marketplace/Marketplace.vue | 40 ++-- .../src/views/marketplace/MarketplaceApp.vue | 44 ++-- .../marketplace/MarketplaceAppAnalytics.vue | 38 ++-- .../marketplace/MarketplaceAppPricing.vue | 2 +- .../MarketplaceAppSubscriptions.vue | 2 +- .../src/views/marketplace/MarketplaceApps.vue | 4 +- .../views/marketplace/MarketplacePayouts.vue | 6 +- .../MarketplacePublisherProfile.vue | 2 +- jcloud/translations/zh.csv | 199 +++++++++++++++++- 22 files changed, 531 insertions(+), 339 deletions(-) diff --git a/dashboard/src/components/GenericList.vue b/dashboard/src/components/GenericList.vue index ca2290f..7bfec53 100644 --- a/dashboard/src/components/GenericList.vue +++ b/dashboard/src/components/GenericList.vue @@ -28,7 +28,7 @@ v-if="rows.length === 0" class="text-center text-sm leading-10 text-gray-500" > - 未找到结果 + {{ $t('No results found') }} @@ -122,7 +122,7 @@ export default { summary: description }, onSuccess() { - this.notifySuccess('App Summary Updated!'); + this.notifySuccess(this.$t('App Summary Updated!')); this.showEditSummaryDialog = false; } }; @@ -136,7 +136,7 @@ export default { description: long_description }, onSuccess() { - this.notifySuccess('App Description Updated!'); + this.notifySuccess(this.$t('App Description Updated!')); this.showEditDescriptionDialog = false; } }; @@ -147,8 +147,8 @@ export default { params: { name: this.app.name }, onSuccess() { notify({ - title: 'Successfully fetched latest readme', - message: 'Long description updated!', + title: this.$t('Successfully fetched latest readme'), + message: this.$t('Long description updated!'), icon: 'check', color: 'green' }); diff --git a/dashboard/src/components/MarketplaceAppListing.vue b/dashboard/src/components/MarketplaceAppListing.vue index 2fdf699..3cc8988 100644 --- a/dashboard/src/components/MarketplaceAppListing.vue +++ b/dashboard/src/components/MarketplaceAppListing.vue @@ -3,18 +3,18 @@
-

应用资料

+

{{ $t('App Profile') }}

- 这些信息将公开显示在市场上。请确保输入正确的信息,没有损坏的链接和图片。 + {{ $t('This information will be publicly displayed on the marketplace. Please ensure you enter correct information, with no broken links and images.') }}

{{ $t('Save') }}
- 资料 + {{ $t('Profile') }}
{{ progress }}% - 编辑 + {{ $t('Edit') }}
@@ -53,18 +53,18 @@
- 链接 + {{ $t('Links') }}
- 描述 + {{ $t('Description') }}
- 描述 + {{ $t('Description') }} { this.editing = false; - return '更新成功'; + return this.$t('Listing updated successfully'); }, - loading: '正在更新列表...', + loading: this.$t('Updating listing...'), error: (err) => { return err.messages?.length ? err.messages.join('\n') - : err.message || '更新列表失败'; + : err.message || this.$t('Failed to update listing'); }, }); }, dropdownOptions(image) { return [ - { label: '查看', onClick: () => window.open(image) }, + { label: this.$t('View'), onClick: () => window.open(image) }, { - label: '删除', + label: this.$t('Delete'), onClick: () => { toast.promise( this.$resources.removeScreenshot.submit({ @@ -280,15 +280,15 @@ onClick: () => { file: image, }), { - loading: '正在删除截图...', + loading: this.$t('Deleting screenshot...'), success: () => { this.$resources.listingData.reload(); - return '截图删除成功'; + return this.$t('Screenshot deleted successfully'); }, error: (err) => { return err.messages?.length ? err.messages.join('\n') - : err.message || '删除截图失败'; + : err.message || this.$t('Failed to delete screenshot'); }, }, ); diff --git a/dashboard/src/components/MarketplaceAppProfile.vue b/dashboard/src/components/MarketplaceAppProfile.vue index 4fc23aa..f0ff9e3 100644 --- a/dashboard/src/components/MarketplaceAppProfile.vue +++ b/dashboard/src/components/MarketplaceAppProfile.vue @@ -1,5 +1,5 @@ @@ -45,12 +45,12 @@
-

Published Versions

+

{{ $t('Published Versions') }}

@@ -83,10 +83,10 @@ @@ -206,7 +206,7 @@ export default { dropdownItems(source) { return [ { - label: 'Change Branch', + label: this.$t('Change Branch'), onClick: () => { this.selectedSource = source.source; this.selectedVersion = source.version; @@ -215,7 +215,7 @@ export default { } }, { - label: 'Remove', + label: this.$t('Remove'), onClick: () => { this.$resources.removeVersion.submit({ name: this.app.name, @@ -227,7 +227,7 @@ export default { }, notifySuccess() { notify({ - title: 'App Profile Updated!', + title: this.$t('App Profile Updated!'), icon: 'check', color: 'green' }); diff --git a/dashboard/src/components/NavigationItems.vue b/dashboard/src/components/NavigationItems.vue index d2e2c12..162dc65 100644 --- a/dashboard/src/components/NavigationItems.vue +++ b/dashboard/src/components/NavigationItems.vue @@ -128,7 +128,7 @@ export default { disabled: enforce2FA, }, { - name: '应用市场', + name: this.$t('Marketplace'), icon: () => h(App), route: '/apps', isActive: routeName.startsWith('Marketplace'), diff --git a/dashboard/src/components/ObjectList.vue b/dashboard/src/components/ObjectList.vue index 8273b33..c9bc542 100644 --- a/dashboard/src/components/ObjectList.vue +++ b/dashboard/src/components/ObjectList.vue @@ -427,7 +427,7 @@ this.$socket.emit('pagetype_unsubscribe', pagetype); ); }, emptyStateMessage() { - return this.options.emptyStateMessage || '未找到结果'; + return this.options.emptyStateMessage || this.$t('No results found'); }, banner() { if (this.options.banner) { diff --git a/dashboard/src/components/marketplace/AppListingStepsDialog.vue b/dashboard/src/components/marketplace/AppListingStepsDialog.vue index 9bfd7c6..4b03d97 100644 --- a/dashboard/src/components/marketplace/AppListingStepsDialog.vue +++ b/dashboard/src/components/marketplace/AppListingStepsDialog.vue @@ -2,14 +2,14 @@
- +
diff --git a/dashboard/src/views/marketplace/MarketplaceAppSubscriptions.vue b/dashboard/src/views/marketplace/MarketplaceAppSubscriptions.vue index 0c25769..e97950f 100644 --- a/dashboard/src/views/marketplace/MarketplaceAppSubscriptions.vue +++ b/dashboard/src/views/marketplace/MarketplaceAppSubscriptions.vue @@ -15,7 +15,7 @@ const appSubscriptions = createResource({