Browse Source

Merge branch 'dev' into integration-services

pull/12896/head
Halil İbrahim Kalkan 4 years ago
parent
commit
f2b4616634
  1. 9
      .github/workflows/angular.yml
  2. 22
      .github/workflows/auto-pr.yml
  3. 9
      .github/workflows/build-and-test.yml
  4. 5
      .github/workflows/cancel-workflow.yml
  5. 101
      .github/workflows/codeql-analysis.yml
  6. 47
      .github/workflows/image-compression.yml
  7. 4
      .github/workflows/labeler.yml
  8. 4
      .gitignore
  9. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/zh-Hans.json
  10. 13
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  11. 6
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/ro-RO.json
  12. 79
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/zh-Hans.json
  13. 20
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json
  14. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/tr.json
  15. 142
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json
  16. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hant.json
  17. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/zh-Hans.json
  18. 15
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json
  19. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json
  20. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de-DE.json
  21. 58
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
  22. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
  23. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json
  24. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json
  25. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json
  26. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json
  27. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json
  28. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json
  29. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json
  30. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json
  31. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json
  32. 15
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json
  33. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json
  34. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json
  35. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json
  36. 12
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
  37. 11
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json
  38. 392
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
  39. 13
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
  40. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
  41. 56
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json
  42. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/AbpIoWwwResource.cs
  43. 24
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json
  44. 6
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/ro-RO.json
  45. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/tr.json
  46. 103
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/zh-Hans.json
  47. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/zh-Hant.json
  48. 3
      build/common.ps1
  49. 1
      common.DotSettings
  50. 2
      common.props
  51. 8
      docs/en/Apps/VoloDocs.md
  52. 11
      docs/en/Authorization.md
  53. 35
      docs/en/Background-Jobs-Hangfire.md
  54. 12
      docs/en/Background-Jobs-RabbitMq.md
  55. 2
      docs/en/Background-Workers.md
  56. 69
      docs/en/Blog-Posts/2022-06-15 v5_3_Release_Stable/POST.md
  57. 380
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/POST.md
  58. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/blazor-chat-module-1.png
  59. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/blazor-chat-module-2.png
  60. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/cms-blog-blazor.png
  61. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/cms-blog-post-blazor.png
  62. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/cookie-banner.png
  63. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/cover-image.png
  64. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/dnf-summit-attendees.jpg
  65. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/dnf-summit.png
  66. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/excel-export.png
  67. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/export-excel-page.png
  68. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/get-started-page.png
  69. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/leptonx-lite-theme.png
  70. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/maui-mobile-option.gif
  71. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/maui-template.png
  72. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/poll-add-widget.png
  73. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/pricing-page.png
  74. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/pwa-support-get-started-page.png
  75. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/setting-management-emailing.png
  76. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/suite-create-new-solution.png
  77. BIN
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/suite-pwa-support.png
  78. 10
      docs/en/CLI-New-Command-Samples.md
  79. 48
      docs/en/CLI.md
  80. 690
      docs/en/Community-Articles/15-08-2022-How-to-Design-Multi-Lingual-Entity/How-to-Design-Multi-Lingual-Entity.md
  81. BIN
      docs/en/Community-Articles/15-08-2022-How-to-Design-Multi-Lingual-Entity/data-model.png
  82. BIN
      docs/en/Community-Articles/15-08-2022-How-to-Design-Multi-Lingual-Entity/result.gif
  83. 2
      docs/en/Community-Articles/2020-09-09-Replacing-Email-Template-and-Sending-Emails/POST.md
  84. 4
      docs/en/Community-Articles/2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md
  85. 24
      docs/en/Community-Articles/2022-02-06-How-to-Hide-ABP-Related-Endpoints-on-Swagger-UI/POST.md
  86. 154
      docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md
  87. BIN
      docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/added-new-migration.png
  88. BIN
      docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/custom-identity-user-list.png
  89. BIN
      docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/initial-project.png
  90. BIN
      docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/new-user.png
  91. BIN
      docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/nuget-package-manager.png
  92. BIN
      docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/user-table.png
  93. 2
      docs/en/Contribution/How-to-Contribute-abp.io-as-a-frontend-developer.md
  94. 34
      docs/en/Dependency-Injection.md
  95. 452
      docs/en/Deploy-azure-app-service.md
  96. 2
      docs/en/Deployment/Index.md
  97. 7
      docs/en/Distributed-Event-Bus-RabbitMQ-Integration.md
  98. 2
      docs/en/Distributed-Event-Bus.md
  99. 15
      docs/en/Entities.md
  100. 6
      docs/en/Getting-Started-AspNetCore-Application.md

9
.github/workflows/angular.yml

@ -10,8 +10,17 @@ on:
branches:
- 'rel-*'
- 'dev'
types:
- opened
- synchronize
- reopened
- ready_for_review
permissions:
contents: read
jobs:
build-test-lint:
if: ${{ !github.event.pull_request.draft }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

22
.github/workflows/auto-pr.yml

@ -1,10 +1,16 @@
name: Merge branch dev with rel-5.3
name: Merge branch dev with rel-6.0
on:
push:
branches:
- rel-5.3
- rel-6.0
permissions:
contents: read
jobs:
merge-rel-5-3-with-rel-5-2:
merge-dev-with-rel-6-0:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
@ -12,13 +18,13 @@ jobs:
ref: dev
- name: Reset promotion branch
run: |
git fetch origin rel-5.3:rel-5.3
git reset --hard rel-5.3
git fetch origin rel-6.0:rel-6.0
git reset --hard rel-6.0
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
branch: auto-merge/rel-5-3/${{github.run_number}}
title: Merge branch dev with rel-5.3
body: This PR generated automatically to merge dev with rel-5.3. Please review the changed files before merging to prevent any errors that may occur.
branch: auto-merge/rel-6-0/${{github.run_number}}
title: Merge branch dev with rel-6.0
body: This PR generated automatically to merge dev with rel-6.0. Please review the changed files before merging to prevent any errors that may occur.
reviewers: ${{github.actor}}
token: ${{ github.token }}

9
.github/workflows/build-and-test.yml

@ -31,9 +31,18 @@ on:
- 'templates/**/*.cshtml'
- 'templates/**/*.csproj'
- 'templates/**/*.razor'
types:
- opened
- synchronize
- reopened
- ready_for_review
permissions:
contents: read
jobs:
build-test:
runs-on: windows-latest
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-dotnet@master

5
.github/workflows/cancel-workflow.yml

@ -1,7 +1,12 @@
name: cancel-workflow
on: [push]
permissions:
contents: read
jobs:
cancel:
permissions:
actions: write # for styfle/cancel-workflow-action to cancel/stop running workflows
name: 'Cancel Previous Runs'
runs-on: ubuntu-latest
timeout-minutes: 3

101
.github/workflows/codeql-analysis.yml

@ -9,23 +9,36 @@ on:
push:
branches: [dev, rel-*]
paths:
- 'abp/**/*.js'
- 'abp/**/*.cs'
- 'abp/**/*.cshtml'
- 'abp/**/*.csproj'
- 'abp/**/*.razor'
- "abp/**/*.js"
- "abp/**/*.cs"
- "abp/**/*.cshtml"
- "abp/**/*.csproj"
- "abp/**/*.razor"
pull_request:
# The branches below must be a subset of the branches above
branches: [dev]
paths:
- 'abp/**/*.js'
- 'abp/**/*.cs'
- 'abp/**/*.cshtml'
- 'abp/**/*.csproj'
- 'abp/**/*.razor'
- "abp/**/*.js"
- "abp/**/*.cs"
- "abp/**/*.cshtml"
- "abp/**/*.csproj"
- "abp/**/*.razor"
types:
- opened
- synchronize
- reopened
- ready_for_review
permissions:
contents: read
jobs:
analyze:
if: ${{ !github.event.pull_request.draft }}
permissions:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/autobuild to send a status report
name: Analyze
runs-on: ubuntu-latest
@ -34,48 +47,48 @@ jobs:
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['csharp', 'javascript']
language: ["csharp", "javascript"]
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

47
.github/workflows/image-compression.yml

@ -1,21 +1,26 @@
name: Compress Images
on:
pull_request:
paths:
- '**.jpg'
- '**.jpeg'
- '**.png'
- '**.webp'
jobs:
build:
if: github.event.pull_request.head.repo.full_name == github.repository
name: calibreapp/image-actions
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Compress Images
uses: calibreapp/image-actions@main
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
name: Compress Images
on:
pull_request:
paths:
- "**.jpg"
- "**.jpeg"
- "**.png"
- "**.webp"
types:
- opened
- synchronize
- reopened
- ready_for_review
jobs:
build:
if: github.event.pull_request.head.repo.full_name == github.repository && !github.event.pull_request.draft
name: calibreapp/image-actions
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Compress Images
uses: calibreapp/image-actions@main
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}

4
.github/workflows/labeler.yml

@ -2,8 +2,12 @@ name: Pull request labeler
on:
schedule:
- cron: '0 12 */1 * *'
permissions:
contents: read
jobs:
labeler:
permissions:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: paulfantom/periodic-labeler@master

4
.gitignore

@ -323,3 +323,7 @@ deploy/npm-auth-token.txt
deploy/ssh-password.txt
deploy/github-api-key.txt
deploy/_run_all_log.txt
# No commit yarn.lock files in the subfolders of templates directory
templates/**/yarn.lock

4
abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/zh-Hans.json

@ -11,6 +11,6 @@
"CommercialSupportWebSite": "商业版支持网站",
"CommunityWebSite": "ABP社区网站",
"ManageAccount": "我的帐户 | ABP.IO",
"ManageYourAccount": "管理您的帐户"
"ManageYourProfile": "管理您的个人资料"
}
}
}

13
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json

@ -322,8 +322,6 @@
"EndDate": "End date",
"PurchasedDate": "Purchased date",
"OrganizationDetail": "Organization Detail",
"SendActivationMail": "Send Activation Mail",
"ActivationMailSentSuccessfully": "Activation mail sent successfully!",
"TrialLicenseStatus": "Trial license status",
"TrialLicenseDetail": "Trial License Detail",
"AcceptsMarketingCommunications": "Marketing Communications",
@ -341,6 +339,9 @@
"SendWelcomeEmail": "Send Welcome Email",
"SendWelcomeEmailWarningMessage": "Are you sure you want to send welcome email to the organization members?",
"SendWelcomeEmailSuccessMessage": "Welcome email sent successfully!",
"Activate": "Activate",
"ActivateTrialLicenseWarningMessage": " When you activate a trial license, a welcome e-mail will be sent to the user. Do you want to activate it?",
"ActivateTrialLicenseSuccessMessage": "Activated successfully and the welcome e-mail sent to the organization members.",
"PaymentRequestId": "Payment Request Id",
"AdditionalDeveloperCount": "Additional developer count",
"LicensePrice": "License price",
@ -394,6 +395,10 @@
"EndTime": "End Time",
"CreateABookDiscount": "Create a book discount",
"BookDiscountDeletionConfirmationMessage": "Are you sure you want to delete this book discount?",
"CustomPaymentFlexSwitchDescription": "With license"
"CustomPaymentFlexSwitchDescription": "With license",
"AllowFeatureUpgradeOnLicenseExpire": "Allow feature upgrade on license expire",
"Deleted{0}": "[Deleted {0}]",
"Tags": "Tags",
"SetTagsInfo": "Tags should be comma-separated. Eg: CSharp, Entity Framework"
}
}
}

6
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/ro-RO.json

@ -30,7 +30,7 @@
"NugetPackageDeletionWarningMessage": "Sunteţi sigur(ă) că doriţi să ştergeţi acest pachet de tip Nuget?",
"ModuleDeletionWarningMessage": "Sunteţi sigur(ă) că doriţi să ştergeţi acest modul?",
"Name": "Nume",
"DisplayName": "Nume de afişare",
"DisplayName": "Nume afişat",
"ShortDescription": "Descriere scurtă",
"NameFilter": "Nume",
"CreationTime": "Data şi ora creării",
@ -317,7 +317,7 @@
"TrialLicenseStartDateFilter": "Data de început",
"TrialLicenseEndDateFilter": "Data de încheiere",
"FirsName": "Nume",
"LastName": "Nume",
"LastName": "Nume de familie",
"StartDate": "Data de început",
"EndDate": "Data de încheiere",
"PurchasedDate": "Data achiziției",
@ -350,4 +350,4 @@
"Volo.AbpIo.Commercial:030010": "Pentru a achiziționa licența de probă, mai întâi trebuie să vă activați licența de probă!",
"Volo.AbpIo.Commercial:030011": "Nu puteți șterge o licență de probă atunci când este achiziționată!"
}
}
}

79
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/zh-Hans.json

@ -316,14 +316,12 @@
"TrialLicenseStatusFilter": "地位",
"TrialLicenseStartDateFilter": "开始日期",
"TrialLicenseEndDateFilter": "结束日期",
"FirsName": "名",
"FirstName": "名",
"LastName": "姓",
"StartDate": "开始日期",
"EndDate": "结束日期",
"PurchasedDate": "购买日期",
"OrganizationDetail": "组织详情",
"SendActivationMail": "发送激活邮件",
"ActivationMailSentSuccessfully": "激活邮件发送成功!",
"TrialLicenseStatus": "试用许可证状态",
"TrialLicenseDetail": "试用许可证详情",
"AcceptsMarketingCommunications": "营销传播",
@ -337,17 +335,68 @@
"Expired": "已到期",
"TrialLicenseDeletionWarningMessage": "您确定要删除试用许可证吗?试用许可证、组织、支持帐户将被删除!",
"LicenseCategoryFilter": "执照类别",
"Volo.AbpIo.Commercial:030000": "您已经使用了试用期。",
"Volo.AbpIo.Commercial:030001": "此组织名称已存在。",
"Volo.AbpIo.Commercial:030002": "一旦激活,试用许可证不能设置为请求!",
"Volo.AbpIo.Commercial:030003": "没有这种状态!",
"Volo.AbpIo.Commercial:030004": "由于意外错误,无法更改状态!",
"Volo.AbpIo.Commercial:030005": "当试用许可证处于 -activated- 状态时,可以更新开始和结束日期!",
"Volo.AbpIo.Commercial:030006": "结束日期必须始终大于开始日期!",
"Volo.AbpIo.Commercial:030007": "此试用许可证已激活一次!",
"Volo.AbpIo.Commercial:030008": "购买日期只能在状态为已购买时设置!",
"Volo.AbpIo.Commercial:030009": "未找到用户!",
"Volo.AbpIo.Commercial:030010": "要购买试用许可证,首先您需要激活您的试用许可证!",
"Volo.AbpIo.Commercial:030011": "购买后,您无法删除试用许可证!"
"Permission:SendWelcomeEmail": "发送欢迎邮件",
"SendWelcomeEmail": "发送欢迎邮件",
"SendWelcomeEmailWarningMessage": "你确定要发送欢迎邮件给组织成员吗?",
"SendWelcomeEmailSuccessMessage": "欢迎邮件发送成功!",
"Activate": "激活",
"ActivateTrialLicenseWarningMessage": "激活试用版权限后,将发送欢迎邮件给用户。你确定要激活吗?",
"ActivateTrialLicenseSuccessMessage": "激活成功,欢迎邮件已发送给组织成员。",
"PaymentRequestId": "付款请求编号",
"AdditionalDeveloperCount": "额外开发者数量",
"LicensePrice": "版权价格",
"PurchaseDate": "购买日期",
"IsAbpBookDownloaded": "ABP书籍已下载",
"IsMasteringAbpBookDownloadEnabled": "ABP书籍下载已启用",
"Permission:Accounting:CustomPaymentLinkGenerator": "自定义付款链接",
"CustomPaymentLink": "自定义付款链接",
"Menu:CustomPaymentLink": "自定义付款链接",
"Amount": "金额",
"GenerateCustomPaymentLink": "生成自定义付款链接",
"GeneratedPaymentLink": "生成的付款链接",
"CopyText": "复制文本",
"Permission:CommunityEvents": "活动",
"Menu:Events": "活动",
"Events": "活动",
"EventType": "活动类型",
"Number": "数量",
"RegistrationURL": "报名网址",
"URL": "网址",
"EventDeletionConfirmationMessage": "你确定要删除这个活动吗?",
"Enum:EventType:0": "社区讲话",
"CreateAnEvent": "创建一个活动",
"Permission:CommunitySpeakers": "演讲者",
"CreateASpeaker": "创建一个演讲者",
"Speakers": "演讲者",
"Image": "图片",
"GithubURL": "Github网址",
"SpeakerDeletionConfirmationMessage": "你确定要删除这个演讲者吗?",
"Menu:Speakers": "演讲者",
"ChooseSpeakerImage": "选择一个演讲者图片...",
"SpeakerImage": "演讲者图片",
"AddSpeaker": "添加演讲者",
"ShowPurchaseItemsOfOrganizations": "购买项目",
"Enum:OrganizationPurchaseState:0": "未送达",
"Enum:OrganizationPurchaseState:1": "已送达",
"PurchaseItems": "购买项目",
"SuccessfullyUpdated": "成功更新",
"SuccessfullyAdded": "成功添加",
"PurchaseState": "购买状态",
"ShowBetweenDayCount": "显示之间的天数",
"PurchaseOrder": "购买订单",
"ShowCreateInvoiceOfOrganization": "创建发票",
"ShowCreateQuotationOfOrganization": "创建报价单",
"BookDiscounts": "书籍折扣",
"Permission:BookDiscount": "书籍折扣",
"Menu:BookDiscounts": "书籍折扣",
"BookType": "书籍类型",
"PurchasePlatform": "购买平台",
"StartTime": "开始时间",
"EndTime": "结束时间",
"CreateABookDiscount": "创建一个书籍折扣",
"BookDiscountDeletionConfirmationMessage": "你确定要删除这个书籍折扣吗?",
"CustomPaymentFlexSwitchDescription": "授权",
"AllowFeatureUpgradeOnLicenseExpire": "允许在授权过期时进行功能升级",
"Deleted{0}": "[已删除 {0}]"
}
}

20
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json

@ -73,6 +73,7 @@
"DeveloperFocused": "Developer Focused",
"ShareYourExperiences": "Share your experiences with the ABP Framework",
"LatestPosts": "Latest Posts",
"LatestVideos": "Latest Videos",
"Views": "Views",
"LearnLatestNewsAboutABPFramework": "Get information about happenings in ABP like new releases, free sources, posts, and more.",
"DeveloperTools": "Developer Tools",
@ -98,6 +99,7 @@
"Logout": "Logout",
"Home": "Home",
"Posts": "Posts",
"Videos": "Videos",
"JoinTheABPCommunity": "Join the ABP Community",
"SubmitYourPost": "Submit Your Post",
"Modules": "Modules",
@ -161,6 +163,22 @@
"Error_Page_500_Title": "Looks like something went wrong!",
"Error_Page_500_Description_1": "We track these errors automatically, but if the problem persists feel free to <br /> contact us. In the meantime, try refreshing.",
"Error_Page_500_Description_2": "Contact with us at <a href=\"mailto:info@abp.io\" target=\"_blank\">info@abp.io</a>.",
"Books": "Books"
"Books": "Books",
"ABPDiscordServer": "ABP Discord Server",
"ABPCommunityTalks": "ABP Community Talks",
"ABPCommunityPosts": "ABP Community Posts",
"BuyAndGetMonths": "BUY 12 MONTHS, <span class=\"text-info\">GET 14 MONTHS!</span>",
"GetYourDeal": "Get Your Deal",
"BuyOrRenewLicense": "Buy or Renew License Now and Get 2 Extra Months!",
"BuyOrRenewLicenseToGetExtra2Months": "Buy or Renew License Now and Get 2 Extra Months! HURRY UP! ⏰ Last Day: {0}",
"HurryUp": "HURRY UP!",
"LastDay": "Last Day: {0}",
"BuyNewLicenseBetweenDatesToGetBenefit": "Buy a new license between {0} and {1} to get benefit for extra 2 months!",
"CheckAllCommunityTalks": "Check All Community Posts",
"ReadMore": "Read More",
"Post": "Post",
"ExploreTheContentsCreatedByTheCoreABPTeamAndTheABPCommunity": "Explore the contents created by the core ABP team and the ABP community.",
"WelcomeFallCampaign": "Welcome Fall Campaign!",
"GiveAwayForNewPurchases": "Application Development Classroom Training will be given away for the new purchases!"
}
}

4
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/tr.json

@ -39,6 +39,8 @@
"TrialLicensePeriodHasExpired": "Deneme lisansınızın süresi {0} gün önce sona erdi.",
"TrialLicensePeriodWillExpire": "Deneme lisansınızın süresi {0} gün içinde dolacak.",
"TrialLicensePeriodExpireToday": "Deneme lisans süreniz bugün sona erecek.",
"PurchaseNow": "Şimdi satın al!"
"PurchaseNow": "Şimdi satın al!",
"WelcomeFallCampaign": "Hoş Geldin Sonbahar Kampanyası!",
"GiveAwayForNewPurchases": "Yeni alımlar için Uygulama Geliştirme Sınıfı Eğitimi hediye edilecektir!"
}
}

142
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json

@ -14,6 +14,20 @@
"Volo.AbpIo.Domain:020002": "不能删除该NPM包因为\"{Modules}\"模块正在使用此包.",
"Volo.AbpIo.Domain:020003": "不能删除该NPM包因为\"{Modules}\"模块正在使用此包并且\"{NugetPackages}\"Nuget包依赖此包.",
"Volo.AbpIo.Domain:020004": "不能删除该Nuget包因为\"{Modules}\"模块正在使用此包.",
"Volo.AbpIo.Domain:030000": "您已经完成了试用期。",
"Volo.AbpIo.Domain:030001": "此组织名称已存在。",
"Volo.AbpIo.Domain:030002": "一旦激活,您将无法将试用许可证切换到 -requested- 状态!",
"Volo.AbpIo.Domain:030003": "没有这种状态!",
"Volo.AbpIo.Domain:030004": "由于意外错误,无法更改状态!",
"Volo.AbpIo.Domain:030005": "试用许可证处于激活状态时可以更新开始和结束日期!",
"Volo.AbpIo.Domain:030006": "结束日期必须大于开始日期!",
"Volo.AbpIo.Domain:030007": "此试用许可证已激活!",
"Volo.AbpIo.Domain:030008": "只有状态为-purchased-时才能设置购买日期!",
"Volo.AbpIo.Domain:030009": "找不到用户!",
"Volo.AbpIo.Domain:030010": "要购买试用许可证,您首先需要激活您的试用许可证!",
"Volo.AbpIo.Domain:030011": "购买后不能删除试用许可证!",
"Volo.AbpIo.Domain:070000": "组织名称只能包含拉丁字母、数字、点和连字符!",
"Volo.AbpIo.Domain:070001": "公司名称只能包含拉丁字母、数字、点、空格和连字符!",
"WantToLearn?": "想学习吗?",
"ReadyToGetStarted?": "准备开始了吗?",
"JoinOurCommunity": "加入我们的社区",
@ -39,6 +53,132 @@
"TrialLicensePeriodHasExpired": "您的试用许可期限已于 {0} 天前到期。",
"TrialLicensePeriodWillExpire": "您的试用许可期限将在 {0} 天后到期。",
"TrialLicensePeriodExpireToday": "您的试用许可期将于今天到期。",
"PurchaseNow": "现在买!"
"PurchaseNow": "现在买!",
"LatestReleaseLogs": "最新发布日志",
"RoadMap": "路线图",
"FAQ": "常见问题",
"SourceCode": "源代码",
"SeeAllPosts": "查看所有帖子",
"Contribute": "贡献",
"LiveDemo": "在线演示",
"GetLicense": "获得许可证",
"OpenSource": "开源",
"WebApplication": "Web应用程序",
"MeetTheABP": "认识 ABP",
"CompleteWebDevelopment": "一个完整的 Web 开发",
"Platform": "平台",
"ABPDescription": "ABP 框架是一个完整的基础架构,可通过遵循软件开发最佳实践和约定来创建现代 Web 应用程序。",
"StrongInfrastructure": "强大的基础设施",
"CompleteArchitecture": "完整的架构",
"DeveloperFocused": "以开发者为中心",
"ShareYourExperiences": "分享您使用 ABP 框架的经验",
"LatestPosts": "最新的帖子",
"LatestVideos": "最新的视频",
"Views": "意见",
"LearnLatestNewsAboutABPFramework": "获取有关 ABP 的最新相关信息,例如新版本、免费资源、帖子等。",
"DeveloperTools": "开发者工具",
"StartupTemplates": "启动模板",
"ApplicationModules": "应用模块",
"UI": "UI",
"Themes": "主题",
"Premium": "高级的",
"PrivacyPolicy": "隐私政策",
"TermsAndConditions": "条款 & 条件",
"WouldLikeToReceiveMarketingMaterials": "我想收到产品交易和特别优惠等市场推广材料。",
"JoinOurMarketingNewsletter": "加入我们市场推广时事通讯",
"CommunityPrivacyPolicyConfirmation": "我同意条款 & 条件和<a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">隐私政策 </a>。",
"WouldLikeToReceiveNotification": "我想从 abp.io 网站接收最新消息。",
"CommercialNewsletterConfirmationMessage": "我同意<a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">条款 & 条件</a > 和 <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">隐私政策</a>。",
"FreeDDDEBook": "免费 DDD 电子书",
"AdditionalServices": "额外服务",
"Learn": "学习",
"AccountOverview": "账户信息",
"MyOrganizations": "我的组织",
"MySupportQuestions": "我的支持问题",
"MyProfile": "我的简介",
"Logout": "登出",
"Home": "主页",
"Posts": "帖子",
"Videos": "视频",
"JoinTheABPCommunity": "加入 ABP 社区",
"SubmitYourPost": "提交您的帖子",
"Modules": "模块",
"Tools": "工具",
"Pricing": "价格",
"ChangeLogs": "更改日志",
"SubscribeToNewsletter": "订阅时事通讯",
"SubscribeToNewsletterDescription": "获取有关 ABP 的最新相关信息,例如新版本、免费资源、帖子等。",
"EmailAddress": "邮箱地址",
"Subscribe": "订阅",
"WelcomeToABP": "欢迎来到 ABP",
"EULA": "最终用户许可协议",
"ABPCommercialIntroductionMessage": "预建应用程序模块、高级启动模板、快速应用程序开发工具、专业 UI 主题和高级支持。",
"MasteringAbpFrameworkEBook": "掌握 ABP 框架",
"MasteringTheABPFrameworkExplanation": "本书由 ABP 框架的创建者撰写,将帮助您全面了解框架和现代 Web 应用程序开发技术。",
"Speakers": "发言者",
"PreviousEvents": "以往活动",
"WatchTheEvent": "观看活动",
"RegisterNow": "现在注册",
"ThereIsNoEvent": "没有活动。",
"Events": "活动",
"Volo.AbpIo.Domain:080000": "已有一个名为 \"{Name}\" 的购买项目",
"MasteringAbpFrameworkBook": "书籍:掌握 ABP 框架",
"ABPIO-CommonPreferenceDefinition": "获取有关 ABP 平台的最新消息,例如新帖子、活动等。",
"BuiltOn": "建立在",
"AbpFramework": "ABP 框架",
"Volo.AbpIo.Domain:080001": "开始时间不能大于结束时间",
"Enum:BookType:0": "掌握 ABP 框架",
"Enum:PurchasePlatform:0": "亚马逊",
"Enum:PurchasePlatform:1": "Packt",
"Copied": "已复制!",
"CouldNotCopy": "无法复制!",
"CopyNotSupportByYourBrowser": "此功能在您使用的浏览器中不起作用。",
"City": "城市",
"ZipCode": "邮政编码",
"Address": "地址",
"Homepage": "主页",
"Year": "年份",
"Copyright": "版权所有 © <a href=\"{0}\" target=\"_blank\">{1}</a>",
"DomainDrivenDesign": "领域驱动设计",
"CrossCuttingConcerns": "横切关注点",
"AbpCommunity": "ABP 社区",
"Footer_GithubStarCount": "{0} GitHub Stars",
"Footer_NugetDownloadCount": "{0} NuGet 下载量",
"AbpDescription": "ABP 是一个开源应用程序框架,专注于基于 AspNet Core 的 Web 应用程序开发。 Don't repeat yourself,专注于自己的业务代码。",
"Layout_AbpFramework_MetaTitle": "ABP 框架 - 开源 Web 应用程序框架",
"CommunityTalks_CountdownDays": "天",
"CommunityTalks_CountdownHours": "小时",
"CommunityTalks_CountdownMinutes": "分钟",
"CommunityTalks_CountdownSeconds": "秒",
"SeePreviousEvents": "查看以前的活动",
"CookieConsent_Accept": "接受",
"CookieConsent_Explanation_1": "我们使用 cookie 为您提供在我们网站上的最佳体验。",
"CookieConsent_Explanation_2": "如果您继续浏览,则表示您同意我们的<a href=\"@Url.Page(\"/Privacy\")\">隐私政策和cookie 政策。</a>。",
"Error_Page_400_Title": "提供请求的页面时出现问题。",
"Error_Page_400_Description_1": "通常这意味着在处理您的请求时发生了意外错误。",
"Error_Page_400_Description_2": "如果问题仍然存在,请通过 <a href=\"mailto:info@abp.io\">info@abp.io</a> 联系我们,我们将帮助您开始。",
"GoToHomepage": "去首页",
"Error_Page_404_Title": "页面未找到!",
"Error_Page_404_Description_1": "这不是您要查找的网页。",
"Error_Page_500_Title": "好像出了什么问题!",
"Error_Page_500_Description_1": "我们会自动跟踪这些错误,但如果问题仍然存在,请随时 <br /> 联系我们。 与此同时,尝试刷新。",
"Error_Page_500_Description_2": "通过 <a href=\"mailto:info@abp.io\" target=\"_blank\">info@abp.io</a> 与我们联系。",
"Books": "书籍",
"ABPDiscordServer": "ABP Discord 服务器",
"ABPCommunityTalks": "ABP社区讲话",
"ABPCommunityPosts": "ABP社区文章",
"BuyAndGetMonths": "购买 12 个月,<span class=\"text-info\">获得 14 个月!</span>",
"GetYourDeal": "得到你的交易",
"BuyOrRenewLicense": "立即购买或续订许可证并额外获得 2 个月!",
"BuyOrRenewLicenseToGetExtra2Months": "立即购买或续订 ABP 商业许可证(适用于所有版本)并额外获得 2 个月!",
"HurryUp": "赶快下单!",
"LastDay": "活动截止日期: {0}",
"BuyNewLicenseBetweenDatesToGetBenefit": "在 {0} 和 {1} 之间购买一个新的许可证以获得额外 2 个月的收益!",
"CheckAllCommunityTalks": "检查所有社区帖子",
"ReadMore": "阅读更多",
"Post": "邮政",
"ExploreTheContentsCreatedByTheCoreABPTeamAndTheABPCommunity": "探索核心 ABP 团队和 ABP 社区创建的内容。",
"WelcomeFallCampaign": "欢迎秋季活动!",
"GiveAwayForNewPurchases": "新购买将赠送应用程序开发课堂培训!"
}
}

4
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hant.json

@ -39,6 +39,8 @@
"TrialLicensePeriodHasExpired": "您的試用許可期限已於 {0} 天前到期。",
"TrialLicensePeriodWillExpire": "您的試用許可期限將在 {0} 天后到期。",
"TrialLicensePeriodExpireToday": "您的試用許可期將於今天到期。",
"PurchaseNow": "現在買!"
"PurchaseNow": "現在買!",
"WelcomeFallCampaign": "欢迎秋季活动!",
"GiveAwayForNewPurchases": "新购买将赠送应用程序开发课堂培训!"
}
}

2
abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/zh-Hans.json

@ -1,5 +1,7 @@
{
"culture": "zh-Hans",
"texts": {
"AbpTitle": "ABP 框架 - 开源 Web 应用程序框架",
"AbpDescription": "ABP 是一个开源应用程序框架,专注于基于 AspNet Core 的 Web 应用程序开发。 Don't repeat yourself,专注于自己的业务代码。"
}
}

15
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json

@ -89,7 +89,7 @@
"Blogging": "التدوين",
"Identity": "هوية",
"IdentityServer": "خادم الهوية",
"Saas": "ساس",
"Saas": "البرمجيات كخدمة",
"LanguageManagement": "إدارة اللغة",
"TextTemplateManagement": "إدارة قالب النص",
"See All Modules": "انظر جميع الوحدات",
@ -178,7 +178,6 @@
"ChangingLicenseType": "هل يمكنني ترقية نوع الترخيص الخاص بي لاحقًا؟",
"ChangingLicenseTypeExplanation": "يمكنك الترقية إلى ترخيص أعلى عن طريق دفع الفرق خلال فترة الترخيص النشطة الخاصة بك. عند الترقية إلى خطة ترخيص أعلى ، تحصل على مزايا الخطة الجديدة ، لكن ترقية الترخيص لا تغير تاريخ انتهاء الترخيص. بالإضافة إلى ذلك ، يمكنك أيضًا إضافة مقاعد مطور جديدة إلى ترخيصك الحالي ، راجع \"كم عدد المطورين الذين يمكنهم العمل على ABP Commercial؟\"",
"LicenseExtendUpgradeDiff": "ما الفرق بين تمديد الترخيص والترقية؟",
"LicenseExtendUpgradeDiffExplanation": "<strong> التمديد: </ strong> من خلال تمديد/تجديد الترخيص الخاص بك ، ستستمر في الحصول على الدعم المتميز والحصول على التحديثات الرئيسية للوحدات والسمات. إلى جانب ذلك ، سوف تكون قادرًا على الاستمرار في إنشاء مشاريع جديدة. وستظل قادرًا على استخدام ABP Suite الذي يعمل على تسريع عملية التطوير. <hr /> <strong> الترقية: </ strong> من خلال ترقية ترخيصك ، ستقوم بالترقية إلى خطة ترخيص أعلى تتيح لك الحصول على مزايا إضافية . راجع <a href=\"/pricing\"> جدول مقارنة التراخيص </a> للتحقق من الاختلافات بين خطط الترخيص. <strong> من ناحية أخرى ، عند الترقية ، لن يتغير تاريخ انتهاء الترخيص! </ strong > لتمديد تاريخ انتهاء الترخيص الخاص بك ، تحتاج إلى تمديد الترخيص الخاص بك.",
"LicenseRenewalCost": "ما هي تكلفة تجديد الترخيص بعد عام واحد؟",
"LicenseRenewalCostExplanation": "معدل التجديد (التمديد) لجميع تراخيص ABP Commercial الدائمة هو {0} من قائمة أسعار التراخيص. سعر تجديد ترخيص الفريق القياسي هو $ {1} ورخصة العمل القياسية هي $ {2} وترخيص المؤسسة القياسي هو $ {3}. إذا كنت عميلاً بالفعل ، <a href='{4}' target='_blank'> سجّل الدخول إلى حسابك </a> لمراجعة أسعار التجديد المتاحة.",
"HowDoIRenewMyLicense": "كيف أجدد الترخيص الخاص بي؟",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> يمنحك تضمين شفرة مصدر الوحدة في الحل أقصى قدر من الحرية لتخصيص هذه الوحدة. ومع ذلك ، فلن يكون من الممكن ترقية الوحدة تلقائيًا عند إصدار إصدار جديد. </ p> <p> لا يتضمن أي من التراخيص رمز مصدر ABP Suite ، وهو أداة خارجية تنشئ رمزًا لك وتساعد لتطويرك. </ p> <p> راجع <a href=\"{0}\"> صفحة التسعير </a> للتعرف على الاختلافات الأخرى بين أنواع التراخيص. </ p>",
"ChangingDevelopers": "هل يمكنني تغيير المطورين المسجلين لمنظمتي في المستقبل؟",
"ChangingDevelopersExplanation": "بالإضافة إلى إضافة مطورين جدد إلى الترخيص الخاص بك ، يمكنك أيضًا تغيير المطورين الحاليين (يمكنك إزالة مطور وإضافة مطور جديد إلى نفس المقعد) دون أي تكلفة إضافية.",
"WhatHappensWhenLicenseEnds": "ماذا يحدث عندما تنتهي فترة الترخيص الخاصة بي؟",
"WhatHappensWhenLicenseEndsExplanation1": "نوع ترخيص ABP التجاري هو <a href=\"{0}\" target=\"_blank\"> ترخيص دائم </a>. بعد انتهاء صلاحية ترخيصك ، يمكنك الاستمرار في تطوير مشروعك. ولست ملزمًا بتجديد رخصتك. يأتي الترخيص الخاص بك مع تحديثات ودعم لمدة عام واحد خارج الصندوق. للاستمرار في تلقي الميزات الجديدة وتحسينات الأداء وإصلاحات الأخطاء والدعم والاستمرار في استخدام ABP Suite ، تأكد من تجديد خطتك كل عام. عند انتهاء صلاحية ترخيصك ، لن تتمكن من الحصول على المزيد من المزايا التالية ؛",
"WhatHappensWhenLicenseEndsExplanation2": "لا يمكنك إنشاء حلول جديدة باستخدام ABP Commercial ، ولكن يمكنك الاستمرار في تطوير تطبيقاتك الحالية إلى الأبد.",
"WhatHappensWhenLicenseEndsExplanation3": "ستتمكن من الحصول على تحديثات للوحدات النمطية والسمات الموجودة في الإصدار الرئيسي. على سبيل المثال؛ إذا كنت تستخدم v3.2.0 لإحدى الوحدات ، فلا يزال بإمكانك الحصول على تحديثات لـ v3.x.x (v3.3.0 ، v3.5.2 ... إلخ) من تلك الوحدة. لكن لا يمكنك الحصول على تحديثات للإصدار الرئيسي التالي (مثل v4.x و v5.x)",
"WhatHappensWhenLicenseEndsExplanation4": "لا يمكنك تثبيت وحدات وسمات جديدة مضافة إلى منصة ABP Commercial بعد انتهاء ترخيصك.",
"WhatHappensWhenLicenseEndsExplanation5": "لا يمكنك استخدام مجموعة ABP.",
"WhatHappensWhenLicenseEndsExplanation6": "لا يمكنك الحصول على <a href=\"{0}\"> الدعم المتميز </a> بعد الآن.",
"WhatHappensWhenLicenseEndsExplanation7": "يمكنك تمديد (تجديد) الترخيص الخاص بك إذا كنت ترغب في الاستمرار في الحصول على هذه المزايا. في حالة تمديد ترخيصك في غضون <strong> شهر واحد </ strong> بعد انتهاء صلاحية الترخيص ، فسيتم تطبيق الخصومات التالية: ترخيص الفريق {0}٪ خصم ، ترخيص تجاري {1}٪ خصم ، ترخيص Enterprise {2}٪ خصم .",
"WhenShouldIRenewMyLicense": "متى يجب أن أجدد رخصتي؟",
"WhenShouldIRenewMyLicenseExplanation": "إذا جددت ترخيصك في غضون <strong> شهر واحد </ strong> بعد انتهاء صلاحية الترخيص ، فسيتم تطبيق الخصومات التالية: ترخيص الفريق {0}٪ خصم ، ترخيص تجاري {1}٪ خصم ، ترخيص Enterprise {2}٪ خصم . إذا قمت بتجديد ترخيصك بعد <strong> شهر واحد </ strong> من تاريخ انتهاء صلاحية الترخيص ، فسيكون سعر التجديد هو نفسه سعر شراء الترخيص ولن يكون هناك خصم على التجديد.",
"TrialPlan": "هل لديك خطة تجريبية؟",
"TrialPlanExplanation": "في الوقت الحالي ، لا تمتلك ABP Commercial خطة تجريبية. بالنسبة لتراخيص الفريق ، نقدم ضمان استرداد الأموال لمدة 30 يومًا. يمكنك فقط طلب استرداد الأموال في أول 30 يومًا. بالنسبة إلى تراخيص الأعمال والمؤسسات ، نقدم استردادًا بنسبة 60٪ في غضون 30 يومًا. وذلك لأن تراخيص Business and Enterprise تتضمن كود المصدر الكامل لجميع الوحدات والسمات.",
"DoYouAcceptBankWireTransfer": "هل تقبل التحويل البنكي؟",
"DoYouAcceptBankWireTransferExplanation": "نعم ، نحن نقبل التحويل البنكي. <br /> بعد إرسال رسوم الترخيص عبر التحويل المصرفي ، أرسل لنا بريدًا إلكترونيًا على accounting@abp.io إيصالك ونوع الترخيص المطلوب. معلومات حسابنا المصرفي الدولي:",
"HowToUpgrade": "كيفية ترقية التطبيقات الموجودة عند توفر إصدار جديد؟",
@ -371,7 +361,6 @@
"StartTrial": "ابدأ الإصدار التجريبي المجاني",
"ContactUsIssues": "اتصل بنا إذا كان لديك أي مشاكل",
"TrialActivatedWarning": "عزيزي {0} ، يحق للمستخدم الحصول على فترة تجريبية مجانية واحدة فقط. لقد استخدمت بالفعل الفترة التجريبية الخاصة بك.",
"ActivationRequirement": "أنت على بعد خطوة واحدة من بدء الإصدار التجريبي المجاني. <br> لقد أرسلنا بريدًا إلكترونيًا إلى <b> {0} </b> لتنشيط حسابك. تحقق من صندوق الوارد الخاص بك/غير المرغوب فيه/صناديق البريد العشوائي!",
"SaveAndDownload": "حفظ وتنزيل",
"CompanyNameValidationMessage": "اسم الشركة طويل جدا!",
"AddressValidationMessage": "العنوان طويل جدا!",
@ -393,4 +382,4 @@
"RenewLicenseEarly": "إذا قمت بتجديد رخصتي في وقت مبكر ، هل سأحصل على السنة كاملة؟",
"RenewLicenseEarylExplanation": "عند تجديد الترخيص الخاص بك قبل تاريخ انتهاء الترخيص الخاص بك ، ستتم إضافة سنة واحدة إلى تاريخ انتهاء الترخيص الخاص بك. على سبيل المثال ، إذا انتهت صلاحية ترخيصك في {0} -06-06 وقمت بتجديده في {0} -01-01 ، فسيكون تاريخ انتهاء صلاحية الترخيص الجديد {1} -06-06."
}
}
}

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Mohu upgradovat svůj typ licence později?",
"ChangingLicenseTypeExplanation": "Můžete upgradovat na vyšší licenci zaplacením rozdílu během období aktivní licence. Když upgradujete na vyšší licenční plán, získáte výhody nového plánu, ale upgrade licence nezmění datum vypršení licence. Kromě toho můžete ke své stávající licenci přidat také nová vývojářská místa, viz \"Kolik vývojářů může pracovat na ABP Commercial?\"",
"LicenseExtendUpgradeDiff": "Jaký je rozdíl mezi rozšířením licence a upgradem?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Prodloužení:</strong> Prodloužením/obnovením licence budete i nadále získávat prémiovou podporu a důležité aktualizace pro moduly a motivy. Kromě toho budete moci pokračovat ve vytváření nových projektů. A stále budete moci používat ABP Suite, který urychlí váš vývoj.<hr/><strong>Upgrade:</strong> Upgradováním licence povýšíte na vyšší licenční plán, který vám umožní získat další výhody . Rozdíly mezi licenčními plány naleznete v <a href=\"/pricing\">tabulce porovnání licencí</a>.<strong>Na druhou stranu, když upgradujete, datum vypršení platnosti vaší licence se nezmění!</strong> >Chcete-li prodloužit datum ukončení licence, musíte prodloužit licenci.",
"LicenseRenewalCost": "Kolik stojí obnovení licence po 1 roce?",
"LicenseRenewalCostExplanation": "Cena za obnovení (prodloužení) standardní týmové licence je ${0}, standardní obchodní licence je ${1} a standardní podnikové licence je ${2}. Pokud již jste zákazníkem, <a href='{3}' target='_blank'>přihlaste se ke svému účtu</a> a zkontrolujte dostupné ceny za obnovení.",
"HowDoIRenewMyLicense": "Jak obnovím licenci?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Zahrnutí zdrojového kódu modulu do vašeho řešení vám dává maximální svobodu přizpůsobit daný modul. Poté však nebude možné modul automaticky upgradovat při vydání nové verze.</p><p>Žádná z licencí neobsahuje zdrojový kód ABP Suite, což je externí nástroj, který za vás generuje kód a pomáhá k vašemu vývoji.</p><p>Další rozdíly mezi typy licencí naleznete na stránce <a href=\"{0}\">ceny</a>.</p>",
"ChangingDevelopers": "Mohu v budoucnu změnit registrované vývojáře své organizace?",
"ChangingDevelopersExplanation": "Kromě přidání nových vývojářů do vaší licence můžete také změnit stávající vývojáře (můžete odebrat vývojáře a přidat nového na stejné místo) bez jakýchkoli dalších nákladů.",
"WhatHappensWhenLicenseEnds": "Co se stane, když moje licenční období skončí?",
"WhatHappensWhenLicenseEndsExplanation1": "Typ komerční licence ABP je <a href=\"{0}\" target=\"_blank\">trvalá licence</a>. Po vypršení platnosti licence můžete pokračovat ve vývoji projektu. A nejste povinni prodlužovat licenci. Vaše licence je dodávána s roční aktualizací a plánem podpory ihned po vybalení. Chcete-li i nadále získávat nové funkce, vylepšení výkonu, opravy chyb, podporu a nadále používat ABP Suite, musíte si obnovit licenci. Po vypršení platnosti vaší licence nezískáte následující výhody;",
"WhatHappensWhenLicenseEndsExplanation2": "Pomocí ABP Commercial nemůžete vytvářet nová řešení, ale můžete pokračovat ve vývoji svých stávajících aplikací navždy.",
"WhatHappensWhenLicenseEndsExplanation3": "Budete moci získat aktualizace pro moduly a motivy ve vaší MAJOR verzi (kromě RC nebo Preview verzí). Například; pokud používáte v3.2.0 modulu, stále můžete získat aktualizace pro v3.x.x (v3.3.0, v3.5.2... atd.) tohoto modulu. Nemůžete však získat aktualizace pro další hlavní verzi (jako v4.x, v5.x). Když například vypršela platnost vaší licence, nejnovější verze byla v4.4.3 a nejnovější verze náhledu byla v5.0.0-rc.2, máte přístup k verzi 4.X.X, ale nemáte přístup k verzi 5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Po skončení licence nemůžete instalovat nové moduly a motivy přidané do platformy ABP Commercial.",
"WhatHappensWhenLicenseEndsExplanation5": "Nemůžete používat ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Již nemůžete získat <a href=\"{0}\">prémiovou podporu</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Pokud chcete i nadále využívat tyto výhody, můžete svou licenci prodloužit (obnovit). Pokud prodloužíte licenci do <strong>1 měsíce</strong> po vypršení platnosti licence, budou uplatněny následující slevy: Týmová licence {0}% sleva, Obchodní licence {1}% sleva, Enterprise License {2}% sleva .",
"WhenShouldIRenewMyLicense": "Kdy bych měl obnovit licenci?",
"WhenShouldIRenewMyLicenseExplanation": "Pokud si licenci obnovíte do <strong>1 měsíce</strong> po vypršení platnosti licence, budou uplatněny následující slevy: Týmová licence {0}% sleva, Obchodní licence {1}% sleva, Enterprise License {2}% sleva . Pokud si licenci obnovíte <strong>1 měsíc</strong> po datu vypršení platnosti vaší licence, cena za obnovení bude stejná jako cena nákupu licence a na obnovení nebude poskytnuta žádná sleva.",
"TrialPlan": "Máte zkušební plán?",
"TrialPlanExplanation": "ABP Commercial zatím nemá zkušební plán. Pro týmové licence poskytujeme 30denní záruku vrácení peněz. Během prvních 30 dnů můžete pouze požádat o vrácení peněz. U licencí Business a Enterprise poskytujeme vrácení 60 % do 30 dnů. Je to proto, že licence Business a Enterprise obsahují úplný zdrojový kód všech modulů a témat.",
"DoYouAcceptBankWireTransfer": "Přijímáte bankovní převod?",
"DoYouAcceptBankWireTransferExplanation": "Ano, přijímáme bankovní převod.<br />Po zaslání licenčního poplatku bankovním převodem nám zašlete e-mail na adresu accounting@abp.io potvrzení a požadovaný typ licence. Informace o našem mezinárodním bankovním účtu:",
"HowToUpgrade": "Jak upgradovat stávající aplikace, když je k dispozici nová verze?",
@ -371,7 +361,6 @@
"StartTrial": "Spusťte bezplatnou zkušební verzi",
"ContactUsIssues": "Pokud máte nějaké problémy, kontaktujte nás",
"TrialActivatedWarning": "Vážený uživateli {0}, uživatel má nárok pouze na 1 bezplatné zkušební období. Zkušební období jste již využili.",
"ActivationRequirement": "Jste jeden krok od zahájení bezplatné zkušební verze.<br>Poslali jsme e-mail na adresu <b>{0}</b>, abychom aktivovali váš účet. Zkontrolujte svou doručenou poštu/nevyžádané/spamové schránky!",
"SaveAndDownload": "Uložit a stáhnout",
"CompanyNameValidationMessage": "Název společnosti je příliš dlouhý!",
"AddressValidationMessage": "Adresa je příliš dlouhá!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de-DE.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Kann ich meinen Lizenztyp später upgraden?",
"ChangingLicenseTypeExplanation": "Sie können auf eine höhere Lizenz upgraden, indem Sie die Differenz innerhalb Ihres aktiven Lizenzzeitraums bezahlen. Wenn Sie auf einen höheren Lizenzplan aktualisieren, profitieren Sie von den Vorteilen des neuen Plans, aber das Lizenz-Upgrade ändert das Ablaufdatum der Lizenz nicht. Außerdem können Sie Ihrer bestehenden Lizenz auch neue Entwicklerplätze hinzufügen, siehe \"Wie viele Entwickler können an der ABP Commercial arbeiten?\"",
"LicenseExtendUpgradeDiff": "Was ist der Unterschied zwischen Lizenzverlängerung und Upgrade?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Verlängern:</strong> Durch die Verlängerung/Erneuerung Ihrer Lizenz erhalten Sie weiterhin Premium-Support und wichtige Updates für die Module und Themen. Außerdem können Sie weiterhin neue Projekte erstellen. Und Sie können weiterhin die ABP Suite verwenden, was Ihre Entwicklung beschleunigt.<hr/><strong>Upgrade:</strong> Durch das Upgrade Ihrer Lizenz steigen Sie zu einem höheren Lizenzplan auf, mit dem Sie zusätzliche Vorteile erhalten . Sehen Sie sich die <a href=\"/pricing\">Lizenzvergleichstabelle</a> an, um die Unterschiede zwischen den Lizenzplänen zu überprüfen.<strong>Andererseits ändert sich das Ablaufdatum Ihrer Lizenz bei einem Upgrade nicht!</strong >Um das Enddatum Ihrer Lizenz zu verlängern, müssen Sie Ihre Lizenz verlängern.",
"LicenseRenewalCost": "Wie hoch sind die Kosten für die Lizenzverlängerung nach 1 Jahr?",
"LicenseRenewalCostExplanation": "Der Verlängerungspreis (Erweiterung) der Standard-Teamlizenz beträgt {0}$, die Standard-Business-Lizenz beträgt ${1} und die Standard-Enterprise-Lizenz beträgt ${2}. Wenn Sie bereits Kunde sind, <a href='{3}' target='_blank'>melden Sie sich in Ihrem Konto an</a>, um die verfügbaren Verlängerungspreise zu überprüfen.",
"HowDoIRenewMyLicense": "Wie erneuere ich meine Lizenz?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Das Einbinden des Quellcodes eines Moduls in Ihre Lösung gibt Ihnen die maximale Freiheit, dieses Modul anzupassen. Dann ist es jedoch nicht möglich, das Modul automatisch zu aktualisieren, wenn eine neue Version veröffentlicht wird.</p><p>Keine der Lizenzen enthält den Quellcode der ABP Suite, bei dem es sich um ein externes Tool handelt, das Code für Sie generiert und unterstützt zu Ihrer Entwicklung.</p><p>Weitere Unterschiede zwischen den Lizenztypen finden Sie auf der <a href=\"{0}\">Preisseite</a>.</p>",
"ChangingDevelopers": "Kann ich die registrierten Entwickler meiner Organisation in Zukunft ändern?",
"ChangingDevelopersExplanation": "Sie können nicht nur neue Entwickler zu Ihrer Lizenz hinzufügen, sondern auch die vorhandenen Entwickler ändern (Sie können einen Entwickler entfernen und einen neuen zum selben Arbeitsplatz hinzufügen) ohne zusätzliche Kosten.",
"WhatHappensWhenLicenseEnds": "Was passiert, wenn mein Lizenzzeitraum endet?",
"WhatHappensWhenLicenseEndsExplanation1": "Der kommerzielle ABP-Lizenztyp ist <a href=\"{0}\" target=\"_blank\">unbefristete Lizenz</a>. Nach Ablauf Ihrer Lizenz können Sie Ihr Projekt weiter entwickeln. Und Sie sind nicht verpflichtet, Ihre Lizenz zu erneuern. Ihre Lizenz wird standardmäßig mit einem einjährigen Update- und Supportplan geliefert. Um weiterhin neue Funktionen, Leistungsverbesserungen, Fehlerkorrekturen und Support zu erhalten und die ABP Suite weiterhin nutzen zu können, müssen Sie Ihre Lizenz erneuern. Wenn Ihre Lizenz abläuft, erhalten Sie die folgenden Vorteile nicht;",
"WhatHappensWhenLicenseEndsExplanation2": "Sie können mit dem ABP Commercial keine neuen Lösungen erstellen, aber Sie können Ihre bestehenden Anwendungen für immer weiterentwickeln.",
"WhatHappensWhenLicenseEndsExplanation3": "Sie können Updates für die Module und Themen Ihrer MAJOR-Version (außer RC- oder Preview-Versionen) erhalten. Beispielsweise; Wenn Sie v3.2.0 eines Moduls verwenden, können Sie immer noch Updates für v3.x.x (v3.3.0, v3.5.2... etc.) dieses Moduls erhalten. Sie können jedoch keine Updates für die nächste Hauptversion (wie v4.x, v5.x) erhalten. Wenn beispielsweise Ihre Lizenz abgelaufen ist, die neueste Version v4.4.3 und die neueste Vorschauversion v5.0.0-rc.2 war, können Sie auf v4.X.X zugreifen, aber nicht auf v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Sie können nach Ablauf Ihrer Lizenz keine neuen Module und Themen installieren, die der ABP Commercial-Plattform hinzugefügt wurden.",
"WhatHappensWhenLicenseEndsExplanation5": "Sie können die ABP-Suite nicht verwenden.",
"WhatHappensWhenLicenseEndsExplanation6": "Sie können den <a href=\"{0}\">Premium-Support</a> nicht mehr erhalten.",
"WhatHappensWhenLicenseEndsExplanation7": "Sie können Ihre Lizenz verlängern (erneuern), wenn Sie diese Vorteile weiterhin nutzen möchten. Wenn Sie Ihre Lizenz innerhalb von <strong>1 Monat</strong> nach Ablauf Ihrer Lizenz verlängern, werden die folgenden Rabatte gewährt: Team-Lizenz {0}% Rabatt, Business-Lizenz {1}% Rabatt, Enterprise-Lizenz {2}% Rabatt .",
"WhenShouldIRenewMyLicense": "Wann sollte ich meine Lizenz erneuern?",
"WhenShouldIRenewMyLicenseExplanation": "Wenn Sie Ihre Lizenz innerhalb von <strong>1 Monat</strong> nach Ablauf Ihrer Lizenz erneuern, werden die folgenden Rabatte gewährt: Team-Lizenz {0}% Rabatt, Business-Lizenz {1}% Rabatt, Enterprise-Lizenz {2}% Rabatt . Wenn Sie Ihre Lizenz <strong>1 Monat</strong> nach dem Ablaufdatum Ihrer Lizenz verlängern, entspricht der Verlängerungspreis dem Lizenzkaufpreis und es wird kein Rabatt auf Ihre Verlängerung gewährt.",
"TrialPlan": "Hast du einen Probeplan?",
"TrialPlanExplanation": "Derzeit hat ABP Commercial keinen Testplan. Für die Team-Lizenzen bieten wir eine 30-tägige Geld-zurück-Garantie. Sie können nur innerhalb der ersten 30 Tage eine Rückerstattung beantragen. Für die Business- und Enterprise-Lizenzen gewähren wir innerhalb von 30 Tagen eine Rückerstattung von 60 %. Dies liegt daran, dass Business- und Enterprise-Lizenzen den vollständigen Quellcode aller Module und Themes enthalten.",
"DoYouAcceptBankWireTransfer": "Akzeptieren Sie Banküberweisungen?",
"DoYouAcceptBankWireTransferExplanation": "Ja, wir akzeptieren Banküberweisungen.<br />Nachdem Sie die Lizenzgebühr per Banküberweisung gesendet haben, senden Sie uns Ihre Quittung und den gewünschten Lizenztyp per E-Mail an accounting@abp.io. Unsere internationale Bankverbindung:",
"HowToUpgrade": "Wie aktualisiere ich bestehende Anwendungen, wenn eine neue Version verfügbar ist?",
@ -371,7 +361,6 @@
"StartTrial": "Starten Sie meine kostenlose Testversion",
"ContactUsIssues": "Kontaktieren Sie uns, wenn Sie irgendwelche Probleme haben",
"TrialActivatedWarning": "Sehr geehrte(r) {0}, ein Nutzer hat nur 1 kostenlosen Testzeitraum. Sie haben Ihren Testzeitraum bereits genutzt.",
"ActivationRequirement": "Sie sind nur noch einen Schritt davon entfernt, Ihre kostenlose Testversion zu starten.<br>Wir haben eine E-Mail an <b>{0}</b> gesendet, um Ihr Konto zu aktivieren. Überprüfen Sie Ihren Posteingang/Junk/Spam-Ordner!",
"SaveAndDownload": "Speichern und herunterladen",
"CompanyNameValidationMessage": "Firmenname ist zu lang!",
"AddressValidationMessage": "Adresse ist zu lang!",

58
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json

@ -163,7 +163,7 @@
"AbpCommercialMetaTitle": "ABP Commercial - Complete Web Development Platform : {0} | ABP Commercial",
"AbpCommercialMetaDescription": "ABP Commercial is a set of pre-built application modules, rapid development tooling, UI themes and services built on top of the open-source ABP framework.",
"ABPCommercialExplanation": "ABP Commercial is a set of premium modules, tools, themes and services that are built on top of the open source <a target=\"_blank\" href=\"{0}\">ABP framework</a>. ABP Commercial is being developed and supported by the same team behind the ABP framework.",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> <a target=\"_blank\" href=\"{0}\">ABP framework</a> is a modular, themeable, micro-service compatible application development framework for ASP.NET Core. It provides a complete architecture and a strong infrastructure to let you focus on your own business code rather than repeating yourself for every new project. It is based on the best practices of software development and popular tools you already know. </p> <p> ABP framework is completely free, open source and community-driven. It also provides a free theme and some pre-built modules (e.g. identity management and tenant management).</p>",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> <a target=\"_blank\" href=\"{0}\">ABP framework</a> is a modular, themeable, microservice compatible application development framework for ASP.NET Core. It provides a complete architecture and a strong infrastructure to let you focus on your own business code rather than repeating yourself for every new project. It is based on the best practices of software development and popular tools you already know. </p> <p> ABP framework is completely free, open source and community-driven. It also provides a free theme and some pre-built modules (e.g. identity management and tenant management).</p>",
"VisitTheFrameworkVSCommercialDocument": "Visit the following link for more information <a href=\"{0}\" target=\"_blank\"> {1} </a>",
"ABPCommercialFollowingBenefits": "ABP Commercial adds the following benefits on top of the ABP framework:",
"Professional": "Professional",
@ -183,7 +183,7 @@
"ChangingLicenseType": "Can I upgrade my license type later?",
"ChangingLicenseTypeExplanation": "You can upgrade to a higher license by paying the difference within your active license period. When you upgrade to a higher license plan, you get the benefits of the new plan, but the license upgrade does not change the license expiry date. Besides, you can also add new developer seats to your existing license, check out the \"How many developers can work on the ABP Commercial?\" FAQ.",
"LicenseExtendUpgradeDiff": "What is the difference between license extend and upgrade?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development. When you extend your license, 1 year is added to your license expiry date. <hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. Check out the <a href=\"/pricing\">license comparison table</a> to see the differences between the license plans. <strong>On the other hand, when you upgrade, your license expiry date will not change!</strong> To extend your license end date, you need to extend your license.",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major or minor updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development. When you extend your license, 1 year is added to your license expiry date. <hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. Check out the <a href=\"/pricing\">license comparison table</a> to see the differences between the license plans. <strong>On the other hand, when you upgrade, your license expiry date will not change!</strong> To extend your license end date, you need to extend your license.",
"LicenseRenewalCost": "What is the license renewal cost after 1 year?",
"LicenseRenewalCostExplanation": "The renewal (extend) price of the standard Team License is ${0}, standard Business License is ${1} and standard Enterprise License is ${2}. If you are already a customer, <a href='{3}' target='_blank'>log into your account</a> to review the current renewal pricing.",
"HowDoIRenewMyLicense": "How do I renew my license?",
@ -198,7 +198,7 @@
"WhatHappensWhenLicenseEnds": "What happens when my license period ends?",
"WhatHappensWhenLicenseEndsExplanation1": "The ABP Commercial license is a <a href=\"{0}\" target=\"_blank\">perpetual license</a>. After your license expires, you can continue developing your project. And you are not obliged to renew your license. Your license comes with a one-year update and support plan out of the box. In order to continue to get new features, performance enhancements, bug fixes, support and continue using ABP Suite, you need to renew your license. When your license expires, you will not get the following benefits:",
"WhatHappensWhenLicenseEndsExplanation2": "You can not create new solutions using the ABP Commercial, but you can continue developing your existing applications forever.",
"WhatHappensWhenLicenseEndsExplanation3": "You will be able to get updates for the modules and themes within your MAJOR version (except RC or Preview versions). For example: if you are using v3.2.0 of a module, you can still get updates for v3.x.x (v3.3.0, v3.5.2... etc.) of that module. But you cannot get updates for the next major version (like v4.x, v5.x). For example, when your license expired, the latest release was v4.4.3 and the latest preview version was v5.0.0-rc.2, you would be able to access the v4.X.X but you wouldn't be access the v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation3": "You will be able to get updates for the modules and themes within your MINOR version (except RC or Preview versions). For example: if you are using v3.2.0 of a module, you can still get updates for v3.2.x (v3.2.1, v3.2.5... etc.) of that module. But you cannot get updates for the next major or minor version (like v3.3.0, v3.3.3, 4.x.x.. etc.). For example, when your license expired, the latest release was v4.4.3, and later, it published both 4.4.4 version and 4.5.0 version, you would be able to access the v4.4.X but you wouldn't be access the v4.5.X.",
"WhatHappensWhenLicenseEndsExplanation4": "You can not install new modules and themes added to the ABP Commercial platform after your license ends.",
"WhatHappensWhenLicenseEndsExplanation5": "You can not use the ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "You can not get the <a href=\"{0}\">premium support</a> anymore.",
@ -207,7 +207,7 @@
"WhenShouldIRenewMyLicense": "When should I renew my license?",
"WhenShouldIRenewMyLicenseExplanation": "If you renew your license within <strong>1 month</strong> after your license expires, the following discounts will be applied: Team License {0}% discount, Business License {1}% discount, Enterprise License {2}% discount. However, if you renew your license after <strong>1 month</strong> since the expiry date of your license, the renewal price will be the same as the license purchase price and there will be no discount on your renewal.",
"TrialPlan": "Do you have a trial plan?",
"TrialPlanExplanation": "For now, ABP Commercial doesn't have a trial plan. For the Team licenses we provide 30 days money back guarantee. You can just request a refund in the first 30 days. For the Business and Enterprise licenses, we provide 60% refund in 30 days. This is because Business and Enterprise licenses include the full source code of all the modules and the themes.",
"TrialPlanExplanation": "It has a 14 days trial period for the ABP Commercial team license. For more information visit <a href={0} target='_blank'>here</a>. Furthermore, for the Team licenses we provide a 30 days money-back guarantee. You can just request a refund in the first 30 days. For the Business and Enterprise licenses, we provide 60% refund in 30 days. This is because Business and Enterprise licenses include the full source code of all the modules and the themes.",
"DoYouAcceptBankWireTransfer": "Do you accept bank wire transfers?",
"DoYouAcceptBankWireTransferExplanation": "Yes, we accept bank wire transfers.<br/>After sending the license fee via bank transfer, send your receipt and requested license type to accounting@abp.io.<br/>Our international bank account information:",
"HowToUpgrade": "How to upgrade existing applications when a new version is available?",
@ -218,13 +218,13 @@
"UISupport": "Which UI frameworks are supported?",
"Supported": "Supported",
"UISupportExplanation": "ABP Framework itself is UI framework agnostic and can work with any UI framework. However, startup templates, module UIs and themes were not implemented for all UI frameworks. Check out the <a href=\"{0}\">Getting Started document</a> for the up-to-date list of UI options.",
"MicroserviceSupport": "Does it support the micro-service architecture?",
"MicroserviceSupportExplanation1": "One of the major goals of the ABP framework is to provide a convenient infrastructure to create micro-service solutions. Check out the <a href=\"{0}\">Micro-service Architecture document</a> to understand how it helps with creating micro-service systems.",
"MicroserviceSupportExplanation2": "All the ABP Commercial modules are designed to support micro-service deployment scenarios (with its own API and database) by following the <a href=\"{0}\">Module Development Best Practices document</a>.",
"MicroserviceSupportExplanation3": "We provide a sample <a href=\"{0}\">Micro-service Demo Solution</a> that demonstrates a micro-service architecture implementation to help you create your own solution.",
"MicroserviceSupportExplanation4": "So, the short answer is: \"<strong>Yes, it supports micro-service architecture</strong>\".",
"MicroserviceSupportExplanation5": "However, a micro-service system is a solution and every solution will have different requirements, network topology, communication scenarios, authentication possibilities, database separation/sharing decisions, runtime configurations, 3rd party system integrations and many more.",
"MicroserviceSupportExplanation6": "The ABP Framework and ABP Commercial provide infrastructure for micro-service scenarios, micro-service compatible modules, samples and documentation to help you build your own solution. But don't expect to directly download your dream solution pre-built for you. You will need to understand it and bring specific parts together based on your requirements.",
"MicroserviceSupport": "Does it support the microservice architecture?",
"MicroserviceSupportExplanation1": "One of the major goals of the ABP framework is to provide a convenient infrastructure to create microservice solutions. Check out the <a href=\"{0}\">Microservice Architecture document</a> to understand how it helps with creating microservice systems.",
"MicroserviceSupportExplanation2": "All the ABP Commercial modules are designed to support microservice deployment scenarios (with its own API and database) by following the <a href=\"{0}\">Module Development Best Practices document</a>.",
"MicroserviceSupportExplanation3": "We provide a sample <a href=\"{0}\">Microservice Demo Solution</a> that demonstrates a microservice architecture implementation to help you create your own solution.",
"MicroserviceSupportExplanation4": "So, the short answer is: \"<strong>Yes, it supports microservice architecture</strong>\".",
"MicroserviceSupportExplanation5": "However, a microservice system is a solution and every solution will have different requirements, network topology, communication scenarios, authentication possibilities, database sharding/partitioning decisions, runtime configurations, 3rd party system integrations and many more.",
"MicroserviceSupportExplanation6": "The ABP Framework and ABP Commercial provide infrastructure for microservice scenarios, microservice compatible modules, samples and documentation to help you build your own solution. But don't expect to directly download your dream solution pre-built for you. You will need to understand it and bring specific parts together based on your requirements.",
"WhereCanIDownloadSourceCode": "Where can I download the source-code?",
"WhereCanIDownloadSourceCodeExplanation": "You can download the source code of all the ABP modules, Angular packages and themes via ABP Suite or ABP CLI. Check out <a href=\"{0}\">How to download the source-code?</a>",
"ComputerLimitation": "How many computers can a developer login when developing ABP?",
@ -374,9 +374,9 @@
"CompanySize": "Company Size",
"Next": "Next",
"StartTrial": "Start My Free Trial",
"ContactUsIssues": "Contact us if you have any issues",
"ContactUsQuestions": "Contact us if you have any questions",
"TrialActivatedWarning": "A user is entitled to have only 1 free trial period. You already used your trial period.",
"ActivationRequirement": "You are one step away from starting your free trial.<br>We have sent an email to <b>{0}</b> to activate your account. Check your inbox/junk/spam boxes!",
"ActivationRequirement": "You are last one step away from starting your trial.<br>After checking your information, we will activate your license. Once your license is activated, we will send an email to <b>{0}</b>. Don't worry, this process won't take long!",
"SaveAndDownload": "Save And Download",
"CompanyNameValidationMessage": "Company name is too long!",
"AddressValidationMessage": "Address is too long!",
@ -400,6 +400,7 @@
"UserDeveloperDescription": "The 'Developers' can write code in the ABP Commercial projects, download the ABP sample projects, and ask questions on the support website. On the other hand, the 'Developers' cannot manage this organization.",
"RemoveCurrentUserFromOrganizationWarningMessage": "You are removing yourself from your own organization. You will no longer be able to manage this organization, do you confirm?",
"RenewExistingOrganizationOrCreateNewOneMessage": "You can renew the license of your organization(s) by clicking the below \"Extend Now\" button(s) and thus you can extend the license expiration date by 1 year. If you continue to checkout, you will have a new organization. Do you want to continue with a new organization?",
"PurchaseTrialOrganizationOrCreateNewOneMessage": "You have a trial license. To purchase your trial license click Purchase Now button. If you continue to checkout, you will have a new organization. Do you want to continue with a new organization?",
"ExtendNow": "Extend Now",
"CreateNewOrganization": "Create a new organization",
"RenewLicenseEarly": "If I renew my license early, will I get the full year?",
@ -442,7 +443,7 @@
"EasilyInstallAndUpgrade": "Easily install and upgrade",
"SupportForum": "Support Forum",
"TrustedBy": "Trusted By",
"OurPricing": "Our <span class=\"gradient-commercial\">Pricing</span",
"OurPricing": "Our <span class=\"gradient-commercial\">Pricing</span>",
"Plans": "Plans",
"NameSurname": "Name Surname",
"Unspecified": "Unspecified",
@ -531,10 +532,11 @@
"Pricing_Page_Hint14": "Team and Business licenses have incident/question count limit. If you buy additional developer licenses, your incident limit increases by {0} (for the Team License) or {1} (for the Business License) per developer.",
"Pricing_Page_Hint15": "Only Enterprise License includes private support. You can send e-mail directly to the ABP Team or ask questions on support.abp.io with private ticket option. The private tickets are not visible to the public.",
"Pricing_Page_Hint16": "You can download the source-code of all ABP themes. You may want to add the source code to your solution to make radical changes or just keep it for yourself for security reasons.",
"Pricing_Page_Testimonial_1": "ABP Commercial allowed SC Ventures to deliver a bank-grade multi-tenant silo-database SaaS platform in 9 months to support the accounts receivable / accounts payable supply chain financing of significant value invoices from multiple integrated anchors. The modularity of ABP made it possible for the team to deliver in record time, pass all VAPT, and deploy the containerized micro-services stack via full CI/CD and pipelines into production.",
"Pricing_Page_Testimonial_1": "ABP Commercial allowed SC Ventures to deliver a bank-grade multi-tenant silo-database SaaS platform in 9 months to support the accounts receivable / accounts payable supply chain financing of significant value invoices from multiple integrated anchors. The modularity of ABP made it possible for the team to deliver in record time, pass all VAPT, and deploy the containerized microservices stack via full CI/CD and pipelines into production.",
"Pricing_Page_Testimonial_2": "We are seeing the value of using ABP Commercial to reduce the overhead of custom development projects. And the team is able to unify the code pattern in different project streams. We see more potential in the framework for us to build new features faster than before. We trust we will be constantly seeing the value of leveraging ABP Commercial.",
"Pricing_Page_Testimonial_3": "We love ABP. We don't have to write everything from scratch. We start from out-of-the-box features and just focus on what we really need to write. Also, ABP is well-architected and the code is high quality with fewer bugs. If we would have to write everything we needed on our own, we might have to spend years. Once more things we like is that the new version, or issue fixing, or improvement come out very soon every other week. We don't wait too long.",
"Pricing_Page_Testimonial_4": "ABP Commercial is a fantastic product would recommend. Commercial products to market for our customers in a single configurable platform. The jump start that the framework and tooling provide any team is worth every cent. ABP Commercial was the best fit for our needs.",
"Pricing_Page_Testimonial_5": "ABP Framework is not only a framework, but it is also a guide for project development/management, because it provides DDD, GenericRepository, DI, Microservice, and Modularity training. Even if you are not going to use the framework itself, you can develop yourself with docs.abp.io which is well and professionally prepared (OpenIddict, Redis, Quartz etc.). Because many things are pre-built, it shortens project development time significantly (Such as login page, exception handling, data filtering, seeding, audit logging, localization, auto API controller etc.). As an example from our application, I have used Local Event Bus for stock control. So, I am able to manage order movements by writing stock handler. It is wonderful not to lose time for CreationTime, CreatorId. They are being filled automatically.",
"AbpBookDownloadArea_ClaimYourEBook": "Claim your <span class='gradient-framework'>Mastering ABP Framework</span> E-Book",
"AddMemberModal_Warning_1": "If the <strong>username</strong> you are trying to add doesn't exist in the system, please ask your team member to register on <a href='{0}/Account/Register'>{0}</a> and share the username of his/her account with you.",
"MyOrganizations_Detail_WelcomeMessage": "Welcome to your organization, {0}",
@ -602,6 +604,9 @@
"TrainingDetailsHeaderInfo_TrainingHour": "{0} hour(s)",
"Trainings_Content": "Content of Training",
"Trial_Page_StartYourFreeTrial": "Start Your <span class=\"gradient-commercial\">Free Trial</span>",
"TrialLicenseFeatures": "You'll be able to benefit from all ABP commercial features",
"TrialPeriodDays": "You'll have a {0} days Team License",
"TrialForumSupportIncident": "You'll have {0} forum support incidents",
"Contact_Page_Title": "Contact with ABP Development Team",
"Contact_Page_Description": "Contact with ABP Development team, if you need any help or share your thoughts and opinions! ABP Support Team is ready to help.",
"Demo_Page_Title": "Create a Demo",
@ -629,10 +634,10 @@
"DeveloperPrice": "Developer Price",
"AdditionalDeveloperPaymentInfoSection_AdditionalDevelopers": "{0} <small>developers</small>",
"LicenseRemainingDays": "for <span> {0} </span> days",
"ExtendPaymentInfoSection_Description": "By extending/renewing your license, you will continue to get <a href=\"{0}\" target=\"_blank\">premium support</a>. You will also be able to get major updates for modules and themes. You will be able to continue creating new projects. And you will still be able to use <a href=\"{1}\" target=\"_blank\">ABP Suite</a> which speeds up your development.",
"ExtendPaymentInfoSection_Description": "By extending/renewing your license, you will continue to get <a href=\"{0}\" target=\"_blank\">premium support</a>. You will also be able to get major or minor updates for modules and themes. You will be able to continue creating new projects. And you will still be able to use <a href=\"{1}\" target=\"_blank\">ABP Suite</a> which speeds up your development.",
"LicenseRenewalPrice": "License renewal price",
"LicensePrice": "License Price",
"TrialLicensePaymentInfoSection_Description": "<strong>Purchase license:</strong> By purchasing a license, you will continue to get <a href=\"{0}\" target=\"_blank\" rel=\"noopener\">premium support</a>. You will also be able to get major updates for modules and themes. You will be able to continue creating new projects. And you will still be able to use <a href=\"{1}\" target=\"_blank\" rel=\"noopener\">ABP Suite</a> which speeds up your development.<br>See the <a href=\"{2}\" target=\"_blank\" rel=\"noopener\">license comparison table</a> to check the differences between the license types.",
"TrialLicensePaymentInfoSection_Description": "<strong>Purchase license:</strong> By purchasing a license, you will continue to get <a href=\"{0}\" target=\"_blank\" rel=\"noopener\">premium support</a>. You will also be able to get major or minor updates for modules and themes. You will be able to continue creating new projects. And you will still be able to use <a href=\"{1}\" target=\"_blank\" rel=\"noopener\">ABP Suite</a> which speeds up your development.<br>See the <a href=\"{2}\" target=\"_blank\" rel=\"noopener\">license comparison table</a> to check the differences between the license types.",
"SelectTargetLicense": "Select Target License",
"UpgradePaymentInfoSection_ExtendMyLicenseForOneYear": "Yes, extend my license expiration date for 1 year.",
"UpgradePaymentInfoSection_WantToExtendLicense": "Do you want to extend your license for {0} more year(s)?",
@ -656,7 +661,7 @@
"Landing_Page_ChatModule": "Chat",
"Landing_Page_DocsModule": "Docs",
"Landing_Page_FileManagementModule": "Docs",
"Landing_Page_CustomerStory_1": "ABP Commercial allowed SC Ventures to deliver a bank-grade multi-tenant silo-database SaaS platform in 9 months to support the accounts receivable / accounts payable supply chain financing of significant value invoices from multiple integrated anchors. The modularity of ABP made it possible for the team to deliver in record time, pass all VAPT, and deploy the containerized micro-services stack via full CI/CD and pipelines into production.",
"Landing_Page_CustomerStory_1": "ABP Commercial allowed SC Ventures to deliver a bank-grade multi-tenant silo-database SaaS platform in 9 months to support the accounts receivable / accounts payable supply chain financing of significant value invoices from multiple integrated anchors. The modularity of ABP made it possible for the team to deliver in record time, pass all VAPT, and deploy the containerized microservices stack via full CI/CD and pipelines into production.",
"Landing_Page_CustomerStory_2": "We are seeing the value of using ABP Commercial to reduce the overhead of custom development projects. And the team is able to unify the code pattern in different project streams. We see more potential in the framework for us to build new features faster than before. We trust we will be constantly seeing the value of leveraging ABP Commercial.",
"Landing_Page_CustomerStory_3": "We love ABP. We don't have to write everything from scratch. We start from out-of-the-box features and just focus on what we really need to write. Also, ABP is well-architected and the code is high quality with fewer bugs. If we would have to write everything we needed on our own, we might have to spend years. Once more things we like is that the new version, or issue fixing, or improvement come out very soon\n every other week. We don't wait too long.",
"Landing_Page_CustomerStory_4": "ABP Commercial is a fantastic product would recommend. Commercial products to market for our customers in a single configurable platform. The jump start that the framework and tooling provide any team is worth every cent. ABP Commercial was the best fit for our needs.",
@ -723,6 +728,21 @@
"Landing_Page_PaymentModuleDescription_1": "Provides integration for different payment gateways.",
"Landing_Page_PaymentModuleDescription_2": "This module provides integration for payment gateways, so you can easily get payment from your customers.",
"Landing_Page_PaymentModuleDescription_3": "This module supports the following payment gateways",
"Welcome_Page_UseSameCredentialForCommercialWebsites": "Use the same credentials for both <a href=\"https://commercial.abp.io\" class=\"text-primary\">commercial.abp.io</a> and <a href=\"https://support.abp.io\" class=\"text-primary\">support.abp.io</a>."
"Welcome_Page_UseSameCredentialForCommercialWebsites": "Use the same credentials for both <a href=\"https://commercial.abp.io\" class=\"text-primary\">commercial.abp.io</a> and <a href=\"https://support.abp.io\" class=\"text-primary\">support.abp.io</a>.",
"WatchCrudPagesVideo": "Watch the \"Creating CRUD Pages with ABP Suite\" Video!",
"WatchGeneratingFromDatabaseVideo": "Watch the \"ABP Suite: Generating CRUD Pages From Existing Database Tables\" Video!",
"WatchTakeCloserLookVideo": "Watch the \"Take a closer look at the code generation: ABP Suite\" Video!",
"ConfirmedEmailAddressRequiredToStartTrial": "You should have a confirmed email address in order to start a trial license.",
"EmailVerificationMailNotSent": "Email verification mail couldn't send.",
"GetConfirmationEmail": "<a href=\"javascript:void(0);\" id=\"{0}\">Click here to get a confirmation email</a> if you haven't got it before.",
"WhichLicenseTypeYouAreInterestedIn": "Which license type you are interested in?",
"DontTakeOurWordForIt": "Don't take our word for it...",
"ReadAbpCommercialUsersWantYouToKnow": "Read what ABP Commercial users want you to know",
"Testimonial_ShortDescription_1": "The modularity of ABP made it possible for the team to deliver in time.",
"Testimonial_ShortDescription_2": "Build new features faster than before.",
"Testimonial_ShortDescription_3": "We start from out-of-the-box features and just focus on what we really need to write.",
"Testimonial_ShortDescription_4": "ABP Commercial was the best fit for our needs.",
"OnlineReviewersOnAbpCommercial": "Online Reviews on ABP Commercial",
"SeeWhatToldAboutAbpCommercial": "See what has been told about ABP Commercial and write your thoughts if you want."
}
}

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "¿Puedo actualizar mi tipo de licencia más tarde?",
"ChangingLicenseTypeExplanation": "Puede actualizar a una licencia superior pagando la diferencia dentro de su período de licencia activa. Cuando actualiza a un plan de licencia superior, obtiene los beneficios del nuevo plan, pero la actualización de la licencia no cambia la fecha de vencimiento de la licencia. Además, también puede agregar nuevos puestos de desarrollador a su licencia existente, consulte \"¿Cuántos desarrolladores pueden trabajar en ABP Commercial?\"",
"LicenseExtendUpgradeDiff": "¿Cuál es la diferencia entre ampliar y actualizar la licencia?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development.<hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. See the <a href=\"/pricing\">license comparison table</a> to check the differences between the license plans.<strong>On the other hand, when you upgrade, your license expiry date will not change!</strong>To extend your license end date, you need to extend your license.",
"LicenseRenewalCost": "¿Cuál es el costo de renovación de la licencia después de 1 año?",
"LicenseRenewalCostExplanation": "El precio de renovación (extensión) de la Licencia de equipo estándar es de $ {0}, la Licencia comercial estándar es de $ {1} y la Licencia empresarial estándar es de $ {2}. Si ya es cliente, <a href='{3}' target='_blank'> inicie sesión en su cuenta </a> para revisar los precios de renovación disponibles.",
"HowDoIRenewMyLicense": "¿Cómo renuevo mi licencia?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> Incluir el código fuente de un módulo en su solución le brinda la máxima libertad para personalizar ese módulo. Sin embargo, entonces no será posible actualizar automáticamente el módulo cuando se lance una nueva versión. </p> <p> Ninguna de las licencias incluye el código fuente de ABP Suite, que es una herramienta externa que genera código para usted y ayuda para su desarrollo. </p> <p> Consulte <a href=\"{0}\"> la página de precios </a> para ver otras diferencias entre los tipos de licencia. </p>",
"ChangingDevelopers": "¿Puedo cambiar los desarrolladores registrados de mi organización en el futuro?",
"ChangingDevelopersExplanation": "Además de agregar nuevos desarrolladores a su licencia, también puede cambiar los desarrolladores existentes (puede eliminar un desarrollador y agregar uno nuevo al mismo puesto) sin ningún costo adicional.",
"WhatHappensWhenLicenseEnds": "¿Qué sucede cuando finaliza mi período de licencia?",
"WhatHappensWhenLicenseEndsExplanation1": "El tipo de licencia comercial de ABP es <a href=\"{0}\" target=\"_blank\"> licencia perpetua </a>. Una vez que expire su licencia, puede continuar desarrollando su proyecto. Y no está obligado a renovar su licencia. Su licencia viene con una actualización de un año y un plan de soporte listo para usar. Para continuar obteniendo nuevas funciones, mejoras de rendimiento, corrección de errores, soporte y continuar usando ABP Suite, necesita renovar su licencia. Cuando su licencia expire, no obtendrá los siguientes beneficios;",
"WhatHappensWhenLicenseEndsExplanation2": "No puede crear nuevas soluciones utilizando ABP Commercial, pero puede continuar desarrollando sus aplicaciones existentes para siempre.",
"WhatHappensWhenLicenseEndsExplanation3": "Podrá obtener actualizaciones para los módulos y temas dentro de su versión PRINCIPAL (excepto las versiones RC o Preview). Por ejemplo; Si está utilizando la v3.2.0 de un módulo, aún puede obtener actualizaciones para la v3.x.x (v3.3.0, v3.5.2 ... etc.) de ese módulo. Pero no puede obtener actualizaciones para la próxima versión principal (como v4.x, v5.x). Por ejemplo, cuando su licencia expiró, la última versión fue la v4.4.3 y la última versión preliminar fue la v5.0.0-rc.2, puede acceder a la v4.X.X pero no a la v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "No puede instalar nuevos módulos y temas agregados a la plataforma comercial de ABP después de que finalice su licencia.",
"WhatHappensWhenLicenseEndsExplanation5": "No puede utilizar ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Ya no puede obtener la <a href=\"{0}\"> asistencia premium </a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Puede extender (renovar) su licencia si desea continuar recibiendo estos beneficios. Si extiende su licencia dentro de <strong> 1 mes </strong> después de que caduque su licencia, se aplicarán los siguientes descuentos: Licencia de equipo {0}% de descuento, Licencia comercial {1}% de descuento, Licencia empresarial {2}% de descuento .",
"WhenShouldIRenewMyLicense": "¿Cuándo debo renovar mi licencia?",
"WhenShouldIRenewMyLicenseExplanation": "Si renueva su licencia dentro de <strong> 1 mes </strong> después de su vencimiento, se aplicarán los siguientes descuentos: Licencia de equipo {0}% de descuento, Licencia comercial {1}% de descuento, Licencia empresarial {2}% de descuento . Si renueva su licencia <strong> 1 mes </strong> después de la fecha de vencimiento de su licencia, el precio de renovación será el mismo que el precio de compra de la licencia y no habrá descuento en su renovación.",
"TrialPlan": "¿Tiene un plan de prueba?",
"TrialPlanExplanation": "Por ahora, ABP Commercial no tiene un plan de prueba. Para las licencias Team ofrecemos 30 días de garantía de devolución de dinero. Solo puede solicitar un reembolso en los primeros 30 días. Para las licencias Business y Enterprise, proporcionamos un reembolso del 60% en 30 días. Esto se debe a que las licencias Business y Enterprise incluyen el código fuente completo de todos los módulos y temas.",
"DoYouAcceptBankWireTransfer": "¿Aceptan transferencia bancaria?",
"DoYouAcceptBankWireTransferExplanation": "Sí, aceptamos transferencia bancaria. <br /> Después de enviar la tarifa de la licencia mediante transferencia bancaria, envíenos un correo electrónico a accounting@abp.io con su recibo y el tipo de licencia solicitada. Nuestra información de cuenta bancaria internacional:",
"HowToUpgrade": "¿Cómo actualizar las aplicaciones existentes cuando hay una nueva versión disponible?",
@ -371,7 +361,6 @@
"StartTrial": "Iniciar mi prueba gratuita",
"ContactUsIssues": "Contáctanos si tienes algún problema",
"TrialActivatedWarning": "Estimado {0}, un usuario tiene derecho a tener solo 1 período de prueba gratuito. Ya usaste tu período de prueba.",
"ActivationRequirement": "Está a un paso de comenzar su prueba gratuita. <br> Hemos enviado un correo electrónico a <b> {0} </b> para activar su cuenta. ¡Revise su bandeja de entrada/basura/buzones de correo no deseado!",
"SaveAndDownload": "Guardar y descargar",
"CompanyNameValidationMessage": "¡El nombre de la empresa es demasiado largo!",
"AddressValidationMessage": "¡La dirección es demasiado larga!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Voinko muuttaa lisenssityyppiäni tulevaisuudessa?",
"ChangingLicenseTypeExplanation": "Voit aina lisätä uusia kehittäjiä samaan lisenssityyppiin. Katso myös \"Kuinka monta kehittäjää voi työskennellä ABP Commercialilla?\". Voit myös päivittää korkeampaan lisenssiin maksamalla lasketun hintaeron. Kun päivität korkeampaan lisenssisuunnitelmaan, saat uuden suunnitelman edut, mutta lisenssin päivitys ei muuta lisenssin voimassaolon päättymispäivää.",
"LicenseExtendUpgradeDiff": "Mitä eroa on lisenssin laajennuksella ja päivityksellä?",
"LicenseExtendUpgradeDiffExplanation": "<strong> Extension: </strong> en prolongeant/renouvelant votre licence, vous continuerez à bénéficier d'une assistance premium et à des mises à jour majeures pour les modules et les thèmes. De plus, vous pourrez continuer à créer de nouveaux projets. Et vous pourrez toujours utiliser ABP Suite, ce qui accélère votre développement.<hr/><strong> Mise à niveau: </strong> En mettant à jour votre licence, vous passerez à un plan de licence supérieur qui vous permettra d’obtenir des avantages supplémentaires . Consultez le <a href=\"/pricing\"> tableau de comparaison des licences </a> pour vérifier les différences entre les plans de licence.<strong> En revanche, lors de la mise à niveau, la date d'expiration de votre licence ne changera pas! </strong> Pour prolonger la date de fin de votre licence, vous devez prolonger votre licence.",
"LicenseRenewalCost": "Mitkä ovat lisenssin uusimiskustannukset vuoden kuluttua?",
"LicenseRenewalCostExplanation": "Standardin tiimilisenssin uusimishinta (pidennys) on ${0}, normaalin yrityslisenssin hinta on {1} $ ja normaalin yrityslisenssin hinta on {2} $. Jos olet jo asiakas, <a href='{3}' target='_blank'>kirjaudu sisään tiliisi</a> ja tarkista käytettävissä olevat uusimishinnat.",
"HowDoIRenewMyLicense": "Kuinka uusin lisenssin?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> Moduulin lähdekoodin sisällyttäminen ratkaisuun antaa sinulle maksimaalisen vapauden mukauttaa moduulia. Tällöin moduulia ei voida päivittää automaattisesti, kun uusi versio julkaistaan.</p><p> Mikään lisensseistä ei sisällä ABP Suiten lähdekoodia, joka on ulkoinen työkalu, joka tuottaa koodia sinulle ja auttaa kehitykseen.</p><p> Katso muita lisenssityyppien eroja <a href=\"{0}\"> hinnoittelusivulta </a>.</p>",
"ChangingDevelopers": "Voinko muuttaa organisaationi rekisteröityneitä kehittäjiä tulevaisuudessa?",
"ChangingDevelopersExplanation": "Uusien kehittäjien lisäämisen lisenssiin lisäksi voit myös muuttaa olemassa olevia kehittäjiä (voit poistaa kehittäjän ja lisätä uuden samalle paikalle) ilman lisäkustannuksia.",
"WhatHappensWhenLicenseEnds": "Mitä tapahtuu, kun lisenssikauteni päättyy?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP Commercial -lisenssityyppi on <a href=\"{0}\" target=\"_blank\">ikuinen lisenssi</a>. Kun lisenssisi vanhenee, voit jatkaa projektisi kehittämistä. Et ole velvollinen uusimaan ajokorttiasi. Lisenssi sisältää yhden vuoden päivityksen ja tukisuunnitelman. Jotta voit jatkaa uusien ominaisuuksien, suorituskyvyn parannuksia, virheenkorjauksia, tukea ja jatkaa ABP Suiten käyttöä, sinun on uusittava lisenssisi. Kun lisenssisi vanhenee, et saa seuraavia etuja;",
"WhatHappensWhenLicenseEndsExplanation2": "Et voi luoda uusia ratkaisuja ABP Commercial -sovelluksella, mutta voit jatkaa olemassa olevien sovellusten kehittämistä ikuisesti.",
"WhatHappensWhenLicenseEndsExplanation3": "Voit saada päivityksiä moduuleille ja teemoille MAJOR-versiosi sisällä (paitsi RC- tai esikatseluversiot). Esimerkiksi; jos käytät moduulin v3.2.0:aa, voit silti saada päivityksiä kyseisen moduulin v3.x.x:lle (v3.3.0, v3.5.2... jne.). Mutta et voi saada päivityksiä seuraavaan pääversioon (kuten v4.x, v5.x). Esimerkiksi kun lisenssisi vanheni, viimeisin versio oli v4.4.3 ja uusin esikatseluversio v5.0.0-rc.2, voit käyttää v4.X.X, mutta et voi käyttää v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Et voi asentaa uusia moduuleja ja teemoja, jotka on lisätty ABP Commercial -alustalle käyttöoikeuden päättymisen jälkeen.",
"WhatHappensWhenLicenseEndsExplanation5": "Et voi käyttää ABP Suitea.",
"WhatHappensWhenLicenseEndsExplanation6": "Et voi enää saada <a href=\"{0}\"> premium-tukea </a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Voit jatkaa (uusia) lisenssiäsi, jos haluat jatkaa näiden etujen saamista. Jos jatkat lisenssiäsi <strong>1 kuukauden</strong> kuluessa lisenssin vanhenemisesta, seuraavat alennukset sovelletaan: Team License {0}% alennus, Business License {1}% alennus, Enterprise License {2}% alennus .",
"WhenShouldIRenewMyLicense": "Milloin minun pitäisi uusia lisenssini?",
"WhenShouldIRenewMyLicenseExplanation": "Jos uusit lisenssisi <strong>1 kuukauden</strong> kuluessa lisenssin vanhenemisesta, seuraavat alennukset sovelletaan: Team License {0} % alennus, Business License {1} % alennus, Enterprise License {2} % alennus . Jos uusit lisenssisi <strong>1 kuukauden</strong> lisenssin päättymispäivän jälkeen, uusimishinta on sama kuin lisenssin ostohinta, eikä uusimisesta saa alennusta.",
"TrialPlan": "Onko sinulla kokeilusuunnitelma?",
"TrialPlanExplanation": "Toistaiseksi ABP Commercialilla ei ole kokeilusuunnitelmaa. Joukkueen lisensseille tarjoamme 30 päivän rahanpalautustakuun. Voit vain pyytää hyvitystä 30 ensimmäisen päivän aikana. Yritys- ja yrityslisensseille hyvitämme 60% 30 päivässä. Tämä johtuu siitä, että yritys- ja yrityslisenssit sisältävät kaikkien moduulien ja teemojen täydellisen lähdekoodin.",
"DoYouAcceptBankWireTransfer": "Hyväksytkö pankkisiirron?",
"DoYouAcceptBankWireTransferExplanation": "Kyllä, hyväksymme pankkisiirron.<br />Kun olet lähettänyt lisenssimaksun pankkisiirrolla, lähetä meille sähköposti osoitteeseen accounting@abp.io kuittisi ja pyydetty lisenssityyppi. Kansainväliset pankkitilitietomme:",
"HowToUpgrade": "Kuinka päivittää olemassa olevia sovelluksia, kun uusi versio on saatavilla?",
@ -371,7 +361,6 @@
"StartTrial": "Aloita ilmainen kokeilujaksoni",
"ContactUsIssues": "Ota yhteyttä, jos sinulla on ongelmia",
"TrialActivatedWarning": "Hyvä {0}, käyttäjällä on oikeus vain yhteen ilmaiseen kokeilujaksoon. Olet jo käyttänyt kokeilujaksosi.",
"ActivationRequirement": "Olet yhden askeleen päässä ilmaisen kokeilujakson aloittamisesta.<br>Olemme lähettäneet sähköpostin osoitteeseen <b>{0}</b> tilisi aktivoimiseksi. Tarkista saapuneet/roskaposti-/roskapostilaatikot!",
"SaveAndDownload": "Tallenna ja lataa",
"CompanyNameValidationMessage": "Yrityksen nimi on liian pitkä!",
"AddressValidationMessage": "Osoite on liian pitkä!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Puis-je changer mon type de licence à l'avenir?",
"ChangingLicenseTypeExplanation": "Vous pouvez toujours ajouter de nouveaux développeurs dans votre même type de licence. Voir aussi \"Combien de développeurs peuvent travailler sur l'ABP Commercial?\". Vous pouvez également passer à une licence supérieure en payant la différence de prix calculée. Lorsque vous passez à un plan de licence supérieur, vous bénéficiez des avantages du nouveau plan, mais la mise à niveau de la licence ne modifie pas la date d'expiration de la licence.",
"LicenseExtendUpgradeDiff": "Quelle est la différence entre l'extension de licence et la mise à niveau?",
"LicenseExtendUpgradeDiffExplanation": "<strong> Extension: </strong> en prolongeant/renouvelant votre licence, vous continuerez à bénéficier d'une assistance premium et à des mises à jour majeures pour les modules et les thèmes. De plus, vous pourrez continuer à créer de nouveaux projets. Et vous pourrez toujours utiliser ABP Suite, ce qui accélère votre développement.<hr/><strong> Mise à niveau: </strong> En mettant à jour votre licence, vous passerez à un plan de licence supérieur qui vous permettra d’obtenir des avantages supplémentaires . Consultez le <a href=\"/pricing\"> tableau de comparaison des licences </a> pour vérifier les différences entre les plans de licence.<strong> En revanche, lors de la mise à niveau, la date d'expiration de votre licence ne changera pas! </strong> Pour prolonger la date de fin de votre licence, vous devez prolonger votre licence.",
"LicenseRenewalCost": "Quel est le coût du renouvellement de la licence après 1 an?",
"LicenseRenewalCostExplanation": "Le prix de renouvellement (extension) de la licence d'équipe standard est de {0} $, la licence d'entreprise standard est de {1} $ et la licence d'entreprise standard est de {2} $. Si vous êtes déjà client, <a href='{3}' target='_blank'>connectez-vous à votre compte</a> pour consulter les tarifs de renouvellement disponibles.",
"HowDoIRenewMyLicense": "Comment renouveler ma licence?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> L'inclusion du code source d'un module dans votre solution vous donne le maximum de liberté pour personnaliser ce module. Cependant, il ne sera pas possible de mettre à jour automatiquement le module lorsqu'une nouvelle version est publiée.</p><p> Aucune des licences n'inclut le code source d'ABP Suite, qui est un outil externe qui génère du code pour vous et vous aide à votre développement.</p><p> Consultez la <a href=\"{0}\"> page de tarification </a> pour connaître les autres différences entre les types de licence.</p>",
"ChangingDevelopers": "Puis-je changer les développeurs enregistrés de mon organisation à l'avenir?",
"ChangingDevelopersExplanation": "En plus d'ajouter de nouveaux développeurs à votre licence, vous pouvez également modifier les développeurs existants (vous pouvez supprimer un développeur et en ajouter un nouveau sur le même siège) sans aucun coût supplémentaire.",
"WhatHappensWhenLicenseEnds": "Que se passe-t-il à la fin de ma période de licence?",
"WhatHappensWhenLicenseEndsExplanation1": "Le type de licence commerciale ABP est <a href=\"{0}\" target=\"_blank\">licence perpétuelle</a>. Une fois votre licence expirée, vous pouvez continuer à développer votre projet. Et vous n'êtes pas obligé de renouveler votre licence. Votre licence est livrée avec une mise à jour d'un an et un plan d'assistance prêt à l'emploi. Pour continuer à obtenir de nouvelles fonctionnalités, des améliorations de performances, des corrections de bogues, une assistance et continuer à utiliser ABP Suite, vous devez renouveler votre licence. À l'expiration de votre licence, vous ne bénéficierez pas des avantages suivants :",
"WhatHappensWhenLicenseEndsExplanation2": "Vous ne pouvez pas créer de nouvelles solutions en utilisant ABP Commercial, mais vous pouvez continuer à développer vos applications existantes pour toujours.",
"WhatHappensWhenLicenseEndsExplanation3": "Vous pourrez obtenir des mises à jour pour les modules et les thèmes de votre version MAJEURE (à l'exception des versions RC ou Preview). Par example; si vous utilisez la v3.2.0 d'un module, vous pouvez toujours obtenir des mises à jour pour la v3.x.x (v3.3.0, v3.5.2... etc.) de ce module. Mais vous ne pouvez pas obtenir de mises à jour pour la prochaine version majeure (comme v4.x, v5.x). Par exemple, lorsque votre licence a expiré, la dernière version était la v4.4.3 et la dernière version d'aperçu était la v5.0.0-rc.2, vous pouvez accéder à la v4.X.X mais vous ne pouvez pas accéder à la v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Vous ne pouvez pas installer de nouveaux modules et thèmes ajoutés à la plate-forme ABP Commercial après la fin de votre licence.",
"WhatHappensWhenLicenseEndsExplanation5": "Vous ne pouvez pas utiliser ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Vous ne pouvez plus bénéficier de l '<a href=\"{0}\"> assistance premium </a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Vous pouvez prolonger (renouveler) votre licence si vous souhaitez continuer à bénéficier de ces avantages. Si vous prolongez votre licence dans un délai de <strong>1 mois</strong> après l'expiration de votre licence, les remises suivantes seront appliquées : licence d'équipe {0} % de remise, licence d'entreprise {1} % de remise, licence d'entreprise {2} % de remise .",
"WhenShouldIRenewMyLicense": "Quand dois-je renouveler ma licence?",
"WhenShouldIRenewMyLicenseExplanation": "Si vous renouvelez votre licence dans un délai de <strong>1 mois</strong> après l'expiration de votre licence, les remises suivantes seront appliquées : licence d'équipe {0} % de remise, licence d'entreprise {1} % de remise, licence d'entreprise {2} % de remise . Si vous renouvelez votre licence <strong>1 mois</strong> après la date d'expiration de votre licence, le prix de renouvellement sera le même que le prix d'achat de la licence et il n'y aura aucune remise sur votre renouvellement.",
"TrialPlan": "Avez-vous un plan d'essai?",
"TrialPlanExplanation": "Pour l'instant, ABP Commercial n'a pas de plan d'essai. Pour les licences Team, nous offrons une garantie de remboursement de 30 jours. Vous pouvez simplement demander un remboursement dans les 30 premiers jours. Pour les licences Business et Enterprise, nous fournissons un remboursement de 60% en 30 jours. En effet, les licences Business et Enterprise incluent le code source complet de tous les modules et thèmes.",
"DoYouAcceptBankWireTransfer": "Acceptez-vous les virements bancaires?",
"DoYouAcceptBankWireTransferExplanation": "Oui, nous acceptons les virements bancaires.<br />Après avoir envoyé les frais de licence par virement bancaire, envoyez-nous par e-mail à accounting@abp.io votre reçu et le type de licence demandé. Nos coordonnées bancaires internationales :",
"HowToUpgrade": "Comment mettre à niveau des applications existantes lorsqu'une nouvelle version est disponible?",
@ -371,7 +361,6 @@
"StartTrial": "Commencer mon essai gratuit",
"ContactUsIssues": "Contactez-nous si vous avez des problèmes",
"TrialActivatedWarning": "Cher {0}, un utilisateur n'a droit qu'à une seule période d'essai gratuite. Vous avez déjà utilisé votre période d'essai.",
"ActivationRequirement": "Il ne vous reste plus qu'une étape pour commencer votre essai gratuit.<br>Nous avons envoyé un e-mail à <b>{0}</b> pour activer votre compte. Vérifiez votre boîte de réception/boîtes de courrier indésirable/spam !",
"SaveAndDownload": "Enregistrer et télécharger",
"CompanyNameValidationMessage": "Le nom de l'entreprise est trop long !",
"AddressValidationMessage": "L'adresse est trop longue !",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "क्या मैं भविष्य में अपना लाइसेंस प्रकार बदल सकता हूं?",
"ChangingLicenseTypeExplanation": "आप अपने समान लाइसेंस प्रकार में हमेशा नए डेवलपर्स को जोड़ सकते हैं। यह भी देखें \"एबीपी कमर्शियल पर कितने डेवलपर काम कर सकते हैं?\"। आप गणना मूल्य अंतर का भुगतान करके एक उच्च लाइसेंस के लिए भी अपग्रेड कर सकते हैं। जब आप उच्च लाइसेंस योजना में अपग्रेड करते हैं, तो आपको नई योजना का लाभ मिलता है, लेकिन लाइसेंस अपग्रेड लाइसेंस की समाप्ति की तारीख को नहीं बदलता है।",
"LicenseExtendUpgradeDiff": "लाइसेंस विस्तार और उन्नयन के बीच क्या अंतर है?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development.<hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. See the <a href=\"/pricing\">license comparison table</a> to check the differences between the license plans.<strong>On the other hand, when you upgrade, your license expiry date will not change!</strong>To extend your license end date, you need to extend your license.",
"LicenseRenewalCost": "1 वर्ष के बाद लाइसेंस नवीनीकरण लागत क्या है?",
"LicenseRenewalCostExplanation": "मानक टीम लाइसेंस का नवीनीकरण (विस्तार) मूल्य ${0} है, मानक व्यवसाय लाइसेंस ${1} है और मानक एंटरप्राइज़ लाइसेंस ${2} है। यदि आप पहले से ही एक ग्राहक हैं, तो उपलब्ध नवीनीकरण मूल्य निर्धारण की समीक्षा के लिए <a href='{3}' target='_blank'>अपने खाते में लॉग इन करें</a>।",
"HowDoIRenewMyLicense": "मैं अपने लाइसेंस का नवीनीकरण कैसे करूँ?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>अपने समाधान में मॉड्यूल के स्रोत कोड को शामिल करने से आपको उस मॉड्यूल को अनुकूलित करने की अधिकतम स्वतंत्रता मिलती है। हालांकि, नया संस्करण जारी होने पर मॉड्यूल को स्वचालित रूप से अपग्रेड करना संभव नहीं होगा।</p><p>किसी भी लाइसेंस में एबीपी सूट स्रोत कोड शामिल नहीं है, जो एक बाहरी उपकरण है जो आपके लिए कोड उत्पन्न करता है और सहायता करता है। आपके विकास के लिए।</p><p>लाइसेंस प्रकारों के बीच अन्य अंतरों के लिए <a href=\"{0}\">मूल्य निर्धारण</a> पृष्ठ देखें।</p>",
"ChangingDevelopers": "क्या मैं भविष्य में अपने संगठन के पंजीकृत डेवलपर्स को बदल सकता हूं?",
"ChangingDevelopersExplanation": "अपने लाइसेंस में नए डेवलपर्स को जोड़ने के अलावा, आप मौजूदा डेवलपर्स को भी बदल सकते हैं (आप एक डेवलपर को हटा सकते हैं और एक ही सीट पर एक नया जोड़ सकते हैं) बिना किसी अतिरिक्त लागत के।",
"WhatHappensWhenLicenseEnds": "मेरे लाइसेंस की अवधि समाप्त होने पर क्या होता है?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP वाणिज्यिक लाइसेंस प्रकार <a href=\"{0}\" target=\"_blank\">सतत लाइसेंस</a> है। आपके लाइसेंस की समय सीमा समाप्त होने के बाद, आप अपने प्रोजेक्ट को विकसित करना जारी रख सकते हैं। और आप अपने लाइसेंस को नवीनीकृत करने के लिए बाध्य नहीं हैं। आपका लाइसेंस एक साल के अपडेट और आउट ऑफ द बॉक्स के साथ आता है। नई सुविधाओं, प्रदर्शन में सुधार, बग फिक्स, समर्थन प्राप्त करने और एबीपी सूट का उपयोग जारी रखने के लिए, आपको अपने लाइसेंस को नवीनीकृत करने की आवश्यकता है। जब आपका लाइसेंस समाप्त हो जाता है, तो आपको निम्नलिखित लाभ नहीं मिलेंगे;",
"WhatHappensWhenLicenseEndsExplanation2": "आप एबीपी कमर्शियल का उपयोग करके नए समाधान नहीं बना सकते हैं, लेकिन आप अपने मौजूदा अनुप्रयोगों को हमेशा के लिए विकसित कर सकते हैं।",
"WhatHappensWhenLicenseEndsExplanation3": "आप अपने MAJOR संस्करण (RC या पूर्वावलोकन संस्करणों को छोड़कर) के भीतर मॉड्यूल और थीम के लिए अपडेट प्राप्त करने में सक्षम होंगे। उदाहरण के लिए; यदि आप किसी मॉड्यूल के v3.2.0 का उपयोग कर रहे हैं, तो भी आप उस मॉड्यूल के v3.x.x (v3.3.0, v3.5.2... आदि) के लिए अपडेट प्राप्त कर सकते हैं। लेकिन आप अगले प्रमुख संस्करण (जैसे v4.x, v5.x) के लिए अपडेट प्राप्त नहीं कर सकते। उदाहरण के लिए, जब आपका लाइसेंस समाप्त हो गया था, तो नवीनतम रिलीज़ v4.4.3 था और नवीनतम पूर्वावलोकन संस्करण v5.0.0-rc.2 था, आप v4.X.X तक पहुंच सकते हैं लेकिन आप v5.X.X तक नहीं पहुंच सकते।",
"WhatHappensWhenLicenseEndsExplanation4": "आप अपने लाइसेंस समाप्त होने के बाद एबीपी वाणिज्यिक मंच में जोड़े गए नए मॉड्यूल और थीम स्थापित नहीं कर सकते।",
"WhatHappensWhenLicenseEndsExplanation5": "आप एबीपी सूट का उपयोग नहीं कर सकते।",
"WhatHappensWhenLicenseEndsExplanation6": "अब आपको <a href=\"{0}\">प्रीमियम सहायता</a> नहीं मिल सकती है।",
"WhatHappensWhenLicenseEndsExplanation7": "यदि आप इन लाभों को प्राप्त करना जारी रखना चाहते हैं तो आप अपने लाइसेंस का विस्तार (नवीनीकरण) कर सकते हैं। यदि आप अपने लाइसेंस की समय सीमा समाप्त होने के बाद <strong>1 महीने</strong> के भीतर अपना लाइसेंस बढ़ाते हैं, तो निम्नलिखित छूट लागू होंगी: टीम लाइसेंस {0}% छूट, व्यवसाय लाइसेंस {1}% छूट, एंटरप्राइज़ लाइसेंस {2}% छूट .",
"WhenShouldIRenewMyLicense": "मुझे अपना लाइसेंस कब नवीनीकृत करना चाहिए?",
"WhenShouldIRenewMyLicenseExplanation": "यदि आप अपने लाइसेंस की समय सीमा समाप्त होने के बाद <strong>1 महीने</strong> के भीतर अपना लाइसेंस नवीनीकृत करते हैं, तो निम्नलिखित छूटें लागू होंगी: टीम लाइसेंस {0}% छूट, व्यवसाय लाइसेंस {1}% छूट, एंटरप्राइज़ लाइसेंस {2}% छूट . यदि आप अपने लाइसेंस की समाप्ति तिथि के बाद <strong>1 महीने</strong> अपने लाइसेंस का नवीनीकरण करते हैं, तो नवीनीकरण मूल्य लाइसेंस खरीद मूल्य के समान होगा और आपके नवीनीकरण पर कोई छूट नहीं होगी।",
"TrialPlan": "क्या आपके पास एक परीक्षण योजना है?",
"TrialPlanExplanation": "अभी के लिए, एबीपी कमर्शियल में ट्रायल प्लान नहीं है। टीम लाइसेंस के लिए हम 30 दिन की मनी बैक गारंटी प्रदान करते हैं। आप पहले 30 दिनों में धनवापसी का अनुरोध कर सकते हैं। बिजनेस और एंटरप्राइज लाइसेंस के लिए, हम 30 दिनों में 60% रिफंड प्रदान करते हैं। ऐसा इसलिए है क्योंकि व्यवसाय और एंटरप्राइज़ लाइसेंस में सभी मॉड्यूल और थीम का पूर्ण स्रोत कोड शामिल है।",
"DoYouAcceptBankWireTransfer": "क्या आप बैंक वायर ट्रांसफर स्वीकार करते हैं?",
"DoYouAcceptBankWireTransferExplanation": "हां, हम बैंक वायर ट्रांसफर स्वीकार करते हैं।<br />बैंक हस्तांतरण के माध्यम से लाइसेंस शुल्क भेजने के बाद, हमें अपनी रसीद और अनुरोधित लाइसेंस के प्रकार accounting@abp.io पर ईमेल करें। हमारे अंतरराष्ट्रीय बैंक खाते की जानकारी:",
"HowToUpgrade": "नया संस्करण उपलब्ध होने पर मौजूदा एप्लिकेशन को कैसे अपग्रेड किया जाए?",
@ -371,7 +361,6 @@
"StartTrial": "मेरा नि:शुल्क परीक्षण प्रारंभ करें",
"ContactUsIssues": "अगर आपको कोई समस्या है तो हमसे संपर्क करें",
"TrialActivatedWarning": "प्रिय {0}, एक उपयोगकर्ता केवल 1 नि:शुल्क परीक्षण अवधि का हकदार है। आप पहले ही अपनी परीक्षण अवधि का उपयोग कर चुके हैं।",
"ActivationRequirement": "आप अपना नि:शुल्क परीक्षण शुरू करने से एक कदम दूर हैं।<br>हमने आपका खाता सक्रिय करने के लिए <b>{0}</b> को एक ईमेल भेजा है। अपना इनबॉक्स/जंक/स्पैम बॉक्स चेक करें!",
"SaveAndDownload": "सहेजें और डाउनलोड करें",
"CompanyNameValidationMessage": "कंपनी का नाम बहुत लंबा है!",
"AddressValidationMessage": "पता बहुत लंबा है!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Frissíthetem a licenctípusomat később?",
"ChangingLicenseTypeExplanation": "Magasabb licencre frissíthet, ha az aktív licencidőszakon belül kifizeti a különbözetet. Ha magasabb licenccsomagra frissít, megkapja az új csomag előnyeit, de a licencfrissítés nem módosítja a licenc lejárati dátumát. Emellett új fejlesztői helyeket is hozzáadhat meglévő licencéhez, lásd \"Hány fejlesztő dolgozhat az ABP Commercialon?\"",
"LicenseExtendUpgradeDiff": "Mi a különbség a licenc kiterjesztése és a frissítés között?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Meghosszabbítás:</strong> A licenc meghosszabbításával/megújításával továbbra is prémium támogatást kap, valamint jelentős frissítéseket kap a modulokhoz és témákhoz. Emellett folytathatja új projektek létrehozását. És továbbra is használhatja az ABP Suite-ot, amely felgyorsítja a fejlesztést.<hr/><strong>Frissítés:</strong> Licencének frissítésével magasabb licenccsomagra lép fel, amely további előnyöket biztosít. . Tekintse meg a <a href=\"/pricing\">licenc-összehasonlító táblázatot</a>, hogy ellenőrizze a licenccsomagok közötti különbségeket.<strong>Másrészt, ha frissít, a licenc lejárati dátuma nem változik!</strong> >A licenc lejárati dátumának meghosszabbításához meg kell hosszabbítania az engedélyt.",
"LicenseRenewalCost": "Mennyibe kerül a licenc megújítása 1 év után?",
"LicenseRenewalCostExplanation": "A normál csapatlicenc megújítási (meghosszabbítási) ára {0} USD, a normál üzleti licencé {1} USD, a normál vállalati licencé pedig {2} USD. Ha Ön már ügyfél, <a href='{3}' target='_blank'>jelentkezzen be fiókjába</a>, hogy áttekintse az elérhető megújítási árakat.",
"HowDoIRenewMyLicense": "Hogyan újíthatom meg a jogosítványomat?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Ha egy modul forráskódját belefoglalja a megoldásba, akkor maximális szabadságot biztosít a modul testreszabásához. Ekkor azonban nem lehet automatikusan frissíteni a modult, amikor új verzió jelenik meg.</p><p>A licencek egyike sem tartalmazza az ABP Suite forráskódját, amely egy külső eszköz, amely kódot generál Önnek és segít az Ön fejlesztéséhez.</p><p>A licenctípusok közötti egyéb különbségekért tekintse meg az <a href=\"{0}\">árazási</a> oldalt.</p>",
"ChangingDevelopers": "Módosíthatom a szervezetem regisztrált fejlesztőit a jövőben?",
"ChangingDevelopersExplanation": "Amellett, hogy új fejlesztőket ad hozzá a licenchez, további költségek nélkül módosíthatja a meglévő fejlesztőket is (eltávolíthat egy fejlesztőt, és hozzáadhat egy újat ugyanarra a helyre).",
"WhatHappensWhenLicenseEnds": "Mi történik, ha lejár a jogosítványom?",
"WhatHappensWhenLicenseEndsExplanation1": "Az ABP Kereskedelmi licenc típusa <a href=\"{0}\" target=\"_blank\">örök licenc</a>. A licenc lejárta után folytathatja a projekt fejlesztését. És nem köteles megújítani az engedélyt. Licencéhez egyéves frissítés és támogatási terv tartozik. Ha továbbra is új funkciókat, teljesítményjavításokat, hibajavításokat, támogatást szeretne kapni, és továbbra is használni szeretné az ABP Suite szolgáltatást, meg kell újítania licencét. Ha az engedélye lejár, nem részesül a következő előnyökben;",
"WhatHappensWhenLicenseEndsExplanation2": "Az ABP Commercial használatával nem hozhat létre új megoldásokat, de örökké folytathatja meglévő alkalmazásai fejlesztését.",
"WhatHappensWhenLicenseEndsExplanation3": "You will be able to get updates for the modules and themes within your MAJOR version (except RC or Preview versions). For example; if you are using v3.2.0 of a module, you can still get updates for v3.x.x (v3.3.0, v3.5.2... etc.) of that module. But you cannot get updates for the next major version (like v4.x, v5.x). For example, when your license expired, the latest release was v4.4.3 and the latest preview version was v5.0.0-rc.2, you can access the v4.X.X but you cannot access the v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "A licenc lejárta után nem telepíthet új modulokat és témákat az ABP Commercial platformhoz.",
"WhatHappensWhenLicenseEndsExplanation5": "Az ABP Suite nem használható.",
"WhatHappensWhenLicenseEndsExplanation6": "Többé nem veheti igénybe a <a href=\"{0}\">prémium támogatást</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Meghosszabbíthatja (megújíthatja) jogosítványát, ha továbbra is igénybe kívánja venni ezeket az előnyöket. Ha a licenc lejártát követő <strong>1 hónapon belül</strong> meghosszabbítja licencét, a következő kedvezmények érvényesülnek: Csapatengedély: {0}% kedvezmény, Üzleti licenc {1}% kedvezmény, Vállalati licenc {2}% kedvezmény .",
"WhenShouldIRenewMyLicense": "Mikor kell megújítanom a jogosítványomat?",
"WhenShouldIRenewMyLicenseExplanation": "Ha a licenc lejártát követő <strong>1 hónapon belül</strong> megújítja a licencet, a következő kedvezmények érvényesek: Csapatlicenc {0}% kedvezmény, Üzleti licenc {1}% kedvezmény, Vállalati licenc {2}% kedvezmény . Ha megújítja a licencet <strong>1 hónappal</strong> a licenc lejárati dátuma után, a megújítási ár megegyezik a licenc vásárlási árával, és nem jár kedvezmény a megújításra.",
"TrialPlan": "Van próbaterv?",
"TrialPlanExplanation": "Az ABP Commercial egyelőre nem rendelkezik próbatervvel. A Team licencekre 30 napos pénzvisszafizetési garanciát vállalunk. Az első 30 napban csak visszatérítést kérhet. A Business és Enterprise licencek esetén 60% visszatérítést biztosítunk 30 napon belül. Ennek az az oka, hogy a Business és Enterprise licencek tartalmazzák az összes modul és téma teljes forráskódját.",
"DoYouAcceptBankWireTransfer": "Elfogadja a banki átutalást?",
"DoYouAcceptBankWireTransferExplanation": "Igen, elfogadunk banki átutalást.<br />Miután banki átutalással elküldte a licencdíjat, küldje el nekünk e-mailben az accounting@abp.io címre nyugtát és a kért engedély típusát. Nemzetközi bankszámlánk információi:",
"HowToUpgrade": "Hogyan lehet frissíteni a meglévő alkalmazásokat, ha új verzió érhető el?",
@ -371,7 +361,6 @@
"StartTrial": "Indítsa el az ingyenes próbaverziómat",
"ContactUsIssues": "Ha bármilyen problémája van, lépjen kapcsolatba velünk",
"TrialActivatedWarning": "Kedves {0}! Egy felhasználó csak 1 ingyenes próbaidőszakra jogosult. Már felhasználta a próbaidőszakot.",
"ActivationRequirement": "Már egy lépésre van az ingyenes próbaidőszak megkezdésétől.<br>E-mailt küldtünk a(z) <b>{0}</b> címre, hogy aktiváljuk fiókját. Ellenőrizze a beérkező levelek/levélszemét/levélszemét-fiókokat!",
"SaveAndDownload": "Mentés és letöltés",
"CompanyNameValidationMessage": "A cég neve túl hosszú!",
"AddressValidationMessage": "A cím túl hosszú!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Get ég uppfært tegund leyfis síðar?",
"ChangingLicenseTypeExplanation": "Þú getur uppfært í hærra leyfi með því að greiða mismuninn innan virka leyfistímabilsins. Þegar þú uppfærir í hærri leyfisáætlun færðu ávinninginn af nýju áætluninni en uppfærsla leyfisins breytir ekki gildistíma leyfis. Að auki geturðu einnig bætt nýjum þróunarstólum við núverandi leyfi, sjá \"Hversu margir verktaki geta unnið á ABP auglýsingunni? \"",
"LicenseExtendUpgradeDiff": "Hver er munurinn á lengingu leyfis og uppfærslu?",
"LicenseExtendUpgradeDiffExplanation": "<strong> Framlenging: </strong> Með því að framlengja/endurnýja leyfið þitt muntu halda áfram að fá aukagjaldstuðning og fá stórar uppfærslur fyrir einingarnar og þemu. Að auki muntu geta haldið áfram að búa til ný verkefni. Og þú munt samt geta notað ABP Suite sem flýtir fyrir þróun þinni. <Hr/> <strong> Uppfærsla: </strong> Með því að uppfæra leyfið þitt muntu kynna þér hærri leyfisáætlun sem gerir þér kleift að fá frekari ávinning . Skoðaðu <a href=\"/pricing\"> tafla til samanburðar leyfa </a> til að athuga muninn á leyfisáætlunum. <strong> Á hinn bóginn, þegar þú uppfærir mun gildistími leyfis þíns ekki breytast! < /strong> Til að framlengja lokadagsetningu leyfis þíns þarftu að framlengja leyfið.",
"LicenseRenewalCost": "Hver er kostnaður við endurnýjun leyfis eftir 1 ár?",
"LicenseRenewalCostExplanation": "Endurnýjunarverð (framlengja) venjulegs liðsleyfis er ${0}, venjulegt viðskiptaleyfi er ${1} og staðlað fyrirtækisleyfi er ${2}. Ef þú ert nú þegar viðskiptavinur skaltu <a href='{3}' target='_blank'>skrá þig inn á reikninginn þinn</a> til að skoða tiltæk endurnýjunarverð.",
"HowDoIRenewMyLicense": "Hvernig endurnýi ég leyfi mitt?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> Með því að fá frumkóða eininganna í lausn þinni gefur þú þér hámarks frelsi til að sérsníða þá einingu. Hins vegar verður ekki hægt að uppfæra eininguna sjálfkrafa þegar ný útgáfa er gefin út. </p> <p> Ekkert af leyfunum inniheldur ABP Suite frumkóða, sem er ytra tæki sem býr til kóða fyrir þig og aðstoðar til þróunar þinnar. </p> <p> Sjá <a href=\"{0}\"> verðlagningarsíðuna </a> fyrir annan mun á tegund leyfis. </p>",
"ChangingDevelopers": "Get ég breytt skráðum forriturum fyrirtækisins míns í framtíðinni?",
"ChangingDevelopersExplanation": "Til viðbótar við að bæta nýjum verktaka við leyfi þitt geturðu einnig breytt núverandi forriturum (þú getur fjarlægt verktaka og bætt nýjum við) án aukakostnaðar.",
"WhatHappensWhenLicenseEnds": "Hvað gerist þegar leyfistímabilinu lýkur?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP Commercial leyfistegund er <a href=\"{0}\" target=\"_blank\">ælíft leyfi</a>. Eftir að leyfið þitt rennur út geturðu haldið áfram að þróa verkefnið þitt. Og þú ert ekki skyldugur til að endurnýja leyfið þitt. Leyfinu þínu fylgir eins árs uppfærsla og stuðningsáætlun beint úr kassanum. Til að halda áfram að fá nýja eiginleika, auka afköst, villuleiðréttingar, stuðning og halda áfram að nota ABP Suite þarftu að endurnýja leyfið þitt. Þegar leyfið þitt rennur út færðu ekki eftirfarandi fríðindi;",
"WhatHappensWhenLicenseEndsExplanation2": "Þú getur ekki búið til nýjar lausnir með því að nota ABP Commercial, en þú getur haldið áfram að þróa núverandi forrit þín að eilífu.",
"WhatHappensWhenLicenseEndsExplanation3": "Þú munt geta fengið uppfærslur fyrir einingarnar og þemu í MAJOR útgáfunni þinni (nema RC eða Preview útgáfur). Til dæmis; ef þú ert að nota v3.2.0 af einingu geturðu samt fengið uppfærslur fyrir v3.x.x (v3.3.0, v3.5.2... osfrv.) af þeirri einingu. En þú getur ekki fengið uppfærslur fyrir næstu helstu útgáfu (eins og v4.x, v5.x). Til dæmis, þegar leyfið þitt rann út, nýjasta útgáfan var v4.4.3 og nýjasta forskoðunarútgáfan var v5.0.0-rc.2, þú getur fengið aðgang að v4.X.X en þú getur ekki fengið aðgang að v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Þú getur ekki sett upp nýjar einingar og þemu sem bætt er við ABP Commercial eftir að leyfi þínu lýkur.",
"WhatHappensWhenLicenseEndsExplanation5": "Þú getur ekki notað ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Þú getur ekki fengið <a href=\"{0}\"> úrvalsstuðninginn </a> lengur.",
"WhatHappensWhenLicenseEndsExplanation7": "Þú getur framlengt (endurnýjað) leyfið þitt ef þú vilt halda áfram að njóta þessara fríðinda. Ef þú framlengir leyfið þitt innan <strong>eins mánaðar</strong> eftir að leyfið þitt rennur út verða eftirfarandi afslættir notaðir: Team Leyfi {0}% afsláttur, Business License {1}% afsláttur, Enterprise License {2}% afsláttur .",
"WhenShouldIRenewMyLicense": "Hvenær ætti ég að endurnýja leyfið mitt?",
"WhenShouldIRenewMyLicenseExplanation": "Ef þú endurnýjar leyfið þitt innan <strong>eins mánaðar</strong> eftir að leyfið þitt rennur út verða eftirfarandi afslættir notaðir: Team Leyfi {0}% afsláttur, Business License {1}% afsláttur, Enterprise License {2}% afsláttur . Ef þú endurnýjar leyfið þitt <strong>1 mánuði</strong> eftir að leyfið rennur út, verður endurnýjunarverðið það sama og kaupverð leyfisins og enginn afsláttur af endurnýjun þinni.",
"TrialPlan": "Ertu með prufuáætlun?",
"TrialPlanExplanation": "Í bili hefur ABP Commercial ekki prufuáætlun. Fyrir teymis leyfi veitum við 30 daga endurgreiðsluábyrgð. Þú getur bara óskað eftir endurgreiðslu fyrstu 30 dagana. Viðskipta- og fyrirtækjalyfið veitir 60% endurgreiðslu á 30 dögum. Þetta er vegna þess að viðskipta- og fyrirtækjaleyfi innihalda fullan kóða allra eininga og þemanna.",
"DoYouAcceptBankWireTransfer": "Samþykki þið bankamillifærslu?",
"DoYouAcceptBankWireTransferExplanation": "Já, við tökum við bankamillifærslu.<br />Eftir að hafa sent leyfisgjaldið með millifærslu skaltu senda okkur tölvupóst á accounting@abp.io kvittun þína og tegund leyfis sem óskað er eftir. Upplýsingar um alþjóðlega bankareikninginn okkar:",
"HowToUpgrade": "Hvernig á að uppfæra núverandi forrit þegar ný útgáfa er í boði?",
@ -371,7 +361,6 @@
"StartTrial": "Byrjaðu ókeypis prufuáskriftina mína",
"ContactUsIssues": "Hafðu samband við okkur ef þú hefur einhver vandamál",
"TrialActivatedWarning": "Kæri {0}, notandi á rétt á aðeins 1 ókeypis prufutíma. Þú hefur þegar notað prufutíma þinn.",
"ActivationRequirement": "Þú ert einu skrefi frá því að hefja ókeypis prufuáskriftina. <br> Við höfum sent tölvupóst til <b> {0} </b> til að virkja reikninginn þinn. Athugaðu pósthólfið þitt/rusl/ruslpóstsboxin!",
"SaveAndDownload": "Vista og hala niður",
"CompanyNameValidationMessage": "Nafn fyrirtækis er of langt!",
"AddressValidationMessage": "Heimilisfang er of langt!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Posso cambiare il mio tipo di licenza in futuro?",
"ChangingLicenseTypeExplanation": "Puoi sempre aggiungere nuovi sviluppatori con lo stesso tipo di licenza. Vedi anche \"Quanti sviluppatori possono lavorare su ABP Commercial?\". Puoi anche passare a una licenza superiore pagando la differenza di prezzo calcolata. Quando esegui l'aggiornamento a un piano di licenza superiore, ottieni i vantaggi del nuovo piano, ma l'aggiornamento della licenza non modifica la data di scadenza della licenza.",
"LicenseExtendUpgradeDiff": "Qual è la differenza tra estensione della licenza e aggiornamento?",
"LicenseExtendUpgradeDiffExplanation": "<strong> Estensione: </strong> estendendo/rinnovando la tua licenza, continuerai a ricevere supporto premium e a ricevere aggiornamenti importanti per moduli e temi. Inoltre, potrai continuare a creare nuovi progetti. E sarai ancora in grado di utilizzare ABP Suite che accelera il tuo sviluppo.<hr/><strong> Upgrade: </strong> aggiornando la tua licenza, promuoverai un piano di licenza superiore che ti consentirà di ottenere ulteriori vantaggi . Consulta la <a href=\"/pricing\"> tabella di confronto delle licenze </a> per verificare le differenze tra i piani di licenza.<strong> D'altra parte, quando esegui l'upgrade, la data di scadenza della licenza non cambierà! </strong> Per estendere la data di fine della licenza, è necessario estendere la licenza.",
"LicenseRenewalCost": "Qual è il costo del rinnovo della licenza dopo 1 anno?",
"LicenseRenewalCostExplanation": "Il prezzo di rinnovo (estensione) della Licenza Team standard è ${0}, la Licenza Business standard è ${1} e la Licenza Enterprise standard è ${2}. Se sei già un cliente, <a href='{3}' target='_blank'>accedi al tuo account</a> per rivedere i prezzi di rinnovo disponibili.",
"HowDoIRenewMyLicense": "Come rinnovo la mia licenza?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> Includere il codice sorgente di un modulo nella tua soluzione ti dà la massima libertà di personalizzare quel modulo. Tuttavia, non sarà possibile aggiornare automaticamente il modulo quando viene rilasciata una nuova versione.</p><p> Nessuna delle licenze include il codice sorgente di ABP Suite, che è uno strumento esterno che genera codice per te e assiste al tuo sviluppo.</p><p> Vedi <a href=\"{0}\"> la pagina dei prezzi </a> per altre differenze tra i tipi di licenza.</p>",
"ChangingDevelopers": "Posso cambiare gli sviluppatori registrati della mia organizzazione in futuro?",
"ChangingDevelopersExplanation": "Oltre ad aggiungere nuovi sviluppatori alla tua licenza, puoi anche Modifica gli sviluppatori esistenti (puoi rimuovere uno sviluppatore e aggiungerne uno nuovo alla stessa postazione) senza alcun costo aggiuntivo.",
"WhatHappensWhenLicenseEnds": "Cosa succede al termine del periodo di licenza?",
"WhatHappensWhenLicenseEndsExplanation1": "Il tipo di licenza commerciale ABP è <a href=\"{0}\" target=\"_blank\">licenza perpetua</a>. Dopo la scadenza della licenza, puoi continuare a sviluppare il tuo progetto. E non sei obbligato a rinnovare la patente. La tua licenza viene fornita con un aggiornamento di un anno e un piano di supporto pronti all'uso. Per continuare a ottenere nuove funzionalità, miglioramenti delle prestazioni, correzioni di bug, supporto e continuare a utilizzare ABP Suite, è necessario rinnovare la licenza. Alla scadenza della licenza, non otterrai i seguenti vantaggi;",
"WhatHappensWhenLicenseEndsExplanation2": "Non è possibile creare nuove soluzioni utilizzando ABP Commercial, ma è possibile continuare a sviluppare le applicazioni esistenti per sempre.",
"WhatHappensWhenLicenseEndsExplanation3": "Sarai in grado di ottenere aggiornamenti per i moduli e i temi all'interno della tua versione MAJOR (eccetto le versioni RC o Preview). Per esempio; se stai usando la v3.2.0 di un modulo, puoi comunque ottenere gli aggiornamenti per la v3.x.x (v3.3.0, v3.5.2... ecc.) di quel modulo. Ma non puoi ottenere aggiornamenti per la prossima versione principale (come v4.x, v5.x). Ad esempio, quando la tua licenza è scaduta, l'ultima versione era v4.4.3 e l'ultima versione di anteprima era v5.0.0-rc.2, puoi accedere alla v4.X.X ma non alla v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Non è possibile installare nuovi moduli e temi aggiunti alla piattaforma ABP Commercial al termine della licenza.",
"WhatHappensWhenLicenseEndsExplanation5": "Non è possibile utilizzare ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Non puoi più ottenere l '<a href=\"{0}\"> assistenza premium </a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Puoi estendere (rinnovare) la tua licenza se vuoi continuare a ottenere questi vantaggi. Se estendi la tua licenza entro <strong>1 mese</strong> dopo la scadenza della licenza, verranno applicati i seguenti sconti: Licenza Team {0}% di sconto, Licenza Business {1}% di sconto, Licenza Enterprise {2}% di sconto .",
"WhenShouldIRenewMyLicense": "Quando devo rinnovare la mia licenza?",
"WhenShouldIRenewMyLicenseExplanation": "Se rinnovi la licenza entro <strong>1 mese</strong> dopo la scadenza della licenza, verranno applicati i seguenti sconti: Licenza Team {0}% di sconto, Licenza Business {1}% di sconto, Licenza Enterprise {2}% di sconto . Se rinnovi la licenza <strong>1 mese</strong> dopo la data di scadenza della licenza, il prezzo di rinnovo sarà lo stesso del prezzo di acquisto della licenza e non ci saranno sconti sul rinnovo.",
"TrialPlan": "Hai un piano di prova?",
"TrialPlanExplanation": "Per ora, ABP Commercial non ha un piano di prova. Per le licenze Team forniamo una garanzia di rimborso di 30 giorni. Puoi richiedere un rimborso solo nei primi 30 giorni. Per le licenze Business ed Enterprise, forniamo un rimborso del 60% in 30 giorni. Questo perché le licenze Business ed Enterprise includono il codice sorgente completo di tutti i moduli e i temi.",
"DoYouAcceptBankWireTransfer": "Accettate bonifici bancari?",
"DoYouAcceptBankWireTransferExplanation": "Sì, accettiamo bonifico bancario.<br />Dopo aver inviato il canone tramite bonifico bancario, inviaci un'e-mail a accounting@abp.io con la ricevuta e il tipo di licenza richiesta. Le nostre informazioni sul conto bancario internazionale:",
"HowToUpgrade": "Come aggiornare le applicazioni esistenti quando è disponibile una nuova versione?",
@ -371,7 +361,6 @@
"StartTrial": "Inizia la mia prova gratuita",
"ContactUsIssues": "Contattaci per qualsiasi problema",
"TrialActivatedWarning": "Caro {0}, un utente ha diritto di avere 1 solo periodo di prova gratuito. Hai già utilizzato il tuo periodo di prova.",
"ActivationRequirement": "Ti manca un solo passo per iniziare il tuo periodo di prova gratuito.<br>Abbiamo inviato un'email a <b>{0}</b> per attivare il tuo account. Controlla la tua casella di posta e non dimenticare la cartella spam!",
"SaveAndDownload": "Salva e Scarica",
"CompanyNameValidationMessage": "Il nome dell'azienda è troppo lungo!",
"AddressValidationMessage": "L'indirizzo è troppo lungo!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Kan ik mijn licentietype later upgraden?",
"ChangingLicenseTypeExplanation": "U kunt upgraden naar een hogere licentie door het verschil binnen uw actieve licentieperiode te betalen. Wanneer u upgradet naar een hoger licentieplan, krijgt u de voordelen van het nieuwe plan, maar de licentie-upgrade verandert de vervaldatum van de licentie niet. Daarnaast kun je ook nieuwe developers seats toevoegen aan je bestaande licentie, zie \"Hoeveel developers kunnen aan de ABP Commercial werken?\"",
"LicenseExtendUpgradeDiff": "Wat is het verschil tussen licentieverlenging en upgrade?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Verlengen:</strong> door uw licentie te verlengen/vernieuwen, blijft u premium ondersteuning krijgen en krijgt u belangrijke updates voor de modules en thema's. Bovendien kunt u doorgaan met het maken van nieuwe projecten. En u kunt nog steeds ABP Suite gebruiken, wat uw ontwikkeling versnelt.<hr/><strong>Upgraden:</strong> door uw licentie te upgraden, promoveert u naar een hoger licentieplan waarmee u extra voordelen kunt krijgen . Bekijk de <a href=\"/pricing\">licentievergelijkingstabel</a> om de verschillen tussen de licentieplannen te controleren.<strong>Aan de andere kant, wanneer u een upgrade uitvoert, verandert de vervaldatum van uw licentie niet!</strong >Om de einddatum van uw licentie te verlengen, moet u uw licentie verlengen.",
"LicenseRenewalCost": "Wat zijn de kosten voor het verlengen van de licentie na 1 jaar?",
"LicenseRenewalCostExplanation": "Het tarief voor catalogusverlenging van alle eeuwigdurende licenties van ABP Commercial is {0} van de licentieprijs van de licentie. De verlengingsprijs van de standaard Teamlicentie is ${1}, de standaard Business-licentie is ${2} en de standaard Enterprise-licentie is ${3}. Als u al klant bent, <a href='{4}' target='_blank'>log in op uw account</a> om de beschikbare verlengingsprijzen te bekijken.",
"HowDoIRenewMyLicense": "Hoe verleng ik mijn licentie?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Het toevoegen van de broncode van een module aan uw oplossing geeft u de maximale vrijheid om die module aan te passen. Het is dan echter niet mogelijk om de module automatisch te upgraden wanneer een nieuwe versie wordt uitgebracht.</p><p>Geen van de licenties bevat de ABP Suite-broncode, een externe tool die code voor u genereert en assisteert voor uw ontwikkeling.</p><p>Zie <a href=\"{0}\">de pagina met prijzen</a> voor andere verschillen tussen de licentietypen.</p>",
"ChangingDevelopers": "Kan ik de geregistreerde ontwikkelaars van mijn organisatie in de toekomst wijzigen?",
"ChangingDevelopersExplanation": "Naast het toevoegen van nieuwe ontwikkelaars aan uw licentie, kunt u ook de bestaande ontwikkelaars wijzigen (u kunt een ontwikkelaar verwijderen en een nieuwe toevoegen aan dezelfde stoel) zonder extra kosten.",
"WhatHappensWhenLicenseEnds": "Wat gebeurt er als mijn licentieperiode afloopt?",
"WhatHappensWhenLicenseEndsExplanation1": "Het commerciële ABP-licentietype is <a href=\"{0}\" target=\"_blank\">permanente licentie</a>. Nadat uw licentie is verlopen, kunt u doorgaan met het ontwikkelen van uw project. En je bent niet verplicht om je rijbewijs te verlengen. Uw licentie wordt standaard geleverd met een jaarupdate en ondersteuningsplan. Om nieuwe functies, prestatieverbeteringen, bugfixes, ondersteuning te blijven krijgen en ABP Suite te blijven gebruiken, moet u uw licentie verlengen. Wanneer uw licentie verloopt, krijgt u niet de volgende voordelen;",
"WhatHappensWhenLicenseEndsExplanation2": "Met de ABP Commercial kunt u geen nieuwe oplossingen creëren, maar u kunt wel eeuwig doorgaan met het doorontwikkelen van uw bestaande applicaties.",
"WhatHappensWhenLicenseEndsExplanation3": "U kunt updates krijgen voor de modules en thema's binnen uw MAJOR-versie (behalve RC- of Preview-versies). Bijvoorbeeld; als je v3.2.0 van een module gebruikt, kun je nog steeds updates krijgen voor v3.x.x (v3.3.0, v3.5.2... etc.) van die module. Maar u kunt geen updates krijgen voor de volgende hoofdversie (zoals v4.x, v5.x). Toen uw licentie bijvoorbeeld verliep, was de nieuwste release v4.4.3 en de nieuwste preview-versie v5.0.0-rc.2, hebt u toegang tot v4.X.X, maar hebt u geen toegang tot v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "U kunt geen nieuwe modules en thema's installeren die zijn toegevoegd aan het ABP Commercieel platform nadat uw licentie is afgelopen.",
"WhatHappensWhenLicenseEndsExplanation5": "U kunt geen gebruik maken van de ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "U kunt geen <a href=\"{0}\">premium ondersteuning</a> meer krijgen.",
"WhatHappensWhenLicenseEndsExplanation7": "U kunt uw licentie verlengen (vernieuwen) als u van deze voordelen wilt blijven genieten. Als u uw licentie verlengt binnen <strong>1 maand</strong> nadat uw licentie is verlopen, worden de volgende kortingen toegepast: Teamlicentie {0}% korting, Zakelijke licentie {1}% korting, Enterprise-licentie {2}% korting .",
"WhenShouldIRenewMyLicense": "Wanneer moet ik mijn licentie verlengen?",
"WhenShouldIRenewMyLicenseExplanation": "Als u uw licentie verlengt binnen <strong>1 maand</strong> nadat uw licentie is verlopen, worden de volgende kortingen toegepast: Teamlicentie {0}% korting, Zakelijke licentie {1}% korting, Enterprise-licentie {2}% korting . Als u uw licentie <strong>1 maand</strong> na de vervaldatum van uw licentie verlengt, is de verlengingsprijs gelijk aan de aankoopprijs van de licentie en wordt er geen korting op uw verlenging gegeven.",
"TrialPlan": "Heb je een proefplan?",
"TrialPlanExplanation": "Voorlopig heeft ABP Commercial geen proefabonnement. Voor de Team-licenties bieden we 30 dagen geld-terug-garantie. U kunt de eerste 30 dagen gewoon een terugbetaling aanvragen. Voor de Business- en Enterprise-licenties bieden we 60% restitutie in 30 dagen. Dit komt doordat Business en Enterprise licenties de volledige broncode van alle modules en thema's bevatten.",
"DoYouAcceptBankWireTransfer": "Accepteert u bankoverschrijvingen?",
"DoYouAcceptBankWireTransferExplanation": "Ja, we accepteren bankoverschrijvingen.<br />Nadat u de licentievergoeding via bankoverschrijving heeft verzonden, stuurt u een e-mail naar accounting@abp.io met uw kwitantie en het type licentie dat u heeft aangevraagd. Onze internationale bankrekeninggegevens:",
"HowToUpgrade": "Hoe kan ik bestaande applicaties upgraden wanneer er een nieuwe versie beschikbaar is?",
@ -371,7 +361,6 @@
"StartTrial": "Start mijn gratis proefperiode",
"ContactUsIssues": "Neem contact met ons op als je problemen hebt!",
"TrialActivatedWarning": "Beste {0}, een gebruiker heeft recht op slechts één gratis proefperiode. Je hebt je proefperiode al gebruikt.",
"ActivationRequirement": "U bent nog maar één stap verwijderd van het starten van uw gratis proefperiode.<br>We hebben een e-mail gestuurd naar <b>{0}</b> om uw account te activeren. Controleer uw inbox/ongewenste/spamboxen!",
"SaveAndDownload": "Opslaan en downloaden",
"CompanyNameValidationMessage": "Bedrijfsnaam is te lang!",
"AddressValidationMessage": "Adres is te lang!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Czy mogę uaktualnić swój typ licencji później?",
"ChangingLicenseTypeExplanation": "Możesz uaktualnić do wyższej licencji, płacąc różnicę w okresie aktywnej licencji. Po uaktualnieniu do wyższego planu licencji uzyskujesz korzyści z nowego planu, ale uaktualnienie licencji nie zmienia daty wygaśnięcia licencji. Poza tym możesz również dodać nowe stanowiska programisty do istniejącej licencji, zobacz „Ilu programistów może pracować nad komercyjnym ABP?”",
"LicenseExtendUpgradeDiff": "Jaka jest różnica między rozszerzeniem licencji a aktualizacją?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Przedłużanie:</strong> przedłużając/odnawiając licencję, będziesz nadal otrzymywać wsparcie premium i ważne aktualizacje modułów i motywów. Poza tym będziesz mógł kontynuować tworzenie nowych projektów. I nadal będziesz mógł korzystać z pakietu ABP Suite, który przyspieszy Twój rozwój.<hr/><strong>Aktualizacja:</strong> Uaktualniając swoją licencję, awansujesz do wyższego planu licencyjnego, który pozwoli Ci uzyskać dodatkowe korzyści . Zobacz <a href=\"/pricing\">tablicę porównawczą licencji</a>, aby sprawdzić różnice między planami licencyjnymi.<strong>Z drugiej strony po uaktualnieniu data wygaśnięcia licencji nie ulegnie zmianie!</strong >Aby przedłużyć datę zakończenia licencji, musisz przedłużyć swoją licencję.",
"LicenseRenewalCost": "Jaki jest koszt odnowienia licencji po 1 roku?",
"LicenseRenewalCostExplanation": "Cena odnowienia (przedłużenia) standardowej licencji zespołowej to {0}$, standardowej licencji biznesowej to {1}$, a standardowej licencji Enterprise to {2}$. Jeśli jesteś już klientem, <a href='{3}' target='_blank'>zaloguj się na swoje konto</a>, aby sprawdzić dostępne ceny odnowienia.",
"HowDoIRenewMyLicense": "Jak odnowić licencję?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Dołączenie kodu źródłowego modułu do rozwiązania zapewnia maksymalną swobodę dostosowywania tego modułu. Jednak wtedy nie będzie możliwe automatyczne uaktualnienie modułu po wydaniu nowej wersji.</p><p>Żadna z licencji nie zawiera kodu źródłowego ABP Suite, który jest zewnętrznym narzędziem, które generuje kod dla Ciebie i pomaga do swojego rozwoju.</p><p>Zobacz <a href=\"{0}\">stronę cen</a>, aby poznać inne różnice między typami licencji.</p>",
"ChangingDevelopers": "Czy mogę w przyszłości zmienić zarejestrowanych programistów mojej organizacji?",
"ChangingDevelopersExplanation": "Oprócz dodawania nowych programistów do swojej licencji możesz również zmieniać istniejących programistów (możesz usunąć programistę i dodać nowego do tego samego stanowiska) bez żadnych dodatkowych kosztów.",
"WhatHappensWhenLicenseEnds": "Co się stanie, gdy skończy się mój okres licencji?",
"WhatHappensWhenLicenseEndsExplanation1": "Typ licencji komercyjnej ABP to <a href=\"{0}\" target=\"_blank\">licencja wieczysta</a>. Po wygaśnięciu licencji możesz kontynuować rozwijanie swojego projektu. I nie musisz odnawiać swojej licencji. Twoja licencja jest dostarczana z roczną aktualizacją i planem wsparcia po wyjęciu z pudełka. Aby nadal otrzymywać nowe funkcje, ulepszenia wydajności, poprawki błędów, wsparcie i nadal korzystać z pakietu ABP Suite, musisz odnowić licencję. Po wygaśnięciu licencji nie uzyskasz następujących korzyści;",
"WhatHappensWhenLicenseEndsExplanation2": "Nie możesz tworzyć nowych rozwiązań za pomocą ABP Commercial, ale możesz dalej rozwijać swoje istniejące aplikacje w nieskończoność.",
"WhatHappensWhenLicenseEndsExplanation3": "Będziesz mógł otrzymywać aktualizacje modułów i motywów w swojej GŁÓWNEJ wersji (z wyjątkiem wersji RC i Preview). Na przykład; jeśli używasz v3.2.0 modułu, nadal możesz otrzymywać aktualizacje dla v3.x.x (v3.3.0, v3.5.2... itd.) tego modułu. Ale nie możesz pobrać aktualizacji dla następnej głównej wersji (takiej jak v4.x, v5.x). Na przykład, gdy Twoja licencja wygasła, najnowsza wersja to 4.4.3, a najnowsza wersja zapoznawcza to 5.0.0-rc.2, możesz uzyskać dostęp do wersji 4.X.X, ale nie możesz uzyskać dostępu do wersji 5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Nie możesz instalować nowych modułów i motywów dodanych do platformy ABP Commercial po wygaśnięciu licencji.",
"WhatHappensWhenLicenseEndsExplanation5": "Nie możesz korzystać z pakietu ABP.",
"WhatHappensWhenLicenseEndsExplanation6": "Nie możesz już uzyskać <a href=\"{0}\">pomocy premium</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Możesz przedłużyć (odnowić) swoją licencję, jeśli chcesz nadal korzystać z tych korzyści. Jeśli przedłużysz licencję w ciągu <strong>1 miesiąca</strong> po wygaśnięciu licencji, zostaną zastosowane następujące rabaty: Licencja zespołowa {0}% rabatu, Licencja biznesowa {1}% rabatu, Licencja Enterprise {2}% rabatu .",
"WhenShouldIRenewMyLicense": "Kiedy powinienem odnowić licencję?",
"WhenShouldIRenewMyLicenseExplanation": "Jeśli odnowisz licencję w ciągu <strong>1 miesiąca</strong> po wygaśnięciu licencji, zostaną zastosowane następujące rabaty: licencja zespołowa {0}% rabatu, licencja biznesowa {1}% rabatu, licencja Enterprise {2}% rabatu . Jeśli odnowisz licencję <strong>1 miesiąc</strong> po dacie wygaśnięcia licencji, cena odnowienia będzie taka sama jak cena zakupu licencji i nie będzie rabatu na odnowienie.",
"TrialPlan": "Czy masz plan próbny?",
"TrialPlanExplanation": "Na razie ABP Commercial nie ma planu próbnego. W przypadku licencji Team zapewniamy 30-dniową gwarancję zwrotu pieniędzy. Możesz po prostu poprosić o zwrot pieniędzy w ciągu pierwszych 30 dni. W przypadku licencji Business i Enterprise zapewniamy zwrot 60% w ciągu 30 dni. Dzieje się tak, ponieważ licencje Business i Enterprise zawierają pełny kod źródłowy wszystkich modułów i motywów.",
"DoYouAcceptBankWireTransfer": "Czy akceptujesz przelew bankowy?",
"DoYouAcceptBankWireTransferExplanation": "Tak, akceptujemy przelew bankowy.<br />Po wysłaniu opłaty licencyjnej przelewem bankowym wyślij nam e-mail na adres accounting@abp.io z potwierdzeniem odbioru i rodzajem żądanej licencji. Informacje o naszych międzynarodowych kontach bankowych:",
"HowToUpgrade": "Jak zaktualizować istniejące aplikacje, gdy dostępna jest nowa wersja?",
@ -371,7 +361,6 @@
"StartTrial": "Rozpocznij mój bezpłatny okres próbny",
"ContactUsIssues": "Skontaktuj się z nami, jeśli masz jakiekolwiek problemy",
"TrialActivatedWarning": "Drogi {0}, użytkownik może mieć tylko 1 bezpłatny okres próbny. Korzystałeś już z okresu próbnego.",
"ActivationRequirement": "Jesteś o krok od rozpoczęcia bezpłatnego okresu próbnego.<br>Wysłaliśmy wiadomość e-mail na adres <b>{0}</b>, aby aktywować Twoje konto. Sprawdź swoją skrzynkę odbiorczą/śmieci/spam!",
"SaveAndDownload": "Zapisz i pobierz",
"CompanyNameValidationMessage": "Nazwa firmy jest za długa!",
"AddressValidationMessage": "Adres jest za długi!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Posso atualizar meu tipo de licença mais tarde?",
"ChangingLicenseTypeExplanation": "Você pode atualizar para uma licença superior pagando a diferença dentro do período de sua licença ativa. Ao atualizar para um plano de licença superior, você obtém os benefícios do novo plano, mas a atualização da licença não altera a data de expiração da licença. Além disso, você também pode adicionar novas licenças de desenvolvedor à sua licença existente, consulte \"Quantos desenvolvedores podem trabalhar no comercial ABP?\"",
"LicenseExtendUpgradeDiff": "Qual é a diferença entre extensão de licença e atualização?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development.<hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. See the <a href=\"/pricing\">license comparison table</a> to check the differences between the license plans.<strong>On the other hand, when you upgrade, your license expiry date will not change!</strong>To extend your license end date, you need to extend your license.",
"LicenseRenewalCost": "Qual é o custo de renovação da licença após 1 ano?",
"LicenseRenewalCostExplanation": "O preço de renovação (extensão) da Licença de equipe padrão é $ {0}, a Licença comercial padrão é $ {1} e a Licença corporativa padrão é $ {2}. Se você já é um cliente, <a href='{3}' target='_blank'> faça login em sua conta </a> para verificar os preços de renovação disponíveis.",
"HowDoIRenewMyLicense": "Como eu renovo minha licença?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> Incluir o código-fonte de um módulo em sua solução oferece o máximo de liberdade para personalizar esse módulo. No entanto, não será possível atualizar automaticamente o módulo quando uma nova versão for lançada. </p> <p> Nenhuma das licenças inclui o código-fonte do ABP Suite, que é uma ferramenta externa que gera código para você e ajuda para o seu desenvolvimento. </p> <p> Consulte <a href=\"{0}\"> a página de preços </a> para outras diferenças entre os tipos de licença. </p>",
"ChangingDevelopers": "Posso mudar os desenvolvedores registrados da minha organização no futuro?",
"ChangingDevelopersExplanation": "Além de adicionar novos desenvolvedores à sua licença, você também pode alterar os desenvolvedores existentes (você pode remover um desenvolvedor e adicionar um novo ao mesmo assento) sem nenhum custo adicional.",
"WhatHappensWhenLicenseEnds": "O que acontece quando meu período de licença termina?",
"WhatHappensWhenLicenseEndsExplanation1": "O tipo de licença comercial ABP é <a href=\"{0}\" target=\"_blank\"> licença perpétua </a>. Depois que sua licença expirar, você pode continuar desenvolvendo seu projeto. E você não é obrigado a renovar sua licença. Sua licença vem com um plano de atualização e suporte de um ano pronto para uso. Para continuar a obter novos recursos, melhorias de desempenho, correções de bugs, suporte e continuar a usar o ABP Suite, você precisa renovar sua licença. Quando sua licença expirar, você não obterá os seguintes benefícios;",
"WhatHappensWhenLicenseEndsExplanation2": "Você não pode criar novas soluções usando o ABP Commercial, mas pode continuar a desenvolver seus aplicativos existentes para sempre.",
"WhatHappensWhenLicenseEndsExplanation3": "Você poderá obter atualizações para os módulos e temas em sua versão MAJOR (exceto versões RC ou Preview). Por exemplo; se estiver usando a v3.2.0 de um módulo, você ainda pode obter atualizações para v3.x.x (v3.3.0, v3.5.2 ... etc.) desse módulo. Mas você não pode obter atualizações para a próxima versão principal (como v4.x, v5.x). Por exemplo, quando sua licença expirou, a versão mais recente foi a v4.4.3 e a versão de visualização mais recente foi a v5.0.0-rc.2, você pode acessar a v4.X.X, mas não pode acessar a v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Você não pode instalar novos módulos e temas adicionados à plataforma comercial da ABP após o término de sua licença.",
"WhatHappensWhenLicenseEndsExplanation5": "Você não pode usar o ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Você não pode mais obter o <a href=\"{0}\"> suporte premium </a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Você pode estender (renovar) sua licença se quiser continuar a obter esses benefícios. Se você estender sua licença em <strong> 1 mês </strong> após a expiração da licença, os seguintes descontos serão aplicados: Licença de equipe {0}% de desconto, Licença de negócios {1}% de desconto, Licença empresarial {2}% de desconto .",
"WhenShouldIRenewMyLicense": "Quando devo renovar minha licença?",
"WhenShouldIRenewMyLicenseExplanation": "Se você renovar sua licença em <strong> 1 mês </strong> após a expiração da licença, os seguintes descontos serão aplicados: Licença de equipe {0}% de desconto, Licença de negócios {1}% de desconto, Licença empresarial {2}% de desconto . Se você renovar sua licença <strong> 1 mês </strong> após a data de expiração de sua licença, o preço de renovação será o mesmo que o preço de compra da licença e não haverá desconto em sua renovação.",
"TrialPlan": "Você tem um plano experimental?",
"TrialPlanExplanation": "Por enquanto, a ABP Commercial não tem um plano de teste. Para as licenças Team, oferecemos 30 dias de garantia de devolução do dinheiro. Você pode apenas solicitar um reembolso nos primeiros 30 dias. Para as licenças Business e Enterprise, oferecemos reembolso de 60% em 30 dias. Isso ocorre porque as licenças Business e Enterprise incluem o código-fonte completo de todos os módulos e temas.",
"DoYouAcceptBankWireTransfer": "Você aceita transferência bancária?",
"DoYouAcceptBankWireTransferExplanation": "Sim, aceitamos transferência bancária. <br /> Após enviar a taxa de licença por transferência bancária, envie-nos um e-mail para accounting@abp.io com seu recibo e o tipo de licença solicitada. Nossas informações de conta bancária internacional:",
"HowToUpgrade": "Como atualizar os aplicativos existentes quando uma nova versão estiver disponível?",
@ -371,7 +361,6 @@
"StartTrial": "Comece meu teste grátis",
"ContactUsIssues": "Contate-nos se tiver algum problema",
"TrialActivatedWarning": "Caro {0}, um usuário tem direito a apenas 1 período de teste gratuito. Você já usou seu período de teste.",
"ActivationRequirement": "Você está a um passo de iniciar seu teste gratuito. <br> Enviamos um e-mail para <b> {0} </b> para ativar sua conta. Verifique sua caixa de entrada/caixas de lixo/spam!",
"SaveAndDownload": "Salvar e baixar",
"CompanyNameValidationMessage": "O nome da empresa é muito longo!",
"AddressValidationMessage": "O endereço é muito longo!",

15
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Pe viitor pot să schimb tipul licenţei?",
"ChangingLicenseTypeExplanation": "Puteţi adăuga oricând noi dezvoltatori în licenţa dumneavoastră de acelaşi tip. Consultaţi \"Câţi dezvoltatori pot lucra pe ABP Commercial?\". De asemenea, puteţi opta pentru o licenţă superioară prin plătirea achitarea de preţ. Atunci când optaţi pentru o licenţă superioară, veţi avea parte de beneficiile noii licenţe, însă acest lucru nu va schimba data expirării licenţei.",
"LicenseExtendUpgradeDiff": "Care este diferenţa dintre prelungirea licenţei şi îmbunătăţirea acesteia?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Prelungirea:</strong> Prin prelungirea/reînnoirea licenţei dumneavoastră, veţi continua să aveţi acces la asistenţă premium, şi veţi avea parte de actualizările majore ale modulelor şi temelor. Pe lângă asta, veţi putea în continuare să creaţi proiecte noi. Veţi putea folosi în continuare suita ABP, ceea ce va accelera dezvoltarea.<hr/><strong>Îmbunătăţirea:</strong> Prin îmbunătăţirea licenţei dumneavoastră, veţi promova la un plan de licenţă superior, care vă va permite să beneficiaţi de anumite avantaje. Consultaţi <a href=\"/pricing\">tabelul de comparare a licenţelor</a> pentru a verifica diferenţele dintre planurile de licenţă.<strong>Pe de altă parte, când îmbunătăţiţi licenţa, data de expirare a acesteia nu se va schimba!</strong>Pentru a vă extinde data de încheiere a licenţei, va trebui să vă extindeţi licenţa.",
"LicenseRenewalCost": "Care este costul de reînnoire a licenţei dupa 1 an?",
"LicenseRenewalCostExplanation": "Prețul de reînnoire (extindere) al licenței standard de echipă este de {0} USD, al licenței standard de afaceri este de {1} USD și al licenței standard Enterprise este de {2} USD. Dacă sunteți deja client, <a href='{3}' target='_blank'>conectați-vă la contul dvs.</a> pentru a examina prețurile de reînnoire disponibile.",
"HowDoIRenewMyLicense": "Cum îmi reînnoiesc licenţa?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Includerea codului sursă al unui modul în soluţia dumneavoastră vă oferă libertate maximă de a personaliza modulul respectiv. Totuşi, atunci nu va fi posibilă actualizarea automată a modulului atunci când o nouă versiune este publicată.</p><p>Niciuna dintre licenţe nu include codul sursă al suitei ABP, care este un instrument extern care generează cod pentru dumneavoastră şi contribuie la dezvoltare.</p><p>Consultaţi <a href=\"{0}\">preţurile</a> pentru alte diferenţe între tipurile de licenţe.</p>",
"ChangingDevelopers": "Pe viitor, pot schimba dezvoltatorii ataşaţi organizaţiei mele?",
"ChangingDevelopersExplanation": "În plus faţă de adăugarea de noi dezvoltatori la licenţa dumneavoastră, puteţi schimba şi dezvoltatorii existenţi(puteţi elimina un dezvoltator şi adăuga unul nou în locul lui) fără costuri suplimentare.",
"WhatHappensWhenLicenseEnds": "Ce se întâmplă când se încheie perioada licenţei mele?",
"WhatHappensWhenLicenseEndsExplanation1": "Tipul de licență comercială ABP este <a href=\"{0}\" target=\"_blank\">licență perpetuă</a>. După expirarea licenței, puteți continua să vă dezvoltați proiectul. Și nu sunteți obligat să vă reînnoiți permisul. Licența dvs. vine cu o actualizare de un an și un plan de asistență. Pentru a beneficia în continuare de noi funcții, îmbunătățiri de performanță, remedieri de erori, asistență și pentru a continua să utilizați ABP Suite, trebuie să vă reînnoiți licența. La expirarea licenței, nu veți beneficia de următoarele beneficii;",
"WhatHappensWhenLicenseEndsExplanation2": "Nu puteţi crea noi soluţii folosind ABP Commercial, dar puteţi continua dezvoltarea aplicaţiilor existente oricând.",
"WhatHappensWhenLicenseEndsExplanation3": "Veți putea obține actualizări pentru modulele și temele din versiunea dvs. MAJOR (cu excepția versiunilor RC sau Preview). De exemplu; dacă utilizați v3.2.0 a unui modul, puteți obține în continuare actualizări pentru v3.x.x (v3.3.0, v3.5.2... etc.) ale acelui modul. Dar nu puteți obține actualizări pentru următoarea versiune majoră (cum ar fi v4.x, v5.x). De exemplu, când licența dvs. a expirat, cea mai recentă versiune a fost v4.4.3 și cea mai recentă versiune de previzualizare a fost v5.0.0-rc.2, puteți accesa v4.X.X, dar nu puteți accesa v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Nu puteţi instala noi module şi teme adăugate pe platforma ABP Comercial după ce se încheie licenţa dumneavoastră.",
"WhatHappensWhenLicenseEndsExplanation5": "Nu puteţi folosi suita ABP.",
"WhatHappensWhenLicenseEndsExplanation6": "Nu veţi mai avea parte de <a href=\"{0}\">asistenţă premium</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Vă puteți prelungi (reînnoi) licența dacă doriți să continuați să beneficiați de aceste beneficii. Dacă vă prelungiți licența în termen de <strong>1 lună</strong> după expirarea licenței, se vor aplica următoarele reduceri: Licență de echipă {0}% reducere, Licență de afaceri {1}% reducere, Licență Enterprise {2}% reducere .",
"WhenShouldIRenewMyLicense": "Când ar trebui să-mi reînnoiesc licenţa?",
"WhenShouldIRenewMyLicenseExplanation": "Dacă vă reînnoiți licența în termen de <strong>o lună</strong> de la expirarea licenței, se vor aplica următoarele reduceri: Licență de echipă {0}% reducere, Licență de afaceri {1}% reducere, Licență Enterprise {2}% reducere . Dacă vă reînnoiți licența la <strong>1 lună</strong> după data de expirare a licenței, prețul de reînnoire va fi același cu prețul de achiziție a licenței și nu va exista nicio reducere la reînnoirea dvs.",
"TrialPlan": "Aveţi un plan de încercare?",
"TrialPlanExplanation": "Pentru moment, ABP Comercial nu include un plan de încercare. Pentru licenţa de Team oferim înapoirea banilor în termen de 30 de zile. Puteţi să solicitaţi o restituire în primele 30 de zile. Pentru licenţele de tip Business şi Enterprise, noi asigurăm restituirea a 60% din sumă în 30 de zile. Acest lucru se datorează faptului că licenţele de tip Business şi Enterprise includ codul sursă complet al tuturor modulelor şi temelor.",
"DoYouAcceptBankWireTransfer": "Acceptaţi transfer bancar?",
"DoYouAcceptBankWireTransferExplanation": "Da, acceptăm transfer bancar.<br />După ce ați trimis taxa de licență prin transfer bancar, trimiteți-ne un e-mail la accounting@abp.io chitanța dvs. și tipul de licență solicitat. Informațiile noastre internaționale despre contul nostru bancar:",
"HowToUpgrade": "Cum se actualizează aplicaţiile existente atunci când este disponibilă o nouă versiune?",
@ -351,7 +341,7 @@
"SignIn": "Autentificare",
"Or": "Sau",
"TellUsAboutYourself": "Spuneţi-ne despre dumneavoastră",
"Surname": "Nume",
"Surname": "Nume de familie",
"DoYouAgreePrivacyPolicy": "Sunt de acord cu <a href=\"/TermsConditions\">Termenii şi condiţiile<a/> şi <a href=\"/Privacy\">Politica de confidenţialitate</a>.",
"VolosoftMarketingInformationMessage": "Sunt de acord să primesc informaţii, sfaturi şi oferte despre soluţii pentru afaceri şi organizaţii şi alte produse şi servicii Volosoft.",
"VolosoftSharingInformationMessage": "Sunt de acord ca Volosoft să partajeze informaţiile mele cu partenerii selectaţi astfel încât să primesc informaţii relevante despre produsele şi serviciile lor.",
@ -371,7 +361,6 @@
"StartTrial": "Începeți încercarea mea gratuită",
"ContactUsIssues": "Contactați-ne dacă aveți probleme",
"TrialActivatedWarning": "Stimate {0}, un utilizator are dreptul la o singură perioadă de probă gratuită. Ai folosit deja perioada de probă.",
"ActivationRequirement": "Sunteți la un pas de a începe perioada de încercare gratuită.<br>Am trimis un e-mail către <b>{0}</b> pentru a vă activa contul. Verificați-vă căsuțele de e-mail/junk/spam!",
"SaveAndDownload": "Salvați și descărcați",
"CompanyNameValidationMessage": "Numele companiei este prea lung!",
"AddressValidationMessage": "Adresa este prea lungă!",
@ -391,4 +380,4 @@
"TrialLicenseExpiredInfo": "Perioada de licență de probă a expirat!",
"CommercialNewsletterConfirmationMessage": "Sunt de acord cu <a href=\"https://commercial.abp.io/TermsConditions\">Termenii și condițiile</a> și cu <a href=\"https://commercial.abp.io/Privacy\">Politica de confidențialitate </a>."
}
}
}

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Могу ли я обновить свой тип лицензии позже?",
"ChangingLicenseTypeExplanation": "Вы можете перейти на лицензию более высокого уровня, заплатив разницу в течение срока действия действующей лицензии. При обновлении до более высокого лицензионного плана вы получаете преимущества нового плана, но обновление лицензии не меняет дату истечения срока действия лицензии. Кроме того, вы также можете добавить новые рабочие места разработчика к существующей лицензии, см. «Сколько разработчиков может работать с ABP Commercial?»",
"LicenseExtendUpgradeDiff": "В чем разница между продлением лицензии и обновлением?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development.<hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. See the <a href=\"/pricing\">license comparison table</a> to check the differences between the license plans.<strong>On the other hand, when you upgrade, your license expiry date will not change!</strong>To extend your license end date, you need to extend your license.",
"LicenseRenewalCost": "Какова стоимость продления лицензии через 1 год?",
"LicenseRenewalCostExplanation": "Стоимость продления (продления) стандартной лицензии для группы составляет {0} долл. США, стандартной бизнес-лицензии составляет {1} долл. США, а стандартной лицензии Enterprise составляет {2} долл. США. Если вы уже являетесь клиентом, <a href='{3}' target='_blank'> войдите в свою учетную запись </a>, чтобы просмотреть доступные цены на продление.",
"HowDoIRenewMyLicense": "Как мне продлить лицензию?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> Включение исходного кода модуля в ваше решение дает вам максимальную свободу настройки этого модуля. Однако тогда будет невозможно автоматически обновить модуль при выпуске новой версии. </p> <p> Ни одна из лицензий не включает исходный код ABP Suite, который является внешним инструментом, который генерирует код для вас и помогает к вашей разработке. </p> <p> См. <a href=\"{0}\"> страницу с ценами </a>, чтобы узнать о других различиях между типами лицензий. </p>",
"ChangingDevelopers": "Могу ли я сменить зарегистрированных разработчиков моей организации в будущем?",
"ChangingDevelopersExplanation": "Помимо добавления новых разработчиков к вашей лицензии, вы также можете изменить существующих разработчиков (вы можете удалить разработчика и добавить нового на то же место) без каких-либо дополнительных затрат.",
"WhatHappensWhenLicenseEnds": "Что произойдет, когда закончится срок моей лицензии?",
"WhatHappensWhenLicenseEndsExplanation1": "Тип коммерческой лицензии ABP - <a href=\"{0}\" target=\"_blank\"> бессрочная лицензия </a>. По истечении срока действия лицензии вы можете продолжить разработку своего проекта. И вы не обязаны продлевать лицензию. Ваша лицензия поставляется с годовым обновлением и планом поддержки прямо из коробки. Чтобы продолжать получать новые функции, улучшения производительности, исправления ошибок, поддержку и продолжать использовать ABP Suite, вам необходимо продлить лицензию. По истечении срока действия лицензии вы не получите следующих преимуществ;",
"WhatHappensWhenLicenseEndsExplanation2": "Вы не можете создавать новые решения с помощью ABP Commercial, но вы можете продолжать разрабатывать существующие приложения бесконечно.",
"WhatHappensWhenLicenseEndsExplanation3": "You will be able to get updates for the modules and themes within your MAJOR version (except RC or Preview versions). For example; if you are using v3.2.0 of a module, you can still get updates for v3.x.x (v3.3.0, v3.5.2... etc.) of that module. But you cannot get updates for the next major version (like v4.x, v5.x). For example, when your license expired, the latest release was v4.4.3 and the latest preview version was v5.0.0-rc.2, you can access the v4.X.X but you cannot access the v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Вы не можете устанавливать новые модули и темы, добавленные на коммерческую платформу ABP, после истечения срока действия лицензии.",
"WhatHappensWhenLicenseEndsExplanation5": "Вы не можете использовать ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Вы больше не можете получать <a href=\"{0}\"> премиум-поддержку </a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Вы можете продлить (обновить) вашу лицензию, если хотите и дальше пользоваться этими преимуществами. Если вы продлите лицензию в течение <strong> 1 месяца </strong> после истечения срока действия лицензии, будут применяться следующие скидки: групповая лицензия {0}% скидка, бизнес-лицензия {1}% скидка, корпоративная лицензия {2}% скидка .",
"WhenShouldIRenewMyLicense": "Когда мне следует продлить лицензию?",
"WhenShouldIRenewMyLicenseExplanation": "Если вы продлите лицензию в течение <strong> 1 месяца </strong> после истечения срока действия лицензии, будут применяться следующие скидки: групповая лицензия {0}% скидка, бизнес-лицензия {1}% скидка, корпоративная лицензия {2}% скидка . Если вы продлеваете лицензию <strong> через 1 месяц </strong> после даты истечения срока действия лицензии, цена продления будет такой же, как цена покупки лицензии, и при продлении скидки не будет.",
"TrialPlan": "У вас есть пробный план?",
"TrialPlanExplanation": "На данный момент у ABP Commercial нет пробного плана. Для командных лицензий мы предоставляем 30-дневную гарантию возврата денег. Вы можете просто запросить возврат в течение первых 30 дней. Для лицензий Business и Enterprise мы возвращаем 60% в течение 30 дней. Это связано с тем, что лицензии Business и Enterprise включают полный исходный код всех модулей и тем.",
"DoYouAcceptBankWireTransfer": "Вы принимаете банковский перевод?",
"DoYouAcceptBankWireTransferExplanation": "Да, мы принимаем банковский перевод. <br /> После отправки платы за лицензию банковским переводом отправьте нам электронное письмо по адресу accounting@abp.io, квитанцию и тип запрошенной лицензии. Информация о нашем международном банковском счете:",
"HowToUpgrade": "Как обновить существующие приложения, когда доступна новая версия?",
@ -371,7 +361,6 @@
"StartTrial": "Начать бесплатную пробную версию",
"ContactUsIssues": "Свяжитесь с нами, если у вас возникнут проблемы",
"TrialActivatedWarning": "Уважаемый {0}, пользователю предоставляется только 1 бесплатный пробный период. Вы уже использовали пробный период.",
"ActivationRequirement": "Вы в одном шаге от начала использования бесплатной пробной версии. <br> Мы отправили электронное письмо на адрес <b> {0} </b>, чтобы активировать вашу учетную запись. Проверьте свои ящики для входящих сообщений/нежелательной почты/спама!",
"SaveAndDownload": "Сохранить и скачать",
"CompanyNameValidationMessage": "Название компании слишком длинное!",
"AddressValidationMessage": "Адрес слишком длинный!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Môžem v budúcnosti zmeniť typ licencie?",
"ChangingLicenseTypeExplanation": "Vždy je možné pridať nových vývojárov v rovnakom type licencie. Pozrite si tiež časť \"Koľko vývojárov môže pracovať na ABP Commercial?\". Môžete tiež prejsť na vyššiu licenciu zaplatením vypočítaného cenového rozdielu. Pri prechode na vyšší licenčný plán získate výhody nového plánu, ale prechodom na vyšší licenčný plán sa nezmení dátum platnosti licencie.",
"LicenseExtendUpgradeDiff": "Aký je rozdiel medzi rozšírením a aktualizáciou licencie?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Predĺženie:</strong> Predĺžením/obnovením licencie budete naďalej dostávať prémiovú podporu a hlavné aktualizácie modulov a tém. Okrem toho budete môcť pokračovať vo vytváraní nových projektov, naďalej používať balík ABP Suite, ktorý urýchľuje váš vývoj. <hr/><strong>Podpísanie licencie:</strong> Rozšírením licencie postúpite na vyšší licenčný plán, ktorý vám umožní získať ďalšie výhody. Pozrite si <a href=\"/pricing\">tabuľku porovnania licencií</a> a skontrolujte rozdiely medzi licenčnými plánmi.<strong>Na druhej strane, pri upgrade sa dátum skončenia platnosti vašej licencie nezmení!</strong> Ak chcete predĺžiť dátum skončenia platnosti vašej licencie, musíte si licenciu predĺžiť.",
"LicenseRenewalCost": "Aké sú náklady na obnovenie licencie po 1 roku?",
"LicenseRenewalCostExplanation": "Cena obnovenia (predĺženia) štandardnej tímovej licencie je ${0}, štandardnej obchodnej licencie je ${1} a štandardnej podnikovej licencie je ${2}. Ak už ste zákazníkom, <a href='{3}' target='_blank'>prihláste sa do svojho účtu</a> a pozrite si dostupné ceny za obnovenie.",
"HowDoIRenewMyLicense": "Ako si môžem obnoviť licenciu?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Začlenenie zdrojového kódu modulu do vášho riešenia vám dáva maximálnu slobodu prispôsobenia tohto modulu. Potom však nebude možné automaticky aktualizovať modul pri vydaní novej verzie.</p><p>Žiadna z licencií nezahŕňa zdrojový kód balíka ABP Suite, čo je externý nástroj, ktorý pre vás generuje kód a pomáha pri vývoji.</p><p>Dalšie rozdiely medzi jednotlivými typmi licencií nájdete na <a href=\"{0}\">stránke o cenách</a>.</p>",
"ChangingDevelopers": "Môžem v budúcnosti zmeniť registrovaných vývojárov svojej organizácie?",
"ChangingDevelopersExplanation": "Okrem pridávania nových vývojárov do licencie môžete tiež meniť existujúcich vývojárov (môžete odstrániť vývojára a pridať nového na to isté miesto) bez akýchkoľvek ďalších nákladov.",
"WhatHappensWhenLicenseEnds": "Čo sa stane po skončení platnosti licencie?",
"WhatHappensWhenLicenseEndsExplanation1": "Typ licencie ABP Commercial je <a href=\"{0}\" target=\"_blank\">trvalá licencia</a>. Po vypršaní platnosti licencie môžete pokračovať vo vývoji svojho projektu. A nie ste povinní obnoviť si licenciu. Vaša licencia sa dodáva s jednoročnou aktualizáciou a plánom podpory hneď po vybalení. Ak chcete naďalej získavať nové funkcie, vylepšenia výkonu, opravy chýb, podporu a naďalej používať ABP Suite, musíte si obnoviť licenciu. Po vypršaní platnosti licencie nezískate nasledujúce výhody;",
"WhatHappensWhenLicenseEndsExplanation2": "Pomocou ABP Commercial nemôžete vytvárať nové riešenia, ale navždy môžete pokračovať vo vývoji existujúcich aplikácií.",
"WhatHappensWhenLicenseEndsExplanation3": "Budete môcť získať aktualizácie pre moduly a témy v rámci vašej HLAVNEJ verzie (okrem verzií RC alebo Preview). Napríklad; ak používate verziu 3.2.0 modulu, stále môžete získať aktualizácie pre verziu 3.x.x (v3.3.0, v3.5.2... atď.) tohto modulu. Nemôžete však získať aktualizácie pre ďalšiu hlavnú verziu (napríklad v4.x, v5.x). Napríklad, keď platnosť vašej licencie vypršala, najnovšie vydanie bolo v4.4.3 a najnovšia ukážková verzia bola v5.0.0-rc.2, máte prístup k verzii 4.X.X, ale nemáte prístup k verzii 5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Po skončení platnosti vašej licencie nemôžete inštalovať nové moduly a témy pridané do platformy ABP Commercial.",
"WhatHappensWhenLicenseEndsExplanation5": "Balík ABP Suite nemôžete používať.",
"WhatHappensWhenLicenseEndsExplanation6": "Už nemôžete získať <a href=\"{0}\">prémiovú podporu</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "You can extend (renew) your license if you want to continue to get these benefits. If you extend your license within <strong>1 month</strong> after your license expires, the following discounts will be applied: Team License {0}% discount, Business License {1}% discount, Enterprise License {2}% discount.",
"WhenShouldIRenewMyLicense": "Kedy si mám obnoviť licenciu?",
"WhenShouldIRenewMyLicenseExplanation": "Ak si licenciu obnovíte do <strong>1 mesiaca</strong> po vypršaní platnosti licencie, budú sa uplatňovať tieto zľavy: Tímová licencia {0}% zľava, Obchodná licencia {1}% zľava, Enterprise licencia {2}% zľava . Ak si licenciu obnovíte <strong>1 mesiac</strong> po dátume skončenia platnosti licencie, cena za obnovenie bude rovnaká ako cena za nákup licencie a na obnovenie nebude poskytnutá žiadna zľava.",
"TrialPlan": "Máte skúšobný plán?",
"TrialPlanExplanation": "Spoločnosť ABP Commercial zatiaľ nemá skúšobný plán. Pre tímové licencie poskytujeme 30-dňovú záruku vrátenia peňazí. Stačí požiadať o vrátenie peňazí počas prvých 30 dní. V prípade licencií Business a Enterprise poskytujeme 60% vrátenie peňazí do 30 dní. Je to preto, že licencie Business a Enterprise obsahujú úplný zdrojový kód všetkých modulov a tém.",
"DoYouAcceptBankWireTransfer": "Prijímate bankový prevod?",
"DoYouAcceptBankWireTransferExplanation": "Áno, akceptujeme bankový prevod.<br />Po odoslaní licenčného poplatku bankovým prevodom nám pošlite e-mail na adresu accounting@abp.io svoje potvrdenie a požadovaný typ licencie. Informácie o našom medzinárodnom bankovom účte:",
"HowToUpgrade": "Ako aktualizovať existujúce aplikácie, keď je k dispozícii nová verzia?",
@ -371,7 +361,6 @@
"StartTrial": "Spustite moju bezplatnú skúšobnú verziu",
"ContactUsIssues": "Ak máte nejaké problémy, kontaktujte nás",
"TrialActivatedWarning": "Vážený {0}, používateľ má nárok len na 1 bezplatné skúšobné obdobie. Skúšobné obdobie ste už využili.",
"ActivationRequirement": "Od spustenia bezplatnej skúšobnej verzie vás delí len jeden krok.<br>Poslali sme e-mail na adresu <b>{0}</b> na aktiváciu vášho účtu. Skontrolujte si schránku doručenej pošty/nevyžiadanej pošty/spamu!",
"SaveAndDownload": "Uložiť a stiahnuť",
"CompanyNameValidationMessage": "Názov spoločnosti je príliš dlhý!",
"AddressValidationMessage": "Adresa je príliš dlhá!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Ali lahko pozneje nadgradim svojo vrsto licence?",
"ChangingLicenseTypeExplanation": "Lahko nadgradite na višjo licenco tako, da doplačate razliko v obdobju aktivne licence. Ko nadgradite na višji licenčni načrt, prejmete prednosti novega načrta, vendar nadgradnja licence ne spremeni datuma poteka licence. Poleg tega lahko svoji obstoječi licenci dodate tudi nova mesta za razvijalce, glejte »Koliko razvijalcev lahko dela na ABP Commercial?«",
"LicenseExtendUpgradeDiff": "Kakšna je razlika med podaljšanjem licence in nadgradnjo?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Razširitev:</strong> S podaljšanjem/obnovitvijo licence boste še naprej prejemali vrhunsko podporo in večje posodobitve za module in teme. Poleg tega boste lahko nadaljevali z ustvarjanjem novih projektov. Še vedno boste lahko uporabljali zbirko ABP Suite, ki pospeši vaš razvoj.<hr/><strong>Nadgradnja:</strong> Z nadgradnjo vaše licence boste napredovali v višji licenčni načrt, ki vam bo omogočil dodatne ugodnosti . Če želite preveriti razlike med licenčnimi načrti, glejte <a href=\"/pricing\">tabelo za primerjavo licenc</a>.<strong>Po drugi strani pa se datum poteka licence ne bo spremenil, ko nadgradite!</strong> >Če želite podaljšati končni datum licence, morate podaljšati licenco.",
"LicenseRenewalCost": "Kakšni so stroški podaljšanja licence po 1 letu?",
"LicenseRenewalCostExplanation": "Cena podaljšanja (podaljšanja) standardne licence ekipe je {0} $, standardne poslovne licence {1} $ in standardne licence za podjetje je {2} $. Če ste že stranka, se <a href='{3}' target='_blank'>prijavite v svoj račun</a> in si oglejte razpoložljive cene za podaljšanje.",
"HowDoIRenewMyLicense": "Kako podaljšam licenco?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Vključitev izvorne kode modula v vašo rešitev vam daje največjo svobodo pri prilagajanju tega modula. Vendar takrat modula ne bo mogoče samodejno nadgraditi, ko bo izdana nova različica.</p><p>Nobena od licenc ne vključuje izvorne kode zbirke ABP Suite, ki je zunanje orodje, ki za vas ustvari kodo in vam pomaga. za vaš razvoj.</p><p>Glejte <a href=\"{0}\">stran s cenami</a> za druge razlike med vrstami licenc.</p>",
"ChangingDevelopers": "Ali lahko v prihodnosti spremenim registrirane razvijalce svoje organizacije?",
"ChangingDevelopersExplanation": "Poleg dodajanja novih razvijalcev vaši licenci lahko spremenite tudi obstoječe razvijalce (lahko odstranite razvijalca in dodate novega na isto mesto) brez dodatnih stroškov.",
"WhatHappensWhenLicenseEnds": "Kaj se zgodi, ko se moje licenčno obdobje konča?",
"WhatHappensWhenLicenseEndsExplanation1": "Vrsta licence ABP Commercial je <a href=\"{0}\" target=\"_blank\">trajna licenca</a>. Po poteku licence lahko nadaljujete z razvojem svojega projekta. In licence vam ni treba podaljšati. Vaša licenca je priložena enoletnemu načrtu za posodobitev in podporo. Če želite še naprej prejemati nove funkcije, izboljšave zmogljivosti, popravke napak, podporo in še naprej uporabljati ABP Suite, morate obnoviti licenco. Ko vaša licenca poteče, ne boste prejeli naslednjih ugodnosti;",
"WhatHappensWhenLicenseEndsExplanation2": "Z uporabo ABP Commercial ne morete ustvarjati novih rešitev, lahko pa za vedno razvijate svoje obstoječe aplikacije.",
"WhatHappensWhenLicenseEndsExplanation3": "Prejeli boste lahko posodobitve za module in teme v vaši MAJOR različici (razen različic RC ali Preview). Na primer; če uporabljate v3.2.0 modula, lahko še vedno dobite posodobitve za v3.x.x (v3.3.0, v3.5.2 ... itd.) tega modula. Vendar ne morete dobiti posodobitev za naslednjo večjo različico (na primer v4.x, v5.x). Na primer, ko je vaša licenca potekla, je bila najnovejša izdaja v4.4.3 in najnovejša različica za predogled v5.0.0-rc.2, lahko dostopate do v4.X.X, vendar ne morete dostopati do v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Po prenehanju licence ne morete namestiti novih modulov in tem, ki so bili dodani platformi ABP Commercial.",
"WhatHappensWhenLicenseEndsExplanation5": "Ne morete uporabljati ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Ne morete več dobiti <a href=\"{0}\">premium podpore</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Licenco lahko podaljšate (obnovite), če želite še naprej uživati te ugodnosti. Če podaljšate licenco v <strong>1 mesecu</strong> po poteku licence, bodo uveljavljeni naslednji popusti: licenca ekipe {0} % popusta, poslovna licenca {1} % popusta, licenca podjetja {2} % popusta .",
"WhenShouldIRenewMyLicense": "Kdaj naj podaljšam licenco?",
"WhenShouldIRenewMyLicenseExplanation": "Če licenco podaljšate v <strong>1 mesecu</strong> po poteku licence, bodo uporabljeni naslednji popusti: licenca za ekipo {0} % popusta, poslovna licenca {1} % popusta, licenca za podjetje {2} % popusta . Če podaljšate licenco <strong>1 mesec</strong> po datumu poteka veljavnosti licence, bo cena podaljšanja enaka nakupni ceni licence in pri podaljšanju ne bo popusta.",
"TrialPlan": "Ali imate poskusni načrt?",
"TrialPlanExplanation": "Za zdaj ABP Commercial nima načrta za preskus. Za licence ekipe nudimo 30-dnevno garancijo vračila denarja. Zahtevate lahko samo vračilo kupnine v prvih 30 dneh. Za licence Business in Enterprise nudimo 60 % vračilo v 30 dneh. To je zato, ker licence Business in Enterprise vključujejo celotno izvorno kodo vseh modulov in tem.",
"DoYouAcceptBankWireTransfer": "Ali sprejemate bančno nakazilo?",
"DoYouAcceptBankWireTransferExplanation": "Da, sprejemamo bančno nakazilo.<br />Ko pošljete licenčnino prek bančnega nakazila, nam pošljite e-pošto na accounting@abp.io vaše potrdilo o prejemu in vrsto zahtevane licence. Naši podatki o mednarodnem bančnem računu:",
"HowToUpgrade": "Kako nadgraditi obstoječe aplikacije, ko je na voljo nova različica?",
@ -371,7 +361,6 @@
"StartTrial": "Začnite moj brezplačni preizkus",
"ContactUsIssues": "Pišite nam, če imate kakršne koli težave",
"TrialActivatedWarning": "Spoštovani {0}, uporabnik ima pravico do 1 brezplačnega preskusnega obdobja. Poskusno obdobje ste že izkoristili.",
"ActivationRequirement": "Še en korak vas loči od začetka brezplačnega preizkusa.<br>Na <b>{0}</b> smo poslali e-poštno sporočilo, da aktiviramo vaš račun. Preverite svojo mapo »Prejeto/neželeno/neželeno pošto!",
"SaveAndDownload": "Shrani in prenesi",
"CompanyNameValidationMessage": "Ime podjetja je predolgo!",
"AddressValidationMessage": "Naslov je predolg!",

12
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json

@ -180,7 +180,7 @@
"ChangingLicenseType": "Lisans türümü daha sonra yükseltebilir miyim?",
"ChangingLicenseTypeExplanation": "Aktif lisans süreniz içerisinde aradaki farkı ödeyerek bir üst lisansa geçebilirsiniz. Daha yüksek bir lisans planına yükselttiğinizde, yeni planın avantajlarından yararlanırsınız, ancak lisans yükseltmesi, lisansın sona erme tarihini değiştirmez. Ayrıca, mevcut lisansınıza yeni geliştirici lisansları da ekleyebilirsiniz, bkz. \"ABP Ticari üzerinde kaç geliştirici çalışabilir?\"",
"LicenseExtendUpgradeDiff": "Lisans uzatma ve yükseltme arasındaki fark nedir?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Uzatma:</strong> Lisansınızı uzatarak/yenileyerek, premium destek almaya ve modüller ve temalar için önemli güncellemeler almaya devam edeceksiniz. Ayrıca, yeni projeler oluşturmaya devam edebileceksiniz. Ve geliştirmenizi hızlandıran ABP Suite'i kullanmaya devam edebileceksiniz.<hr/><strong>Yükseltme:</strong> Lisansınızı yükselterek, ek avantajlar elde etmenizi sağlayacak daha yüksek bir lisans planına terfi edeceksiniz. . Lisans planları arasındaki farkları kontrol etmek için <a href=\"/pricing\">lisans karşılaştırma tablosuna</a> bakın.<strong>Öte yandan, yükseltme yaptığınızda lisans geçerlilik bitiş tarihiniz değişmez!</strong >Lisans bitiş tarihinizi uzatmak için lisansınızı uzatmanız gerekir.",
"LicenseExtendUpgradeDiffExplanation": "<strong>Uzatma:</strong> Lisansınızı uzatarak/yenileyerek, premium destek almaya ve modüller ve temalar için major veya minor güncellemeler almaya devam edeceksiniz. Ayrıca, yeni projeler oluşturmaya devam edebileceksiniz. Ve geliştirmenizi hızlandıran ABP Suite'i kullanmaya devam edebileceksiniz.<hr/><strong>Yükseltme:</strong> Lisansınızı yükselterek, ek avantajlar elde etmenizi sağlayacak daha yüksek bir lisans planına terfi edeceksiniz. . Lisans planları arasındaki farkları kontrol etmek için <a href=\"/pricing\">lisans karşılaştırma tablosuna</a> bakın.<strong>Öte yandan, yükseltme yaptığınızda lisans geçerlilik bitiş tarihiniz değişmez!</strong >Lisans bitiş tarihinizi uzatmak için lisansınızı uzatmanız gerekir.",
"LicenseRenewalCost": "1 yıl sonra ehliyet yenileme ücreti ne kadardır?",
"LicenseRenewalCostExplanation": "Standart Takım Lisansının yenileme (uzatma) fiyatı ${0}, standart İşletme Lisansı ${1} ve standart Enterprise Lisansı {2} $'dır. Zaten bir müşteriyseniz, mevcut yenileme fiyatlarını incelemek için <a href='{3}' target='_blank'>hesabınıza giriş yapın</a>.",
"HowDoIRenewMyLicense": "Lisansımı nasıl yenilerim?",
@ -192,18 +192,9 @@
"IsSourceCodeIncludedExplanation4": "<p>Bir modülün kaynak kodunu çözümünüze dahil etmek, o modülü özelleştirmek için size maksimum özgürlük sağlar. Ancak, bu durumda yeni bir sürüm yayınlandığında modülü otomatik olarak yükseltmek mümkün olmayacaktır.</p><p>Lisansların hiçbiri, sizin için kod oluşturan ve size yardımcı olan harici bir araç olan ABP Suite kaynak kodunu içermez. geliştirmenize yardımcı olur.</p><p>Lisans türleri arasındaki diğer farklar için <a href=\"{0}\">fiyatlandırma</a> sayfasına bakın.</p>",
"ChangingDevelopers": "Gelecekte kuruluşumun kayıtlı geliştiricilerini değiştirebilir miyim?",
"ChangingDevelopersExplanation": "Lisansınıza yeni geliştiriciler eklemenin yanı sıra mevcut geliştiricileri de herhangi bir ek ücret ödemeden değiştirebilirsiniz (bir geliştiriciyi kaldırıp aynı koltuğa yeni bir tane ekleyebilirsiniz).",
"WhatHappensWhenLicenseEnds": "Lisans sürem sona erdiğinde ne olur?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP Ticari lisans türü <a href=\"{0}\" target=\"_blank\">kalıcı lisanstır</a>. Lisansınızın süresi dolduktan sonra projenizi geliştirmeye devam edebilirsiniz. Ve lisansınızı yenilemek zorunda değilsiniz. Lisansınız, kutudan çıktığı gibi bir yıllık güncelleme ve destek planıyla birlikte gelir. Yeni özellikler, performans geliştirmeleri, hata düzeltmeleri, destek almaya devam etmek ve ABP Suite'i kullanmaya devam etmek için lisansınızı yenilemeniz gerekir. Lisansınızın süresi dolduğunda aşağıdaki avantajlardan yararlanamazsınız;",
"WhatHappensWhenLicenseEndsExplanation2": "ABP Ticari kullanarak yeni çözümler üretemezsiniz, ancak mevcut uygulamalarınızı sonsuza kadar geliştirmeye devam edebilirsiniz.",
"WhatHappensWhenLicenseEndsExplanation3": "MAJOR sürümünüzdeki modüller ve temalar için güncellemeler alabileceksiniz (RC veya Önizleme sürümleri hariç). Örneğin; Bir modülün v3.2.0'ını kullanıyorsanız, yine de o modülün v3.x.x (v3.3.0, v3.5.2... vb.) güncellemelerini alabilirsiniz. Ancak bir sonraki ana sürüm için güncellemeler alamazsınız (v4.x, v5.x gibi). Örneğin, lisansınızın süresi dolduğunda, en son sürüm v4.4.3 ve en son önizleme sürümü v5.0.0-rc.2 olduğunda, v4.X.X'e erişebilirsiniz ancak v5.X.X'e erişemezsiniz.",
"WhatHappensWhenLicenseEndsExplanation4": "ABP Ticari platformuna eklenen yeni modülleri ve temaları lisansınız sona erdikten sonra kuramazsınız.",
"WhatHappensWhenLicenseEndsExplanation5": "ABP Suite'i kullanamazsınız.",
"WhatHappensWhenLicenseEndsExplanation6": "Artık <a href=\"{0}\">premium desteği</a> alamazsınız.",
"WhatHappensWhenLicenseEndsExplanation7": "Bu avantajlardan yararlanmaya devam etmek istiyorsanız lisansınızı uzatabilirsiniz (yenileyebilirsiniz). Lisansınızın süresi dolduktan sonra <strong>1 ay</strong> içinde lisansınızı uzatırsanız, aşağıdaki indirimler uygulanacaktır: Takım Lisansı %{0} indirim, İşletme Lisansı %{1} indirim, Kurumsal Lisans %{2} indirim .",
"WhenShouldIRenewMyLicense": "Ehliyetimi ne zaman yenilemeliyim?",
"WhenShouldIRenewMyLicenseExplanation": "Lisansınızın süresi dolduktan sonra <strong>1 ay</strong> içinde lisansınızı yenilerseniz, aşağıdaki indirimler uygulanacaktır: Takım Lisansı %{0} indirim, İşletme Lisansı %{1} indirim, Kurumsal Lisans %{2} indirim . Lisansınızın sona erme tarihinden <strong>1 ay</strong> sonra lisansınızı yenilerseniz, yenileme fiyatı lisans satın alma fiyatı ile aynı olacak ve yenilemenizde indirim yapılmayacaktır.",
"TrialPlan": "Deneme planınız var mı?",
"TrialPlanExplanation": "ABP Commercial'ın şimdilik bir deneme planı yok. Ekip lisansları için 30 gün para iade garantisi veriyoruz. Sadece ilk 30 gün içinde geri ödeme talebinde bulunabilirsiniz. Business ve Enterprise lisansları için 30 gün içinde %60 geri ödeme sağlıyoruz. Bunun nedeni, Business ve Enterprise lisanslarının tüm modüllerin ve temaların tam kaynak kodunu içermesidir.",
"DoYouAcceptBankWireTransfer": "Banka havalesini kabul ediyor musunuz?",
"DoYouAcceptBankWireTransferExplanation": "Evet, banka havalesini kabul ediyoruz.<br />Lisans ücretini banka havalesi yoluyla gönderdikten sonra, dekontunuzu ve talep edilen lisans türünü accounting@abp.io adresinden bize e-posta ile gönderin. Uluslararası banka hesap bilgilerimiz:",
"HowToUpgrade": "Yeni bir sürüm mevcut olduğunda mevcut uygulamalar nasıl yükseltilir?",
@ -373,7 +364,6 @@
"StartTrial": "Ücretsiz Denememi Başlat",
"ContactUsIssues": "Herhangi bir sorununuz varsa bizimle iletişime geçin",
"TrialActivatedWarning": "Sayın {0}, bir kullanıcının yalnızca 1 ücretsiz deneme süresi hakkı vardır. Deneme sürenizi zaten kullandınız.",
"ActivationRequirement": "Ücretsiz denemenizi başlatmanıza bir adım kaldı.<br>Hesabınızı etkinleştirmek için <b>{0}</b> adresine bir e-posta gönderdik. Gelen kutunuzu/önemsiz/spam kutularınızı kontrol edin!",
"SaveAndDownload": "Kaydet ve İndir",
"CompanyNameValidationMessage": "Şirket adı çok uzun!",
"AddressValidationMessage": "Adres çok uzun!",

11
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json

@ -178,7 +178,6 @@
"ChangingLicenseType": "Tôi có thể nâng cấp loại giấy phép của mình sau này không?",
"ChangingLicenseTypeExplanation": "Bạn có thể nâng cấp lên giấy phép cao hơn bằng cách trả khoản chênh lệch trong thời hạn giấy phép đang hoạt động của mình. Khi bạn nâng cấp lên gói giấy phép cao hơn, bạn sẽ nhận được những lợi ích của gói mới, nhưng việc nâng cấp giấy phép không thay đổi ngày hết hạn của giấy phép. Bên cạnh đó, bạn cũng có thể thêm chỗ ngồi cho nhà phát triển mới vào giấy phép hiện có của mình, hãy xem \"Có bao nhiêu nhà phát triển có thể làm việc trên ABP Commercial?\"",
"LicenseExtendUpgradeDiff": "Sự khác biệt giữa gia hạn giấy phép và nâng cấp là gì?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development.<hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. See the <a href=\"/pricing\">license comparison table</a> to check the differences between the license plans.<strong>On the other hand, when you upgrade, your license expiry date will not change!</strong>To extend your license end date, you need to extend your license.",
"LicenseRenewalCost": "Chi phí gia hạn giấy phép sau 1 năm là bao nhiêu?",
"LicenseRenewalCostExplanation": "Giá gia hạn (gia hạn) của Giấy phép nhóm tiêu chuẩn là $ {0}, Giấy phép kinh doanh tiêu chuẩn là $ {1} và Giấy phép doanh nghiệp tiêu chuẩn là $ {2}. Nếu bạn đã là khách hàng, hãy <a href='{3}' target='_blank'> đăng nhập vào tài khoản của bạn </a> để xem lại giá gia hạn hiện có.",
"HowDoIRenewMyLicense": "Làm cách nào để gia hạn giấy phép của tôi?",
@ -190,18 +189,9 @@
"IsSourceCodeIncludedExplanation4": "<p> Bao gồm mã nguồn của mô-đun vào giải pháp của bạn mang lại cho bạn quyền tự do tối đa để tùy chỉnh mô-đun đó. Tuy nhiên, sau đó sẽ không thể tự động nâng cấp mô-đun khi phiên bản mới được phát hành. </p> <p> Không có giấy phép nào bao gồm mã nguồn ABP Suite, là một công cụ bên ngoài tạo mã cho bạn và hỗ trợ cho sự phát triển của bạn. </p> <p> Xem trang <a href=\"{0}\"> giá cả </a> để biết những khác biệt khác giữa các loại giấy phép. </p>",
"ChangingDevelopers": "Tôi có thể thay đổi các nhà phát triển đã đăng ký của tổ chức của mình trong tương lai không?",
"ChangingDevelopersExplanation": "Ngoài việc thêm các nhà phát triển mới vào giấy phép của mình, bạn cũng có thể thay đổi các nhà phát triển hiện có (bạn có thể xóa một nhà phát triển và thêm một nhà phát triển mới vào cùng một chỗ ngồi) mà không phải trả thêm bất kỳ chi phí nào.",
"WhatHappensWhenLicenseEnds": "Điều gì xảy ra khi thời hạn cấp phép của tôi kết thúc?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP Loại giấy phép thương mại là <a href=\"{0}\" target=\"_blank\"> giấy phép vĩnh viễn </a>. Sau khi giấy phép của bạn hết hạn, bạn có thể tiếp tục phát triển dự án của mình. Và bạn không có nghĩa vụ phải gia hạn giấy phép của mình. Giấy phép của bạn đi kèm với một bản cập nhật và kế hoạch hỗ trợ trong một năm. Để tiếp tục nhận các tính năng mới, cải tiến hiệu suất, sửa lỗi, hỗ trợ và tiếp tục sử dụng ABP Suite, bạn cần gia hạn giấy phép của mình. Khi giấy phép của bạn hết hạn, bạn sẽ không nhận được những lợi ích sau đây;",
"WhatHappensWhenLicenseEndsExplanation2": "Bạn không thể tạo các giải pháp mới bằng ABP Commercial, nhưng bạn có thể tiếp tục phát triển các ứng dụng hiện có của mình mãi mãi.",
"WhatHappensWhenLicenseEndsExplanation3": "Bạn sẽ có thể nhận được bản cập nhật cho các mô-đun và chủ đề trong phiên bản CHÍNH của mình (ngoại trừ phiên bản RC hoặc Preview). Ví dụ; nếu bạn đang sử dụng v3.2.0 của một mô-đun, bạn vẫn có thể nhận được các bản cập nhật cho v3.x.x (v3.3.0, v3.5.2 ... v.v.) của mô-đun đó. Nhưng bạn không thể nhận các bản cập nhật cho phiên bản chính tiếp theo (như v4.x, v5.x). Ví dụ: khi giấy phép của bạn hết hạn, bản phát hành mới nhất là v4.4.3 và phiên bản xem trước mới nhất là v5.0.0-rc.2, bạn có thể truy cập v4.X.X nhưng không thể truy cập v5.X.X.",
"WhatHappensWhenLicenseEndsExplanation4": "Bạn không thể cài đặt các mô-đun và chủ đề mới được thêm vào nền tảng ABP Commercial sau khi giấy phép của bạn hết hạn.",
"WhatHappensWhenLicenseEndsExplanation5": "Bạn không thể sử dụng ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Bạn không thể nhận được <a href=\"{0}\"> hỗ trợ cao cấp </a> nữa.",
"WhatHappensWhenLicenseEndsExplanation7": "Bạn có thể gia hạn (gia hạn) giấy phép của mình nếu bạn muốn tiếp tục nhận được những lợi ích này. Nếu bạn gia hạn giấy phép của mình trong vòng <strong> 1 tháng </strong> sau khi giấy phép của bạn hết hạn, các chiết khấu sau sẽ được áp dụng: Giảm giá {0}% cho Giấy phép Nhóm, Giảm giá {1}% Giấy phép Kinh doanh, Giảm giá {2}% Giấy phép Doanh nghiệp .",
"WhenShouldIRenewMyLicense": "Khi nào tôi nên gia hạn giấy phép của mình?",
"WhenShouldIRenewMyLicenseExplanation": "Nếu bạn gia hạn giấy phép của mình trong vòng <strong> 1 tháng </strong> sau khi giấy phép của bạn hết hạn, các chiết khấu sau sẽ được áp dụng: Giảm giá {0}% cho Giấy phép Nhóm, Giảm giá {1}% Giấy phép Kinh doanh, Giảm giá {2}% Giấy phép Doanh nghiệp . Nếu bạn gia hạn giấy phép <strong> 1 tháng </strong> sau ngày giấy phép hết hạn, giá gia hạn sẽ giống như giá mua giấy phép và sẽ không có chiết khấu khi gia hạn của bạn.",
"TrialPlan": "Bạn có kế hoạch dùng thử không?",
"TrialPlanExplanation": "Hiện tại, ABP Commercial không có kế hoạch dùng thử. Đối với giấy phép Nhóm, chúng tôi cung cấp bảo đảm hoàn tiền trong 30 ngày. Bạn chỉ có thể yêu cầu hoàn lại tiền trong 30 ngày đầu tiên. Đối với giấy phép Doanh nghiệp và Doanh nghiệp, chúng tôi hoàn lại 60% trong 30 ngày. Điều này là do giấy phép Doanh nghiệp và Doanh nghiệp bao gồm mã nguồn đầy đủ của tất cả các mô-đun và chủ đề.",
"DoYouAcceptBankWireTransfer": "Bạn có chấp nhận chuyển khoản ngân hàng không?",
"DoYouAcceptBankWireTransferExplanation": "Có, chúng tôi chấp nhận chuyển khoản ngân hàng. <br /> Sau khi gửi phí cấp phép qua chuyển khoản ngân hàng, hãy gửi email cho chúng tôi theo địa chỉ accounting@abp.io biên lai của bạn và loại giấy phép được yêu cầu. Thông tin tài khoản ngân hàng quốc tế của chúng tôi:",
"HowToUpgrade": "Làm thế nào để nâng cấp các ứng dụng hiện có khi có phiên bản mới?",
@ -371,7 +361,6 @@
"StartTrial": "Bắt đầu bản dùng thử miễn phí của tôi",
"ContactUsIssues": "Liên hệ với chúng tôi nếu bạn có bất kỳ vấn đề nào",
"TrialActivatedWarning": "Kính gửi {0}, người dùng chỉ được phép có 1 thời gian dùng thử miễn phí. Bạn đã sử dụng thời gian dùng thử của mình.",
"ActivationRequirement": "Bạn chỉ còn một bước nữa là bắt đầu dùng thử miễn phí. <br> Chúng tôi đã gửi email đến <b> {0} </b> để kích hoạt tài khoản của bạn. Kiểm tra hộp thư đến/hộp thư rác/hộp thư rác của bạn!",
"SaveAndDownload": "Lưu và tải xuống",
"CompanyNameValidationMessage": "Tên công ty quá dài!",
"AddressValidationMessage": "Địa chỉ quá dài!",

392
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json

@ -9,9 +9,10 @@
"QuestionCount": "剩余/问题总数",
"Unlimited": "无限制",
"Owners": "所有者",
"Owner": "所有者",
"AddMember": "添加成员",
"AddOwner": "添加所有者",
"AddDeveloper": "添加开发者",
"AddNewOwner": "添加新的所有者",
"AddNewDeveloper": "添加新的开发者",
"UserName": "用户名",
"Name": "名称",
"EmailAddress": "电子邮件地址",
@ -62,8 +63,6 @@
"Themes": "主题",
"JoinOurNewsletter": "加入我们的时事通讯",
"Send": "发送",
"Learn": "学习",
"AdditionalServices": "额外的服务",
"WhatIsABPFramework": "什么是ABP框架?",
"OpenSourceBaseFramework": "开源的框架",
"ABPFrameworkExplanation": "<p class=\"lead\">ABP商业版基于ABP框架, 这是一个开源和社区驱动的ASP.NET Core web应用程序开发框架.</p><p>ABP框架提供了出色的基础设施, 使用最佳实践编写可维护,可扩展,可测试的代码.</p><p>基于你已经知道的流行工具. 低学习曲线,容易适应,舒适的开发体检.</p>",
@ -110,7 +109,7 @@
"LightTheme": "浅色主题",
"ProudToWorkWith": "荣幸与你合作",
"OurConsumers": "全球70多个国家的数百家企业和开发商使用ABP商业版.",
"JoinOurConsumers": "加他们并快速构建令人惊叹的产品.",
"JoinOurConsumers": "加他们并快速构建令人惊叹的产品.",
"AdditionalServicesExplanation": "你是否需要额外或自定义的服务? <strong>我们和我们的合作伙伴可以提供;</strong>",
"CustomProjectDevelopment": "自定义项目开发",
"CustomProjectDevelopmentExplanation": "专为你的自定义的开发人员.",
@ -129,6 +128,8 @@
"TellUsWhatYouNeed": "告诉我们你需要什么.",
"YourMessage": "你的消息",
"YourFullName": "你的全名",
"FirstNameField": "名字",
"LastNameField": "姓氏",
"EmailField": "E-mail地址",
"YourEmailAddress": "你的e-mail地址",
"HowMayWeHelpYou": "需要获得购买帮助?(提供中文服务)",
@ -159,6 +160,8 @@
"SearchQuestionPlaceholder": "搜索常见的问题",
"WhatIsTheABPCommercial": "什么是ABP商业版?",
"WhatAreDifferencesThanAbpFramework": "ABP框架与ABP商业版有什么不同?",
"AbpCommercialMetaTitle": "ABP 商业版 - 完整的网页开发平台 : {0} | ABP 商业版 ",
"AbpCommercialMetaDescription": "ABP 商业版是在开源ABP框架之上构建的一组预构建应用程序模块、快速开发工具、UI主题和服务架构",
"ABPCommercialExplanation": "ABP商业版是一套基于开源<a target=\"_blank\" href=\"{0}\">ABP框架</a>之上的高级模块,工具,主题和服务. ABP商业版由ABP框架背后的同一团队开发和支持.",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> <a target=\"_blank\" href=\"{0}\">ABP框架</a>是模块化,主题化,微服务兼容的ASP.NET Core应用程序开发框架. 它提供了一个完整的架构和强大的基础设施,让你专注于自己的业务代码而不是重复自己的每一个项目. 它基于软件开发的最佳实践和你已经知道的流行工具 </p> <p> ABP框架是完全免费,开源和由社区驱动的. 它还提供了一个免费的主题和一些预构建的模块 (如 identity管理和租户管理).</p>",
"VisitTheFrameworkVSCommercialDocument": "访问以下链接,了解更多信息 <a href=\"{0}\" target=\"_blank\"> {1} </a>",
@ -180,7 +183,7 @@
"ChangingLicenseType": "将来更改我的许可类型吗?",
"ChangingLicenseTypeExplanation": "你始终可以在同一许可中添加新的开发人员. 参阅 \"有多少开发者可以参与ABP商业版工作?\". 你还可以通过支付计算出的价格差来升级到更高的许可. 当你升级到更高的许可计划时,可以享受新计划的好处,但是许可升级不会更改许可的到期日期.",
"LicenseExtendUpgradeDiff": "许可扩展和升级有什么区别?",
"LicenseExtendUpgradeDiffExplanation": "<strong>扩展:</strong> 通过扩展/更新许可,你将继续获得高级支持,并获得有关模块和主题的重大更新. 此外你将能够继续创建新项目. 而且你仍然可以使用ABP Suite来加快开发速度.<hr/><strong>升级:</strong> 通过升级许可,你将升级到更高的许可计划,这将使你获得更多好处. 查看 <a href=\"/pricing\">许可比较表</a>来检查许可计划之间的差异. <strong>另一方面,当你升级时你的许可到期日期不会改变!</strong>要延长你的许可终止日期,你需要延长你的许可.",
"LicenseExtendUpgradeDiffExplanation": "<strong>延长:</strong> 你通过延长/续费你的许可证,你将继续获得高级支持和主要或次要更新模块和主题。除此之外,你还将继续创建新的项目。并且你仍然可以使用ABP Suite,这将加快你的开发。当你延长你的许可证时,1年将添加到你的许可证到期日。<hr/><strong>升级:</strong> 你通过升级你的许可证,你将晋升到更高的许可证方案,这将允许你获得额外的奖励。查看<a href=\"/pricing\">许可证比较表</a>来查看许可证方案之间的差异。<strong>但是,当你升级时,你的许可证到期日不会更改!</strong>要延长你的许可证结束日期,你需要延长你的许可证。",
"LicenseRenewalCost": "一年后的许可续期费用是多少?",
"LicenseRenewalCostExplanation": "标准 Team 许可证的续订(扩展)价格为 ${0},标准 Business License 为 ${1},标准 Enterprise License 为 ${2}。 如果您已经是客户,请<a href='{3}' target='_blank'>登录您的帐户</a>查看可用的续订价格。",
"HowDoIRenewMyLicense": "如何续费我的许可证?",
@ -192,18 +195,19 @@
"IsSourceCodeIncludedExplanation4": "<p>将模块的源代码包含到解决方案中,可以最大程度地自定义该模块. 但是当新版本发布时,将无法自动升级模块.</p><p>这些许可均不包含ABP Suite源代码,该源代码是一个外部工具,可以为你生成代码并帮助你进行开发</p><p>有关许可类型之间的其它差异查看<a href=\"{0}\">定价</a>页面.</p>",
"ChangingDevelopers": "我将来可以更改我组织的注册开发人员吗?",
"ChangingDevelopersExplanation": "除了将新的开发人员添加到你的许可中之外,你还可以更改现有的开发人员(可以删除一个开发人员并将新的开发人员添加到同一位置),而无需任何额外费用.",
"WhatHappensWhenLicenseEnds": "我的许可期限结束后会怎样?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP 商业许可类型为<a href=\"{0}\" target=\"_blank\">永久许可</a>。 许可证到期后,您可以继续开发您的项目。 而且您没有义务更新您的许可证。 您的许可证随附开箱即用的一年更新和支持计划。 要继续获得新功能、性能增强、错误修复、支持和继续使用 ABP Suite,您需要更新您的许可证。 当您的许可证到期时,您将无法获得以下好处;",
"WhatHappensWhenLicenseEndsExplanation2": "你不能使用ABP商业版创建新的解决方案,但可以永远继续开发现有的应用程序.",
"WhatHappensWhenLicenseEndsExplanation3": "您将能够获得主要版本(RC 或预览版除外)中的模块和主题的更新。 例如; 如果您使用的是模块的 v3.2.0,您仍然可以获得该模块的 v3.x.x(v3.3.0、v3.5.2...等)的更新。 但是您无法获得下一个主要版本(如 v4.x、v5.x)的更新。 比如你的license过期了,最新版本是v4.4.3,最新预览版本是v5.0.0-rc.2,你可以访问v4.X.X,但是不能访问v5.X.X。",
"WhatHappensWhenLicenseEndsExplanation4": "许可到期后,你无法安装添加到ABP商业平台的新模块和主题.",
"WhatHappensWhenLicenseEndsExplanation5": "你不能使用ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "你不再获得<a href=\"{0}\">高级支持</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "如果您想继续获得这些好处,您可以延长(续订)您的许可证。 如果您在许可证到期后 <strong>1 个月</strong>内延长许可证,将享受以下折扣:团队许可证 {0}% 折扣、商业许可证 {1}% 折扣、企业许可证 {2}% 折扣 .",
"WhatHappensWhenLicenseEnds": "我的许可证期间结束时,会发生什么?",
"WhatHappensWhenLicenseEndsExplanation1": "你的ABP商业许可证是一个<a href=\"{0}\" target=\"_blank\">永久许可证</a>。你的许可证到期后,你可以继续开发你的项目。并且你不需要续费你的许可证。你的许可证是一年更新和支持方案默认的。为了继续获得新的功能,性能改进,修复,支持和继续使用ABP Suite,你需要续费你的许可证。你的许可证到期后,你将失去以下功能:",
"WhatHappensWhenLicenseEndsExplanation2": "你不能使用ABP商业创建新的解决方案,但是你可以继续开发你现有的应用程序。",
"WhatHappensWhenLicenseEndsExplanation3": "你将能够获得模块和主题的更新(除了RC或预览版本)。例如,如果你使用模块的v3.2.0版本,你仍然可以获得v3.2.x版本的更新(v3.2.1,v3.2.5...等等)。但是,你不能获得下一个主要或次要版本的更新(例如v3.3.0,v3.3.3,4.x.x...等等)。例如,你的许可证到期后,最新的发行是v4.4.3,之后,它发布了4.4.4版本和4.5.0版本,你将能够访问v4.4.X,但你不能访问v4.5.X。",
"WhatHappensWhenLicenseEndsExplanation4": "你不能在你的许可证到期后安装ABP商业平台上添加的新模块和主题。",
"WhatHappensWhenLicenseEndsExplanation5": "你不能使用ABP Suite。",
"WhatHappensWhenLicenseEndsExplanation6": "你不能再获得<a href=\"{0}\">高级支持</a>。",
"WhatHappensWhenLicenseEndsExplanation7": "如果你想继续获得这些奖励,你可以继续续费你的许可证。如果你在许可证到期后<strong>1个月</strong>内续费,将会应用以下折扣:团队许可证{0}%折扣,商业许可证{1}%折扣,企业许可证{2}%折扣。",
"WhatHappensWhenLicenseEndsExplanation8": "您生成的 ABP 项目未存储在我们的服务器上。 因此,您有责任保留下载的源代码。 当您的许可证到期时,将无法获取您生成的 ABP 项目源代码。",
"WhenShouldIRenewMyLicense": "我什么时候应该续订我的许可?",
"WhenShouldIRenewMyLicenseExplanation": "如果您在许可证到期后 <strong>1 个月</strong>内续订许可证,将享受以下折扣:团队许可证 {0}% 折扣、商业许可证 {1}% 折扣、企业许可证 {2}% 折扣 . 如果您在许可证到期后 <strong>1 个月</strong>续订许可证,续订价格将与许可证购买价格相同,并且续订不会有折扣。",
"TrialPlan": "你们有试用计划吗?",
"TrialPlanExplanation": "目前,ABP商业版还没有试用计划.对于团队许可,我们提供30天的退款保证.你可以在30天内要求退款.对于企业营业执照,我们提供30天内60%的退款.这是因为商业和企业许可包含所有模块和主题的完整源代码.",
"TrialPlanExplanation": "ABP商业团队许可证有14天的试用期。若要了解更多信息,请访问<a href={0} target='_blank'>这里</a>。此外,我们为团队许可证提供30天的金额返还保证。你只需要在30天内请求退款。商业和企业许可证将提供60%的金额返还保证。这是因为商业和企业许可证包含了所有模块和主题的全部源代码。",
"DoYouAcceptBankWireTransfer": "你们接受银行电汇吗?",
"DoYouAcceptBankWireTransferExplanation": "是的,我们接受银行电汇。<br />在通过银行转账发送许可费后,将您的收据和所需的许可类型通过电子邮件发送至accounting@abp.io。 我们的国际银行账户信息:",
"HowToUpgrade": "可用新版本时如何升级现有应用程序?",
@ -330,7 +334,7 @@
"ImplementingDDDBuildingBlocks": "实现 DDD 构建块",
"DomainVsApplicationLogic": "领域逻辑与应用逻辑",
"SamplesAndDiscussions": "示例和讨论",
"Free": "自由",
"Free": "免费",
"Download": "下载",
"DDDEBook": "DDD电子书",
"ImplementingDDD": "实现领域驱动设计",
@ -360,7 +364,6 @@
"WeWillSendYouADownloadLink": "下载电子书的链接已发送至{0}。<br/>检查您的收件箱/垃圾箱/垃圾邮件箱!",
"InvalidFormInputs": "请输入表格中指定的有效信息。",
"DDDBookEmailBody": "谢谢你。 <br /> 要下载您的图书,请<a href=\"{0}\">点击此处</a>。",
"FreeDDDEBook": "免费 DDD 电子书",
"StartFree": "免费开始",
"FreeTrial": "免费试用",
"AcceptsMarketingCommunications": " 是的,我想接收 ABP 商业营销通讯。",
@ -371,26 +374,367 @@
"CompanySize": "公司规模",
"Next": "下一个",
"StartTrial": "开始我的免费试用",
"ContactUsIssues": "如果您有任何问题,请联系我们",
"ContactUsQuestions": "如果你有任何问题,请联系我们",
"TrialActivatedWarning": "亲爱的{0},用户只能享受 1 个免费试用期。您已经使用了试用期。",
"ActivationRequirement": "您距离开始免费试用仅一步之遥。<br>我们已向 <b>{0}</b> 发送了一封电子邮件以激活您的帐户。检查您的收件箱/垃圾箱/垃圾邮件箱!",
"ActivationRequirement": "你已经距离开始你的试用还有最后一步。<br>检查你的信息后,我们将激活你的许可证。一旦你的许可证激活,我们将向<b>{0}</b>发送电子邮件。请不要担心,这个过程不会太久!",
"SaveAndDownload": "保存和下载",
"CompanyNameValidationMessage": "公司名称太长!",
"AddressValidationMessage": "地址太长!",
"TaxNoValidationMessage": "TAX/VAT No 太长了!",
"NotesValidationMessage": "备注字段太长!",
"CheckYourBillingInfo": "您只能创建一次发票!在创建发票之前检查您的帐单信息。",
"Volo.AbpIo.Commercial:030000": "您已经使用了试用期。",
"Volo.AbpIo.Commercial:030001": "此组织名称已存在。",
"StartYourFreeTrial": "开始你的免费试用",
"TrialLicenseModelInvalidErrorMessage": "以下字段之一无效:国家名称、公司规模、行业或使用目的。",
"Trial": "审判",
"Purchased": "已购买",
"PurchaseLicense": "购买许可证",
"PurchaseNow": "立即购买",
"PurchaseTrialLicenseMessage": "您的许可证到期日期是 {0}。 <br> 如果您想继续使用您在免费试用期内创建的项目,您需要更改 <code>appsettings.secrets.json</code> 文件中的许可证密钥。这是您的许可证密钥:",
"TrialLicenseExpireMessage": "您正在使用试用许可证,您的试用许可证将于 {0}到期。",
"TryForFree": "免费试用",
"TrialLicenseExpiredInfo": "您的试用许可期限已过!",
"CommercialNewsletterConfirmationMessage": "我同意<a href=\"https://commercial.abp.io/TermsConditions\">条款和条件</a>和<a href=\"https://commercial.abp.io/Privacy\">隐私政策</a>。"
"DowngradeLicensePlan": "我将来可以降级到较低的许可版本吗?",
"DowngradeLicensePlanExplanation": "您不能降级现有的许可版本。 但是您可以购买新的较低许可版本并继续使用新许可证进行开发。 购买较低的许可版本后,您只需通过 ABP CLI 命令登录到新的许可版本:` abp login <username> -o <organization> `。",
"LicenseTransfer": "许可证可以从一个开发者转移到另一个开发者吗?",
"LicenseTransferExplanation": "是的! 购买许可证后,您将成为许可证持有者,因此您可以访问组织管理页面。 组织具有所有者和开发者角色。 业主可以管理开发者席位和分配开发者。 每个分配的开发者都将通过 ABP CLI 命令登录系统,并拥有开发和支持权限。",
"UserOwnerDescription": "组织的“所有者”是此帐户的管理员。 他/她通过购买许可证和分配开发者来管理组织。 “所有者”不能在 ABP 商业项目中编写代码,不能下载 ABP 示例项目,也不能在支持的网站上进行提问。 如果你想拥有这些操作权限,你必须也将自己添加为开发人员。",
"UserDeveloperDescription": "“开发人员”可以在 ABP 商业版项目中编写代码,下载 ABP 示例项目,并在支持的网站上进行提问。 然而另一方面,“开发者”无法管理这个组织。",
"RemoveCurrentUserFromOrganizationWarningMessage": "您正在将自己从自己的组织中移除。 您将无法再管理此组织,您确定吗?",
"RenewExistingOrganizationOrCreateNewOneMessage": "您可以通过单击下面的 \"立即延长\"按钮来更新您组织的许可证,因此您可以将许可证到期日期延长 1 年。 如果您继续结帐,您将拥有一个新的组织。 您想继续开始新的组织许可吗?",
"PurchaseTrialOrganizationOrCreateNewOneMessage": "你有试用许可证。如果你想购买试用许可证,请点击“立即购买”按钮。如果你继续支付,你将会有一个新的组织。你想继续使用一个新的组织吗?",
"ExtendNow": "立即延长",
"CreateNewOrganization": "建立新的组织",
"RenewLicenseEarly": "如果我提前更新我的许可证,我会得到一整年吗?",
"RenewLicenseEarylExplanation": "当您在许可证到期日期之前续订许可证时,您的许可证到期日期仍将增加 1 年。 例如,如果您的许可在 {0}-06-06 到期,而您在 {0}-01-01 续订,那么您的新许可到期日期仍将是 {1}-06-06。",
"OpenSourceWebApplication": "开源Web应用程序",
"CompleteWebDevelopment": "一个完整的Web开发",
"ABPFrameworkDescription": "ABP 框架是一个完整的基础架构,可通过遵循软件开发和约定的最佳实践来创建现代 Web 应用程序。",
"CommunityDescription": "分享您使用 ABP 框架的经验!",
"GetStarted": "开始使用",
"Views": "意见",
"LatestPosts": "最新的帖子",
"PreBuiltApplication": "预构建应用程序",
"DatabaseProviders": "数据库提供者",
"UIFrameworks": "用户界面框架",
"UsefulLinks": "有用的链接",
"Platform": "平台",
"CoolestCompaniesUseABPCommercial": "最酷的公司都已经在使用 <span class=\"fw-6\">ABP Commercial。</span>",
"UserInterface": "用户界面",
"APIGateway": "网关",
"Microservice": "微服务",
"Database": "数据库",
"Architecture": "结构",
"MicroserviceArchitectureExplanation": "这是一个完整的解决方案架构,由多个应用程序、API 网关、微服务和数据库组成,使用最新技术构建可扩展的微服务解决方案。",
"BusinessLogic": "业务逻辑",
"DataAccessLayer": "数据访问层",
"Monolith": "单体",
"ModularArchitectureExplanation": "此启动模板提供了分层、模块化和基于 DDD 的解决方案架构,以构建清晰且可维护的代码库。",
"SeeDetails": "阅读详情",
"SeeDocumentation": "查看文档",
"Bs5Compatible": "Bootstrap 5 兼容的专业主题,非常适合您的管理网站。",
"LeptonXTheme": "LeptonX 主题",
"LeptonXDark": "LeptonX 深色",
"LeptonXLight": "LeptonX 浅色",
"LeptonXSemiDark": "LeptonX 半深色",
"BuiltOnBs5Library": "基于 Bootstrap 5 库构建",
"FullyCompatibleWithBs5": "100% 兼容 Bootstrap 5 HTML 结构和 CSS 类",
"ResponsiveAndMobileCompatible": "响应式、移动兼容、RTL 支持",
"ProvidesStylesForDatatables": "为数据表提供样式",
"MultipleLayoutOptions": "多种布局选项",
"EasilyInstallAndUpgrade": "轻松安装和升级",
"SupportForum": "支持论坛",
"TrustedBy": "授信于",
"OurPricing": "我们的 <span class=\"gradient-commercial\">价格</span>",
"Plans": "计划",
"NameSurname": "姓名",
"Unspecified": "未指定的",
"LicenceType": "许可证类型",
"LicenseDiscountWarning": "此折扣页面使用默认折扣代码并适用于 VOLOSOFT 开发人员。 下面的购买链接不起作用。",
"DiscountedLicenseExplanation": "这些许可价格适用于小型初创公司、个人开发者、学生、非营利组织和项目!",
"General": "一般的",
"License": "许可证",
"Development": "开发",
"Payment": "支付",
"WatchExplainerVideo": "让我们见面吧! 观看解说视频",
"LightDarkAndSemiDarkThemes": "浅色、深色和半深色",
"LeptonXThemeExplanation": "Lepton Theme 可以根据您的系统设置更改您的主题。",
"PRO": "专业版",
"WelcomeToABPCommercial": "欢迎来到 <span class=\"gradient-commercial\">ABP 商业版!</span>",
"YourAccountDetails": "您的帐户详细信息",
"OrganizationName": "组织名称",
"AddDevelopers": "添加开发者",
"StartDevelopment": "开始开发",
"CreateAndRunApplicationUsingStartupTemplate": "了解如何使用 ABP Commercial 启动模板创建和运行新的 Web 应用程序。",
"CommunityDescription2": "<span class=\"fw-6\">community.abp.io</span> 是人们可以分享 ABP 相关文章的地方。 搜索文章、教程、代码示例、案例研究并结识与您同路的人。",
"UseABPSuiteExplanation": "使用 ABP Suite 下载模块和主题的源代码。",
"ManageModulesWithSuite": "您还可以使用 Suite 管理您的 ABP 模块。",
"LearnHowToInstallSuite": "了解如何安装和使用 ABP 套件。",
"SeeMore": "查看更多",
"SeeLess": "收起全文",
"LayeredSolutionStructure": "分层解决方案结构",
"LayeredSolutionStructureExplanation": "该解决方案基于领域驱动设计原则和模式进行分层,以将您的业务逻辑与基础架构和集成隔离开来,并最大限度地提高代码的可维护性和可重用性。 ABP 框架已经提供了抽象、基类和指南来真正为您的应用程序实现 DDD。",
"MultipleUIOptions": "多个用户界面选项",
"MultipleUIOptionsExplanation": "我们喜欢不同的方式来创建用户界面。 此启动解决方案为您的业务应用程序提供了三种不同的 UI 框架选项。",
"MultipleDatabaseOptions": "多个数据库选项",
"MultipleDatabaseOptionsExplanation": "您有两个数据库提供程序选项(除了在单个应用程序中使用两者)。 使用 Entity Framework Core 处理任何关系数据库,当您需要编写低级查询以获得更好的性能时,可以选择使用 Dapper。 如果您需要使用基于文档的 NoSQL 数据库,MongoDB 是另一种选择。 虽然这些提供程序是良好集成、抽象和预配置的,但您实际上可以与任何可与 .NET 一起使用的数据库系统进行交互。",
"ModularArchitectureExplanation2": "模块化是 ABP.IO 平台的一等公民。 所有应用程序功能都被拆分为隔离良好的可选模块。 启动解决方案已经预装了基本的 <a href=\"@Url.Page(\"/Modules\")\" class=\"text-primary\">ABP 商业模块</a>。 您还可以创建自己的模块来为自己的应用程序构建模块化系统。",
"MultiTenancyForSaasBusiness": "SaaS 业务的多租户",
"MultiTenancyForSaasBusinessExplanation": "ABP 商业版 提供完整的端到端多租户系统来创建您的 SaaS(软件即服务)系统。 它允许租户通过动态数据库创建和迁移系统共享或拥有自己的数据库。",
"MicroserviceStartupSolution": "微服务启动解决方案",
"MicroserviceArchitectureExplanation2": "您可以将它用于您的下一个微服务系统,以利用预先构建的基础解决方案和提炼的经验。",
"PreIntegratedTools": "预集成到流行工具",
"PreIntegratedToolsExplanation": "该解决方案已集成到行业标准工具和技术中,而您可以随时更改它们并集成到您喜欢的工具中。",
"SingleSignOnAuthenticationServer": "单点登录认证服务器",
"SingleSignOnAuthenticationServerExplanation": "该解决方案有一个身份验证服务器应用程序,其他应用程序将其用作具有 API 访问管理功能的单点登录服务器。 它基于 IdentityServer。",
"WebAppsWithGateways": "2 个 Web 应用程序和 2 个 API 网关",
"WebAppsWithGatewaysExplanation": "该解决方案包含两个 Web 应用程序,每个应用程序都有一个专用的 API 网关(BFF - Backend For Frontend 模式)。",
"BackOfficeApplication": "后台应用程序",
"BackOfficeApplicationExplanation": "系统的实际 Web 应用程序,具有多个 UI 框架选项。 您可以创建任何类型的业务应用程序。",
"LandingWebsite": "登陆网站",
"LandingWebsiteExplanation": "可用于多种目的的通用登陆/公共网站,例如介绍您的公司、销售您的产品等。",
"ABPFrameworkEBook": "掌握 ABP 框架电子书",
"MasteringAbpFrameworkEBookDescription": "包含在您的 ABP 商业许可证中",
"FullName": "全名",
"LicenseTypeNotCorrect": "许可类型不正确!",
"Trainings": "培训",
"ChooseTrainingPlaceholder": "选择培训...",
"DoYouNeedTrainings": "您需要这些培训之一吗?",
"DoYouNeedTraining": "您需要 {0} 培训吗?",
"GetInTouchUs": "请与我们联系",
"ForMoreInformationClickHere": "如需更多信息,请点击<a href='{0}'>此处</a>。",
"IsGetOnboardingTraining": "您想获得入职和 Web 应用程序开发培训吗?",
"OnboardingWebApplicationDevelopmentTrainingMessage": "要安排您的培训日历,请在创建组织后联系 {0}",
"CustomPurchaseMessage": "对于下一步,单击 {0} 与我们联系。",
"Note": "说明",
"AdditionalNote": "附加说明",
"OnboardingTrainingFaqTitle": "你有 ABP 熟练使用培训吗?",
"OnboardingTrainingFaqExplanation": "是的,我们有 ABP 培训服务来帮助您快速启动您的 ABP 项目。 您将从 ABP 核心团队成员那里了解 ABP,并获得开始您的 ABP 项目的技能。 在 ABP 培训中,我们将解释如何设置开发环境、安装所需工具、创建功能齐全的 CRUD 页面。 培训将会以直播的形式并使用 Zoom 应用程序,我们也对使用其他在线会议平台持开放态度。 主要培训语言为英语。 您也可以在会议期间询问有关 ABP 的问题。 我们将安排一个方便双方的时间和日期。 要获取更多信息,请通过 <a href=\"mailto:info@abp.io\">info@abp.io</a> 联系我们。",
"AddBasket": "添加到购物车",
"SendTrainingRequest": "发送培训请求",
"OnlyEnglishVersionOfThisDocumentIsTheRecentAndValid": "* 本文件的英文版本为最新版本,如有任何争议,以英文版本为准。",
"Pricing_Page_Title": "计划 & 定价",
"Pricing_Page_Description": "现在就选择您的业务及需要的特性和功能。 购买 ABP 商业许可证创建无限量项目。",
"Pricing_Page_HurryUp": "赶快行动吧!",
"Pricing_Page_BuyLicense": "在 1 月 16 日前以 <strong>2021 年价格</strong> 购买许可证!",
"Pricing_Page_ValidForExistingCustomers": "也适用于现有客户和许可证续订。",
"Pricing_Page_Hint1": "许可价格包括一定数量的开发者席位。 如果您有更多的开发人员,您可以随时购买额外的席位。",
"Pricing_Page_Hint2": "您现在或将来都可以购买更多的开发者许可证。 许可证是基于席位的,因此您可以将席位从开发人员转移到另一个开发人员。",
"Pricing_Page_Hint3": "您可以使用您的许可证开发无限数量的不同产品。",
"Pricing_Page_Hint4": "ABP Suite 是帮助您开发以提高生产力的工具。 它支持生成 CRUD 页面和创建新项目。",
"Pricing_Page_Hint5": "您可以在应用程序中使用所有预构建的模块。",
"Pricing_Page_Hint6": "您可以在应用程序中使用所有预构建的主题。",
"Pricing_Page_Hint7": "启动模板是一种 Visual Studio 解决方案,可让您快速启动项目。 所有基本模块都为您添加和预配置。",
"Pricing_Page_Hint8": "掌握 ABP 框架电子书解释了如何使用最佳实践实施 .NET 解决方案。它在 Amazon.com 上出售,您可以在许可证范围内免费下载该书。",
"Pricing_Page_Hint9": "您可以下载任何模块的源代码。 您可能希望将源代码添加到您的解决方案中以进行彻底的更改,或者出于安全原因将其自己保留。",
"Pricing_Page_Hint10": "许可证是终身的。 这意味着您可以永远继续开发您的应用程序。 在许可期限内(1 年,除非您续订)授予访问最新版本并获得支持。",
"Pricing_Page_Hint11": "部署没有限制! 您可以根据需要部署到任意数量的服务器,包括云服务或本地。",
"Pricing_Page_Hint12": "您可以在有效许可期内将模块、主题和工具更新到最新版本。 在您的许可证到期后,您需要对其进行续订,以继续获取错误修复、新功能和增强功能的更新。",
"Pricing_Page_Hint13": "您可以获得一年的高级支持(您可以续订许可证以延长它)。",
"Pricing_Page_Hint14": "团队和营业许可有事件/问题计数限制。 如果您购买额外的开发者许可,您的事件限制会按开发人员增加 {0}(对于团队许可)或 {1}(对于商业许可)每个开发者增加。",
"Pricing_Page_Hint15": "只有企业许可证包括私人支持。 您可以直接向 ABP 团队发送电子邮件或在 support.abp.io 上使用私人门票选项提问。 私人门票对公众不可见。",
"Pricing_Page_Hint16": "您可以下载所有 ABP 主题的源代码。 您可能希望将源代码添加到您的解决方案中以进行彻底的更改,或者出于安全原因将其自己保留。",
"Pricing_Page_Testimonial_1": "ABP Commercial 允许 SC Ventures 在 9 个月内交付银行级多租户silo数据库 SaaS 平台,以支持来自多个集成锚点的大额发票的应收账款/应付账款供应链融资。 ABP 的模块化使团队能够在创纪录的时间内交付,通过所有 VAPT,并通过完整的 CI/CD 和管道将容器化的微服务码部署到生产中。",
"Pricing_Page_Testimonial_2": "我们看到了使用 ABP Commercial 能减少定制开发项目开销的价值。 并且团队能够在不同的项目流中统一代码模式。 我们在框架中看到了能比以前更快地构建新功能的更多潜力。 我们相信我们将会持续地看到使用 ABP Commercial 的价值。",
"Pricing_Page_Testimonial_3": "我们大爱 ABP。 我们不必从头开始编写所有内容。 我们从\"开箱即用\"的功能开始,只需关注我们真正需要编写的内容。 此外,ABP 架构良好,代码质量高,错误少。 如果我们需要自己来编写所需的一切,我们可能需要花费数年时间。 另一点让我们喜欢的是新版本、问题修复或改进每隔一周很快地就会出现。 我们不会等太久。",
"Pricing_Page_Testimonial_4": "ABP 商业版 是一款很值得推荐的出色产品。 是在一个可配置的平台上为我们的客户推向市场的商业产品。 其框架和工具为任何团队提供的快速启动值得每一分钱。 ABP 商业版 最适合我们的需求。",
"Pricing_Page_Testimonial_5": "ABP Framework 不仅是一个框架,它还是项目开发/管理的指南,因为它提供了 DDD、GenericRepository、DI、微服务和模块化培训。 即使你不打算使用框架本身,你也可以通过 docs.abp.io 进行自己的开发,该文档已经做好了专业的准备(OpenIddict、Redis、Quartz 等)。 因为很多东西都是预先构建的,它大大缩短了项目开发时间(例如登录页面、异常处理、数据过滤、种子、审计日志、本地化、自动 API 控制器等)。 作为我们应用程序的一个示例,我使用本地事件总线进行库存控制。 因此我可以通过编写库存处理程序来管理订单移动。 不为 CreationTime,CreatorId 浪费时间真是太好了。 它们正在自动填充。",
"AbpBookDownloadArea_ClaimYourEBook": "领取您的<span class='gradient-framework'>掌握ABP框架</span>电子书",
"AddMemberModal_Warning_1": "如果您尝试添加的<strong>用户名</strong>在系统中不存在,请让您的团队成员在 <a href='{0}/账户/注册'>{0}</ 上注册 a> 并与您分享他/她帐户的用户名。",
"MyOrganizations_Detail_WelcomeMessage": "欢迎加入您的组织,{0}",
"MyOrganizations_Detail_OrganizationManagement": "组织<span class=\"gradient-commercial\">管理</span>",
"OrganizationDisplayName": "组织显示名称",
"MyOrganizations_Detail_EditDisplayName": "编辑显示名称",
"MyOrganizations_Detail_UpgradeYourLicense": "升级您的许可证",
"MyOrganizations_Detail_LicenseStartAndExpiryDate": "许可证开始日期 - 到期日期",
"MyOrganizations_Detail_OwnerRightInfo": "您正在使用您的 {1} 所有者权利中的 {0}。",
"MyOrganizations_Detail_CopyApiKey": "复制密钥",
"MyOrganizations_Detail_ApiKeyDescription": "API 密钥是托管在 <a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">{1} 上的 PRO 包的令牌。 </a>",
"MyOrganizations_Detail_YourPrivateNugetSource": "您的私有 NuGet 源是 <a href=\"{0}\" arget=\"_blank\" class=\"text-primary\" rel=\"noopener\">{0}</a>",
"MyOrganizations_Detail_PrivateNugetSourceWarning": "这将自动添加一个源到您的 ABP 解决方案中的 NuGet.Config。 不要与未经授权的用户共享您的私钥!",
"MyOrganizations_Detail_DeveloperSeatInfo": "您正在使用您的 {1} 个开发者席位中的 {0} 个。",
"NeedMoreSeatsForYourTeam": "您的团队需要更多席位吗?",
"MyOrganizations_Detail_PricePerYear": "{0} / 每年",
"MyOrganizations_Detail_PurchaseDeveloperSeats": "购买开发者席位",
"Invoices": "发票",
"RequestInvoice": "索取发票",
"OrderNumber": "订单号",
"Date": "日期",
"Products": "产品",
"TotalPrice": "总价格",
"ThereIsNoInvoice": "没有发票",
"MyOrganizations_Detail_PaymentProviderInfo": "如果您通过 <i>{0}</i> 网关购买了许可证,PDF 发票会被发送到您的电子邮件地址,请参阅 <a href=\"{1}\" target=\"_blank\">{ 0} 发票。</a>",
"MyOrganizations_Detail_PayUInfo": "如果您是通过<i>PayU</i>网关购买的,请点击\"索取发票\"按钮并填写账单信息。",
"MyOrganizations_Detail_ConclusionInfo": "您的发票申请将在 {0} 个工作日内完成。",
"ExtendYourLicense": "延长您的 {0} 许可",
"Continue": "继续",
"PurchaseLicense": "购买许可证",
"DownloadInvoiceModal_DownloadInvoice": "下载发票",
"DownloadInvoiceModal_SaveInformationOnlyOnce": "您只能保存一次账单信息。",
"InvoiceModal_EnterCompanyName": "请输入您的法定公司名称...",
"InvoiceModal_EnterCompanyAddress": "请输入您的法定公司地址...",
"InvoiceModal_EnterTaxNumber": "请输入您的税号/增值税号(如果有)...",
"RequestInvoiceModal_EnterNotes": "请输入您的有关发票的额外信息...",
"PrePayment_PayWithIyzico": "您将使用 Iyzico 付款",
"ContinueToCheckout": "继续结帐",
"PrePayment_IyzicoRedirectionInfo": "您将被重定向到 Iyzico 支付网关以安全地完成您的购买。",
"PrePayment_IyzicoAcceptVisaAndMasterCard": "Iyzico 接受 Visa 和 MasterCard。",
"Purchase": "购买",
"AcceptTermsAndConditions": "我已阅读、理解并接受<a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">隐私政策</a>, <a href=\"{1}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">条款和条件</a>和<a href=\"{2}\" target=\"_blank\" class=\"text-primary\"> EULA。</a>",
"AcceptTermsAndConditionsWarningMessage": "请接受隐私政策和条款和条件",
"SelectGatewayToContinue": "请选择一个网关以继续!",
"GatewaySelection_SelectGateway": "选择支付网关",
"GatewaySelection_RedirectionMessage": "接下来,您将被重定向到所选支付网关的交易网站。",
"PaymentSucceed_PaymentSuccessMessage": "支付成功",
"PaymentSucceed_ThanksForPurchase": "感谢您的购买!",
"PaymentSucceed_CreateYourOrganization": "创建您的组织",
"PaymentSucceed_AddMeAsDeveloper": "我是开发人员,请将我作为开发人员添加到我的组织中。",
"PaymentSucceed_CreateOrganization": "创建组织",
"PaymentSucceed_OrganizationDescription": "一个组织由开发人员和所有者组成。 开发人员是在 ABP 项目上编写代码的用户,将受益于 <a href=\"{0}\" target=\"_blank\">{1}</a> 网站。 所有者是分配开发者席位和管理许可的用户。",
"PaymentSucceed_ViewOrganization": "点击这里查看组织",
"Purchase_TotalAnnualPrice": "总计 <small class=\"opacity-50\">(年费)</small>",
"Purchase_TrainingPrice": "培训价格",
"Purchase_OnboardingTraining": "ABP 熟悉使用和 Web 应用程序开发现场培训",
"TotalDeveloperPrice": "开发商总价",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> 每个开发者",
"Purchase_IncludedDeveloperInfo": "{0} {1} 包括在内。",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "<span class=\"fw-6\">{0} 许可</span> 包含 {1} 个开发者。 您可以现在或以后添加其他开发人员。",
"StartupTemplates_Page_Title": "启动模板",
"StartupTemplates_Page_Description": "ABP 商业版 允许您构建任何复杂程度的解决方案。 它提供了两种主要的预构建启动解决方案。 您可以选择最接近您要求的解决方案,并在此基础上构建您自己的定制解决方案。",
"MicroserviceStartupSolutionForDotnet": ".NET 微服务启动解决方案",
"MonolithSolutionForDotnet": ".NET 的单体(模块化)解决方案",
"TrainingDetailsHeaderInfo_TrainingHour": "{0} 小时",
"Trainings_Content": "培训内容",
"Trial_Page_StartYourFreeTrial": "开始您的<span class=\"gradient-commercial\">免费试用</span>",
"TrialLicenseFeatures": "你将能够享受所有 ABP 商业特性",
"TrialPeriodDays": "你将有 {0} 天的团队许可证",
"TrialForumSupportIncident": "你将有 {0} 个论坛支持事件",
"Contact_Page_Title": "联系 ABP 开发团队",
"Contact_Page_Description": "如果您需要任何帮助或分享您的想法和意见,请与 ABP 开发团队联系! ABP 支持团队随时准备提供帮助。",
"Demo_Page_Title": "创建演示",
"Demo_Page_Description": "创建免费演示以查看使用 ABP 商业版 启动模板创建的示例应用程序。 不要重复自己的常见应用程序要求。",
"Discounted_Page_Title": "折扣价",
"Discounted_Page_Description": "现在就选择您的业务及需要的特性和功能。 购买 ABP 商业许可证并创建无限量项目",
"Faq_Page_Title": "常见问题 (FAQ)",
"Faq_Page_Description": "您有任何问题吗? 搜索常见问题或使用联系表向我们提问。",
"Faq_Page_SwiftCode": "SWIFT代码",
"Faq_Page_BankName": "银行名称",
"Faq_Page_AccountName": "账户名称",
"Faq_Page_AccountNumber": "账号",
"Faq_Page_Currency": "货币",
"Faq_Page_VatNumber": "增值税号",
"Faq_Page_OtherCurrenciesInfo": "对于其他货币,请参阅<a href='{0}'>所有账户</a>",
"ModuleDetail_Page_Title": "模块详细信息 - {0}",
"ProjectCreatedSuccess_Page_Title": "您的项目已创建",
"ProjectCreatedSuccess_Page_Description": "您的 ABP 项目创建成功!",
"Suite_Page_Title": "ABP 套件 - 创建 CRUD 页面",
"Suite_Page_Description": "ABP Commercial 提供快速应用程序开发工具以提高开发人员的工作效率。 ABP 套件 允许您轻松创建 CRUD 页面。",
"Themes_Page_Title": "现代和实用的 UI 主题",
"Themes_Page_Description": "ABP 商业版 提供多种专业、现代的 UI 主题。 创建免费演示以快速查看 UI 的外观。",
"Tools_Page_Title": "快速应用程序开发工具",
"Tools_Page_Description": "ABP 商业版 提供快速应用程序开发工具以提高开发人员的工作效率。 ABP 套件 允许您轻松创建 CRUD 页面。",
"DeveloperPrice": "开发者价格",
"AdditionalDeveloperPaymentInfoSection_AdditionalDevelopers": "{0} <small>开发者</small>",
"LicenseRemainingDays": "<span> {0} </span> 天",
"ExtendPaymentInfoSection_Description": "通过延长/续订您的许可,您将继续获得<a href=\"{0}\" target=\"_blank\">高级支持</a>。 您还将能够获得模块和主题的重大更新。 您将能够继续创建新项目。 您仍然可以使用 <a href=\"{1}\" target=\"_blank\">ABP 套件</a> 来加速您的开发。",
"LicenseRenewalPrice": "许可证续订价格",
"LicensePrice": "许可证价格",
"TrialLicensePaymentInfoSection_Description": "<strong>购买许可证:</strong>通过购买许可证,您将继续获得<a href=\"{0}\" target=\"_blank\" rel=\"noopener\">高级支持</a>。 您还将能够获得模块和主题的重大更新。 您将能够继续创建新项目。 而且您仍然可以使用 <a href=\"{1}\" target=\"_blank\" rel=\"noopener\">ABP 套件</a> 加速您的开发。<br>请参阅 <a href=\"{2}\" target=\"_blank\" rel=\"noopener\">许可证比较表</a>来查看许可证类型之间的差异。",
"SelectTargetLicense": "选择目标许可证",
"UpgradePaymentInfoSection_ExtendMyLicenseForOneYear": "是的,将我的许可证到期日期延长 1 年。",
"UpgradePaymentInfoSection_WantToExtendLicense": "您想将许可证再延长 {0} 年吗?",
"UpgradePaymentInfoSection_UpgradingWillNotExtendLicense": "升级不会延长您的许可证到期日期!",
"UpgradePaymentInfoSection_LicenseUpgradeDescription": "通过升级您的许可证,您将升级到更高的许可证类型,这将使您获得额外的好处。 请参阅<a href=\"/Pricing\" target=\"_blank\">许可证比较表</a>以查看许可证类型之间的差异。",
"Landing_Page_CustomerStories": "客户故事",
"Landing_Page_OurGreatCustomers": "我们的大客户",
"Landing_Page_WebApplicationFramework": "Web应用框架",
"Landing_Page_WebDevelopmentPlatform": "网页开发平台",
"Landing_Page_CompleteWebDevelopmentPlatform": "完整的网页开发平台",
"Landing_Page_TryFreeDemo": "试用免费演示",
"Landing_Page_StartingPointForWebApplications": "基于 ASP.NET Core 的 Web 应用程序的起点! 它是基于最佳 Web 开发的 ABP 框架。",
"Landing_Page_AbpProvidesSoftwareInfrastructure": "ABP 框架提供了一个软件基础架构来开发基于最佳实践的优秀 Web 应用程序。",
"Landing_Page_MicroserviceCompatibleArchitecture": "微服务兼容架构",
"Landing_Page_PreBuiltApplicationModulesAndThemes": "预建的应用程序模块和主题",
"Landing_Page_MultiTenantArchitecture": "多租户架构",
"Landing_Page_MultiTenancyDescription": "SaaS 应用程序变得简单! 从数据库到 UI 的集成多租户。",
"Landing_Page_DDDIntroduction": "基于 DDD 模式和原则设计和开发。 为您的应用程序提供分层模型。",
"Landing_Page_CrossCuttingConcernsInfo": "用于授权、验证、异常处理、缓存、审计日志记录、事务管理等的完整基础架构。",
"Landing_Page_PreBuiltApplicationModules": "预建应用程序模块,其中包括最常见的 Web 应用程序要求。",
"Landing_Page_ChatModule": "聊天",
"Landing_Page_DocsModule": "文档",
"Landing_Page_FileManagementModule": "文档",
"Landing_Page_CustomerStory_1": "ABP 商业版 允许 SC Ventures 在 9 个月内交付银行级多租户silo数据库 SaaS 平台,以支持来自多个集成锚点的大额发票的应收账款/应付账款供应链融资。 ABP 的模块化使团队能够在创纪录的时间内交付,通过所有 VAPT,并通过完整的 CI/CD 和管道将容器化的微服务码部署到生产中。",
"Landing_Page_CustomerStory_2": "我们看到了使用 ABP 商业版 来减少定制开发项目开销的价值。 并且团队能够在不同的项目流中统一代码模式。 我们在框架中看到了比以前更快地构建新功能的更多潜力。 我们相信我们将不断看到使用 ABP 商业版 的价值。",
"Landing_Page_CustomerStory_3": "我们很爱 ABP。 我们不必从头开始编写所有内容。 我们从\"开箱即用\"的功能开始,只关注我们真正需要编写的内容。 此外,ABP 架构良好,代码质量高,错误少。 如果我们必须自己编写所需的一切,我们可能需要花费数年时间。 另一件事是我们喜欢的是新版本、问题修复或改进每隔一周就很快会出现\n。 我们不会等太久。",
"Landing_Page_CustomerStory_4": "ABP 商业版 是一款值得推荐的出色产品。 在一个可配置的平台上为我们的客户推向市场的商业产品。 为任何团队提供的框架和工具的快速启动都值得每一分钱。 ABP 商业版 最适合我们的需求。",
"Landing_Page_AdditionalServices": "定制或批量许可、熟悉使用培训、网上培训和支持、定制项目开发、移植现有项目等等...",
"Landing_Page_IncludedDeveloperLicenses": "包含 <strong>{0}</strong> 开发者许可",
"Landing_Page_SeeOnDemo": "见演示",
"Landing_Page_LeptonThemes": "Lepton主题",
"Landing_Page_AccountModuleDescription_1": "该模块实现了应用程序的认证系统;",
"Landing_Page_AccountModuleDescription_2": "提供带有用户名和密码的<strong>登录</strong>页面",
"Landing_Page_AccountModuleDescription_3": "提供一个<strong>注册</strong>页面来创建一个新账户。",
"Landing_Page_AccountModuleDescription_4": "提供<strong>忘记密码</strong>页面,以电子邮件形式发送<strong>密码重置</strong>链接。",
"Landing_Page_AccountModuleDescription_5": "通过 UI 提供<strong>电子邮件确认</strong>功能。",
"Landing_Page_AccountModuleDescription_6": "实现<strong>双重</strong>身份验证(短信和电子邮件)。",
"Landing_Page_AccountModuleDescription_7": "实现<strong>用户锁定</strong>(当在一定时间间隔内由于无效凭据发生一定次数的登录失败时,将账户锁定设定的时间)。",
"Landing_Page_AccountModuleDescription_8": "实现 <strong>身份验证</strong> 身份验证服务器 UI 和功能。",
"Landing_Page_AccountModuleDescription_9": "允许在多租户环境中<strong>在租户之间切换</strong>。",
"Landing_Page_AccountModuleDescription_10": "允许更改应用程序的<strong>UI 语言</strong>。",
"Landing_Page_AuditLoggingModuleDescription_1": "此模块为审计基础设施提供审计日志报告 UI。 允许搜索、过滤和显示审计日志条目和实体更改日志。",
"Landing_Page_AuditLoggingModuleDescription_2": "审核日志条目包含有关每个客户端请求的关键数据:",
"Landing_Page_AuditLoggingModuleDescription_3": "URL、浏览器、IP 地址、客户端名称",
"Landing_Page_AuditLoggingModuleDescription_4": "用户",
"Landing_Page_AuditLoggingModuleDescription_5": "HTTP方法,HTTP返回状态码",
"Landing_Page_AuditLoggingModuleDescription_6": "成功/失败,异常详细信息(如果有)",
"Landing_Page_AuditLoggingModuleDescription_7": "请求执行时长",
"Landing_Page_AuditLoggingModuleDescription_8": "此请求中已创建、删除或更新实体(具有更改的属性)。",
"Landing_Page_BloggingModuleDescription_1": "该模块将一个简单的博客添加到您的 ABP 应用程序;",
"Landing_Page_BloggingModuleDescription_2": "允许在单个应用程序中创建多个博客。",
"Landing_Page_BloggingModuleDescription_3": "支持 Markdown 格式。",
"Landing_Page_BloggingModuleDescription_4": "允许为帖子写评论。",
"Landing_Page_BloggingModuleDescription_5": "允许为博客文章分配标签。",
"Landing_Page_BloggingModuleDescription_6": "请参阅 <a href=\"blog.abp.io\">blog.abp.io</a> 网站作为博客模块的实时示例。",
"Landing_Page_ChatModuleDescription_1": "该模块用于应用程序中用户之间的实时消息传递。",
"Landing_Page_ChatModuleDescription_2": "聊天页面上的实时消息。",
"Landing_Page_ChatModuleDescription_3": "在应用程序中搜索用户以获取新对话。",
"Landing_Page_ChatModuleDescription_4": "最近对话的联系人列表。",
"Landing_Page_ChatModuleDescription_5": "当用户正在查看另一个页面时的新消息通知。",
"Landing_Page_ChatModuleDescription_6": "菜单图标上的未读消息总数徽章。",
"Landing_Page_ChatModuleDescription_7": "每个对话的未读消息计数。",
"Landing_Page_ChatModuleDescription_8": "延迟加载的对话。",
"Landing_Page_DocsModuleDescription_1": "该模块用于创建技术文档网站;",
"Landing_Page_DocsModuleDescription_2": "内置 <strong>GitHub 集成</strong>:直接在 GitHub 上编写和管理文档。",
"Landing_Page_DocsModuleDescription_3": "<strong>版本控制</strong>支持直接集成到 GitHub 版本。",
"Landing_Page_DocsModuleDescription_4": "支持<strong>多语言</strong>(回退支持默认语言)。",
"Landing_Page_DocsModuleDescription_5": "支持 <strong>Markdown</strong> 和 HTML 格式。",
"Landing_Page_DocsModuleDescription_6": "提供<strong>导航</strong>和<strong>大纲</strong>部分。",
"Landing_Page_DocsModuleDescription_7": "允许在单个应用程序中托管<strong>多个项目</strong>文档。",
"Landing_Page_DocsModuleDescription_8": "GitHub 上文件的链接,因此任何人都可以通过单击<strong>编辑链接</strong>轻松贡献。",
"Landing_Page_DocsModuleDescription_9": "除了 GitHub 源之外,还允许简单地使用文件夹作为文档源。",
"Landing_Page_FileManagementModuleDescription_1": "在分层文件夹结构中上传、下载和组织文件。",
"Landing_Page_FileManagementModuleDescription_2": "该模块用于上传、下载和组织分层文件夹结构中的文件。 它还兼容多租户,您可以确定租户的总大小限制。",
"Landing_Page_FileManagementModuleDescription_3": "本模块基于<a href=\"https://docs.abp.io/en/abp/latest/BLOB存储\">BLOB Storing</a>系统,因此可以使用不同的存储供应商存储文件内容。",
"Landing_Page_IdentityModuleDescription_1": "该模块实现了应用程序的用户和角色系统;",
"Landing_Page_IdentityModuleDescription_2": "基于 <a href=\"https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity\">Microsoft 的 ASP.NET Core Identity</a> 库构建。",
"Landing_Page_IdentityModuleDescription_3": "管理系统中的<strong>角色</strong>和<strong>用户</strong>。 一个用户可以拥有<strong>多个角色</strong>。",
"Landing_Page_IdentityModuleDescription_4": "在角色和用户级别设置<strong>权限</strong>。",
"Landing_Page_IdentityModuleDescription_5": "为每个用户启用/禁用<strong>双重身份验证</strong>和用户<strong>锁定</strong>。",
"Landing_Page_IdentityModuleDescription_6": "管理基本的<strong>用户个人资料</strong>和<strong>密码</strong>。",
"Landing_Page_IdentityModuleDescription_7": "管理系统中的<strong>声明类型</strong>,为角色和用户设置声明。,",
"Landing_Page_IdentityModuleDescription_8": "设置页面以管理<strong>密码复杂性</strong>、用户登录、账户和锁定。",
"Landing_Page_IdentityModuleDescription_9": "支持 <strong>LDAP</strong> 身份验证。",
"Landing_Page_IdentityModuleDescription_10": "提供<strong>电子邮件和电话号码</strong>验证。",
"Landing_Page_IdentityModuleDescription_11": "支持社交登录集成(Twitter、Facebook、GitHub 等)。",
"Landing_Page_IdentityModuleDescription_12": "管理系统中的<strong>组织单位</strong>。",
"Landing_Page_PaymentModuleDescription_1": "为不同的支付网关提供集成。",
"Landing_Page_PaymentModuleDescription_2": "该模块提供支付网关的集成,因此您可以轻松地从客户那里获得付款。",
"Landing_Page_PaymentModuleDescription_3": "该模块支持以下支付网关",
"Welcome_Page_UseSameCredentialForCommercialWebsites": "<a href=\"https://commercial.abp.io\" class=\"text-primary\">commercial.abp.io</a> 和 <a href=\"https://support.abp.io\" class=\"text-primary\">support.abp.io</a>使用相同的凭据。",
"WatchCrudPagesVideo": "观看“创建 CRUD 页面的 ABP Suite”视频!",
"WatchGeneratingFromDatabaseVideo": "观看”ABP Suite:从现有数据库表生成 CRUD 页面”视频!",
"WatchTakeCloserLookVideo": "观看“详细了解ABP Suite 的代码生成”视频!",
"ConfirmedEmailAddressRequiredToStartTrial": "你应该有一个确认的电子邮件地址,以便开始试用许可证。",
"EmailVerificationMailNotSent": "电子邮件验证邮件不能发送。",
"GetConfirmationEmail": "<a href=\"javascript:void(0);\" id=\"{0}\">点击这里获取确认邮件</a> 如果你还没有收到。",
"WhichLicenseTypeYouAreInterestedIn": "你感兴趣的许可证类型是什么?"
}
}
}

13
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json

@ -180,7 +180,6 @@
"ChangingLicenseType": "將來更改我的許可類型嗎?",
"ChangingLicenseTypeExplanation": "你始終可以在同一許可中添加新的開發人員. 參閱 \"有多少開發者可以參與ABP商業版工作?\". 你還可以通過支付計算出的價格差來升級到更高的許可. 當你升級到更高的許可計劃時,可以享受新計劃的好處,但是許可升級不會更改許可的到期日期.",
"LicenseExtendUpgradeDiff": "許可擴展和升級有什麽區別?",
"LicenseExtendUpgradeDiffExplanation": "<strong>擴展:</strong> 通過擴展/更新許可,你將繼續獲得高級支持,並獲得有關模塊和主題的重大更新. 此外你將能夠繼續創建新項目. 而且你仍然可以使用ABP Suite來加快開發速度.<hr/><strong>升級:</strong> 通過升級許可,你將升級到更高的許可計劃,這將使你獲得更多好處. 查看 <a href=\"/pricing\">許可比較表</a>來檢查許可計劃之間的差異. <strong>另一方面,當你升級時你的許可到期日期不會改變!</strong>要延長你的許可終止日期,你需要延長你的許可.",
"LicenseRenewalCost": "一年後的許可續期費用是多少?",
"LicenseRenewalCostExplanation": "標準 Team 許可證的續訂(擴展)價格為 ${0},標準 Business License 為 ${1},標準 Enterprise License 為 ${2}。 如果您已經是客戶,請<a href='{3}' target='_blank'>登錄您的帳戶</a>查看可用的續訂價格。",
"HowDoIRenewMyLicense": "如何續費我的許可證?",
@ -192,18 +191,9 @@
"IsSourceCodeIncludedExplanation4": "<p>將模塊的源代碼包含到解決方案中,可以最大程度地自定義該模塊. 但是當新版本發布時,將無法自動升級模塊.</p><p>這些許可均不包含ABP Suite源代碼,該源代碼是一個外部工具,可以為你生成代碼並幫助你進行開發</p><p>有關許可類型之間的其它差異查看<a href=\"{0}\">定價</a>頁面.</p>",
"ChangingDevelopers": "我將來可以更改我組織的註冊開發人員嗎?",
"ChangingDevelopersExplanation": "除了將新的開發人員添加到你的許可中之外,你還可以更改現有的開發人員(可以刪除一個開發人員並將新的開發人員添加到同一位置),而無需任何額外費用.",
"WhatHappensWhenLicenseEnds": "我的許可期限結束後會怎樣?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP 商業許可類型為<a href=\"{0}\" target=\"_blank\">永久許可</a>。 許可證到期後,您可以繼續開發您的項目。 而且您沒有義務更新您的許可證。 您的許可證隨附開箱即用的一年更新和支持計劃。 要繼續獲得新功能、性能增強、錯誤修復、支持和繼續使用 ABP Suite,您需要更新您的許可證。 當您的許可證到期時,您將無法獲得以下好處;",
"WhatHappensWhenLicenseEndsExplanation2": "你不能使用ABP商業版創建新的解決方案,但可以永遠繼續開發現有的應用程序.",
"WhatHappensWhenLicenseEndsExplanation3": "您將能夠獲得主要版本(RC 或預覽版除外)中的模塊和主題的更新。 例如; 如果您使用的是模塊的 v3.2.0,您仍然可以獲得該模塊的 v3.x.x(v3.3.0、v3.5.2...等)的更新。 但是您無法獲得下一個主要版本(如 v4.x、v5.x)的更新。 比如你的license過期了,最新版本是v4.4.3,最新預覽版本是v5.0.0-rc.2,你可以訪問v4.X.X,但是不能訪問v5.X.X。",
"WhatHappensWhenLicenseEndsExplanation4": "許可到期後,你無法安裝添加到ABP商業平臺的新模塊和主題.",
"WhatHappensWhenLicenseEndsExplanation5": "你不能使用ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "你不再獲得<a href=\"{0}\">高級支持</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "如果您想繼續獲得這些好處,您可以延長(續訂)您的許可證。 如果您在許可證到期後 <strong>1 個月</strong>內延長許可證,將適用以下折扣:團隊許可證 {0}% 折扣、商業許可證 {1}% 折扣、企業許可證 {2}% 折扣 .",
"WhenShouldIRenewMyLicense": "我什麽時候應該續訂我的許可?",
"WhenShouldIRenewMyLicenseExplanation": "如果您在許可證到期後 <strong>1 個月</strong>內續訂許可證,將享受以下折扣:團隊許可證 {0}% 折扣、商業許可證 {1}% 折扣、企業許可證 {2}% 折扣 . 如果您在許可證到期後 <strong>1 個月</strong>續訂許可證,續訂價格將與許可證購買價格相同,並且續訂不會有折扣。",
"TrialPlan": "你們有試用計劃嗎?",
"TrialPlanExplanation": "目前,ABP商業版還沒有試用計劃.對於團隊許可,我們提供30天的退款保證.你可以在30天內要求退款.對於企業營業執照,我們提供30天內60%的退款.這是因為商業和企業許可包含所有模塊和主題的完整源代碼.",
"DoYouAcceptBankWireTransfer": "你們接受銀行電匯嗎?",
"DoYouAcceptBankWireTransferExplanation": "是的,我們接受銀行電匯。<br />在通過銀行轉賬發送許可費後,將您的收據和所需的許可類型通過電子郵件發送至accounting@abp.io。 我們的國際銀行賬戶信息:",
"HowToUpgrade": "可用新版本時如何升級現有應用程序?",
@ -330,7 +320,7 @@
"ImplementingDDDBuildingBlocks": "實現 DDD 構建塊",
"DomainVsApplicationLogic": "領域邏輯與應用邏輯",
"SamplesAndDiscussions": "示例和討論",
"Free": "自由",
"Free": "免費",
"Download": "下載",
"DDDEBook": "DDD電子書",
"ImplementingDDD": "實現領域驅動設計",
@ -373,7 +363,6 @@
"StartTrial": "開始我的免費試用",
"ContactUsIssues": "如果您有任何問題,請聯繫我們",
"TrialActivatedWarning": "親愛的{0},用戶只能享受 1 個免費試用期。您已經使用了試用期。",
"ActivationRequirement": "您距離開始免費試用僅一步之遙。<br>我們已向 <b>{0}</b> 發送了一封電子郵件以激活您的帳戶。檢查您的收件箱/垃圾箱/垃圾郵件箱!",
"SaveAndDownload": "保存和下載",
"CompanyNameValidationMessage": "公司名稱太長!",
"AddressValidationMessage": "地址太長!",

4
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json

@ -150,7 +150,6 @@
"GetStarted": "Get Started",
"SourceCode": "Source Code",
"LeaveComment": "Leave Comment",
"ReadMore": "Read more",
"ShowMore": "Show More",
"NoPublishedPostsYet": "No published posts yet.",
"Name": "Name",
@ -184,6 +183,7 @@
"Post_Index_Page_MetaDescription": "ABP Community's purpose is to create a contribution environment for developers who use the ABP framework.",
"Layout_Title": "{0} | ABP Community",
"Layout_MetaDescription": "ABP Community is an environment where people can share posts about ABP framework and follows the projects.",
"Index_Page_CommunityIntroduction": "This is a hub for ABP Framework, .NET and software development. You can read the articles, watch the video tutorials, get informed about ABP’s development progress and ABP-related events, help other developers and share your expertise with the ABP community."
"Index_Page_CommunityIntroduction": "This is a hub for ABP Framework, .NET and software development. You can read the articles, watch the video tutorials, get informed about ABP’s development progress and ABP-related events, help other developers and share your expertise with the ABP community.",
"TagsInArticle": "Tags in article"
}
}

56
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json

@ -29,14 +29,12 @@
"ContributionGuide": "贡献指南",
"BugReport": "Bug报告",
"SeeAllPosts": "查看所有的文章",
"WelcomeToABPCommunity!": "欢迎来到ABP社区!",
"MyProfile": "我的资料",
"MyOrganizations": "我的组织",
"WelcomeToABP": "欢迎来到ABP",
"EmailNotValid": "请输入有效的电子邮箱地址.",
"FeatureRequest": "功能请求",
"CreatePostTitleInfo": "文章标题显示在文章列表中.",
"CreatePostSummaryInfo": "文章的简短摘要将显示在文章列表中.",
"CreatePostCoverInfo": "为了创建有效的文章,请添加封面图. 仅支持16:9的图片!",
"CreatePostCoverInfo": "要创建一个有效的帖子,需要添加封面图片. 上传16:9的图片获取最佳视觉效果. 文件最大支持: 1MB",
"ThisExtensionIsNotAllowed": "不允许此扩展名.",
"TheFileIsTooLarge": "文件过大.",
"GoToThePost": "转到文章",
@ -45,7 +43,7 @@
"Done": "完成",
"Open": "打开",
"Closed": "关闭",
"LatestQuestionOnThe": "有关的最新问题",
"RecentQuestionFrom": "最近的问题来自",
"Stackoverflow": "Stackoverflow",
"Votes": "票数",
"Answer": "回答",
@ -59,7 +57,7 @@
"QuestionItemErrorMessage": "无法从Stackoverflow获取最新的问题详细信息.",
"Oops": "哎呀!",
"CreatePostSuccessMessage": "文章提交成功. 网站管理员审核通过后将被发布.",
"ChooseCoverImage": "选项一张封面图片",
"Browse": "浏览",
"CoverImage": "封面图片",
"ShareYourExperiencesWithTheABPFramework": "分享你的ABP Framework经验!",
"Optional": "可选的",
@ -88,6 +86,8 @@
"PostRequestFromGithubIssue": "现在没有任何文章请求.",
"LatestPosts": "最新的帖子",
"ArticleRequests": "文章请求",
"ArticleRequestsDescription": "想在这里查看具体内容吗? 您可以要求社区创建它!",
"LatestContentRequests": "最新内容请求",
"AllPostRequests": "查看所有文章请求",
"SubscribeToTheNewsletter": "订阅简讯",
"NewsletterEmailDefinition": "获取有关ABP发生的信息,例如新版本,免费资源,文章等.",
@ -115,7 +115,6 @@
"VideoUrl": "视频Url",
"GithubPostUrl": "Github文章Url",
"ExternalPostUrl": "外部文章Url",
"CreatePostCoverInfo": "要创建一个有效的帖子,需要添加封面图片. 上传16:9的图片获取最佳视觉效果. 文件最大支持: 1MB",
"ThankYouForContribution": "感谢你对ABP社区的贡献",
"GithubPost": "Github文章",
"GithubPostSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> 用Markdown格式在GitHub的任何公共存储库上写一篇文章. <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\">示例</a>",
@ -143,6 +142,47 @@
"Volo.AbpIo.Domain:060001": "源 URL(\"{PostUrl}\") 不是 Github URL",
"Volo.AbpIo.Domain:060002": "文章内容无法从 Github(\"{PostUrl}\") 资源中获得。",
"Volo.AbpIo.Domain:060003": "没有找到文章内容!",
"SeeMore": "查看更多"
"SeeMore": "查看更多",
"JoinTheABPCommunity": "加入 ABP 社区",
"ABPCommunityTalks": "ABP 社区会谈",
"LiveDemo": "现场演示",
"GetLicense": "获得许可证",
"GetStarted": "开始使用",
"SourceCode": "源代码",
"LeaveComment": "发表评论",
"ShowMore": "展示更多",
"NoPublishedPostsYet": "还没有发布的帖子。",
"Name": "名字",
"Surname": "姓氏",
"WebSite": "网站",
"FullURL": "完整网址",
"JobTitle": "职称",
"Prev": "上一页",
"Previous": "前面的",
"Next": "下一页",
"Share": "分享",
"SortBy": "排序方式",
"NoPublishedEventsYet": "尚未发布活动。",
"SubscribeYoutubeChannel": "订阅 Youtube 频道",
"Enum:EventType:0": "会谈",
"MemberNotPublishedPostYet": "该成员尚未发布任何帖子。",
"TimeAgo": "{0} 前",
"Discord_Page_JoinCommunityMessage": "加入 ABP Discord 社区",
"Discord_Page_Announce": "我们很高兴地宣布 ABP 社区 Discord 服务器!",
"Discord_Page_Description_1": "ABP 社区从第一天起就一直在壮大。 我们希望通过创建一个官方的 ABP Discord 服务器将其带入下一步,这样 ABP 社区就可以使用即时消息的功能彼此进行互动。",
"Discord_Page_Description_2": "ABP Community Discord Server 是您可以使用 ABP 框架来展示您的创作、分享对您有用的技巧、了解有关 ABP 框架的最新消息和公告、与社区成员聊天交流想法并玩得开心的地方!",
"Discord_Page_Description_3": "此 ABP 社区 Discord 服务器是 ABP 核心团队的官方服务器,存在于服务器上进行监控。",
"Discord_Page_JoinToServer": "加入 ABP Discord 服务器",
"Events_Page_MetaTitle": "ABP 社区活动",
"Events_Page_MetaDescription": "现场活动由 ABP 团队主持,是充满社区内容、演示、问答和围绕 ABP 正在发生的事情的讨论的休闲会议。",
"Events_Page_Title": "ABP<span class=\"gradient-community\">社区</span>会谈",
"Events_Page_WritingFromUser": "阅读来自 ABP 社区的 {0} 的文章。",
"Post_Create_Page_MetaTitle": "最新帖子",
"Post_Create_Page_MetaDescription": "创建您的帖子以分享您对 ABP 框架的经验并为 ABP 社区做出贡献。",
"Post_Create_Page_CreateNewPost": "创建新帖子",
"Post_Index_Page_MetaDescription": "ABP 社区的目的是为使用 ABP 框架的开发人员创建一个贡献环境。",
"Layout_Title": "{0} | ABP 社区",
"Layout_MetaDescription": "ABP 社区是一个人们可以分享有关 ABP 框架的帖子并关注项目的环境。",
"Index_Page_CommunityIntroduction": "这是 ABP 框架、.NET 和软件开发的中心。 您可以阅读文章,观看视频教程,了解 ABP 的开发进度和 ABP 相关事件,帮助其他开发人员并与 ABP 社区分享您的专业知识。"
}
}

5
abp_io/AbpIoLocalization/AbpIoLocalization/Www/AbpIoWwwResource.cs

@ -1,5 +1,8 @@
namespace AbpIoLocalization.Www
using Volo.Abp.Localization;
namespace AbpIoLocalization.Www
{
[LocalizationResourceName("AbpIoWww")]
public class AbpIoWwwResource
{

24
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json

@ -293,7 +293,6 @@
"ExploreDocumentationAndGuides": "Explore the comprehensive documentation and guides.",
"Documentations": "Documentation",
"Views": "Views",
"ReadMore": "Read More",
"EnterYouEmailToGetNews": "Enter your email to get the latest news about the ABP Framework",
"Tiered": "Tiered",
"SeparateIdentityServer": "Separate Identity Server",
@ -372,6 +371,27 @@
"MasteringAbpFramework_Book_What_You_Will_Learn_8": "Write unit, integration, and UI tests using ABP Framework.",
"MasteringAbpFramework_Book_WhoIsThisBookFor": "Who's this book for",
"MasteringAbpFramework_Book_WhoIsThisBookFor_Description": "This book is for web developers who want to learn software architectures and best practices for building\n maintainable web-based solutions using Microsoft technologies and ABP Framework. Basic knowledge of C#\n and ASP.NET Core is necessary to get started with this book.",
"ComputersAndTechnology": "Computers & Technology"
"ComputersAndTechnology": "Computers & Technology",
"BuildingMicroserviceSolutions": "Building Microservice Solutions",
"MicroserviceBookPracticalGuide": "This book is a reference guide for developing and managing microservice-based applications using the ABP Framework. It references the <strong>.NET Microservice Sample Reference Application</strong>: eShopOnContainers and discusses the architectural design and implementation approaches using the ABP Framework. By the end of this book, you'll learn how ABP approaches the common microservice complexities such as authorization, distributed transactions, inter-microservice communications, deployment, etc.",
"IntroducingTheSolution": "Introducing the eShopOnAbp Solution",
"RunningTheSolution": "Running the Solution",
"UnderstandingTheAuthenticationSystem": "Understanding the Authentication System",
"ExploringTheApplications": "Exploring the Applications",
"UnderstandingTheAPIGateways": "Understanding the API Gateways",
"DevelopingTheMicroservices": "Developing the Microservices",
"UnderstandingTheInfrastructure": "Understanding the Infrastructure",
"DiggingInTheUseCases": "Digging in the Use Cases",
"DeployingTheSolution": "Deploying the Solution",
"ThisBookIsInDraftStageAndIsNotCompletedYet": "This book is in draft stage and is not completed yet.",
"Authors": "Authors",
"MicroserviceEBook": "Microservice E-Book",
"SelectUITheme": "Select UI Theme",
"LeptonXLiteTheme": "LeptonX Lite Theme",
"BasicTheme": "Basic Theme",
"LeptonXLiteThemeInfo": " A modern and stylish Bootstrap UI theme. Ideal if you want to have a production ready UI theme. This is the newest theme and is the default.",
"BasicThemeInfo": "Minimalist UI theme with plain Bootstrap colors and styles. Ideal if you will build your own UI theme.",
"SeeDocumentation": "See <a href='{0}' target='_blank'>documentation</a>.",
"SeeFullScreen": "<a href='{0}' target='_blank'>🖼️ See the screenshot</a>"
}
}

6
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/ro-RO.json

@ -253,18 +253,18 @@
"Or": "Sau",
"TellUsAboutYourself": "Spuneţi-ne un pic despre dumneavoastră",
"Name": "Nume",
"Surname": "Nume",
"Surname": "Nume de familie",
"CompanyName": "Nume companie",
"DoYouAgreePrivacyPolicy": "Sunt de acord cu <a href=\"https://account.abp.io/Account/TermsConditions\">Termenii & condiţiile</a> şi <a href=\"https://account.abp.io/Account/Privacy\">Politica de confidenţialitate</a>.",
"Free": "Gratuit",
"DDDEBook": "E-book DDD",
"PracticalGuideForImplementingDDD": "Această carte este un ghid practic pentru implementarea Domain Driven Design în framework-ul ABP.",
"IntroducingDDD": "Introducere în Domain Driven Design",
"DDDLayersAndCleanArchitecture": "Straturile DDD & Arhitectură curată",
"DDDLayersAndCleanArchitecture": "Straturile DDD şi Arhitectură curată",
"LayeringOfADotnetSolution": "Stratificarea unei soluţii .NET",
"ImplementingDDDBuildingBlocks": "Implementând DDD Building Blocks",
"DomainVsApplicationLogic": "Domain Logic vs Application Logic",
"SamplesAndDiscussions": "Exemple & Discuţii",
"SamplesAndDiscussions": "Exemple şi Discuţii",
"EmailNotValid": "Vă rugăm să introduceţi o adresa de email validă.",
"WeWillSendYouADownloadLink": "Un link care conţine e-book-ul a fost trimis către {0}. Verificaţi-vă folderele de inbox, junk sau spam!",
"GoHome": "Pagina principală",

3
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/tr.json

@ -279,6 +279,7 @@
"SubscribeToNewsletter": "ABP.IO Platform'u ile ilgili yeni haberler, makaleler, teklifler ve daha fazlası gibi gelişmeler hakkında bilgi almak için bültene abone olun.",
"FirstEdition": "İlk Baskı",
"ThankYou": "Teşekkürler!",
"CheckboxMandatory": "Devam etmek için bunu kontrol etmeniz gerekiyor!"
"CheckboxMandatory": "Devam etmek için bunu kontrol etmeniz gerekiyor!",
"ThisBookIsInDraftStageAndIsNotCompletedYet": "Bu kitap taslak aşamasındadır ve henüz tamamlanmamıştır."
}
}

103
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/zh-Hans.json

@ -174,6 +174,7 @@
"CreateProjectWizard": "此向导让你从启动模板创建一个新项目,该启动模板已正确配置为可以快速启动你的项目.",
"TieredOption": "创建一个分层解决方案,其中Web和Http API层在物理上是分离的. 如果没有选中则创建一个不那么复杂且适合大多数场景的分层解决方案.",
"SeparateIdentityServerOption": "将服务器端分离为两个应用程序:第一个应用程序用于身份服务器,第二个应用程序用于服务器端HTTP API.",
"ProgressiveWebApplicationOption": "将项目指定为渐进式 Web 应用程序",
"UseslatestPreVersion": "使用最新的预发布版本",
"ReadTheDocumentation": "<span class=\"text-primary\">阅读</span><span class=\"text-success\">文档</span>",
"Documentation": "文档",
@ -214,7 +215,11 @@
"SeeDocs": "查看文档",
"None": "空",
"Application": "应用程序",
"ApplicationExplanation": "基于领域驱动设计实践创建一个完全分层的解决方案。 推荐用于需要可维护和可扩展代码库的长期项目。",
"ApplicationNoLayer": "应用程序(单层)",
"ApplicationNoLayerExplanation": "创建单层 Web 应用程序。 推荐用于构建具有更简单且易于理解的架构的应用程序。",
"Module": "模块",
"ModuleExplanation": "创建可重用、完全分层的应用程序模块解决方案。 您可以使用此选项为您的模块化应用程序创建模块。",
"PackageName": "包名称",
"LicenseURL": "许可URL",
"License": "许可",
@ -256,7 +261,7 @@
"Surname": "姓",
"CompanyName": "公司名",
"DoYouAgreePrivacyPolicy": "我同意<a href=\"https://account.abp.io/Account/TermsConditions\">条款和条件</a>和<a href=\"https://account.abp.io/Account/Privacy \">隐私政策</a>。",
"Free": "自由",
"Free": "免费",
"DDDEBook": "DDD电子书",
"PracticalGuideForImplementingDDD": "本书是使用 ABP 框架实现领域驱动设计的实用指南。",
"IntroducingDDD": "介绍领域驱动设计",
@ -273,6 +278,100 @@
"SubscribeToNewsletter": "订阅时事通讯以获取有关 ABP.IO 平台中发生的事件的信息,例如新版本、文章、优惠等。",
"FirstEdition": "第一版",
"ThankYou": "谢谢!",
"CheckboxMandatory": "你需要检查这个才能继续!"
"CheckboxMandatory": "你需要检查这个才能继续!",
"UserInterface": "用户界面",
"APIGateway": "API 网关",
"Database": "数据库",
"Saas": "Saas",
"OpenSourceWebApp": "<span class=\"forever\">开源 </span> <br/> Web 应用程序",
"Framework": "框架",
"AuditLoggingExplanation": "自动跟踪系统中的所有操作和数据更改。",
"AbpNewCommandExplanation": "使用 ABP 启动模板创建新的解决方案。",
"AbpAddModuleCommandExplanation": "将预构建的应用程序模块安装到您的解决方案中",
"AbpUpdateCommandExplanation": "自动更新解决方案中所有与 ABP 相关的 NuGet 和 NPM 包。",
"ExploreAllCLICommands": "探索所有 CLI 命令",
"ExploreDocumentationAndGuides": "探索全面的文档和指南。",
"Documentations": "文档",
"Views": "意见",
"EnterYouEmailToGetNews": "输入您的电子邮件以获取有关 ABP 框架的最新消息",
"Tiered": "分层",
"SeparateIdentityServer": "独立的身份服务器",
"ProgressiveWebApplication": "渐进式 Web 应用程序",
"Preview": "预览",
"CreateANewSolution": "创建一个新的解决方案",
"ABPFrameworkFeatures": "ABP 框架 <span class=\"gradient-framework\">功能</span>",
"Commercial": "商业版",
"ThirdPartyTools": "第三方工具",
"Back": "后退",
"Community": "社区",
"SeeMore": "查看更多",
"DetailsOfTheEBook": "电子书详情",
"JoinOurMarketingNewsletter": "加入我们的市场推广时事通讯",
"FrameworkNewsletterConfirmationMessage": "我同意<a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">条款和条件</a > 和 <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">隐私政策</a>。",
"GetYourFreeEBook": "获取您的 <span class=\"gradient-framework d-block\">免费 DDD 电子书</span>",
"EverythingYouNeedToKnow": "您需要了解的一切。",
"PreOrderNow": "立即预订",
"UITheming": "用户界面主题",
"UIThemingExplanation": "创建可重用的 UI 主题和布局,或使用预构建的 UI 主题之一。",
"DataFilteringExplanation2": "自动过滤来自数据库的查询,以轻松实现软删除和多租户等模式。",
"NeedHelp": "您需要帮助吗?",
"GiveYourProjectAName": "给您的项目命名",
"SelectProjectType": "选择项目类型",
"SelectUIFramework": "选择 UI 框架",
"SelectDatabaseProvider": "选择数据库提供者",
"SelectDatabaseManagementSystem": "选择数据库管理系统",
"InstallingTheABPCLI": "安装 ABP CLI",
"CreateYourProjectNow": "立即创建您的项目",
"OrderOn": "在 {0} 订购",
"DownloadFreeDDDBook": "下载免费的 DDD 书",
"WhatIsABPFramework": "什么是 ABP 框架?",
"TenantDatabase": "租户 {0} 数据库",
"SharedDatabase": "共享数据库",
"ConnectionResolver": "连接解析器",
"TenantBasedDataFilter": "基于租户的数据过滤器",
"ApplicationCode": "申请代码",
"TenantResolution": "租户决议",
"TenantUser": "租户 {0} 用户",
"CardTitle": "卡片标题",
"View": "查看",
"Model": "模型",
"Email": "电子邮箱",
"Password": "密码",
"Address": "地址",
"Gender": "性别",
"Male": "男",
"Female": "女",
"Submit": "提交",
"Unspecified": "未指定",
"StaticFileMiddleware": "静态文件中间件",
"RazorViewEngine": "Razor 视图引擎",
"PhysicalFiles": "物理文件 (wwwroot)",
"EmbeddedFiles": "嵌入式文件(DDL) ",
"DynamicFiles": "动态文件(内存)",
"BuildSolutionsWithAbp": "遵循使用 ABP 的软件开发最佳实践,构建可维护的 .NET 解决方案。",
"BuyOnAmazon": "在亚马逊上购买",
"BuyOnPackt": "在 Packt 上购买",
"Discounted": "打折",
"MasteringAbpFramework_Book_KeyFeatures": "主要特性",
"MasteringAbpFramework_Book_Key_Features_Description_1": "使用 ABP 框架构建强大、可维护、模块化和可扩展的软件解决方案。",
"MasteringAbpFramework_Book_Key_Features_Description_2": "了解如何在您的 Web 应用程序中实施 SOLID 原则和领域驱动设计。",
"MasteringAbpFramework_Book_Key_Features_Description_3": "了解 ABP 框架如何通过自动执行重复性任务来加快您的开发周期。",
"MasteringAbpFramework_Book_Description": "书籍说明",
"MasteringAbpFramework_Book_Description_Details_1": "ABP 框架是一个完整的基础架构,用于通过遵循软件 \n 开发最佳实践和约定来创建现代 Web 应用程序。 借助 ABP 的高级框架和生态系统,您可以 \n 实现 Don't Repeat Yourself (DRY) 原则并专注于您的业务代码。",
"MasteringAbpFramework_Book_Description_Details_2": "本书由 ABP 框架的创建者撰写,将帮助您全面了解该框架和现代 Web 应用程序开发技术。 通过对基本概念和实际示例的逐步解释,您将了解现代 Web 解决方案的要求以及 ABP\n 框架如何使开发您自己的解决方案变得轻松愉快。 您将发现\n 企业 Web 应用程序开发的常见需求,并探索 ABP 提供的基础架构。 在整本书中,您将掌握构建可维护和模块化 Web 解决方案的软件开发最佳实践。",
"MasteringAbpFramework_Book_Description_Details_3": "在本书结束时,您将能够创建一个易于开发、\n 维护和测试的完整 Web 解决方案。",
"MasteringAbpFramework_Book_WhatYouWillLearn": "你将会学到什么",
"MasteringAbpFramework_Book_What_You_Will_Learn_1": "设置开发环境并开始使用 ABP 框架。",
"MasteringAbpFramework_Book_What_You_Will_Learn_2": "使用 Entity Framework Core 和 MongoDB 开发您的数据访问层。",
"MasteringAbpFramework_Book_What_You_Will_Learn_3": "了解横切关注点以及 ABP 如何自动执行重复性任务。",
"MasteringAbpFramework_Book_What_You_Will_Learn_4": "掌握使用 ABP 框架实施领域驱动设计。",
"MasteringAbpFramework_Book_What_You_Will_Learn_5": "使用 ASP.NET Core MVC (Razor Pages) 和 Blazor 构建 UI 页面和组件。",
"MasteringAbpFramework_Book_What_You_Will_Learn_6": "使用多租户创建模块化 Web 应用程序。",
"MasteringAbpFramework_Book_What_You_Will_Learn_7": "了解模块化并创建可重用的应用程序模块。",
"MasteringAbpFramework_Book_What_You_Will_Learn_8": "使用 ABP 框架编写单元、集成和 UI 测试。",
"MasteringAbpFramework_Book_WhoIsThisBookFor": "这本书是给谁看的",
"MasteringAbpFramework_Book_WhoIsThisBookFor_Description": "本书适用于希望学习软件架构和最佳实践的 Web 开发人员,以使用 Microsoft 技术和 ABP 框架构建\n 可维护的基于 Web 的解决方案。 C#\n 和 ASP.NET Core 的基本知识是开始阅读本书所必需的。",
"ComputersAndTechnology": "计算机与技术",
"ThisBookIsInDraftStageAndIsNotCompletedYet": "这本书正在草案阶段,还没有完成。"
}
}

2
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/zh-Hant.json

@ -256,7 +256,7 @@
"Surname": "姓",
"CompanyName": "公司名",
"DoYouAgreePrivacyPolicy": "我同意<a href=\"https://account.abp.io/Account/TermsConditions\">條款和條件</a>和<a href=\"https://account.abp.io/Account/Privacy \">隱私政策</a>。",
"Free": "自由",
"Free": "免費",
"DDDEBook": "DDD電子書",
"PracticalGuideForImplementingDDD": "本書是使用 ABP 框架實現領域驅動設計的實用指南。",
"IntroducingDDD": "介紹領域驅動設計",

3
build/common.ps1

@ -20,8 +20,7 @@ $solutionPaths = @(
"../modules/background-jobs",
"../modules/account",
"../modules/cms-kit",
"../modules/blob-storing-database",
"../studio"
"../modules/blob-storing-database"
)
if ($full -eq "-f")

1
common.DotSettings

@ -38,5 +38,6 @@
<s:Boolean x:Key="/Default/Environment/TypeNameHintsOptions/ShowTypeNameHintsForLambdaExpressionParameters/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/TypeNameHintsOptions/ShowTypeNameHintsForLinqQueryRangeVariables/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/TypeNameHintsOptions/ShowTypeNameHintsForPatternMatchingExpressions/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Dapr/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Volo/@EntryIndexedValue">True</s:Boolean>
</wpf:ResourceDictionary>

2
common.props

@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
<Version>6.0.0</Version>
<Version>7.0.0</Version>
<NoWarn>$(NoWarn);CS1591;CS0436</NoWarn>
<PackageIconUrl>https://abp.io/assets/abp_nupkg.png</PackageIconUrl>
<PackageProjectUrl>https://abp.io/</PackageProjectUrl>

8
docs/en/Apps/VoloDocs.md

@ -23,13 +23,13 @@ https://github.com/abpframework/abp/tree/master/modules/docs
You can download the VoloDocs release from the following links:
http://apps.abp.io/VoloDocs/VoloDocs.win-x64.zip - **Windows 64 bit**
https://apps.abp.io/VoloDocs/VoloDocs.win-x64.zip - **Windows 64 bit**
http://apps.abp.io/VoloDocs/VoloDocs.win-x86.zip - **Windows 32 bit**
https://apps.abp.io/VoloDocs/VoloDocs.win-x86.zip - **Windows 32 bit**
http://apps.abp.io/VoloDocs/VoloDocs.osx-x64.zip - **MacOS**
https://apps.abp.io/VoloDocs/VoloDocs.osx-x64.zip - **MacOS**
http://apps.abp.io/VoloDocs/VoloDocs.linux-x64.zip - **Linux**
https://apps.abp.io/VoloDocs/VoloDocs.linux-x64.zip - **Linux**
Notice that, all installations are self-contained deployments. It means all the required third-party dependencies along with the version of .NET Core is included. So you don't need to install any .NET Core SDK / Runtime.

11
docs/en/Authorization.md

@ -4,7 +4,7 @@ Authorization is used to check if a user is allowed to perform some specific ope
ABP extends [ASP.NET Core Authorization](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction) by adding **permissions** as auto [policies](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies) and allowing authorization system to be usable in the **[application services](Application-Services.md)** too.
So, all the ASP.NET Core authorization features and the documentation are valid in an ABP based application. This document focuses on the features that added on top of ASP.NET Core authorization features.
So, all the ASP.NET Core authorization features and the documentation are valid in an ABP based application. This document focuses on the features that are added on top of ASP.NET Core authorization features.
## Authorize Attribute
@ -459,6 +459,15 @@ public static class CurrentUserExtensions
}
```
> If you use Identity Server please add your claims to `RequestedClaims` of `AbpClaimsServiceOptions`.
```csharp
Configure<AbpClaimsServiceOptions>(options =>
{
options.RequestedClaims.AddRange(new[]{ "SocialSecurityNumber" });
});
```
## See Also
* [Permission Management Module](Modules/Permission-Management.md)

35
docs/en/Background-Jobs-Hangfire.md

@ -80,6 +80,41 @@ After you have installed these NuGet packages, you need to configure your projec
}
````
### Specifying Queue
You can use the [`QueueAttribute`](https://docs.hangfire.io/en/latest/background-processing/configuring-queues.html) to specify the queue.
````csharp
using System.Threading.Tasks;
using Volo.Abp.BackgroundJobs;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Emailing;
namespace MyProject
{
[Queue("alpha")]
public class EmailSendingJob
: AsyncBackgroundJob<EmailSendingArgs>, ITransientDependency
{
private readonly IEmailSender _emailSender;
public EmailSendingJob(IEmailSender emailSender)
{
_emailSender = emailSender;
}
public override async Task ExecuteAsync(EmailSendingArgs args)
{
await _emailSender.SendAsync(
args.EmailAddress,
args.Subject,
args.Body
);
}
}
}
````
### Dashboard Authorization
Hangfire Dashboard provides information about your background jobs, including method names and serialized arguments as well as gives you an opportunity to manage them by performing different actions – retry, delete, trigger, etc. So it is important to restrict access to the Dashboard.

12
docs/en/Background-Jobs-RabbitMq.md

@ -126,25 +126,31 @@ By default, all the job types use the `Default` RabbitMQ connection.
Configure<AbpRabbitMqBackgroundJobOptions>(options =>
{
options.DefaultQueueNamePrefix = "my_app_jobs.";
options.DefaultDelayedQueueNamePrefix = "my_app_jobs.delayed"
options.PrefetchCount = 1;
options.JobQueues[typeof(EmailSendingArgs)] =
new JobQueueConfiguration(
typeof(EmailSendingArgs),
queueName: "my_app_jobs.emails",
connectionName: "SecondConnection"
connectionName: "SecondConnection",
delayedQueueName:"my_app_jobs.emails.delayed"
);
});
````
* This example sets the default queue name prefix to `my_app_jobs.`. If different applications use the same RabbitMQ server, it would be important to use different prefixes for each application to not consume jobs of each other.
* This example sets the default queue name prefix to `my_app_jobs.` and default delayed queue name prefix to `my_app_jobs.delayed`. If different applications use the same RabbitMQ server, it would be important to use different prefixes for each application to not consume jobs of each other.
* Sets `PrefetchCount` for all queues.
* Also specifies a different connection string for the `EmailSendingArgs`.
`JobQueueConfiguration` class has some additional options in its constructor;
* `queueName`: The queue name that is used for this job. The prefix is not added, so you need to specify the full name of the queue.
* `DelayedQueueName`: The delayed queue name that is used for delayed execution of job. The prefix is not added, so you need to specify the full name of the queue.
* `connectionName`: The RabbitMQ connection name (see the connection configuration above). This is optional and the default value is `Default`.
* `durable` (optional, default: `true`).
* `exclusive` (optional, default: `false`).
* `autoDelete` (optional, default: `false`)
* `autoDelete` (optional, default: `false`).
* `PrefetchCount` (optional, default: null)
See the RabbitMQ documentation if you want to understand the `durable`, `exclusive` and `autoDelete` options better, while most of the times the default configuration is what you want.

2
docs/en/Background-Workers.md

@ -128,7 +128,7 @@ Be careful if you run multiple instances of your application simultaneously in a
If that's a problem for your workers, you have the following options:
* Implement your background workers so that they work in a clustered environment without any problem. Using the [distributed lock](../Distributed-Locking.md) to ensure concurrency control is a way of doing that. A background worker in an application instance may handle a distributed lock, so the workers in other application instances will wait for the lock. In this way, only one worker does the actual work, while others wait in idle. If you implement this, your workers run safely without caring about how the application is deployed.
* Implement your background workers so that they work in a clustered environment without any problem. Using the [distributed lock](Distributed-Locking.md) to ensure concurrency control is a way of doing that. A background worker in an application instance may handle a distributed lock, so the workers in other application instances will wait for the lock. In this way, only one worker does the actual work, while others wait in idle. If you implement this, your workers run safely without caring about how the application is deployed.
* Stop the background workers (set `AbpBackgroundWorkerOptions.IsEnabled` to `false`) in all application instances except one of them, so only the single instance runs the workers.
* Stop the background workers (set `AbpBackgroundWorkerOptions.IsEnabled` to `false`) in all application instances and create a dedicated application (maybe a console application running in its own container or a Windows Service running in the background) to execute all the background tasks. This can be a good option if your background workers consume high system resources (CPU, RAM or Disk), so you can deploy that background application to a dedicated server and your background tasks don't affect your application's performance.

69
docs/en/Blog-Posts/2022-06-15 v5_3_Release_Stable/POST.md

@ -0,0 +1,69 @@
# ABP.IO Platform 5.3 Final Has Been Released!
[ABP Framework](https://abp.io/) and [ABP Commercial](https://commercial.abp.io/) 5.3 versions have been released today.
## What's New With 5.3?
Since all the new features are already explained in details with the [5.3 RC Announcement Post](https://blog.abp.io/abp/ABP.IO-Platform-5.3-RC-Has-Been-Published), I will not repeat all the details again. See the [RC Blog Post](https://blog.abp.io/abp/ABP.IO-Platform-5.3-RC-Has-Been-Published) for all the features and enhancements.
## Getting Started with 5.3
### Creating New Solutions
You can create a new solution with the ABP Framework version 5.3 by either using the `abp new` command or using the **direct download** tab on the [get started page](https://abp.io/get-started).
> See the [getting started document](https://docs.abp.io/en/abp/latest/Getting-Started) for more.
### How to Upgrade an Existing Solution
#### Install/Update the ABP CLI
First of all, install the ABP CLI or upgrade to the latest version.
If you haven't installed it yet:
```bash
dotnet tool install -g Volo.Abp.Cli
```
To update an existing installation:
```bash
dotnet tool update -g Volo.Abp.Cli
```
#### Upgrading Existing Solutions with the ABP Update Command
[ABP CLI](https://docs.abp.io/en/abp/latest/CLI) provides a handy command to update all the ABP related NuGet and NPM packages in your solution with a single command:
```bash
abp update
```
Run this command in the root folder of your solution.
## Migration Guides
Check the following migration guides for the applications with version 5.2 that are upgrading to version 5.3.
* [ABP Framework 5.2 to 5.3 migration guide](https://docs.abp.io/en/abp/5.3/Migration-Guides/Abp-5_3)
* [ABP Commercial 5.2 to 5.3 migration guide](https://docs.abp.io/en/commercial/5.3/migration-guides/v5_3)
## Community News
### New ABP Community Posts
Here are some of the recent posts added to the [ABP Community](https://community.abp.io/):
* [Integrating Elsa .NET Workflows with ABP Commercial](https://community.abp.io/posts/integrating-elsa-.net-workflows-with-abp-commercial-io32k420) by [kirtik](https://community.abp.io/members/kirtik).
* [ABP's Conventional Dependency Injection](https://community.abp.io/posts/abps-conventional-dependency-injection-948toiqy) by [iyilm4z](https://github.com/iyilm4z).
* [How to implement Single Sign-On with ABP commercial application](https://community.abp.io/posts/how-to-implement-single-signon-with-abp-commercial-application-m5ek38y9) by [kirtik](https://community.abp.io/members/kirtik).
* [Introduce DTM for Multi-Tenant Multi-Database Scene](https://community.abp.io/posts/introduce-dtm-for-multitenant-multidatabase-scene-23ziikbe) by [gdlcf88](https://github.com/gdlcf88).
Thanks to the ABP Community for all the contents they have published. You can also [post your ABP related (text or video) contents](https://community.abp.io/articles/submit) to the ABP Community.
## About the Next Version
The next feature version will be 6.0. It is planned to release the 6.0 RC (Release Candidate) on July 12 and the final version on August 16, 2022. You can follow the [release planning here](https://github.com/abpframework/abp/milestones).
Please [submit an issue](https://github.com/abpframework/abp/issues/new) if you have any problems with this version.

380
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/POST.md

@ -0,0 +1,380 @@
# ABP.IO Platform 6.0 RC Has Been Released
Today, we are happy to release the [ABP Framework](https://abp.io/) and [ABP Commercial](https://commercial.abp.io/) version **6.0 RC** (release candidate). This blog post introduces the new features and important changes in this new version.
> **The planned release date for the [6.0.0 Stable](https://github.com/abpframework/abp/milestone/71) version is September 06, 2022**.
Try this version and provide feedback for the stable ABP v6.0! Thank you to all.
## Get Started with the 6.0 RC
Follow the steps below to try version 6.0.0 RC today:
1) **Upgrade** the ABP CLI to version `6.0.0-rc.1` using a command line terminal:
````bash
dotnet tool update Volo.Abp.Cli -g --version 6.0.0-rc.1
````
**or install** it if you haven't before:
````bash
dotnet tool install Volo.Abp.Cli -g --version 6.0.0-rc.1
````
2) Create a **new application** with the `--preview` option:
````bash
abp new BookStore --preview
````
See the [ABP CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all the available options.
> You can also use the *Direct Download* tab on the [Get Started](https://abp.io/get-started) page by selecting the **Preview checkbox**.
You can use any IDE that supports .NET 6.x, like **[Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)**.
## Migration Guides
There are breaking changes in this version that may affect your application.
Please see the following migration documents, if you are upgrading from v5.3.0:
* [ABP Framework 5.3 to 6.0 Migration Guide](https://docs.abp.io/en/abp/6.0/Migration-Guides/Abp-6_0)
* [ABP Commercial 5.3 to 6.0 Migration Guide](https://docs.abp.io/en/commercial/6.0/migration-guides/v6_0)
## What's New with ABP Framework 6.0?
In this section, I will introduce some major features released in this version. Here is a brief list of titles explained in the next sections:
* **LeptonX Lite** is now the **default theme** for startup templates.
* Optional PWA support is added to [*Get Started*](https://abp.io/get-started) page.
* Introducing the **OpenIddict Module** and switching to OpenIddict for the startup templates.
* New **.NET MAUI** Startup Template.
* Introducing the `ITransientCachedServiceProvider` interface.
* Introducing the dynamic components for Blazor UI.
* Improvements on ABP CLI.
* Introducing the `Volo.Abp.RemoteServices` package.
* Create/Update user accounts for external logins.
* Sending test email in the setting page for MVC and Blazor user interfaces.
* Improvements on the **eShopOnAbp** project.
* Other news...
### LeptonX Lite Theme on Startup Templates
![](leptonx-lite-theme.png)
With this version, startup templates (`app` and `app-nolayers` templates) use the **LeptonX Lite** as the default theme. However, it's still possible to create a project with **Basic Theme** either using the **ABP CLI** or downloading the project via [*Get Started*](https://abp.io/get-started) page on the [abp.io](https://abp.io/) website.
#### via ABP CLI
To create a new project with **Basic Theme**, you can use the `--theme` option as below:
```bash
abp new Acme.BookStore --theme basic --preview
```
#### via Get Started page
Also, you can create a new project with **LeptonX Lite** or **Basic Theme** on *Get Started* page.
![](get-started-page.png)
> The "Preview" checkbox should be checked to be able to see the theme selection section on the *Get Started* page.
### Optional PWA Support is Added to the Get Started Page
We've introduced the PWA (Progressive Web Application) support for the startup templates for Angular & Blazor WASM UIs in **v5.3**. In this version, we also added this PWA support to the [*Get Started*](https://abp.io/get-started) page on the [abp.io](https://abp.io/) website.
![](pwa-support-get-started-page.png)
If you check the "Progressive Web Application" checkbox while creating an application, the all required configurations will be done for you and you will get the benefit of PWA features in your application.
### Introducing the **OpenIddict Module** and Switching to OpenIddict in the Startup Templates
We already [announced the plan of replacing the IdentityServer with OpenIddict](https://github.com/abpframework/abp/issues/11989).
Therefore, we have created the `OpenIddict` module in this version and switched to **OpenIddict** in the startup templates. The ABP Framework uses this module to add **OAuth** features to the applications. We created documentation for the **OpenIddict Module**.
- You can see the following document to **learn about the OpenIddict Module**:
[https://docs.abp.io/en/abp/6.0/Modules/OpenIddict](https://docs.abp.io/en/abp/6.0/Modules/OpenIddict)
- You can check out the following migration guide to learn **how to migrate to OpenIddict**:
[https://docs.abp.io/en/abp/6.0/Migration-Guides/IdentityServer_To_OpenIddict](https://docs.abp.io/en/abp/6.0/Migration-Guides/IdentityServer_To_OpenIddict)
> We will continue to ship Identity Server packages for a while but in the long term, you may need to replace it, because Identity Server support ends at the end of 2022. Please see the [announcement]((https://github.com/abpframework/abp/issues/11989)) for more info.
### New .NET MAUI Startup Template
![](maui-template.png)
ABP Framework provides .NET MAUI startup templates with **v6.0.0**. You can create a new .NET MAUI project with the command below:
```bash
abp new Acme.BookStore -t maui
```
### Introducing the `ITransientCachedServiceProvider`
`ICachedServiceProvider` interface is used to resolve the cached services within a new scope. We created a new interface to resolve cached services **without creating scopes**. It's called `ITransientCachedServiceProvider`. The difference between `ICachedServiceProvider` and `ITransientCachedServiceProvider` is; `ITransientCachedServiceProvider` is transient. Check out [this issue](https://github.com/abpframework/abp/issues/12918) for more information.
### Introducing the dynamic layout components for Blazor UI
ABP Framework provides different ways of customizing the UI and one of them is to use [Layout Hooks](https://docs.abp.io/en/abp/latest/UI/AspNetCore/Layout-Hooks) in MVC. The **Layout Hook System** allows you to add code to some specific parts of the layout and all layouts of the themes provided by the ABP Framework implement these hooks.
However, Blazor UI doesn't have such a system yet and we are planning to implement [Layout Hooks for the Blazor UI](https://github.com/abpframework/abp/issues/6261) in version 7.0.
We are introducing the dynamic layout components for the Blazor UI to be able to add components to the Blazor layouts.
You can configure the `AbpDynamicLayoutComponentOptions` to render your components in the layout, as below:
```csharp
Configure<AbpDynamicLayoutComponentOptions>(options =>
{
options.Components.Add(typeof(MyBlazorComponent), null);
});
```
### Improvements in ABP CLI
There are some enhancements in [ABP CLI](https://docs.abp.io/en/abp/6.0/CLI). You can see the brief list of some of these improvements below:
* You can list all available templates by using the `abp list-templates` command with v6.0. See [#13083](https://github.com/abpframework/abp/pull/13083).
* You can select the theme when creating a new project by specifying the `--theme` option. You can see the *LeptonX Lite Theme on the Startup Templates* section above for an example.
* `abp update` command has been updating the version of the main application until now. With v6.0.0, this command updates all package versions **inside all solutions in the sub-folders**. Checkout the issue [#12735](https://github.com/abpframework/abp/pull/12738) for more information.
### Introducing the `Volo.Abp.RemoteService` Package
A new `Volo.Abp.RemoteService` package has been added to the framework. Some of the classes that are related to the remote service configurations such as `AbpRemoteServiceOptions` class moved from `Volo.Abp.Http.Client` to this package. In this way, it became more reusable for further usages.
### Create/Update User Accounts For External Logins
If a user authenticates from an external provider like `Keycloak`, the user is being redirected to this external provider, and comes back to the main application. In this process, the user's data is not being saved in the main application's database. With this version, ABP saves the user information and lists in the users page. And this fixes permission management, user information mismatches and other issues. For more info, see [the related issue](https://github.com/abpframework/abp/issues/12203).
### Sending test email in the setting page for MVC and Blazor UIs
"Sending Test Email" feature is added to the [Setting Management](https://docs.abp.io/en/abp/6.0/Modules/Setting-Management) module, which allows checking the email settings are configured properly and sending emails successfully to the target email address.
![](setting-management-emailing.png)
After configuring the email settings such as the target email address, you can click the "Send" button to send a test email to see if everything went well.
> Note that this feature will be implemented for the Angular UI in the stable v6.0.
### Improvements on eShopOnAbp Project
The following improvements have been made on [eShopOnAbp project](https://github.com/abpframework/eShopOnAbp) with this version:
* Some improvements have been made on the Admin Application for Order Management for Angular UI. See [#110](https://github.com/abpframework/eShopOnAbp/pull/110).
* `SignalR` error on Kubernetes & Docker Compose has been fixed. See [#113](https://github.com/abpframework/eShopOnAbp/pull/113).
* eShopOnAbp project has been deployed to Azure Kubernetes Service. See [#114](https://github.com/abpframework/eShopOnAbp/pull/114). The live demo can be seen from [eshoponabp.com](https://eshoponabp.com/).
* Configurations have been made for some services on the `docker-compose.yml` file. See [#112](https://github.com/abpframework/eShopOnAbp/pull/112).
* Gateway Redirect Loop problem on Kubernetes has been fixed. See [the commit](https://github.com/abpframework/eShopOnAbp/commit/6413ef15c91cd8a5309050b63bb4dbca23587607).
### Other News
* Autofac library has been upgraded to **v6.4.0**. Please see [#12816](https://github.com/abpframework/abp/pull/12816) for more info.
* Performance Improvements have been made in the **Settings Module** and tabs on the *Settings* page are lazy loading now.
* Some improvements have been made in the CMS Kit Module. You can see the improvements from [here](https://github.com/abpframework/abp/issues/11965).
If you want to see more details, you can check [the release on GitHub](https://github.com/abpframework/abp/releases/tag/6.0.0-rc.1), which contains a list of all the issues and pull requests closed in this version.
## What's New with ABP Commercial 6.0?
### LeptonX Theme is the Default Theme
With this version, the startup templates (`app-pro`, `app-nolayers-pro` and `microservice-pro` templates) use the **LeptonX Theme** as the default theme. However, it's still possible to create a new project with **Lepton Theme** or **Basic Theme**, either using the **ABP CLI** or **ABP Suite**.
#### via ABP CLI
To create a new project with **Lepton Theme** or **Basic Theme**, you can use the `--theme` option as below. For "Basic Theme" specify the theme name as `--theme basic`.
```bash
abp new Acme.BookStore --theme lepton --preview
```
#### via ABP Suite
Also, you can create a new project with **Lepton Theme** or **Basic Theme** from ABP Suite.
![](suite-create-new-solution.png)
### Switching to OpenIddict in the Startup Templates
We have also switched to the **OpenIddict** for the startup templates for ABP Commercial as explained above.
### New .NET MAUI Mobile
![](maui-mobile-option.gif)
ABP Commercial has been providing a [React Native](https://docs.abp.io/en/commercial/latest/getting-started-react-native) mobile app since with the very early versions. Alternative to this application, we created a new .NET MAUI mobile app. To create a new `app-pro` ABP project with the .NET MAUI mobile app, you can use the command below:
```bash
abp new Acme.BookStore -t app-pro --mobile maui
```
> Note that, when Microsoft supports `WebAuthenticator` on Windows, we'll also support it to work on Windows OS.
### GDPR: Cookie Consent
![](cookie-banner.png)
With this version, the **Cookie Consent** feature has been added to the **GDPR** module. It's enabled by default for the new startup templates. There are two pages in the templates: "Cookie Policy" page and "Privacy Policy" page.
If you want to disable/hide the "Cookie Consent", you can simply open the startup project module class and set the `IsEnabled` property as **false** for the **AddAbpCookieConsent** method as below:
```csharp
context.Services.AddAbpCookieConsent(options =>
{
options.IsEnabled = false; //disabled
options.CookiePolicyUrl = "/CookiePolicy";
options.PrivacyPolicyUrl = "/PrivacyPolicy";
});
```
> These pages are used to build up the cookie consent text and you can change the content or url of these pages by your needs.
If you want to use the Cookie Consent feature of the GDPR module in your existing project, please see the [GDPR Module](https://docs.abp.io/en/commercial/6.0/modules/gdpr) documentation for configurations.
### Improvements/Developments on CMS Kit Poll
Some improvements have been made on the Poll System of CMS Kit module as listed below:
* The Widget rendering and Admin side for the Blazor UI improvements.
* A Widget can be picked from the editor as seen in the image below.
![](poll-add-widget.png)
### Blazor UI for the Chat Module
Chat Module is now also available for the Blazor UI after the MVC and Angular UIs. You can read the [Chat Module](https://docs.abp.io/en/commercial/6.0/modules/chat) documentation to get the overall knowledge about the module and add to your application.
![](blazor-chat-module-1.png)
![](blazor-chat-module-2.png)
### Blazor Admin UI for CMS Kit Module
All admin side **CMS Kit** and **CMS Kit Pro** features have been implemented for the Blazor UI. Blazor UI will only be available to ABP Commercial customers.
![](cms-blog-blazor.png)
![](cms-blog-post-blazor.png)
### Suite: Excel Export
With v6.0, now it's possible to export the records as Excel for Blazor & MVC UIs. Angular UI is still in-progress, and we will implement it with the stable v6.0 release. Check the "Excel export" checkbox to add this feature.
![](excel-export.png)
A new Excel Export button is being located at the top of the generated page as seen below:
![](export-excel-page.png)
Then, you can download the records as `.xlsx` format by clicking the "Excel Export" button. Note that the exported Excel list is the filtered list.
### ABP Suite: Optional PWA Support
With this version, it's possible to add the [PWA (Progressive Web App)](https://web.dev/progressive-web-apps/?gclid=Cj0KCQjwxIOXBhCrARIsAL1QFCY0IB-W5k-lsXmRCbm00sl4nyBIYynAX3IdJkjyizyNUjuCE8zeu24aApxtEALw_wcB) support for Blazor & Angular UIs while creating the application via Suite.
![](suite-pwa-support.png)
You just need to check the "Progressive web application" checkbox, when creating a new application. Then, ABP Suite will add the PWA support to your application. When you publish your application, you get the full benefits of PWA features such as offline support.
### Other News
#### Explainer Videos
We are creating explainer videos for the ABP Commercial Modules to provide an overview. Within this milestone, we've created four new explainer videos:
* [Audit Logging Module](https://www.youtube.com/watch?v=NzSuFBpqfsc)
* [Identity Module](https://www.youtube.com/watch?v=W87jA_GBE54)
* [SaaS Module](https://www.youtube.com/watch?v=xXlaaXP6qqQ)
* [Forms Module](https://www.youtube.com/watch?v=MousWEPfrA8)
You can subscribe to [Volosoft's YouTube channel](https://www.youtube.com/channel/UCO3XKlpvq8CA5MQNVS6b3dQ) to be informed about the future ABP events and videos.
### Trial License is now available!
![](pricing-page.png)
If you are considering purchasing a new ABP Commercial license, and you want to see ABP in action then, check out https://commercial.abp.io/pricing and click FREE TRIAL button.
## Community News
### New ABP Community Posts
* [Alper Ebicoglu](https://twitter.com/alperebicoglu) has created a new community article to give a full overview of .NET MAUI. You can read it [here](https://community.abp.io/posts/all-about-.net-maui-gb4gkdg5).
* [Anto Subash](https://twitter.com/antosubash) has created a new video content to show "State Management in Blazor with Fluxor". You can read it [here](https://community.abp.io/posts/blazor-state-management-with-fluxor-raskpv19).
* [Learn ABP Framework](https://community.abp.io/members/learnabp) has also created a new video content to show "How to install LeptonX Lite Theme for ABP Framework 5.3 MVC UI". You can read it [here](https://community.abp.io/posts/how-to-install-leptonx-lite-theme-on-abp-framework-5.3-mvc-ui-epzng137).
* [Kirti Kulkarni](https://twitter.com/kirtimkulkarni) has created three new community articles. You can use the links below to read the articles:
* [Integrating the file management module with ABP Commercial application](https://community.abp.io/posts/integrating-the-file-management-module-with-abp-commercial-application-qd6v4dsr)
* [Work with PDF's in ABP Commercial Project using PDFTron](https://community.abp.io/posts/work-with-pdfs-in-abp-commercial-project-using-pdftron-tjw0hlgu)
* [Create a custom login page in ABP Commercial Angular app](https://community.abp.io/posts/create-a-custom-login-page-in-abp-commercial-angular-app-r2huidx7)
* [Don Boutwell](https://community.abp.io/members/dboutwell) has created his first ABP Community article. You can read it from [here](https://community.abp.io/posts/password-required-redis-with-abp-framework-and-docker-94old5rm).
### Volosoft Has Attended the DNF Summit 2022
![](dnf-summit.png)
Core team members of ABP Framework, [Halil Ibrahim Kalkan](https://twitter.com/hibrahimkalkan) and [Alper Ebicoglu](https://twitter.com/alperebicoglu) have attended the [DNF Summit](https://t.co/ngWnBLiAn5) on the 20th of July. Halil Ibrahim Kalkan talked about the creation of the ABP Framework and Alper Ebicoglu showed how easy to create a project with ABP Framework within 15 minutes.
Watch DNF Summit session 👉 https://www.youtube.com/embed/VL0ewZ-0ruo
![](dnf-summit-attendees.jpg)
## Conclusion
This version comes with some features and enhancements to the existing features. You can see the [Road Map](https://docs.abp.io/en/abp/6.0/Road-Map) documentation to learn about the release schedule and planned features for the next releases. The planned release date for the [6.0.0 Stable](https://github.com/abpframework/abp/milestone/71) version is September 06, 2022. Please try the ABP v6.0 RC and provide feedback to us.
Thanks for being a part of this community!

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/blazor-chat-module-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/blazor-chat-module-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/cms-blog-blazor.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/cms-blog-post-blazor.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/cookie-banner.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/cover-image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/dnf-summit-attendees.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/dnf-summit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/excel-export.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/export-excel-page.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/get-started-page.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/leptonx-lite-theme.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/maui-mobile-option.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/maui-template.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/poll-add-widget.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/pricing-page.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/pwa-support-get-started-page.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/setting-management-emailing.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/suite-create-new-solution.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
docs/en/Blog-Posts/2022-07-26 v6_0_Preview/suite-pwa-support.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

10
docs/en/CLI-New-Command-Samples.md

@ -1,6 +1,6 @@
# ABP CLI - New Solution Sample Commands
The `abp new` command creates an ABP solution or other artifacts based on an ABP template. [ABP CLI](CLI.md) has several parameters to create a new ABP solution. In this document we will show you some sample commands to create a new solution. All the project names are `Acme.BookStore`. Currently, the only available mobile project is a `React Native` mobile app. Available database providers are `Entity Framework Core` and `MongoDB`. All the commands starts with `abp new`.
The `abp new` command creates an ABP solution or other artifacts based on an ABP template. [ABP CLI](CLI.md) has several parameters to create a new ABP solution. In this document we will show you some sample commands to create a new solution. All the project names are `Acme.BookStore`. Currently, the available mobile projects are `React Native` and `MAUI` mobile app. Available database providers are `Entity Framework Core` and `MongoDB`. All the commands starts with `abp new`.
## Angular
@ -64,6 +64,14 @@ The following commands are for creating MVC UI projects:
abp new Acme.BookStore -u mvc --tiered --database-provider mongodb -csf
```
* **Public Website**, Entity Framework Core, no mobile app, creates the project in a new folder:
```bash
abp new Acme.BookStore -t app -u mvc --mobile none --database-provider ef -csf --with-public-website
```
_Note that Public Website is only included in PRO templates._
## Blazor

48
docs/en/CLI.md

@ -27,12 +27,14 @@ While each command may have a set of options, there are some global options that
Here, is the list of all available commands before explaining their details:
* **`help`**: Shows help on the usage of the ABP CLI.
* **`cli`**: Update or remove ABP CLI.
* **`new`**: Generates a new solution based on the ABP [startup templates](Startup-Templates/Index.md).
* **`update`**: Automatically updates all ABP related NuGet and NPM packages in a solution.
* **`clean`**: Deletes all `BIN` and `OBJ` folders in the current folder.
* **`add-package`**: Adds an ABP package to a project.
* **`add-module`**: Adds a [multi-package application module](https://docs.abp.io/en/abp/latest/Modules/Index) to a solution.
* **`list-modules`**: Lists names of open-source application modules.
* **`list-templates`**: Lists the names of available templates to create a solution.
* **`get-source`**: Downloads the source code of a module.
* **`generate-proxy`**: Generates client side proxies to use HTTP API endpoints.
* **`remove-proxy`**: Removes previously generated client side proxies.
@ -63,6 +65,25 @@ abp help # Shows a general help.
abp help new # Shows help about the "new" command.
````
### cli
Update or remove ABP CLI.
Usage:
````bash
abp cli [command-name]
````
Examples:
````bash
abp cli update
abp cli update --preview
abp cli update --version 5.0.0
abp cli remove
````
### new
Generates a new solution based on the ABP [startup templates](Startup-Templates/Index.md).
@ -103,9 +124,13 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `--separate-auth-server`: The Identity Server project comes as a separate project and runs at a different endpoint. It separates the Identity Server from the API Host application. If not specified, you will have a single endpoint in the server side.
* `--mobile` or `-m`: Specifies the mobile application framework. If not specified, no mobile application will be created. Available options:
* `react-native`: React Native.
* `maui`: MAUI. This mobile option is only available for ABP Commercial.
* `--database-provider` or `-d`: Specifies the database provider. Default provider is `ef`. Available providers:
* `ef`: Entity Framework Core.
* `mongodb`: MongoDB.
* `--theme`: Specifes the theme. Default theme is `leptonx-lite`. Available themes:
* `leptonx-lite`: [LeptonX Lite Theme](/Themes/LeptonXLite/mvc.md).
* `basic`: [Basic Theme](/UI/AspNetCore/Basic-Theme.md).
* **`module`**: [Module template](Startup-Templates/Module.md). Additional options:
* `--no-ui`: Specifies to not include the UI. This makes possible to create service-only modules (a.k.a. microservices - without UI).
* **`console`**: [Console template](Startup-Templates/Console.md).
@ -118,6 +143,10 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `--database-provider` or `-d`: Specifies the database provider. Default provider is `ef`. Available providers:
* `ef`: Entity Framework Core.
* `mongodb`: MongoDB.
* `--theme`: Specifes the theme. Default theme is `leptonx-lite`. Available themes:
* `leptonx-lite`: [LeptonX Lite Theme](/Themes/LeptonXLite/mvc.md).
* `basic`: [Basic Theme](/UI/AspNetCore/Basic-Theme.md).
* **`maui`**: .NET MAUI. A minimalist .NET MAUI application will be created if you specify this option.
* `--output-folder` or `-o`: Specifies the output folder. Default value is the current directory.
* `--version` or `-v`: Specifies the ABP & template version. It can be a [release tag](https://github.com/abpframework/abp/releases) or a [branch name](https://github.com/abpframework/abp/branches). Uses the latest release if not specified. Most of the times, you will want to use the latest version.
* `--preview`: Use latest preview version.
@ -133,6 +162,7 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `PostgreSQL`
* `--local-framework-ref --abp-path`: Uses local projects references to the ABP framework instead of using the NuGet packages. This can be useful if you download the ABP Framework source code and have a local reference to the framework from your application.
* `--no-random-port`: Uses template's default ports.
* `--skip-installing-libs` or `-sib`: Skip installing client side packages.
See some [examples for the new command](CLI-New-Command-Samples.md) here.
@ -193,7 +223,7 @@ Example:
abp add-package Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic
````
* This example adds the Volo.Abp.MongoDB package to the project.
* This example adds the `Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic` package to the project.
#### Options
@ -216,7 +246,7 @@ It can also create a new module for your solution and add it to your solution. S
> A business module generally consists of several packages (because of layering, different database provider options or other reasons). Using `add-module` command dramatically simplifies adding a module to a solution. However, each module may require some additional configurations which is generally indicated in the documentation of the related module.
Usage
Usage:
````bash
abp add-module <module-name> [options]
@ -250,7 +280,7 @@ abp add-module ProductManagement --new --add-to-solution-file
Lists names of open-source application modules.
Usage
Usage:
````bash
abp list-modules [options]
@ -266,11 +296,21 @@ abp list-modules
* `--include-pro-modules`: Includes commercial (pro) modules in the output.
### list-templates
Lists all available templates to create a solution.
Usage:
```bash
abp list-templates
```
### get-source
Downloads the source code of a module to your computer.
Usage
Usage:
````bash
abp get-source <module-name> [options]

690
docs/en/Community-Articles/15-08-2022-How-to-Design-Multi-Lingual-Entity/How-to-Design-Multi-Lingual-Entity.md

@ -0,0 +1,690 @@
# How to Design Multi-Lingual Entity
## Introduction
If you want to open up to the global market these days, end-to-end localization is a must. ABP provides an already established infrastructure for static texts. However, this may not be sufficient for many applications. You may need to fully customize your app for a particular language and region.
Let's take a look at a few quotes from Christian Arno's article "[How Foreign-Language Internet Strategies Boost Sales](https://www.mediapost.com/publications/article/155250/how-foreign-language-internet-strategies-boost-sal.html)" to better understand the impact of this:
- 82% of European consumers are less likely to buy online if the site is not in their native tongue ([Eurobarometer survey](http://europa.eu/rapid/pressReleasesAction.do?reference=IP/11/556)).
- 72.4% of global consumers are more likely to buy a product if the information is available in their own language ([Common Sense Advisory](http://www.commonsenseadvisory.com/)).
- The English language currently only accounts for 31% of all online use, and more than half of all searches are in languages other than English.
- Today, 42% of all Internet users are in Asia, while almost one-quarter are in Europe and just over 10% are in Latin America.
- Foreign languages have experienced exponential growth in online usage in the past decade -- with Chinese now officially the [second-most-prominent-language](http://english.peopledaily.com.cn/90001/90776/90882/7438489.html) on the Web. [Arabic](http://www.internetworldstats.com/stats7.htm) has increased by a whopping 2500%, while English has only risen by 204%
If you are looking for ways to expand your market share by fully customizing your application for a particular language and region, in this article I will explain how you can do it with ABP framework.
### Source Code
You can find the source code of the application at [abpframework/abp-samples](https://github.com/abpframework/abp-samples/tree/master/AcmeBookStoreMultiLingual).
### Demo of the Final Application
At the end of this article, we will have created an application same as in the gif below.
![data-model](./result.gif)
## Development
In order to keep the article short and get rid of unrelated information in the article (like defining entities etc.), we'll be using the [BookStore](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore) example, which is used in the "[Web Application Development Tutorial](https://docs.abp.io/en/abp/latest/Tutorials/Part-1?UI=MVC&DB=EF)" documentation of ABP Framework and we will make the Book entity as multi-lingual. If you do not want to finish this tutorial, you can find the application [here](https://github.com/abpframework/abp-samples/tree/master/BookStore-Mvc-EfCore).
### Determining the data model
We need a robust, maintainable, and efficient data model to store content in multiple languages.
> I read many articles to determine the data model correctly, and as a result, I decided to use one of the many approaches that suit us.
> However, as in everything, there is a trade-off here. If you are wondering about the advantages and disadvantages of the model we will implement compared to other models, I recommend you to read [this article](https://vertabelo.com/blog/data-modeling-for-multiple-languages-how-to-design-a-localization-ready-system/).
![data-model](./data-model.png)
As a result of the tutorial, we already have the `Book` and `Author` entities, as an extra, we will just add the `BookTranslation`.
> In the article, we will make the Name property of the Book entity multi-lingual, but the article is independent of the Book entity, you can make the entity you want multi-lingual with similar codes according to your requirements.
#### Acme.BookStore.Domain.Shared
Create a folder named `MultiLingualObjects` and create the following interfaces in its contents.
We will use the `IObjectTranslation` interface to mark the translation of a multi-lingual entity:
```csharp
public interface IObjectTranslation
{
string Language { get; set; }
}
```
We will use the `IMultiLingualObject<TTranslation>` interface to mark multi-lingual entities:
```csharp
public interface IMultiLingualObject<TTranslation>
where TTranslation : class, IObjectTranslation
{
ICollection<TTranslation> Translations { get; set; }
}
```
#### Acme.BookStore.Domain
In the `Books` folder, create the `BookTranslation` class as follows:
```csharp
public class BookTranslation : Entity, IObjectTranslation
{
public Guid BookId { get; set; }
public string Name { get; set; }
public string Language { get; set; }
public override object[] GetKeys()
{
return new object[] {BookId, Language};
}
}
```
`BookTranslation` contains the `Language` property, which contains a language code for translation and a reference to the multi-lingual entity. We also have the `BookId` foreign key to help us know which book is translated.
Implement `IMultiLingualObject` in the `Book` class as follows:
```csharp
public class Book : AuditedAggregateRoot<Guid>, IMultiLingualObject<BookTranslation>
{
public Guid AuthorId { get; set; }
public string Name { get; set; }
public BookType Type { get; set; }
public DateTime PublishDate { get; set; }
public float Price { get; set; }
public ICollection<BookTranslation> Translations { get; set; }
}
```
Create a folder named `MultiLingualObjects` and add the following class inside of this folder:
```csharp
public class MultiLingualObjectManager : ITransientDependency
{
protected const int MaxCultureFallbackDepth = 5;
public async Task<TTranslation> FindTranslationAsync<TMultiLingual, TTranslation>(
TMultiLingual multiLingual,
string culture = null,
bool fallbackToParentCultures = true)
where TMultiLingual : IMultiLingualObject<TTranslation>
where TTranslation : class, IObjectTranslation
{
culture ??= CultureInfo.CurrentUICulture.Name;
if (multiLingual.Translations.IsNullOrEmpty())
{
return null;
}
var translation = multiLingual.Translations.FirstOrDefault(pt => pt.Language == culture);
if (translation != null)
{
return translation;
}
if (fallbackToParentCultures)
{
translation = GetTranslationBasedOnCulturalRecursive(
CultureInfo.CurrentUICulture.Parent,
multiLingual.Translations,
0
);
if (translation != null)
{
return translation;
}
}
return null;
}
protected TTranslation GetTranslationBasedOnCulturalRecursive<TTranslation>(
CultureInfo culture, ICollection<TTranslation> translations, int currentDepth)
where TTranslation : class, IObjectTranslation
{
if (culture == null ||
culture.Name.IsNullOrWhiteSpace() ||
translations.IsNullOrEmpty() ||
currentDepth > MaxCultureFallbackDepth)
{
return null;
}
var translation = translations.FirstOrDefault(pt => pt.Language.Equals(culture.Name, StringComparison.OrdinalIgnoreCase));
return translation ?? GetTranslationBasedOnCulturalRecursive(culture.Parent, translations, currentDepth + 1);
}
}
```
With `MultiLingualObjectManager`'s `FindTranslationAsync` method, we get the translated version of the book according to `CurrentUICulture`. If no translation of culture is found, we return null.
> Every thread in .NET has `CurrentCulture` and `CurrentUICulture` objects.
#### Acme.BookStore.EntityFrameworkCore
In the `OnModelCreating` method of the `BookStoreDbContext` class, configure the `BookTranslation` as follows:
```csharp
builder.Entity<BookTranslation>(b =>
{
b.ToTable(BookStoreConsts.DbTablePrefix + "BookTranslations",
BookStoreConsts.DbSchema);
b.ConfigureByConvention();
b.HasKey(x => new {x.BookId, x.Language});
});
```
> I haven't explicitly set up a one-to-many relationship between `Book` and `BookTranslation` here, but the entity framework will do it for us.
After that, you can just run the following command in a command-line terminal to add a new database migration (in the directory of the `EntityFrameworkCore` project):
```bash
dotnet ef migrations add Added_BookTranslation
```
This will add a new migration class to your project. You can then run the following command (or run the `.DbMigrator` application) to apply changes to the database:
```bash
dotnet ef database update
```
Add the following code to the `ConfigureServices` method of the `BookStoreEntityFrameworkCoreModule`:
```csharp
Configure<AbpEntityOptions>(options =>
{
options.Entity<Book>(bookOptions =>
{
bookOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Translations);
});
});
```
Now we can use `WithDetailsAsync` without any parameters on `BookAppService` knowing that `Translations` will be included.
#### Acme.BookStore.Application.Contracts
Implement `IObjectTranslation` in the `BookDto` class as follows:
```csharp
public class BookDto : AuditedEntityDto<Guid>, IObjectTranslation
{
public Guid AuthorId { get; set; }
public string AuthorName { get; set; }
public string Name { get; set; }
public BookType Type { get; set; }
public DateTime PublishDate { get; set; }
public float Price { get; set; }
public string Language { get; set; }
}
```
`Language` property is required to understand which language the translated book name belongs to in the UI.
Create the `AddBookTranslationDto` class in the `Books` folder as follows:
```csharp
public class AddBookTranslationDto : IObjectTranslation
{
[Required]
public string Language { get; set; }
[Required]
public string Name { get; set; }
}
```
Add the `AddTranslationsAsync` method to the `IBookAppService` as follows:
```csharp
public interface IBookAppService :
ICrudAppService<
BookDto,
Guid,
PagedAndSortedResultRequestDto,
CreateUpdateBookDto>
{
Task<ListResultDto<AuthorLookupDto>> GetAuthorLookupAsync();
Task AddTranslationsAsync(Guid id, AddBookTranslationDto input); // added this line
}
```
#### Acme.BookStore.Application
Now, we need to implement the `AddTranslationsAsync` method in `BookAppService` and include `Translations` in the `Book` entity, for this you can change the `BookAppService` as follows:
```csharp
[Authorize(BookStorePermissions.Books.Default)]
public class BookAppService :
CrudAppService<
Book, //The Book entity
BookDto, //Used to show books
Guid, //Primary key of the book entity
PagedAndSortedResultRequestDto, //Used for paging/sorting
CreateUpdateBookDto>, //Used to create/update a book
IBookAppService //implement the IBookAppService
{
private readonly IAuthorRepository _authorRepository;
public BookAppService(
IRepository<Book, Guid> repository,
IAuthorRepository authorRepository)
: base(repository)
{
_authorRepository = authorRepository;
GetPolicyName = BookStorePermissions.Books.Default;
GetListPolicyName = BookStorePermissions.Books.Default;
CreatePolicyName = BookStorePermissions.Books.Create;
UpdatePolicyName = BookStorePermissions.Books.Edit;
DeletePolicyName = BookStorePermissions.Books.Create;
}
public override async Task<BookDto> GetAsync(Guid id)
{
//Get the IQueryable<Book> from the repository
var queryable = await Repository.WithDetailsAsync(); // this line changed
//Prepare a query to join books and authors
var query = from book in queryable
join author in await _authorRepository.GetQueryableAsync() on book.AuthorId equals author.Id
where book.Id == id
select new { book, author };
//Execute the query and get the book with author
var queryResult = await AsyncExecuter.FirstOrDefaultAsync(query);
if (queryResult == null)
{
throw new EntityNotFoundException(typeof(Book), id);
}
var bookDto = ObjectMapper.Map<Book, BookDto>(queryResult.book);
bookDto.AuthorName = queryResult.author.Name;
return bookDto;
}
public override async Task<PagedResultDto<BookDto>> GetListAsync(PagedAndSortedResultRequestDto input)
{
//Get the IQueryable<Book> from the repository
var queryable = await Repository.WithDetailsAsync(); // this line changed
//Prepare a query to join books and authors
var query = from book in queryable
join author in await _authorRepository.GetQueryableAsync() on book.AuthorId equals author.Id
select new {book, author};
//Paging
query = query
.OrderBy(NormalizeSorting(input.Sorting))
.Skip(input.SkipCount)
.Take(input.MaxResultCount);
//Execute the query and get a list
var queryResult = await AsyncExecuter.ToListAsync(query);
//Convert the query result to a list of BookDto objects
var bookDtos = queryResult.Select(x =>
{
var bookDto = ObjectMapper.Map<Book, BookDto>(x.book);
bookDto.AuthorName = x.author.Name;
return bookDto;
}).ToList();
//Get the total count with another query
var totalCount = await Repository.GetCountAsync();
return new PagedResultDto<BookDto>(
totalCount,
bookDtos
);
}
public async Task<ListResultDto<AuthorLookupDto>> GetAuthorLookupAsync()
{
var authors = await _authorRepository.GetListAsync();
return new ListResultDto<AuthorLookupDto>(
ObjectMapper.Map<List<Author>, List<AuthorLookupDto>>(authors)
);
}
public async Task AddTranslationsAsync(Guid id, AddBookTranslationDto input)
{
var queryable = await Repository.WithDetailsAsync();
var book = await AsyncExecuter.FirstOrDefaultAsync(queryable, x => x.Id == id);
if (book.Translations.Any(x => x.Language == input.Language))
{
throw new UserFriendlyException($"Translation already available for {input.Language}");
}
book.Translations.Add(new BookTranslation
{
BookId = book.Id,
Name = input.Name,
Language = input.Language
});
await Repository.UpdateAsync(book);
}
private static string NormalizeSorting(string sorting)
{
if (sorting.IsNullOrEmpty())
{
return $"book.{nameof(Book.Name)}";
}
if (sorting.Contains("authorName", StringComparison.OrdinalIgnoreCase))
{
return sorting.Replace(
"authorName",
"author.Name",
StringComparison.OrdinalIgnoreCase
);
}
return $"book.{sorting}";
}
}
```
Create the `MultiLingualBookObjectMapper` class as follows:
```csharp
public class MultiLingualBookObjectMapper : IObjectMapper<Book, BookDto>, ITransientDependency
{
private readonly MultiLingualObjectManager _multiLingualObjectManager;
private readonly ISettingProvider _settingProvider;
public MultiLingualBookObjectMapper(
MultiLingualObjectManager multiLingualObjectManager,
ISettingProvider settingProvider)
{
_multiLingualObjectManager = multiLingualObjectManager;
_settingProvider = settingProvider;
}
public BookDto Map(Book source)
{
var translation = AsyncHelper.RunSync(() =>
_multiLingualObjectManager.FindTranslationAsync<Book, BookTranslation>(source));
return new BookDto
{
Id = source.Id,
AuthorId = source.AuthorId,
Type = source.Type,
Name = translation?.Name ?? source.Name,
PublishDate = source.PublishDate,
Price = source.Price,
Language = translation?.Language ?? AsyncHelper.RunSync(() => _settingProvider.GetOrNullAsync(LocalizationSettingNames.DefaultLanguage)),
CreationTime = source.CreationTime,
CreatorId = source.CreatorId,
LastModificationTime = source.LastModificationTime,
LastModifierId = source.LastModifierId
};
}
public BookDto Map(Book source, BookDto destination)
{
return default;
}
}
```
To map the multi-lingual `Book` entity to `BookDto`, we implement custom mapping using the `IObjectMapper<TSource, TDestination>` interface. If no translation is found, default values are returned.
So far we have created the entire infrastructure. We don't need to change anything in the UI, if there is a translation according to the language chosen by the user, the list view will change. However, I want to create a simple modal where we can add new translations to an existing book in order to see what we have done.
#### Acme.BookStore.Web
Create a new razor page named `AddTranslationModal` in the `Books` folder as below.
**View**
```html
@page
@using Microsoft.AspNetCore.Mvc.TagHelpers
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal
@model Acme.BookStore.Web.Pages.Books.AddTranslationModal
@{
Layout = null;
}
<form asp-page="/Books/AddTranslationModal">
<abp-modal>
<abp-modal-header>Translations</abp-modal-header>
<abp-modal-body>
<abp-input asp-for="Id"></abp-input>
<abp-select asp-for="@Model.TranslationViewModel.Language" asp-items="Model.Languages" class="form-select">
<option selected value="">Pick a language</option>
</abp-select>
<abp-input asp-for="TranslationViewModel.Name"></abp-input>
</abp-modal-body>
<abp-modal-footer buttons="@(AbpModalButtons.Cancel | AbpModalButtons.Save)"></abp-modal-footer>
</abp-modal>
</form>
```
**Model**
```csharp
public class AddTranslationModal : BookStorePageModel
{
[HiddenInput]
[BindProperty(SupportsGet = true)]
public Guid Id { get; set; }
public List<SelectListItem> Languages { get; set; }
[BindProperty]
public BookTranslationViewModel TranslationViewModel { get; set; }
private readonly IBookAppService _bookAppService;
private readonly ILanguageProvider _languageProvider;
public AddTranslationModal(
IBookAppService bookAppService,
ILanguageProvider languageProvider)
{
_bookAppService = bookAppService;
_languageProvider = languageProvider;
}
public async Task OnGetAsync()
{
Languages = await GetLanguagesSelectItem();
TranslationViewModel = new BookTranslationViewModel();
}
public async Task<IActionResult> OnPostAsync()
{
await _bookAppService.AddTranslationsAsync(Id, ObjectMapper.Map<BookTranslationViewModel, AddBookTranslationDto>(TranslationViewModel));
return NoContent();
}
private async Task<List<SelectListItem>> GetLanguagesSelectItem()
{
var result = await _languageProvider.GetLanguagesAsync();
return result.Select(
languageInfo => new SelectListItem
{
Value = languageInfo.CultureName,
Text = languageInfo.DisplayName + " (" + languageInfo.CultureName + ")"
}
).ToList();
}
public class BookTranslationViewModel
{
[Required]
[SelectItems(nameof(Languages))]
public string Language { get; set; }
[Required]
public string Name { get; set; }
}
}
```
Then, we can open the `BookStoreWebAutoMapperProfile` class and define the required mapping as follows:
```csharp
CreateMap<AddTranslationModal.BookTranslationViewModel, AddBookTranslationDto>();
```
Finally, change the content of `index.js` in the `Books` folder as follows:
```javascript
$(function () {
var l = abp.localization.getResource('BookStore');
var createModal = new abp.ModalManager(abp.appPath + 'Books/CreateModal');
var editModal = new abp.ModalManager(abp.appPath + 'Books/EditModal');
var addTranslationModal = new abp.ModalManager(abp.appPath + 'Books/AddTranslationModal'); // added this line
var dataTable = $('#BooksTable').DataTable(
abp.libs.datatables.normalizeConfiguration({
serverSide: true,
paging: true,
order: [[1, "asc"]],
searching: false,
scrollX: true,
ajax: abp.libs.datatables.createAjax(acme.bookStore.books.book.getList),
columnDefs: [
{
title: l('Actions'),
rowAction: {
items:
[
{
text: l('Edit'),
visible: abp.auth.isGranted('BookStore.Books.Edit'),
action: function (data) {
editModal.open({ id: data.record.id });
}
},
{
text: l('Add Translation'), // added this action
visible: abp.auth.isGranted('BookStore.Books.Edit'),
action: function (data) {
addTranslationModal.open({ id: data.record.id });
}
},
{
text: l('Delete'),
visible: abp.auth.isGranted('BookStore.Books.Delete'),
confirmMessage: function (data) {
return l(
'BookDeletionConfirmationMessage',
data.record.name
);
},
action: function (data) {
acme.bookStore.books.book
.delete(data.record.id)
.then(function() {
abp.notify.info(
l('SuccessfullyDeleted')
);
dataTable.ajax.reload();
});
}
}
]
}
},
{
title: l('Name'),
data: "name"
},
{
title: l('Author'),
data: "authorName"
},
{
title: l('Type'),
data: "type",
render: function (data) {
return l('Enum:BookType:' + data);
}
},
{
title: l('PublishDate'),
data: "publishDate",
render: function (data) {
return luxon
.DateTime
.fromISO(data, {
locale: abp.localization.currentCulture.name
}).toLocaleString();
}
},
{
title: l('Price'),
data: "price"
},
{
title: l('CreationTime'),
data: "creationTime",
render: function (data) {
return luxon
.DateTime
.fromISO(data, {
locale: abp.localization.currentCulture.name
}).toLocaleString(luxon.DateTime.DATETIME_SHORT);
}
}
]
})
);
createModal.onResult(function () {
dataTable.ajax.reload();
});
editModal.onResult(function () {
dataTable.ajax.reload();
});
$('#NewBookButton').click(function (e) {
e.preventDefault();
createModal.open();
});
});
```
## Conclusion
With a multi-lingual application, you can expand your market share, but if not designed well, may your application will be unusable. So, I've tried to explain how to design a sustainable multi-lingual entity in this article.
### Source Code
You can find source code of the example solution used in this article [here](https://github.com/abpframework/abp-samples/tree/master/AcmeBookStoreMultiLingual).

BIN
docs/en/Community-Articles/15-08-2022-How-to-Design-Multi-Lingual-Entity/data-model.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

BIN
docs/en/Community-Articles/15-08-2022-How-to-Design-Multi-Lingual-Entity/result.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

2
docs/en/Community-Articles/2020-09-09-Replacing-Email-Template-and-Sending-Emails/POST.md

@ -335,7 +335,7 @@ After sending the email we should see the template like below.
</div>
<div style="color:#ffffff;font-family:Poppins, Arial, Helvetica, sans-serif;line-height:1.8;padding-top:10px;padding-right:50px;padding-bottom:10px;padding-left:50px;">
<div style="line-height: 1.8; font-size: 12px; color: #ffffff; font-family: Poppins, Arial, Helvetica, sans-serif; mso-line-height-alt: 22px;">
<p style="line-height: 1.8; word-break: break-word; font-size: 14px; mso-line-height-alt: 25px; margin: 0;"><span style="font-size: 14px;">Share your experiences with the ABP Framework!</span><br/><span style="font-size: 14px;">ABP is an open source and community driven project. This guide is aims to help anyone wants to contribute to the project.</span></p>
<p style="line-height: 1.8; word-break: break-word; font-size: 14px; mso-line-height-alt: 25px; margin: 0;"><span style="font-size: 14px;">Share your experiences with the ABP Framework!</span><br/><span style="font-size: 14px;">ABP is an open source and community driven project. This guide is aimed to help anyone who wants to contribute to the project.</span></p>
<p style="line-height: 1.8; word-break: break-word; font-size: 14px; mso-line-height-alt: 25px; margin: 0;"><span style="font-size: 14px;">If you want to write articles or "how to" guides related to the ABP Framework and ASP.NET Core, please submit your article to the community.abp.io web site.</span></p>
</div>
</div>

4
docs/en/Community-Articles/2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md

@ -1,9 +1,13 @@
# How to Add Custom Properties to the User Entity
> **Note:** If your application is greater than version 4.3.3, please follow [this article](../2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md).
## Introduction
In this step-by-step article, I will explain how you can customize the user entity class, which is available in every web application you create using the ABP framework, according to your needs. When you read this article, you will learn how to override the services of built-in modules, extend the entities, extend data transfer objects and customize the user interface in the applications you develop using the ABP framework.
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](../2020-05-09-Customize-the-Login-Page-for-MVC-Razor-Page-Applications/POST.md).
You can see the screenshots below which we will reach at the end of the article.
![custom-identity-user-list](./custom-identity-user-list.png)

24
docs/en/Community-Articles/2022-02-06-How-to-Hide-ABP-Related-Endpoints-on-Swagger-UI/POST.md

@ -425,4 +425,26 @@ That's it. Now we can open the Setting Management page and enable/disable the sw
![](./swagger-hide-endpoints.gif)
Thanks for reading.
---
## July 2022 Update
With ABP v5.2+, there is a built-in option to hide/show ABP related endpoints on runtime. To hide ABP's default endpoints, call the `HideAbpEndpoints` method in your Swagger configuration as below:
```csharp
services.AddAbpSwaggerGen(
options =>
{
//... other options
//Hides ABP Related endpoints on Swagger UI
options.HideAbpEndpoints();
}
)
```
> For more info, please see the [Swagger Integration](https://docs.abp.io/en/abp/latest/API/Swagger-Integration#hide-abp-endpoints-on-swagger-ui) docs.
---
Thanks for reading.

154
docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md

@ -0,0 +1,154 @@
# How to Add Custom Properties to the User Entity
> **Note:** If your application is less than version 4.4.x, please follow [this article](../2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/How-To-Add-Custom-Property-To-The-User-Entity.md).
## Introduction
In this step-by-step article, I will explain how you can customize the user entity class, which is available in every web application you create using the ABP framework, according to your needs. When you read this article, you will learn how to override the services of built-in modules, extend the entities, extend data transfer objects and customize the user interface in the applications you develop using the ABP framework.
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](../2020-05-09-Customize-the-Login-Page-for-MVC-Razor-Page-Applications/POST.md).
You can see the screenshots below which we will reach at the end of the article.
![custom-identity-user-list](./custom-identity-user-list.png)
![new-user](./new-user.png)
## Preparing the Project
### Startup template and the initial run
Abp Framework offers startup templates to get into the work faster. We can create a new startup template using Abp CLI:
`abp new CustomizeUserDemo`
> In this article, I will go through the MVC application, but it will work also in the [Angular](https://docs.abp.io/en/abp/latest/Getting-Started?UI=NG&DB=EF&Tiered=No), [Blazor Server](https://docs.abp.io/en/abp/latest/Getting-Started?UI=BlazorServer&DB=EF&Tiered=No), and [Blazor WebAssembly](https://docs.abp.io/en/abp/latest/Getting-Started?UI=Blazor&DB=EF&Tiered=No) application.
After the download is finished, we can run **CustomizeUserDemo.DbMigrator** project to create the database migrations and seed the initial data (admin user, role, etc). Then we can run `CustomizeUserDemo.Web` to see that our application is working.
> Default admin username is **admin** and password is **1q2w3E\***
![initial-project](./initial-project.png)
In this article, we will go through a scenario together and find the solutions to our questions through this scenario. However, since the scenario is not a real-life scenario, it may be strange, please don't get too about this issue :)
## Step-1
Create the Users folder in the **CustomizeUserDemo.Domain.Shared** project, create the class `UserConsts` inside the folder and update the class you created as below:
```csharp
public static class UserConsts
{
public const string TitlePropertyName = "Title";
public const string ReputationPropertyName = "Reputation";
public const int MaxTitleLength = 64;
public const double MaxReputationValue = 1_000;
public const double MinReputationValue = 1;
}
```
## Step-2
Update the `CustomizeUserDemoEfCoreEntityExtensionMappings` class in the **CustomizeUserDemo.EntityFramework** project in the EntityFrameworkCore folder as below:
```csharp
public static class CustomizeUserDemoEfCoreEntityExtensionMappings
{
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
public static void Configure()
{
CustomizeUserDemoGlobalFeatureConfigurator.Configure();
CustomizeUserDemoModuleExtensionConfigurator.Configure();
OneTimeRunner.Run(() =>
{
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityUser, string>(
UserConsts.TitlePropertyName,
(_, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue("");
propertyBuilder.HasMaxLength(UserConsts.MaxTitleLength);
}
).MapEfCoreProperty<IdentityUser, int>(
UserConsts.ReputationPropertyName,
(_, propertyBuilder) =>
{
propertyBuilder.HasDefaultValue(UserConsts.MinReputationValue);
}
);
});
}
}
```
This class can be used to map these extra properties to table fields in the database. Please read [this](https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities) article to improve your understanding of what we are doing.
So far, we have added our extra features to the `User` entity and matched these features with the `ef core`.
Now we need to add migration to see what has changed in our database. This for, open the Package Manager Console (PMC) under the menu Tools > NuGet Package Manager.
![nuget-package-manager](./nuget-package-manager.png)
Select the **CustomizeUserDemo.EntityFramework** as the **default project** and execute the following command:
```bash
Add-Migration "Updated-User-Entity"
```
![added-new-migration](./added-new-migration.png)
This will create a new migration class inside the `Migrations` folder of the **CustomizeUserDemo.EntityFrameworkCore** project.
> If you are using another IDE than the Visual Studio, you can use `dotnet-ef` tool as [documented here](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli#create-a-migration).
Finally, run the **CustomizeUserDemo.DbMigrator** project to update the database.
When we updated the database, you can see that the `Title` and `Reputation` columns are added to the `Users` table.
![user-table](./user-table.png)
## Step-3
Open the `CustomizeUserDemoModuleExtensionConfigurator` in the **CustomizeUserDemo.Domain.Shared** project, and change the contents of the `ConfigureExtraProperties` method as shown below:
```csharp
private static void ConfigureExtraProperties()
{
ObjectExtensionManager.Instance.Modules().ConfigureIdentity(identity =>
{
identity.ConfigureUser(user =>
{
user.AddOrUpdateProperty<string>(
UserConsts.TitlePropertyName,
options =>
{
options.Attributes.Add(new RequiredAttribute());
options.Attributes.Add(
new StringLengthAttribute(UserConsts.MaxTitleLength)
);
}
);
user.AddOrUpdateProperty<int>(
UserConsts.ReputationPropertyName,
options =>
{
options.DefaultValue = UserConsts.MinReputationValue;
options.Attributes.Add(
new RangeAttribute(UserConsts.MinReputationValue, UserConsts.MaxReputationValue)
);
}
);
});
});
}
```
That's it. Now let's run the application and look at the Identity user page. You can also try to edit and recreate a record if you want, it will work even though we haven't done anything extra. Here is the magic code behind ABP framework.
If there is a situation you want to add, you can click the contribute button or make a comment. Also, if you like the article, don't forget to share it :)
Happy coding :)

BIN
docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/added-new-migration.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/custom-identity-user-list.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/initial-project.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/new-user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/nuget-package-manager.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
docs/en/Community-Articles/2022-07-19-How-To-Add-Custom-Property-To-The-User-Entity/user-table.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

2
docs/en/Contribution/How-to-Contribute-abp.io-as-a-frontend-developer.md

@ -22,7 +22,7 @@ Unix: `templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/apps
You need to install SQL Server and Redis. You can install these programs without docker, but my example uses docker containers. Your computer should have Docker Engine. Then open the terminal en execute the commands one by one.
For the Sql Server
docker run -v sqlvolume:/var/opt/mssql -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourpassword -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04
docker run -v sqlvolume:/var/opt/mssql -e 'ACCEPT_EULA=Y' -e "SA_PASSWORD=yourpassword" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-CU3-ubuntu-18.04
For the Redis

34
docs/en/Dependency-Injection.md

@ -244,25 +244,35 @@ One restriction of property injection is that you cannot use the dependency in y
Property injection is also useful when you want to design a base class that has some common services injected by default. If you're going to use constructor injection, all derived classes should also inject depended services into their own constructors which makes development harder. However, be very careful using property injection for non-optional services as it makes it harder to clearly see the requirements of a class.
### Resolve Service from IServiceProvider
#### DisablePropertyInjectionAttribute
You may want to resolve a service directly from ``IServiceProvider``. In that case, you can inject IServiceProvider into your class and use ``GetService`` method as shown below:
You can use `[DisablePropertyInjection]` attribute on class or properties to disable property injection for the whole class or some specific properties.
````C#
[DisablePropertyInjection]
public class MyService : ITransientDependency
{
private readonly IServiceProvider _serviceProvider;
public ITaxCalculator TaxCalculator { get; set; }
}
public MyService(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
public class MyService : ITransientDependency
{
public ILogger<MyService> Logger { get; set; }
public void DoSomething()
{
var taxCalculator = _serviceProvider.GetService<ITaxCalculator>();
//...
}
[DisablePropertyInjection]
public ITaxCalculator TaxCalculator { get; set; }
}
````
### Resolve Service from IServiceProvider
You may want to resolve a service directly from ``IServiceProvider``. In that case, you can inject IServiceProvider into your class and use ``GetService`` method as shown below:
````C#
public class MyService : ITransientDependency
{
public ILogger<MyService> Logger { get; set; }
}
````

452
docs/en/Deploy-azure-app-service.md

@ -0,0 +1,452 @@
# Deploying ABP Project to Azure App Service
In this document, you will learn how to create and deploy your first ABP web app to [Azure App Service](https://docs.microsoft.com/en-us/azure/app-service/overview). The App Service supports various versions of .NET apps, and provides a highly scalable, self-patching web hosting service. ABP web apps are cross-platform and can be hosted on Linux, Windows or MacOS.
****Prerequisites****
- An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/dotnet).
- A GitHub account [Create an account for free](http://github.com/).
## Creating a new ABP application
Create a repository on [GitHub.com](https://github.com/) (keep all settings as default).
Open the command prompt and clone the repository into a folder on your computer
```bash
git clone https://github.com/your-username/your-repository-name.git
```
Check your dotnet version. It should be at least 3.1.x
```bash
dotnet --version
```
Install or update the [ABP CLI](https://docs.abp.io/en/abp/latest/cli) with the following command:
```bash
dotnet tool install -g Volo.Abp.Cli || dotnet tool update -g Volo.Abp.Cli
```
Open the command prompt in the *GitHub repository folder* and create a new ABP Blazor solution with the command below:
```bash
abp new YourAppName -u blazor
```
## Running the application
Open the command prompt in the *[YourAppName].DbMigrator* project and enter the command below to apply the database migrations:
```bash
dotnet run
```
Open the command prompt in the *[YourAppName].HttpApi.Host* project to run the API project:
```bash
dotnet run
```
Navigate to the *applicationUrl* specified in *the launchSettings.json* file of the *[YourAppName].HttpApi.Host project*. You should get the *Swagger window*
Open the command prompt in the *[YourAppName].Blazor* folder and enter the command below to run the Blazor project:
```bash
dotnet run
```
Navigate to the *applicationUrl* specified in the *launchSettings.json* file of the *[YourAppName].Blazor* project and you should see the landing page.
Stop both the *API* and the *Blazor* project by pressing **CTRL+C**
## Committing to GitHub
Before the GitHub commit, you have to delete the line "**/wwwroot/libs/*" at *.gitignore* file.
![azdevops-23](images/azdevops-23.png)
Open the command prompt in the root folder of your project and *add, commit and push* all your changes to your GitHub repository:
```bash
git add .
git commit -m initialcommit
git push
```
## Configuring Azure database connection string
Create a SQL database on Azure and change the connection string in all the *appsettings.json* files.
* Login into [Azure Portal](https://portal.azure.com/)
* Click **Create a resource**
* Search for *SQL Database*
* Click the **Create** button in the *SQL Database window*
* Create a new resource group. Name it *rg[YourAppName]*
* Enter *[YourAppName]Db* as database name
* Create a new Server and name it *[yourappname]server*
* Enter a serveradmin login and passwords. Click the **OK** button
* Select your *Location*
* Check *Allow Azure services to access server*
* Click **Configure database**. Go to the *Basic* version and click the **Apply** button
* Click the **Review + create** button. Click **Create**
* Click **Go to resource** and click **SQL server** when the SQL Database is created
* Click **Networking** under Security left side menu
* Select **Selected networks** and click **Add your client IP$ address** at the Firewall rules
* Select **Allow Azure and resources to access this seerver** and save
* Go to your **SQL database**, click **Connection strings** and copy the connection string
* Copy/paste the *appsettings.json* files of the *[YourAppName].HttpApi.Host* and the *[YourAppName].DbMigrator* project
* Do not forget to replace {your_password} with the correct server password you entered in Azure SQL Database
## Running DB Migrations
Open the command prompt in the *[YourAppName].DbMigrator* project again and enter the command below to apply the database migrations:
```bash
dotnet run
```
Open the command prompt in the *[YourAppName].HttpApi.Host* project and enter the command below to check your API is working:
```bash
dotnet run
```
Stop the *[YourAppName].HttpApi.Host* by pressing CTRL+C.
## Committing to GitHub
Open the command prompt in the root folder of your project and add, commit and push all your changes to your GitHub repository
```bash
git add .
git commit -m initialcommit
git push
```
## Setting up the Build pipeline in AzureDevops and publish the Build Artifacts
* Sign in Azure DevOps
* Click **New organization** and follow the steps to create a new organisation. Name it [YourAppName]org
* Enter [YourAppName]Proj as project name in the ***Create a project to get started*** window
* Select **Public visibility** and click the **Create project** button
* Click the **Pipelines** button to continue
* Click the **Create Pipeline** button
Select GitHub in the Select your repository window
![azdevops-1](images/azdevops-1.png)
* Enter the Connection name. *[YourAppName]GitHubConnection* and click **Authorize using OAuth**
* Select your **GitHub** [YourAppName]repo and click Continue
* Search for **ASP.NET** in the ***Select a template*** window
![azdevops-2](images/azdevops-2.png)
* Select the ASP.NET Core template and click the **Apply** button
* Add the below commands block as a first step in the pipeline
```
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: '6.0.106'
```
![azdevops-18](images/azdevops-18.png)
* Select **Settings** on the second task(Nugetcommand@2) in the pipeline
* Select **Feeds in my Nuget.config** and type **Nuget.config** in the text box
![azdevops-3](images/azdevops-3.png)
* Add the below commands block to the end of the pipeline
```
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: '$(Parameters.ArtifactName)'
condition: succeededOrFailed()
```
![azdevops-4](images/azdevops-4.png)
```
# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
trigger:
- main
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: '6.0.106'
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '$(solution)'
feedsToUse: 'config'
nugetConfigPath: 'NuGet.config'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
ArtifactName: '$(Parameters.ArtifactName)'
publishLocation: 'Container'
condition: succeededOrFailed()
```
* Click **Save & queue** in the top menu. Click **Save & queue** again and click **Save and run** to run the Build pipeline
* When the Build pipeline has finished. Click **1 published; 1 consumed**
## Creating a Web App in the Azure Portal to deploy [YourAppName].HttpApi.Host project
* Search for Web App in the *Search the Marketplace* field
* Click the **Create** button in the Web App window
* Select rg[YourAppName] in the *Resource Group* dropdown
* Enter [YourAppName]API in the *Name input* field
* Select code, .NET Core 3.1 (LTS) and windows as *Operating System*
* Enter [YourAppName]API in the *Name input* field
* Select .NET Core 3.1 (LTS) in the *Runtime stack* dropdown
* Select Windows as *Operating System*
* Select the same *Region* as in the SQL server you created in Part 3
![azdevops-5](images/azdevops-5.png)
* Click **Create new** in the Windows Plan. Name it [YourAppName]ApiWinPlan
* Click **Change size** in Sku and size. Go to the Dev/Test Free F1 version and click the **Apply** button
![azdevops-6](images/azdevops-6.png)
* Click the **Review + create** button. Click the **Create** button
* Click **Go to resource** when the Web App has been created
## Creating a release pipeline in the AzureDevops and deploy [YourAppName].HttpApi.Host project
* Sign in into [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/)
* Click [YourAppName]Proj and click **Releases** in the *Pipelines* menu
* Click the **New pipeline** button in the *No release pipelines found* window
* Select *Azure App Service deployment* and click the **Apply** button
![azdevops-7](images/azdevops-7.png)
* Enter *[YourAppName]staging* in the *Stage name* field in the *Stage* window. And close the window
* Click **+ Add an artifact** in the *Pipeline* tab
* Select the **Build** icon as *Source type* in the *Add an artifact* window
* Select Build pipeline in the *Source (build pipeline)* dropdown and click the **Add** button
![azdevops-8](images/azdevops-8.png)
* Click the **Continuous deployment trigger (thunderbolt icon)**
* Set the toggle to **Enabled** in the the *Continuous deployment trigger* window
* Click **+ Add** in *No filters added*. Select **Include** in the *Type* dropdown. Select your branch in the *Build branch* dropdown and close the window
![azdevops-9](images/azdevops-9.png)
* Click **the little red circle with the exclamation mark** in the *Tasks* tab menu
* Select your subscription in the *Azure subscription* dropdown.
![azdevops-10](images/azdevops-10.png)
* Click **Authorize** and enter your credentials in the next screens
* After Authorization, select the **[YourAppName]API** in the *App service name* dropdown
* Click the **Deploy Azure App Service** task
* Select **[YourAppName].HttpApi.Host.zip** in the *Package or folder* input field
![azdevops-11](images/azdevops-11.png)
* Click the **Save** icon in the top menu and click **OK**
* Click **Create release** in the top menu. Click **Create** to create a release
* Click the *Pipeline* tab and wait until the Deployment succeeds
![azdevops-12](images/azdevops-12.png)
* Open a browser and navigate to the URL of your Web App
```
https://[YourAppName]api.azurewebsites.net
```
![azdevops-13](images/azdevops-13.png)
## Creating a Web App in Azure Portal to deploy [YourAppName].Blazor project
* Login into [Azure Portal](https://portal.azure.com/)
* Click **Create a resource**
* Search for *Web App* in the *Search the Marketplace* field
* Click the **Create** button in the *Web App* window
* Select *rg[YourAppName]* in the *Resource Group* dropdown
* Enter *[YourAppName]Blazor* in the *Name* input field
* Select *.NET Core 3.1 (LTS)* in the *Runtime stack* dropdown
* Select *Windows* as *Operating System*
* Select the same region as the SQL server you created in Part 3
* Select the [YourAppName]ApiWinPlan in the *Windows Plan* dropdown
![azdevops-14](images/azdevops-14.png)
* Click the **Review + create** button. Click **Create** button
* Click **Go to resource** when the Web App has been created
* Copy the URL of the Blazor Web App for later use
```
https://[YourAppName]blazor.azurewebsites.net
```
## Changing the Web App configuration for the Azure App Service
Copy the URL of the Api Host and Blazor Web App. Change appsettings.json files in the Web App as follows images.
![azdevops-19](images/azdevops-19.png)
![azdevops-20](images/azdevops-20.png)
![azdevops-21](images/azdevops-21.png)
## Adding an extra Stage in the Release pipeline in the AzureDevops to deploy [YourAppName].Blazor project
* Go to the *Release* pipeline in [Azure DevOps](https://azure.microsoft.com/en-us/services/devops/) and click **Edit**
* Click the **+ Add** link and add a **New Stage**
![azdevops-15](images/azdevops-15.png)
* Select *Azure App Service deployment* and click the **Apply** button
* Enter *BlazorDeployment* in the *Stage name* input field and close the *Stage* window
* Click the **little red circle with the exclamation mark** in the BlazorDeployment stage
* Select your subscription in the *Azure subscription* dropdown
* Select your Blazor Web App in the *App service name* dropdown
* Click the **Deploy Azure App Service task**
* Select *[YourAppName].Blazor.zip* in the *Package or folder* input field
![azdevops-16](images/azdevops-16.png)
* Click **Save** in the top menu and click the **OK** button after
* Click **Create release** in the top menu and click the **Create** button
![azdevops-17](images/azdevops-17.png)
![azdevops-22](images/azdevops-22.png)

2
docs/en/Deployment/Index.md

@ -6,4 +6,4 @@ However, there are some topics that you should care about when you are deploying
## Guides
* [Deploying to a clustered environment](Clustered-Environment.md): Explains how to configure your application when you want to run multiple instances of your application concurrently.
* [Deploying to a clustered environment](Clustered-Environment.md): Explains how to configure your application when you want to run multiple instances of your application concurrently.

7
docs/en/Distributed-Event-Bus-RabbitMQ-Integration.md

@ -86,7 +86,7 @@ Defining multiple connections is allowed. In this case, you can specify the conn
This allows you to use multiple RabbitMQ server in your application, but select one of them for the event bus.
You can use any of the [ConnectionFactry](http://rabbitmq.github.io/rabbitmq-dotnet-client/api/RabbitMQ.Client.ConnectionFactory.html#properties) properties as the connection properties.
You can use any of the [ConnectionFactory](http://rabbitmq.github.io/rabbitmq-dotnet-client/api/RabbitMQ.Client.ConnectionFactory.html#properties) properties as the connection properties.
**Example: Specify the connection port**
@ -141,14 +141,15 @@ Configure<AbpRabbitMqOptions>(options =>
});
````
**Example: Configure the client and exchange names**
**Example: Configure the client, exchange names and prefetchCount**
````csharp
Configure<AbpRabbitMqEventBusOptions>(options =>
{
options.ClientName = "TestApp1";
options.ExchangeName = "TestMessages";
options.PrefetchCount = 1;
});
````
Using these options classes can be combined with the `appsettings.json` way. Configuring an option property in the code overrides the value in the configuration file.
Using these options classes can be combined with the `appsettings.json` way. Configuring an option property in the code overrides the value in the configuration file.

2
docs/en/Distributed-Event-Bus.md

@ -228,7 +228,7 @@ namespace AbpDemo
````
* `MyHandler` implements the `IDistributedEventHandler<EntityUpdatedEto<ProductEto>>`.
* It is required to register your handler class to the [dependency injection](Dependency-Injection.md) system. Implementing `ITransient` like in this example is an easy way.
* It is required to register your handler class to the [dependency injection](Dependency-Injection.md) system. Implementing `ITransientDependency` like in this example is an easy way.
### Configuration

15
docs/en/Entities.md

@ -112,6 +112,21 @@ For the example above, the composite key is composed of `UserId` and `RoleId`. F
> Also note that Entities with Composite Primary Keys cannot utilize the `IRepository<TEntity, TKey>` interface since it requires a single Id property. However, you can always use `IRepository<TEntity>`. See [repositories documentation](Repositories.md) for more.
### EntityEquals
`Entity.EntityEquals(...)` method is used to check if two Entity Objects are equals.
Example:
```csharp
Book book1 = ...
Book book2 = ...
if (book1.EntityEquals(book2)) //Check equality
{
...
}
```
## AggregateRoot Class

6
docs/en/Getting-Started-AspNetCore-Application.md

@ -77,7 +77,7 @@ using BasicAspNetCoreApplication;
var builder = WebApplication.CreateBuilder(args);
await builder.Services.AddApplicationAsync<AppModule>();
await builder.AddApplicationAsync<AppModule>();
var app = builder.Build();
@ -85,7 +85,7 @@ await app.InitializeApplicationAsync();
await app.RunAsync();
````
``builder.Services.AddApplicationAsync<AppModule>();`` adds all services defined in all modules starting from the ``AppModule``.
``builder.AddApplicationAsync<AppModule>();`` adds all services defined in all modules starting from the ``AppModule``.
``app.InitializeApplicationAsync()`` initializes and starts the application.
@ -125,7 +125,7 @@ var builder = WebApplication.CreateBuilder(args);
builder.Host.UseAutofac(); //Add this line
await builder.Services.AddApplicationAsync<AppModule>();
await builder.AddApplicationAsync<AppModule>();
var app = builder.Build();

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save