Browse Source

Merge branch 'dev' into pr/13864

pull/13864/head
Berkan Sasmaz 3 years ago
parent
commit
be04d1dd0a
No known key found for this signature in database GPG Key ID: 4E387A3A3BCC339B
  1. 2
      .github/workflows/build-and-test.yml
  2. 29
      .github/workflows/spellcheck.yml
  3. 4
      .gitignore
  4. 6
      Directory.Build.props
  5. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/en.json
  6. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/hu.json
  7. 14
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  8. 81
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/hu.json
  9. 62
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json
  10. 79
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/zh-Hans.json
  11. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json
  12. 142
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/hu.json
  13. 125
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/tr.json
  14. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json
  15. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/hu.json
  16. 2
      abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/tr.json
  17. 12
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ar.json
  18. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/cs.json
  19. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de.json
  20. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json
  21. 71
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
  22. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
  23. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json
  24. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json
  25. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json
  26. 394
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hu.json
  27. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json
  28. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json
  29. 9
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/nl.json
  30. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pl-PL.json
  31. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/pt-BR.json
  32. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ro-RO.json
  33. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/ru.json
  34. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json
  35. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sl.json
  36. 369
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
  37. 7
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/vi.json
  38. 50
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
  39. 12
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
  40. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
  41. 58
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/hu.json
  42. 52
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/tr.json
  43. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json
  44. 5
      abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/AbpIoDocsResource.cs
  45. 1
      abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/Resources/en.json
  46. 6
      abp_io/AbpIoLocalization/AbpIoLocalization/Support/Localization/Resources/hu.json
  47. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json
  48. 121
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/hu.json
  49. 93
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/tr.json
  50. 2
      build/build-all.ps1
  51. 3
      build/common.ps1
  52. 151
      cSpell.json
  53. 50
      docs/en/API/Static-CSharp-API-Clients.md
  54. 1
      docs/en/Audit-Logging.md
  55. 35
      docs/en/Background-Jobs-Hangfire.md
  56. 2
      docs/en/Blob-Storing-Aws.md
  57. 2
      docs/en/Blog-Posts/2022-01-11 v5_1_Release_Stable/POST.md
  58. 8
      docs/en/Blog-Posts/2022-07-26 v6_0_Preview/POST.md
  59. 76
      docs/en/Blog-Posts/2022-09-21 v6_0_Release_Stable/POST.md
  60. 10
      docs/en/CLI.md
  61. 2
      docs/en/Community-Articles/2020-04-19-Customize-the-SignIn-Manager/POST.md
  62. 4
      docs/en/Community-Articles/2020-04-27-Use-Azure-Active-Directory-Authentication-for-MVC-Razor-Page-Applications/POST.md
  63. 2
      docs/en/Community-Articles/2020-05-29-Real-Time-Messaging-In-A-Distributed-Architecture-Using-Abp-Framework-SingalR-RabbitMQ/POST.md
  64. 6
      docs/en/Community-Articles/2020-07-21-File-Upload-Download-With-BLOB-Storage-System-in-ASPNET-Core-ABP-Framework/POST.md
  65. 2
      docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md
  66. 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
  67. 4
      docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/POST.md
  68. 4
      docs/en/Community-Articles/2022-02-22-Integrating-MAUI-Client-via-using-OpenID-Connect/README.md
  69. 4
      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
  70. 242
      docs/en/Community-Articles/2022-09-15-Grpc-Demo/POST.md
  71. BIN
      docs/en/Community-Articles/2022-09-15-Grpc-Demo/client-application.png
  72. BIN
      docs/en/Community-Articles/2022-09-15-Grpc-Demo/contracts.png
  73. BIN
      docs/en/Community-Articles/2022-09-15-Grpc-Demo/host-changes-1.png
  74. BIN
      docs/en/Community-Articles/2022-09-15-Grpc-Demo/solution.png
  75. BIN
      docs/en/Community-Articles/2022-09-15-Grpc-Demo/swagger.png
  76. 121
      docs/en/Community-Articles/2022-09-18-Grpc-Demo-Part-2/POST.md
  77. BIN
      docs/en/Community-Articles/2022-09-18-Grpc-Demo-Part-2/blazor-product-list.png
  78. 265
      docs/en/Community-Articles/2022-10-27-Dotnet7-Upgrade/Upgrade-Your-Existing-Projects-to-Dotnet7.md
  79. BIN
      docs/en/Community-Articles/2022-10-27-Dotnet7-Upgrade/as-single-query.jpg
  80. BIN
      docs/en/Community-Articles/2022-10-27-Dotnet7-Upgrade/cover-image.jpg
  81. 6
      docs/en/Contribution/How-to-Contribute-abp.io-as-a-frontend-developer.md
  82. 469
      docs/en/Dapr/Index.md
  83. 12
      docs/en/Data-Seeding.md
  84. 2
      docs/en/Dependency-Injection.md
  85. 12
      docs/en/Deployment/Clustered-Environment.md
  86. 4
      docs/en/Distributed-Event-Bus-RabbitMQ-Integration.md
  87. 2
      docs/en/Distributed-Event-Bus-Rebus-Integration.md
  88. 19
      docs/en/Distributed-Locking.md
  89. 15
      docs/en/Entities.md
  90. 4
      docs/en/Entity-Framework-Core-Oracle.md
  91. 2
      docs/en/Getting-Started-React-Native.md
  92. 2
      docs/en/Getting-Started-Setup-Environment.md
  93. 24
      docs/en/JSON.md
  94. 2
      docs/en/Migration-Guides/Abp-4_0-Blazor.md
  95. 2
      docs/en/Migration-Guides/Abp-5_2.md
  96. 8
      docs/en/Migration-Guides/Abp-6_0.md
  97. 36
      docs/en/Migration-Guides/Abp-7_0.md
  98. 4
      docs/en/Migration-Guides/IdentityServer_To_OpenIddict.md
  99. 10
      docs/en/Migration-Guides/OpenIddict-Angular.md
  100. 10
      docs/en/Migration-Guides/OpenIddict-Blazor-Server.md

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

@ -47,7 +47,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-dotnet@master
with:
dotnet-version: 6.0.100
dotnet-version: 7.0.100-rc.2.22477.23
- name: Build All
run: .\build-all.ps1 -f

29
.github/workflows/spellcheck.yml

@ -0,0 +1,29 @@
name: Documentation Checks
on:
push:
branches:
- dev
paths:
# This ensures the check will only be run when something changes in the docs content
- "docs/en/**/*"
pull_request:
branches:
- dev
paths:
- "docs/en/**/*"
jobs:
spellcheck:
name: "Docs: Spellcheck (En)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
name: Check out the code
- uses: actions/setup-node@v1
name: Setup node
with:
node-version: "16"
- run: npm install -g cspell
name: Install cSpell
- run: cspell --config ./cSpell.json "docs/en/**/*.md" --no-progress # Update for path to the markdown files
name: Run cSpell

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

6
Directory.Build.props

@ -2,13 +2,13 @@
<PropertyGroup>
<!-- All Microsoft AspNetCore packages -->
<MicrosoftAspNetCorePackageVersion>6.0.5</MicrosoftAspNetCorePackageVersion>
<MicrosoftAspNetCorePackageVersion>7.0.0-rc.2.*</MicrosoftAspNetCorePackageVersion>
<!-- All Microsoft EntityFrameworkCore packages -->
<MicrosoftEntityFrameworkCorePackageVersion>6.0.5</MicrosoftEntityFrameworkCorePackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>7.0.0-rc.2.*</MicrosoftEntityFrameworkCorePackageVersion>
<!-- All Microsoft packages -->
<MicrosoftPackageVersion>6.0.0</MicrosoftPackageVersion>
<MicrosoftPackageVersion>7.0.0-rc.2.*</MicrosoftPackageVersion>
<!-- Microsoft.NET.Test.Sdk https://www.nuget.org/packages/Microsoft.NET.Test.Sdk -->
<MicrosoftNETTestSdkPackageVersion>17.2.0</MicrosoftNETTestSdkPackageVersion>

5
abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/en.json

@ -11,6 +11,7 @@
"CommercialSupportWebSite": "Commercial support web site",
"CommunityWebSite": "ABP community web site",
"ManageAccount": "My Account | ABP.IO",
"ManageYourProfile": "Manage your profile"
"ManageYourProfile": "Manage your profile",
"ReturnToApplication": "Return to application"
}
}
}

2
abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/hu.json

@ -11,6 +11,6 @@
"CommercialSupportWebSite": "Kereskedelmi támogatási webhely",
"CommunityWebSite": "ABP közösségi webhely",
"ManageAccount": "Saját fiók | ABP.IO",
"ManageYourAccount": "Fiók kezelése"
"ManageYourProfile": "Profilod kezelése"
}
}

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

@ -220,6 +220,7 @@
"SuccessfullyReIndexAllPosts": "All posts have been successfully reindexed.",
"Permission:FullSearch": "Full text search",
"Menu:CliAnalytics": "Cli Analytics",
"Menu:Reports": "Reports",
"TemplateName": "Template name",
"TemplateVersion": "Template version",
"DatabaseProvider": "Database provider",
@ -231,8 +232,10 @@
"UiFramework": "Ui framework",
"Options": "Options",
"CliAnalytics": "Cli Analytics",
"Reports": "Reports",
"Permission:CliAnalyticses": "Cli Analyticses",
"Permission:CliAnalytics": "Cli Analytics",
"Permission:Reports": "Reports",
"Search": "Search",
"ClearFilter": "Clear filter",
"LicensePrivateKey": "License private key",
@ -346,7 +349,7 @@
"AdditionalDeveloperCount": "Additional developer count",
"LicensePrice": "License price",
"PurchaseDate": "Purchase date",
"IsAbpBookDownloaded": "ABP book downloaded",
"IsAbpBookDownloaded": "Mastering ABP Book downloaded?",
"IsMasteringAbpBookDownloadEnabled": "ABP Book download enabled",
"Permission:Accounting:CustomPaymentLinkGenerator": "Custom Payment Link",
"CustomPaymentLink": "Custom Payment Link",
@ -381,7 +384,7 @@
"PurchaseItems": "Purchase Items",
"SuccessfullyUpdated": "Successfully updated",
"SuccessfullyAdded": "Successfully added",
"PurchaseState": "Purchase State",
"PurchaseState": "Purchase status",
"ShowBetweenDayCount": "Show Between Days",
"PurchaseOrder": "Purchase Order",
"ShowCreateInvoiceOfOrganization": "Create Invoice",
@ -399,6 +402,11 @@
"AllowFeatureUpgradeOnLicenseExpire": "Allow feature upgrade on license expire",
"Deleted{0}": "[Deleted {0}]",
"Tags": "Tags",
"SetTagsInfo": "Tags should be comma-separated. Eg: CSharp, Entity Framework"
"SetTagsInfo": "Tags should be comma-separated. Eg: CSharp, Entity Framework",
"RejectTrialLicenseWarningMessage": "Are you sure you want to reject this trial license request?",
"ExportToExcel": "Export to Excel",
"OverallTotalPrice": "Overall Total Price",
"OverallDiscountPrice": "Overall Discount Price",
"OverallDiscountText": "Overall Discount Text"
}
}

81
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/hu.json

@ -316,14 +316,12 @@
"TrialLicenseStatusFilter": "Állapot",
"TrialLicenseStartDateFilter": "Kezdő dátum",
"TrialLicenseEndDateFilter": "Befejezés dátuma",
"FirsName": "Keresztnév",
"FirstName": "Keresztnév",
"LastName": "Vezetéknév",
"StartDate": "Kezdő dátum",
"EndDate": "Befejezés dátuma",
"PurchasedDate": "Vásárlás dátuma",
"OrganizationDetail": "Szervezet részletei",
"SendActivationMail": "Aktiváló e-mail küldése",
"ActivationMailSentSuccessfully": "Az aktiváló levél sikeresen elküldve!",
"TrialLicenseStatus": "Próbaengedély állapota",
"TrialLicenseDetail": "A próbaengedély részletei",
"AcceptsMarketingCommunications": "Marketing kommunikáció",
@ -337,17 +335,70 @@
"Expired": "Lejárt",
"TrialLicenseDeletionWarningMessage": "Biztosan törölni szeretné a próbalicencet? A próbaengedély, a szervezet, a támogatási fiókok törlésre kerülnek!",
"LicenseCategoryFilter": "Licenc kategória",
"Volo.AbpIo.Commercial:030000": "Már felhasználta a próbaidőszakot.",
"Volo.AbpIo.Commercial:030001": "Ez a szervezetnév már létezik.",
"Volo.AbpIo.Commercial:030002": "Az aktiválás után a próbalicenc nem állítható kérésre!",
"Volo.AbpIo.Commercial:030003": "Nincs ilyen állapot!",
"Volo.AbpIo.Commercial:030004": "Váratlan hiba miatt az állapot nem módosítható!",
"Volo.AbpIo.Commercial:030005": "A kezdő és befejező dátum akkor frissíthető, ha a próbalicenc -aktivált- státuszban van!",
"Volo.AbpIo.Commercial:030006": "A befejező dátumnak mindig nagyobbnak kell lennie, mint a kezdő dátum!",
"Volo.AbpIo.Commercial:030007": "Ezt a próbalicencet már egyszer aktiválták!",
"Volo.AbpIo.Commercial:030008": "A vásárlás dátuma csak Vásárolt állapot esetén állítható be!",
"Volo.AbpIo.Commercial:030009": "Felhasználó nem található!",
"Volo.AbpIo.Commercial:030010": "A próbalicenc megvásárlásához először aktiválnia kell a próbalicencet!",
"Volo.AbpIo.Commercial:030011": "A próbalicenc megvásárlásakor nem törölhető!"
"Permission:SendWelcomeEmail": "Üdvözlő e-mail küldése",
"SendWelcomeEmail": "Üdvözlő e-mail küldése",
"SendWelcomeEmailWarningMessage": "Biztosan üdvözlő e-mailt szeretne küldeni a szervezet tagjainak?",
"SendWelcomeEmailSuccessMessage": "Az üdvözlő e-mail sikeresen elküldve!",
"Activate": "Aktiválás",
"ActivateTrialLicenseWarningMessage": "A próbalicensz aktiválásakor egy üdvözlő e-mailt küldünk a felhasználónak. Szeretné aktiválni?",
"ActivateTrialLicenseSuccessMessage": "Sikeres aktiválás. Az üdvözlő e-mailt elküldtük a szervezet tagjainak.",
"PaymentRequestId": "Fizetési kérelem azonosítója",
"AdditionalDeveloperCount": "További fejlesztők száma",
"LicensePrice": "licensz ára",
"PurchaseDate": "Vásárlás időpontja",
"IsAbpBookDownloaded": "ABP könyv letöltve",
"IsMasteringAbpBookDownloadEnabled": "Az ABP könyv letöltése engedélyezve",
"Permission:Accounting:CustomPaymentLinkGenerator": "Egyéni fizetési link",
"CustomPaymentLink": "Egyéni fizetési link",
"Menu:CustomPaymentLink": "Egyéni fizetési link",
"Amount": "Összeg",
"GenerateCustomPaymentLink": "Egyéni fizetési link létrehozása",
"GeneratedPaymentLink": "Létrehozott fizetési link",
"CopyText": "Szöveg másolása",
"Permission:CommunityEvents": "Események",
"Menu:Events": "Események",
"Events": "Események",
"EventType": "Esemény típus",
"Number": "Szám",
"RegistrationURL": "Regisztrációs URL",
"URL": "URL",
"EventDeletionConfirmationMessage": "Biztosan törli ezt az eseményt?",
"Enum:EventType:0": "Közösségi beszélgetések",
"CreateAnEvent": "Hozzon létre egy eseményt",
"Permission:CommunitySpeakers": "Előadók",
"CreateASpeaker": "Hozzon létre egy hangszórót",
"Speakers": "Előadók",
"Image": "Kép",
"GithubURL": "Github URL",
"SpeakerDeletionConfirmationMessage": "Biztosan törli ezt a hangszórót?",
"Menu:Speakers": "Előadók",
"ChooseSpeakerImage": "Válasszon egy előadó képet...",
"SpeakerImage": "Előadó képe",
"AddSpeaker": "Előadó hozzáadása",
"ShowPurchaseItemsOfOrganizations": "Tételek vásárlása",
"Enum:OrganizationPurchaseState:0": "Nem kézbesített",
"Enum:OrganizationPurchaseState:1": "Szállítva",
"PurchaseItems": "Tételek vásárlása",
"SuccessfullyUpdated": "Sikeresen frissítve",
"SuccessfullyAdded": "Sikeresen hozzáadva",
"PurchaseState": "Vásárlási állapot",
"ShowBetweenDayCount": "Megjelenítés a napok között",
"PurchaseOrder": "Rendelés",
"ShowCreateInvoiceOfOrganization": "Számla létrehozása",
"ShowCreateQuotationOfOrganization": "Árajánlat létrehozása",
"BookDiscounts": "Könyvkedvezmények",
"Permission:BookDiscount": "Könyvkedvezmény",
"Menu:BookDiscounts": "Könyvkedvezmények",
"BookType": "Könyv típusa",
"PurchasePlatform": "Vásárlási platform",
"StartTime": "Kezdési idő",
"EndTime": "Idő vége",
"CreateABookDiscount": "Hozzon létre könyvkedvezményt",
"BookDiscountDeletionConfirmationMessage": "Biztosan törli ezt a könyvkedvezményt?",
"CustomPaymentFlexSwitchDescription": "Licenszel",
"AllowFeatureUpgradeOnLicenseExpire": "A funkció frissítésének engedélyezése a licensz lejártakor",
"Deleted{0}": "[Törölve {0}]",
"Tags": "Címkék",
"SetTagsInfo": "A címkéket vesszővel kell elválasztani. Pl.: CSharp, Entity Framework"
}
}

62
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json

@ -354,6 +354,64 @@
"SendWelcomeEmailWarningMessage": "Organizasyon üyelerine hoşgeldin emaili göndermek istediğinden emin misin?",
"SendWelcomeEmailSuccessMessage": "Hoşgeldin emaili başarıyla gönderilmiştir!",
"AdditionalDeveloperCount": "Ekstra geliştirici sayısı",
"LicensePrice": "Lisans ücreti"
"LicensePrice": "Lisans ücreti",
"FirstName": "Adı",
"Activate": "Aktif",
"ActivateTrialLicenseWarningMessage": "Bir deneme lisansını etkinleştirdiğinizde, kullanıcıya bir karşılama e-postası gönderilecektir. Etkinleştirmek istiyor musunuz?",
"ActivateTrialLicenseSuccessMessage": "Deneme lisansı başarıyla etkinleştirildi!",
"PaymentRequestId": "Ödeme talep kimliği",
"PurchaseDate": "Satın alma tarihi",
"IsAbpBookDownloaded": "Mastering ABP kitabı indirildi mi?",
"IsMasteringAbpBookDownloadEnabled": "Mastering ABP kitabı indirme etkinleştirildi",
"Permission:Accounting:CustomPaymentLinkGenerator": "Özel Ödeme Bağlantısı",
"CustomPaymentLink": "Özel Ödeme Bağlantısı",
"Menu:CustomPaymentLink": "Özel Ödeme Bağlantısı",
"Amount": "Miktar",
"GenerateCustomPaymentLink": "Özel Ödeme Bağlantısı Oluştur",
"GeneratedPaymentLink": "Oluşturulan Ödeme Bağlantısı",
"CopyText": "Metni kopyala",
"Permission:CommunityEvents": "Etkinlikler",
"Menu:Events": "Etkinlikler",
"Events": "Etkinlikler",
"EventType": "Etkinlik türü",
"Number": "Numara",
"RegistrationURL": "Kayıt URL",
"URL": "URL",
"EventDeletionConfirmationMessage": "Etkinliği silmek istediğinizden emin misiniz?",
"Enum:EventType:0": "Topluluk Konuşmaları",
"CreateAnEvent": "Etkinlik Oluştur",
"Permission:CommunitySpeakers": "Konuşmacılar",
"CreateASpeaker": "Konuşmacı Oluştur",
"Speakers": "Konuşmacılar",
"Image": "Resim",
"GithubURL": "Github URL",
"SpeakerDeletionConfirmationMessage": "Konuşmacıyı silmek istediğinizden emin misiniz?",
"Menu:Speakers": "Konuşmacılar",
"ChooseSpeakerImage": "Konuşmacı resmi seç ...",
"SpeakerImage": "Konuşmacı resmi",
"AddSpeaker": "Konuşmacı Ekle",
"ShowPurchaseItemsOfOrganizations": "Satın alınan öğeler",
"Enum:OrganizationPurchaseState:0": "Teslim edilmedi",
"Enum:OrganizationPurchaseState:1": "Teslim edildi",
"PurchaseItems": "Satın alınan öğeler",
"SuccessfullyUpdated": "Başarıyla güncellendi",
"SuccessfullyAdded": "Başarıyla eklendi",
"PurchaseState": "Satın alma durumu",
"ShowBetweenDayCount": "Gün sayısını göster",
"PurchaseOrder": "Satın alma siparişi",
"ShowCreateInvoiceOfOrganization": "Fatura oluştur",
"ShowCreateQuotationOfOrganization": "Teklif oluştur",
"BookDiscounts": "Kitap indirimleri",
"Menu:BookDiscounts": "Kitap indirimleri",
"BookType": "Kitap türü",
"PurchasePlatform": "Satın alma platformu",
"StartTime": "Başlangıç zamanı",
"EndTime": "Bitiş zamanı",
"CreateABookDiscount": "Kitap indirimi oluştur",
"BookDiscountDeletionConfirmationMessage": "Kitap indirimini silmek istediğinizden emin misiniz?",
"CustomPaymentFlexSwitchDescription": "Lisanslı",
"AllowFeatureUpgradeOnLicenseExpire": "Lisans süresi dolunca özellik yükseltmesine izin ver",
"Deleted{0}": "[{0} silindi]",
"Permission:BookDiscount": "Kitap indirimleri"
}
}
}

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}]"
}
}

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

@ -142,7 +142,7 @@
"DomainDrivenDesign": "Domain Driven Design",
"CrossCuttingConcerns": "Cross Cutting Concerns",
"AbpCommunity": "ABP Community",
"Footer_GithubStarCount": "{0} Star on GitHub",
"Footer_GithubStarCount": "{0} Stars on GitHub",
"Footer_NugetDownloadCount": "{0} Downloads on NuGet",
"AbpDescription": "ABP is an open source application framework focused on AspNet Core based web application development. Don't repeat yourself, focus on your own business code.",
"Layout_AbpFramework_MetaTitle": "ABP Framework - Open Source Web Application Framework",

142
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/hu.json

@ -14,6 +14,20 @@
"Volo.AbpIo.Domain:020002": "Nem sikerült törölni ezt az NPM-csomagot, mert a \"{Modules}\" modulok ezt a csomagot használják.",
"Volo.AbpIo.Domain:020003": "Nem sikerült törölni ezt az NPM-csomagot, mert a \"{Modules}\" modulok ezt a csomagot használják, és a \"{NugetPackages}\" Nuget-csomagok ettől a csomagtól függenek.",
"Volo.AbpIo.Domain:020004": "Nem sikerült törölni ezt a Nuget-csomagot, mert a \"{Modules}\" modulok ezt a csomagot használják.",
"Volo.AbpIo.Domain:030000": "Már befejezte a próbaidőszakot.",
"Volo.AbpIo.Domain:030001": "Ez a szervezetnév már létezik.",
"Volo.AbpIo.Domain:030002": "Az aktiválás után a próbalicensz nem váltható át -igényelt- állapotra!",
"Volo.AbpIo.Domain:030003": "Nincs ilyen állapot!",
"Volo.AbpIo.Domain:030004": "Az állapot váratlan hiba miatt nem változtatható meg!",
"Volo.AbpIo.Domain:030005": "A kezdő és befejező dátum akkor frissíthető, ha a próbalicensz -aktivált- státuszban van!",
"Volo.AbpIo.Domain:030006": "A befejező dátumnak nagyobbnak kell lennie, mint a kezdő dátum!",
"Volo.AbpIo.Domain:030007": "Ez a próbalicensz már aktiválva van!",
"Volo.AbpIo.Domain:030008": "A vásárlás dátuma csak -megvásárolt- státusz esetén állítható be!",
"Volo.AbpIo.Domain:030009": "Felhasználó nem található!",
"Volo.AbpIo.Domain:030010": "A próbalicensz megvásárlásához először aktiválnia kell a próbalicenszet!",
"Volo.AbpIo.Domain:030011": "A próbalicensz megvásárlásakor nem törölhető!",
"Volo.AbpIo.Domain:070000": "A szervezet neve csak latin betűket, számokat, pontokat és kötőjeleket tartalmazhat!",
"Volo.AbpIo.Domain:070001": "A cégnév csak latin betűket, számokat, pontokat, szóközt és kötőjelet tartalmazhat!",
"WantToLearn?": "Tanulni akar?",
"ReadyToGetStarted?": "Készen áll az indulásra?",
"JoinOurCommunity": "Csatlakozz a közösségünkhöz",
@ -39,6 +53,132 @@
"TrialLicensePeriodHasExpired": "A próbalicenc időszaka {0} napja lejárt.",
"TrialLicensePeriodWillExpire": "A próbalicenc időszaka {0} napon belül lejár.",
"TrialLicensePeriodExpireToday": "A próbalicenc ideje ma lejár.",
"PurchaseNow": "Vásároljon most!"
"PurchaseNow": "Vásároljon most!",
"LatestReleaseLogs": "Legújabb kiadási naplók",
"RoadMap": "Útiterv",
"FAQ": "GYIK",
"SourceCode": "Forráskód",
"SeeAllPosts": "Az összes bejegyzés megtekintése",
"Contribute": "Hozzájárulás",
"LiveDemo": "Élő Demo",
"GetLicense": "Licensz beszerzése",
"OpenSource": "Nyílt forráskód",
"WebApplication": "Webalkalmazás",
"MeetTheABP": "Ismerje meg az ABP-t",
"CompleteWebDevelopment": "Teljes körű webfejlesztés",
"Platform": "Felület",
"ABPDescription": "Az ABP Framework egy komplett infrastruktúra modern webalkalmazások létrehozásához, követve a szoftverfejlesztés legjobb gyakorlatait és konvencióit.",
"StrongInfrastructure": "Erős infrastruktúra",
"CompleteArchitecture": "Teljes arhitektúra",
"DeveloperFocused": "Fejlesztőközpontú",
"ShareYourExperiences": "Ossza meg tapasztalatait az ABP keretrendszerrel",
"LatestPosts": "Legutóbbi bejegyzések",
"LatestVideos": "Legújabb videók",
"Views": "Nézetek",
"LearnLatestNewsAboutABPFramework": "Információkat kaphat az ABP eseményeiről, például új kiadásokról, ingyenes forrásokról, bejegyzésekről és egyebekről.",
"DeveloperTools": "Fejlesztői eszközök",
"StartupTemplates": "Indítási sablonok",
"ApplicationModules": "Alkalmazási modulok",
"UI": "UI",
"Themes": "Témák",
"Premium": "Prémium",
"PrivacyPolicy": "Adatvédelmi irányelvek",
"TermsAndConditions": "Felhasználási feltételek",
"WouldLikeToReceiveMarketingMaterials": "Szeretnék marketing anyagokat kapni, például termékajánlatokat és különleges ajánlatokat.",
"JoinOurMarketingNewsletter": "Csatlakozzon marketing hírlevelünkhöz",
"CommunityPrivacyPolicyConfirmation": "Elfogadom az Általános Szerződési Feltételeket és az <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">Adatvédelmi szabályzatot</a>.",
"WouldLikeToReceiveNotification": "Szeretném megkapni a legfrissebb híreket az abp.io webhelyekről.",
"CommercialNewsletterConfirmationMessage": "Elfogadom az <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">Általános Szerződési Feltételeket</a> és az <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">Adatvédelmi szabályzatot</a> .",
"FreeDDDEBook": "Ingyenes DDD e-könyv",
"AdditionalServices": "További szolgáltatások",
"Learn": "Tanulás",
"AccountOverview": "Fiók Áttekintés",
"MyOrganizations": "Szervezeteim",
"MySupportQuestions": "Támogatási kérdéseim",
"MyProfile": "A profilom",
"Logout": "Kijelentkezés",
"Home": "Kezdőlap",
"Posts": "Hozzászólások",
"Videos": "Videók",
"JoinTheABPCommunity": "Csatlakozz az ABP közösséghez",
"SubmitYourPost": "Küldje be bejegyzését",
"Modules": "Modulok",
"Tools": "Eszközök",
"Pricing": "Árazás",
"ChangeLogs": "Változásnaplók",
"SubscribeToNewsletter": "Feliratkozás a Hírlevélre",
"SubscribeToNewsletterDescription": "Információkat kaphat az ABP eseményeiről, például új kiadásokról, ingyenes forrásokról, bejegyzésekről és egyebekről.",
"EmailAddress": "Email cím",
"Subscribe": "Iratkozz fel",
"WelcomeToABP": "Üdvözöljük az ABP-ben",
"EULA": "EULA",
"ABPCommercialIntroductionMessage": "Előre beépített alkalmazásmodulok, fejlett indítási sablonok, gyors alkalmazásfejlesztési eszközök, professzionális felhasználói felületi témák és prémium támogatás.",
"MasteringAbpFrameworkEBook": "Az ABP Framework elsajátítása",
"MasteringTheABPFrameworkExplanation": "Ez a könyv, amelyet az ABP-keretrendszer alkotója írt, segít a keretrendszer és a modern webalkalmazás-fejlesztési technikák teljes megértésében.",
"Speakers": "Előadók",
"PreviousEvents": "Korábbi események",
"WatchTheEvent": "Nézze meg az Eseményt",
"RegisterNow": "Regisztrálj most",
"ThereIsNoEvent": "Nincs esemény.",
"Events": "Események",
"Volo.AbpIo.Domain:080000": "Már van egy \"{Name}\" nevű vásárlási tétel",
"MasteringAbpFrameworkBook": "Könyv: Az ABP-keretrendszer elsajátítása",
"ABPIO-CommonPreferenceDefinition": "Szerezze meg a legfrissebb híreket az ABP Platformról, például új bejegyzésekről, eseményekről és egyebekről.",
"BuiltOn": "Beépített",
"AbpFramework": "ABP-keretrendszer",
"Volo.AbpIo.Domain:080001": "A kezdési idő nem lehet nagyobb, mint a befejezési idő",
"Enum:BookType:0": "Az ABP Framework elsajátítása",
"Enum:PurchasePlatform:0": "Amazon",
"Enum:PurchasePlatform:1": "Csomagolt",
"Copied": "Másolva!",
"CouldNotCopy": "Nem sikerült másolni!",
"CopyNotSupportByYourBrowser": "Ez a funkció nem működik az Ön által használt böngészőben.",
"City": "Város",
"ZipCode": "Irányítószám",
"Address": "Cím",
"Homepage": "Kezdőlap",
"Year": "Év",
"Copyright": "Copyright © <a href=\"{0}\" target=\"_blank\">{1}</a>",
"DomainDrivenDesign": "Domainvezérelt tervezés",
"CrossCuttingConcerns": "Cross Cutting Concerns",
"AbpCommunity": "ABP közösség",
"Footer_GithubStarCount": "{0} csillagok a GitHubon",
"Footer_NugetDownloadCount": "{0} Letöltések a NuGeten",
"AbpDescription": "Az ABP egy nyílt forráskódú alkalmazás keretrendszer, amely az AspNet Core alapú webalkalmazások fejlesztésére összpontosít. Ne ismételje magát, összpontosítson saját üzleti kódjára.",
"Layout_AbpFramework_MetaTitle": "ABP Framework – Nyílt forráskódú webalkalmazás-keretrendszer",
"CommunityTalks_CountdownDays": "Napok",
"CommunityTalks_CountdownHours": "óra",
"CommunityTalks_CountdownMinutes": "Perc",
"CommunityTalks_CountdownSeconds": "mp",
"SeePreviousEvents": "Lásd: Korábbi események",
"CookieConsent_Accept": "Elfogad",
"CookieConsent_Explanation_1": "Cookie-kat használunk, hogy a legjobb élményt nyújtsuk weboldalunkon.",
"CookieConsent_Explanation_2": "Ha folytatja a böngészést, elfogadja <a href=\"@Url.Page(\"/Privacy\")\">adatvédelmi szabályzatunkat és cookie-kra vonatkozó szabályzatunkat.</a> .",
"Error_Page_400_Title": "Hiba történt a kért oldal kiszolgálása során.",
"Error_Page_400_Description_1": "Ez általában azt jelenti, hogy a kérés feldolgozása során váratlan hiba történt.",
"Error_Page_400_Description_2": "Ha a probléma továbbra is fennáll, vegye fel velünk a kapcsolatot az <a href=\"mailto:info@abp.io\">info@abp.io címen</a> , és mi segítünk az úton.",
"GoToHomepage": "Menj a főoldalra",
"Error_Page_404_Title": "Az oldal nem található!",
"Error_Page_404_Description_1": "Ez nem az a weboldal, amit keres.",
"Error_Page_500_Title": "Úgy tűnik, valami elromlott!",
"Error_Page_500_Description_1": "Ezeket a hibákat automatikusan nyomon követjük, de ha a probléma továbbra is fennáll, nyugodtan megteheti<br /> lépjen kapcsolatba velünk. Addig is próbáljon frissíteni.",
"Error_Page_500_Description_2": "Vegye fel velünk a kapcsolatot az <a href=\"mailto:info@abp.io\" target=\"_blank\">info@abp.io címen</a> .",
"Books": "Könyvek",
"ABPDiscordServer": "ABP Discord szerver",
"ABPCommunityTalks": "ABP közösségi beszélgetések",
"ABPCommunityPosts": "ABP közösségi bejegyzések",
"BuyAndGetMonths": "VÁSÁROLJON 12 HÓNAPOT, <span class=\"text-info\">14 HÓNAPOT KAP!</span>",
"GetYourDeal": "Szerezze meg az ajánlatát",
"BuyOrRenewLicense": "Vásároljon vagy újítson meg licencet most, és 2 további hónapot kap!",
"BuyOrRenewLicenseToGetExtra2Months": "Vásároljon vagy újítson meg licencet most, és 2 további hónapot kap! SIESS! ⏰ Utolsó nap: {0}",
"HurryUp": "SIESS!",
"LastDay": "Utolsó nap: {0}",
"BuyNewLicenseBetweenDatesToGetBenefit": "Vásároljon új licencet {0} és {1} között, és további 2 hónapra juthat!",
"CheckAllCommunityTalks": "Jelölje be az Összes közösségi bejegyzést",
"ReadMore": "Olvass tovább",
"Post": "Hozzászólás",
"ExploreTheContentsCreatedByTheCoreABPTeamAndTheABPCommunity": "Fedezze fel a központi ABP csapat és az ABP közösség által létrehozott tartalmakat.",
"WelcomeFallCampaign": "Üdvözöljük az őszi kampányban!",
"GiveAwayForNewPurchases": "Az új vásárlásokhoz az Alkalmazásfejlesztési Tantermi Képzést ajándékba adjuk!"
}
}

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

@ -40,6 +40,131 @@
"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!",
"Volo.AbpIo.Domain:030000": "Deneme sürenizi çoktan tamamladınız.",
"Volo.AbpIo.Domain:030001": "Bu kuruluş adı zaten mevcut.",
"Volo.AbpIo.Domain:030002": "Bir kez etkinleştirildiğinde, deneme lisansını -requested- duruma değiştiremezsiniz!",
"Volo.AbpIo.Domain:030003": "Böyle bir durum yok!",
"Volo.AbpIo.Domain:030004": "Beklenmeyen bir hata nedeniyle durum değiştirilemedi!",
"Volo.AbpIo.Domain:030005": "Deneme lisansı -activated- durumundayken başlangıç ve bitiş tarihi güncellenebilir!",
"Volo.AbpIo.Domain:030006": "Bitiş tarihi, başlangıç tarihinden büyük olmalıdır!",
"Volo.AbpIo.Domain:030007": "Bu deneme lisansı zaten etkinleştirildi!",
"Volo.AbpIo.Domain:030008": "Satın alma tarihi ancak durum -purchased- olduğunda ayarlanabilir!",
"Volo.AbpIo.Domain:030009": "Kullanıcı bulunamadı!",
"Volo.AbpIo.Domain:030010": "Deneme lisansını satın almak için önce deneme lisansınızı etkinleştirmeniz gerekir!",
"Volo.AbpIo.Domain:030011": "Satın alınan bir deneme lisansını silemezsiniz!",
"Volo.AbpIo.Domain:070000": "Kuruluş adı yalnızca latin harfleri, sayıları, noktaları ve kısa çizgileri içerebilir!",
"Volo.AbpIo.Domain:070001": "Şirket adı yalnızca latin harfleri, sayıları, noktaları, boşlukları ve kısa çizgileri içerebilir!",
"LatestReleaseLogs": "Son Sürüm Logları",
"RoadMap": "Yol Haritası",
"FAQ": "SSS",
"SourceCode": "Kaynak Kodu",
"SeeAllPosts": "Tüm Gönderileri Gör",
"Contribute": "Katkıda Bulun",
"LiveDemo": "Canlı Demo",
"GetLicense": "Lisans Al",
"OpenSource": "Açık Kaynak",
"WebApplication": "Web Uygulaması",
"MeetTheABP": "ABP'yi Tanıyın",
"CompleteWebDevelopment": "Eksiksiz Bir Web Geliştirme",
"Platform": "Platform",
"ABPDescription": "ABP Framework, en iyi yazılım geliştirme uygulamalarını ve kurallarını takip ederek modern web uygulamaları oluşturmak için eksiksiz bir altyapıdır.",
"StrongInfrastructure": "Güçlü Altyapı",
"CompleteArchitecture": "Eksiksiz Mimari",
"DeveloperFocused": "Geliştirici Odaklı",
"ShareYourExperiences": "ABP Çerçevesi ile ilgili deneyimlerinizi paylaşın",
"LatestPosts": "Son Gönderiler",
"Views": "Görüntülenme",
"LearnLatestNewsAboutABPFramework": "Yeni sürümler, ücretsiz kaynaklar, gönderiler ve daha fazlası gibi ABP'de olup bitenler hakkında bilgi alın.",
"DeveloperTools": "Geliştirici Araçları",
"StartupTemplates": "Başlangıç Şablonları",
"ApplicationModules": "Uygulama Modülleri",
"UI": "Kullanıcı Arayüzü",
"Themes": "Temalar",
"Premium": "Premium",
"PrivacyPolicy": "Gizlilik Politikası",
"TermsAndConditions": "Şartlar ve Koşullar",
"WouldLikeToReceiveMarketingMaterials": "Ürün fırsatları ve özel teklifler gibi pazarlama materyalleri almak istiyorum.",
"JoinOurMarketingNewsletter": "Pazarlama bültenimize katılın",
"CommunityPrivacyPolicyConfirmation": "Şartları, Koşulları ve <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">Gizlilik Politikasını</a> kabul ediyorum.",
"WouldLikeToReceiveNotification": "abp.io web sitelerinden en son haberleri almak istiyorum.",
"CommercialNewsletterConfirmationMessage": "<a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">Şartlar ve Koşulları</a> ve <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">Gizlilik Politikasını</a> kabul ediyorum.",
"FreeDDDEBook": "Ücretsiz DDD E-Kitabı",
"AdditionalServices": "Ek Hizmetler",
"Learn": "Öğren",
"AccountOverview": "Hesap Özeti",
"MyOrganizations": "Kuruluşlarım",
"MySupportQuestions": "Destek Sorularım",
"MyProfile": "Profilim",
"Logout": "Çıkış Yap",
"Home": "Ev",
"Posts": "Gönderiler",
"JoinTheABPCommunity": "ABP Topluluğuna Katılın",
"SubmitYourPost": "Gönderinizi Gönderin",
"Modules": "Modüller",
"Tools": "Araçlar",
"Pricing": "Fiyatlandırma",
"ChangeLogs": "Değişiklik Logları",
"SubscribeToNewsletter": "Bültenimize Abone Olun",
"SubscribeToNewsletterDescription": "Yeni sürümler, ücretsiz kaynaklar, gönderiler ve daha fazlası gibi ABP'de olup bitenler hakkında bilgi alın.",
"EmailAddress": "E-posta Adresi",
"Subscribe": "Abone Ol",
"WelcomeToABP": "ABP'ye Hoşgeldiniz",
"EULA": "SKLA",
"ABPCommercialIntroductionMessage": "Önceden oluşturulmuş uygulama modülleri, gelişmiş başlangıç şablonları, hızlı uygulama geliştirme araçları, profesyonel kullanıcı arayüzü temaları ve premium destek.",
"MasteringAbpFrameworkEBook": "Mastering ABP Framework",
"MasteringTheABPFrameworkExplanation": "ABP Çerçevesinin yaratıcısı tarafından yazılan bu kitap, çerçeveyi ve modern web uygulaması geliştirme tekniklerini tam olarak anlamanıza yardımcı olacaktır.",
"Speakers": "Konuşmacılar",
"PreviousEvents": "Önceki Etkinlikler",
"WatchTheEvent": "Etkinliği İzle",
"RegisterNow": "Şimdi Kaydol",
"ThereIsNoEvent": "Etkinlik yok",
"Events": "Etkinlikler",
"Volo.AbpIo.Domain:080000": "\"{name}\" adlı bir satın alma öğesi zaten var",
"MasteringAbpFrameworkBook": "Kitap: Mastering ABP Framework",
"ABPIO-CommonPreferenceDefinition": "Yeni gönderiler, etkinlikler ve daha fazlası gibi ABP Platformu hakkındaki en son haberleri alın.",
"BuiltOn": "Üzerinde inşa edildi",
"AbpFramework": "ABP Çerçevesi",
"Volo.AbpIo.Domain:080001": "Başlangıç Zamanı Bitiş Zamanından büyük olamaz",
"Enum:BookType:0": "Mastering ABP Framework",
"Enum:PurchasePlatform:0": "Amazon",
"Enum:PurchasePlatform:1": "Paket",
"Copied": "Kopyalandı!",
"CouldNotCopy": "Kopyalanamadı!",
"CopyNotSupportByYourBrowser": "Tarayıcınız kopyalamayı desteklemiyor",
"City": "Şehir",
"ZipCode": "Posta Kodu",
"Address": "Adres",
"Homepage": "Anasayfa",
"Year": "Yıl",
"Copyright": "Telif hakkı © <a href=\"{0}\" target=\"_blank\">{1}</a>",
"DomainDrivenDesign": "Alan Odaklı Tasarım",
"CrossCuttingConcerns": "Cross Cutting Concerns",
"AbpCommunity": "ABP Topluluğu",
"Footer_GithubStarCount": "Github'da {0} Yıldız",
"Footer_NugetDownloadCount": "{0} NuGet indirme",
"AbpDescription": "ABP, AspNet Core tabanlı web uygulaması geliştirmeye odaklanan açık kaynaklı bir uygulama çerçevesidir. Kendinizi tekrar etmeyin, kendi iş kodunuza odaklanın.",
"Layout_AbpFramework_MetaTitle": "ABP Framework - Açık Kaynak Web Uygulama Çerçevesi",
"CommunityTalks_CountdownDays": "Gün",
"CommunityTalks_CountdownHours": "Saat",
"CommunityTalks_CountdownMinutes": "Dk",
"CommunityTalks_CountdownSeconds": "Sn",
"SeePreviousEvents": "Önceki Etkinlikleri Gör",
"CookieConsent_Accept": "Kabul Et",
"CookieConsent_Explanation_1": "Web sitemizde size en iyi deneyimi sunmak için çerezleri kullanıyoruz.",
"CookieConsent_Explanation_2": "Göz atmaya devam ederseniz, <a href=\"@Url.Page(\"/Privacy\")\">Gizlilik politikamızı ve çerez politikamızı kabul etmiş olursunuz.</a>.",
"Error_Page_400_Title": "İstenen sayfa sunulurken bir sorun oluştu.",
"Error_Page_400_Description_1": "Genellikle bu, isteğiniz işlenirken beklenmedik bir hata oluştuğu anlamına gelir.",
"Error_Page_400_Description_2": "Sorun devam ederse, <a href=\"mailto:info@abp.io\">info@abp.io</a> adresinden bizimle iletişime geçin, size yardımcı olalım.",
"GoToHomepage": "Anasayfaya git",
"Error_Page_404_Title": "Sayfa bulunamadı!",
"Error_Page_404_Description_1": "Aradığınız web sayfası bu değil.",
"Error_Page_500_Title": "Görünüşe göre bir şeyler ters gitti!",
"Error_Page_500_Description_1": "Bu hataları otomatik olarak takip ediyoruz, ancak sorun devam ederse <br /> bizimle iletişime geçmekten çekinmeyin. Bu arada, yenilemeyi deneyin.",
"Error_Page_500_Description_2": "Bizimle <a href=\"mailto:info@abp.io\" target=\"_blank\">info@abp.io</a> adresinden iletişime geçin.",
"Books": "Kitaplar",
"ABPDiscordServer": "ABP Discord Sunucusu",
"ABPCommunityTalks": "ABP Topluluk Konuşmaları",
"ABPCommunityPosts": "ABP Topluluk Gönderileri",
"WelcomeFallCampaign": "Hoş Geldin Sonbahar Kampanyası!",
"GiveAwayForNewPurchases": "Yeni alımlar için Uygulama Geliştirme Sınıfı Eğitimi hediye edilecektir!"
}

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

@ -142,7 +142,7 @@
"DomainDrivenDesign": "领域驱动设计",
"CrossCuttingConcerns": "横切关注点",
"AbpCommunity": "ABP 社区",
"Footer_GithubStarCount": "{0} GitHub Stars",
"Footer_GithubStarCount": "{0} GitHub 上的星星",
"Footer_NugetDownloadCount": "{0} NuGet 下载量",
"AbpDescription": "ABP 是一个开源应用程序框架,专注于基于 AspNet Core 的 Web 应用程序开发。 Don't repeat yourself,专注于自己的业务代码。",
"Layout_AbpFramework_MetaTitle": "ABP 框架 - 开源 Web 应用程序框架",
@ -164,6 +164,9 @@
"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 个月!",

7
abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/hu.json

@ -0,0 +1,7 @@
{
"culture": "hu",
"texts": {
"AbpTitle": "ABP Framework – Nyílt forráskódú webalkalmazás-keretrendszer",
"AbpDescription": "Az ABP egy nyílt forráskódú alkalmazáskeret, amely az AspNet Core alapú webalkalmazások fejlesztésére összpontosít. Ne ismételje magát, összpontosítson saját üzleti kódjára."
}
}

2
abp_io/AbpIoLocalization/AbpIoLocalization/Blog/Localization/Resources/tr.json

@ -1,5 +1,7 @@
{
"culture": "tr",
"texts": {
"AbpTitle": "ABP Framework - Açık Kaynak Web Uygulama Çerçevesi",
"AbpDescription": "ABP, AspNet Core tabanlı web uygulaması geliştirmeye odaklanan açık kaynaklı bir uygulama çerçevesidir. Kendinizi tekrar etmeyin, kendi iş kodunuza odaklanın."
}
}

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

@ -179,7 +179,7 @@
"ChangingLicenseTypeExplanation": "يمكنك الترقية إلى ترخيص أعلى عن طريق دفع الفرق خلال فترة الترخيص النشطة الخاصة بك. عند الترقية إلى خطة ترخيص أعلى ، تحصل على مزايا الخطة الجديدة ، لكن ترقية الترخيص لا تغير تاريخ انتهاء الترخيص. بالإضافة إلى ذلك ، يمكنك أيضًا إضافة مقاعد مطور جديدة إلى ترخيصك الحالي ، راجع \"كم عدد المطورين الذين يمكنهم العمل على ABP Commercial؟\"",
"LicenseExtendUpgradeDiff": "ما الفرق بين تمديد الترخيص والترقية؟",
"LicenseRenewalCost": "ما هي تكلفة تجديد الترخيص بعد عام واحد؟",
"LicenseRenewalCostExplanation": "معدل التجديد (التمديد) لجميع تراخيص ABP Commercial الدائمة هو {0} من قائمة أسعار التراخيص. سعر تجديد ترخيص الفريق القياسي هو $ {1} ورخصة العمل القياسية هي $ {2} وترخيص المؤسسة القياسي هو $ {3}. إذا كنت عميلاً بالفعل ، <a href='{4}' target='_blank'> سجّل الدخول إلى حسابك </a> لمراجعة أسعار التجديد المتاحة.",
"LicenseRenewalCostExplanation": "سعر تجديد (تمديد) رخصة الفريق الاساسية هو ${0}, رخصة العمل الاساسية هو ${1} ورخصة المؤسسة الاساسية هو${2}. ان كنت عميلا بالفعل, <a href='{3}' target='_blank'>سجل الدخول الى حسابك</a> لمراجعة سعر التجديد الحالي.",
"HowDoIRenewMyLicense": "كيف أجدد الترخيص الخاص بي؟",
"HowDoIRenewMyLicenseExplanation": "يمكنك تجديد ترخيصك بالانتقال إلى <a href='{0}' target='_blank'> صفحة إدارة المؤسسة </a>. للاستفادة من أسعار التجديد المبكر المخفضة الخاصة بنا ، تأكد من التجديد قبل انتهاء صلاحية ترخيصك. ومع ذلك ، لا تقلق بشأن عدم معرفة متى تنتهي فرصة التجديد المبكر الخاصة بك. ستتلقى 3 رسائل بريد إلكتروني للتذكير قبل انتهاء صلاحية اشتراكك. سنرسلها في غضون 30 يومًا و 7 أيام ويوم واحد قبل انتهاء الصلاحية.",
"IsSourceCodeIncluded": "هل يتضمن ترخيصي الكود المصدري للوحدات والموضوعات التجارية؟",
@ -190,7 +190,7 @@
"ChangingDevelopers": "هل يمكنني تغيير المطورين المسجلين لمنظمتي في المستقبل؟",
"ChangingDevelopersExplanation": "بالإضافة إلى إضافة مطورين جدد إلى الترخيص الخاص بك ، يمكنك أيضًا تغيير المطورين الحاليين (يمكنك إزالة مطور وإضافة مطور جديد إلى نفس المقعد) دون أي تكلفة إضافية.",
"WhenShouldIRenewMyLicense": "متى يجب أن أجدد رخصتي؟",
"WhenShouldIRenewMyLicenseExplanation": "إذا جددت ترخيصك في غضون <strong> شهر واحد </ strong> بعد انتهاء صلاحية الترخيص ، فسيتم تطبيق الخصومات التالية: ترخيص الفريق {0}٪ خصم ، ترخيص تجاري {1}٪ خصم ، ترخيص Enterprise {2}٪ خصم . إذا قمت بتجديد ترخيصك بعد <strong> شهر واحد </ strong> من تاريخ انتهاء صلاحية الترخيص ، فسيكون سعر التجديد هو نفسه سعر شراء الترخيص ولن يكون هناك خصم على التجديد.",
"WhenShouldIRenewMyLicenseExplanation": "إذا قمت بتجديد ترخيصك في غضون <strong> شهر واحد </ strong> بعد انتهاء صلاحية ترخيصك ، فسيتم تطبيق الخصومات التالية: ترخيص الفريق {0}؛ رخصة تجارية {1} ؛ ترخيص المؤسسة {2}. ومع ذلك ، إذا جددت ترخيصك بعد <strong> شهر واحد </ strong> من تاريخ انتهاء صلاحية الترخيص ، فسيكون سعر التجديد هو نفسه سعر شراء الترخيص ولن يكون هناك خصم على التجديد.",
"TrialPlan": "هل لديك خطة تجريبية؟",
"DoYouAcceptBankWireTransfer": "هل تقبل التحويل البنكي؟",
"DoYouAcceptBankWireTransferExplanation": "نعم ، نحن نقبل التحويل البنكي. <br /> بعد إرسال رسوم الترخيص عبر التحويل المصرفي ، أرسل لنا بريدًا إلكترونيًا على accounting@abp.io إيصالك ونوع الترخيص المطلوب. معلومات حسابنا المصرفي الدولي:",
@ -360,7 +360,7 @@
"Next": "التالي",
"StartTrial": "ابدأ الإصدار التجريبي المجاني",
"ContactUsIssues": "اتصل بنا إذا كان لديك أي مشاكل",
"TrialActivatedWarning": "عزيزي {0} ، يحق للمستخدم الحصول على فترة تجريبية مجانية واحدة فقط. لقد استخدمت بالفعل الفترة التجريبية الخاصة بك.",
"TrialActivatedWarning": ".يحق للمستخدم الحصول على فترة تجريبية مجانية واحدة فقط. لقد استخدمت بالفعل الفترة التجريبية الخاصة بك",
"SaveAndDownload": "حفظ وتنزيل",
"CompanyNameValidationMessage": "اسم الشركة طويل جدا!",
"AddressValidationMessage": "العنوان طويل جدا!",
@ -373,13 +373,15 @@
"TrialLicenseModelInvalidErrorMessage": "أحد الحقول التالية غير صالح: اسم البلد أو حجم الشركة أو الصناعة أو الغرض من الاستخدام.",
"Trial": "محاكمة",
"Purchased": "تم شراؤها",
"PurchaseLicense": "رخصة شراء",
"PurchaseLicense": "شراء {0} رخصة",
"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>.",
"RenewLicenseEarly": "إذا قمت بتجديد رخصتي في وقت مبكر ، هل سأحصل على السنة كاملة؟",
"RenewLicenseEarylExplanation": "عند تجديد الترخيص الخاص بك قبل تاريخ انتهاء الترخيص الخاص بك ، ستتم إضافة سنة واحدة إلى تاريخ انتهاء الترخيص الخاص بك. على سبيل المثال ، إذا انتهت صلاحية ترخيصك في {0} -06-06 وقمت بتجديده في {0} -01-01 ، فسيكون تاريخ انتهاء صلاحية الترخيص الجديد {1} -06-06."
"RenewLicenseEarylExplanation": "عند تجديد الترخيص الخاص بك قبل تاريخ انتهاء الترخيص الخاص بك ، ستتم إضافة سنة واحدة إلى تاريخ انتهاء الترخيص الخاص بك. على سبيل المثال ، إذا انتهت صلاحية ترخيصك في {0} -06-06 وقمت بتجديده في {0} -01-01 ، فسيكون تاريخ انتهاء صلاحية الترخيص الجديد {1} -06-06.",
"discountForYears": "{0}٪ خصم لمدة {1} سنة (سنوات)",
"BlackFridayDiscount": "خصم الجمعة السوداء"
}
}

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

@ -190,7 +190,7 @@
"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ů.",
"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.",
"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}; Obchodní licence {1}; Enterprise Licence {2}. Pokud však licenci obnovíte po <strong>1 měsíci</strong> od data vypršení platnosti vaší licence, cena za obnovení bude stejná jako cena za zakoupení licence a na obnovení nebude poskytnuta žádná sleva.",
"TrialPlan": "Máte zkušební plán?",
"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:",
@ -360,7 +360,7 @@
"Next": "další",
"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.",
"TrialActivatedWarning": "Uživatel má nárok pouze na 1 bezplatné zkušební období. Zkušební období jste již využili.",
"SaveAndDownload": "Uložit a stáhnout",
"CompanyNameValidationMessage": "Název společnosti je příliš dlouhý!",
"AddressValidationMessage": "Adresa je příliš dlouhá!",
@ -373,7 +373,7 @@
"TrialLicenseModelInvalidErrorMessage": "Jedno z následujících polí je neplatné: Název země, Velikost společnosti, Odvětví nebo Účel použití.",
"Trial": "zkušební",
"Purchased": "Zakoupeno",
"PurchaseLicense": "Koupit licenci",
"PurchaseLicense": "Zakoupit licenci {0}",
"PurchaseTrialLicenseMessage": "Datum vypršení platnosti vaší licence je {0}. <br> Chcete-li nadále používat projekty, které jste vytvořili během bezplatného zkušebního období, musíte změnit licenční klíče ve svých souborech <code>appsettings.secrets.json</code>. Zde je váš licenční klíč:",
"TrialLicenseExpireMessage": "Používáte zkušební licenci a platnost vaší zkušební licence vyprší dne {0}.",
"TryForFree": "Zkus zadarmo",
@ -381,6 +381,8 @@
"CommercialNewsletterConfirmationMessage": "I agree to the <a href=\"https://commercial.abp.io/TermsConditions\">Terms & Conditions</a> and <a href=\"https://commercial.abp.io/Privacy\">Privacy Policy</a>.",
"ContinueWithNewOrganization": "Pokračujte s novou organizací",
"RenewLicenseEarly": "Pokud si předčasně obnovím licenci, dostanu celý rok?",
"RenewLicenseEarylExplanation": "Když obnovíte licenci před datem vypršení platnosti licence, bude k datu vypršení platnosti licence přidán 1 rok. Pokud například platnost vaší licence vyprší dne {0}-06-06 a obnovíte ji dne {0}-01-01, bude vaše nové datum vypršení platnosti licence {1}-06-06."
"RenewLicenseEarylExplanation": "Když obnovíte licenci před datem vypršení platnosti licence, bude k datu vypršení platnosti licence přidán 1 rok. Pokud například platnost vaší licence vyprší dne {0}-06-06 a obnovíte ji dne {0}-01-01, bude vaše nové datum vypršení platnosti licence {1}-06-06.",
"discountForYears": "{0}% sleva po dobu {1} let",
"BlackFridayDiscount": "Black Friday sleva"
}
}

7
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de.json

@ -360,7 +360,7 @@
"Next": "Nächste",
"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.",
"TrialActivatedWarning": "Ein Benutzer hat nur Anspruch auf 1 kostenlose Testphase. Sie haben Ihre Testphase bereits genutzt.",
"SaveAndDownload": "Speichern und herunterladen",
"CompanyNameValidationMessage": "Firmenname ist zu lang!",
"AddressValidationMessage": "Adresse ist zu lang!",
@ -373,7 +373,7 @@
"TrialLicenseModelInvalidErrorMessage": "Eines der folgenden Felder ist ungültig: Ländername, Unternehmensgröße, Branche oder Verwendungszweck.",
"Trial": "Versuch",
"Purchased": "Gekauft",
"PurchaseLicense": "Lizenz kaufen",
"PurchaseLicense": "Kaufe {0} Lizenz",
"PurchaseTrialLicenseMessage": "Das Ablaufdatum Ihrer Lizenz ist {0}. <br> Wenn Sie die Projekte, die Sie während Ihres kostenlosen Testzeitraums erstellt haben, weiterhin verwenden möchten, müssen Sie die Lizenzschlüssel in Ihren <code>appsettings.secrets.json</code>-Dateien ändern. Hier ist Ihr Lizenzschlüssel:",
"TrialLicenseExpireMessage": "Sie verwenden die Testlizenz und Ihre Testlizenz läuft am {0} ab.",
"TryForFree": "Kostenlos testen",
@ -381,6 +381,7 @@
"CommercialNewsletterConfirmationMessage": "Ich stimme den <a href=\"https://commercial.abp.io/TermsConditions\">Allgemeinen Geschäftsbedingungen</a> und der <a href=\"https://commercial.abp.io/Privacy\">Datenschutzerklärung . zu </a>.",
"ContinueWithNewOrganization": "Weiter mit einer neuen Organisation",
"RenewLicenseEarly": "Erhalte ich das ganze Jahr, wenn ich meine Lizenz vorzeitig erneuere?",
"RenewLicenseEarylExplanation": "Wenn Sie Ihre Lizenz vor dem Ablaufdatum Ihrer Lizenz erneuern, wird Ihr Lizenzablaufdatum um 1 Jahr verlängert. Wenn Ihre Lizenz beispielsweise am {0}-06-06 abläuft und Sie sie am {0}-01-01 erneuern, ist das neue Ablaufdatum der Lizenz der {1}-06-06."
"RenewLicenseEarylExplanation": "Wenn Sie Ihre Lizenz vor dem Ablaufdatum Ihrer Lizenz erneuern, wird Ihr Lizenzablaufdatum um 1 Jahr verlängert. Wenn Ihre Lizenz beispielsweise am {0}-06-06 abläuft und Sie sie am {0}-01-01 erneuern, ist das neue Ablaufdatum der Lizenz der {1}-06-06.",
"BlackFridayDiscount": "Black Friday Rabatt"
}
}

3
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json

@ -109,6 +109,7 @@
"ContinueWithNewOrganization": "Continue with a new organization",
"RenewLicenseEarly": "If I renew my license early, will I get the full year?",
"RenewLicenseEarylExplanation": "When you renew your license before your license expiry date, 1 year will be added to your license expiry date. For example, if your license expires on {0}-06-06 and you renew it on {0}-01-01, your new license expiry date will be {1}-06-06.",
"LicenseTypeNotCorrect": "The license type is not correct!"
"LicenseTypeNotCorrect": "The license type is not correct!",
"BlackFridayDiscount": "Black Friday Discount"
}
}

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

@ -202,10 +202,11 @@
"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.",
"WhatHappensWhenLicenseEndsExplanation7": "You can extend (renew) your license if you want to continue getting 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.",
"WhatHappensWhenLicenseEndsExplanation7": "You can extend (renew) your license if you want to continue getting 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}; Business License {1}; Enterprise License {2}.",
"discountForYears": "{0}% discount for {1} year(s)",
"WhatHappensWhenLicenseEndsExplanation8": "The ABP projects you generated are not stored on our servers. Therefore, it is your responsibility to keep the source code you download. When your license expires, there's no way to get your generated ABP project source code.",
"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.",
"WhenShouldIRenewMyLicenseExplanation": "If you renew your license within <strong>1 month</strong> after your license expires, the following discounts will be applied: Team License {0}; Business License {1}; Enterprise License {2}. 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": "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?",
@ -268,7 +269,7 @@
"SeeABPSuiteDocument": "Check out the ABP Suite document to learn the usage of ABP Suite.",
"AskQuestionsOnSupport": "You can ask questions on ABP Commercial Support.",
"Documentation": "Documentation",
"SeeModulesDocument": "Check out the modules document for a list of all the commercial(pro) modules and their documents.",
"SeeModulesDocument": "See the modules page for a list of all the PRO modules.",
"Pricing": "Pricing",
"PricingExplanation": "Choose the features and functionality your business needs today. Easily upgrade as your business grows.",
"Team": "Team",
@ -370,8 +371,8 @@
"PurposeOfUsage": "Purpose of usage",
"Industry": "Industry",
"Choose": "- Choose -",
"CompanyOrganizationName": "Company / Organization Name",
"CompanySize": "Company Size",
"CompanyOrganizationName": "Company / Organization name",
"CompanySize": "Company size",
"Next": "Next",
"StartTrial": "Start My Free Trial",
"ContactUsQuestions": "Contact us if you have any questions",
@ -548,7 +549,7 @@
"MyOrganizations_Detail_OwnerRightInfo": "You are using {0} of your {1} owners rights.",
"MyOrganizations_Detail_CopyApiKey": "Copy the Key",
"MyOrganizations_Detail_ApiKeyDescription": "The API Key is the token of PRO packages hosted on <a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">{1}.</a>",
"MyOrganizations_Detail_YourPrivateNugetSource": "Your private NuGet source is <a href=\"{0}\" arget=\"_blank\" class=\"text-primary\" rel=\"noopener\">{0}</a>",
"MyOrganizations_Detail_YourPrivateNugetSource": "Your private NuGet source is <a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">{0}</a>",
"MyOrganizations_Detail_PrivateNugetSourceWarning": "This is automatically added as a feed to your NuGet.Config in your ABP solution. Do not share your private key with unauthorized users!",
"MyOrganizations_Detail_DeveloperSeatInfo": "You are using {0} of your {1} developer seats.",
"NeedMoreSeatsForYourTeam": "Need more seats for your team?",
@ -564,7 +565,7 @@
"MyOrganizations_Detail_PaymentProviderInfo": "If you have purchased your license through <i>{0}</i> gateway, it sends the PDF invoice to your email address, see <a href=\"{1}\" target=\"_blank\">{0} invoicing.</a>",
"MyOrganizations_Detail_PayUInfo": "If you have purchased through the <i>PayU</i> gateway, click the \"Request Invoice\" button and fill in the billing information.",
"MyOrganizations_Detail_ConclusionInfo": "Your invoice request will be concluded within {0} business days.",
"ExtendYourLicense": "Extend your {0} license",
"ExtendYourLicense": "Extend your <span class=\"text-primary\">{0}</span> license",
"Continue": "Continue",
"PurchaseLicense": "Purchase {0} license",
"DownloadInvoiceModal_DownloadInvoice": "Download Invoice",
@ -660,7 +661,7 @@
"Landing_Page_PreBuiltApplicationModules": "Pre-Built Application Modules which include most common web application requirements.",
"Landing_Page_ChatModule": "Chat",
"Landing_Page_DocsModule": "Docs",
"Landing_Page_FileManagementModule": "Docs",
"Landing_Page_FileManagementModule": "File Management",
"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.",
@ -743,6 +744,58 @@
"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."
"SeeWhatToldAboutAbpCommercial": "See what has been told about ABP Commercial and write your thoughts if you want.",
"BlazoriseLicense": "Do we need to buy Blazorise license?",
"BlazoriseLicenseExplanation": "We have an agreement between Volosoft and Megabit, with this agreement Blazorise license is bundled with ABP Commercial products therefore our customers do not need to purchase an extra Blazorise license.",
"ExtendPaymentInfoSection_DeveloperPrice": "{0} x Developer(s) Price",
"ExtendPaymentInfoSection_DiscountRate": "Discount {0}%",
"TotalNetPrice": "Total Net Price",
"EFCore": "Entity Framework Core",
"All": "All",
"Mvc": "MVC",
"DataBaseProvider": "Data Provider",
"UIFramework": "UI Framework",
"LeptonXThemeForDashboard": "LeptonX Theme for Your Admin Dashboard by",
"AbpPlatform": "ABP Platform",
"YouDeserveGoodUXUI": "You deserve a good UI and a better UX. LeptonX Theme by ABP is here to serve it.",
"ViewLiveDemo": "View Live Theme Demo",
"GetLeptonX": "Get LeptonX Now",
"SeeLeptonXDocumentation": "See LeptonX Documentation",
"SimplifiedMenu": "Simplified menu",
"SimplifiedMenuDescription": "You can easily find the page you are looking for by filtering the menu",
"YourFavoritePages": "Your favorite pages at your reach",
"YourFavoritePagesDescription": "Easily add or remove the page from favorites by clicking the star icon in the upper right corner of the page.",
"BreadCrumbs": "Breadcrumb for seamless switching",
"BreadCrumbsDescription": "Using Breadcrumb, you can switch to the pages at the same level with one-click, even when the left menu is closed, and it works on tablet and mobile responsive!",
"YourMenu": "Your menu as you wish",
"YourMenuDescription": "Customize the directly clickable icons and dropdown boxes on the user menu as you wish. User menu is completely customizable for your needs",
"RtlSupport": "RTL support for your language",
"RtlSupportDescription": "LeptonX Theme supports RTL for your language. The language options are in the settings menu for you to change the language.",
"YourColors": "Your colors on your admin dashboard UI",
"YourColorsDescription": "LeptonX Theme works according to your system preferences and has dashboard light theme, dashboard dark theme, and dashboard semi-dark theme options.",
"ArrangeContentWidth": "Easily arrange your content width",
"ArrangeContentWidthDescription": "Easily change the width of your content area.",
"LeptonXCompatibleWith": "LeptonX Theme is compatible with",
"MobileResponsiveTemplate": "Mobile Responsive Template",
"MobileResponsiveTemplateDescription1": "Access your LeptonX admin dashboard from any device you like.",
"MobileResponsiveTemplateDescription2": "It is designed for you to easily use in every device of yours. It is responsive on mobile devices and tablet sizes.",
"TopMenuLayoutOption": "Top Menu Layout Option",
"TopMenuLayoutOptionDescription1": "If you would like to set up your website with the same admin dashboard, it is possible to do it with LeptonX Theme!",
"TopMenuLayoutOptionDescription2": "Just try the LeptonX top menu layout to make it happen!",
"EasilyCustomizable": "Easily customizable for your brand colors",
"EasilyCustomizableDescription1": "You can customize the LeptonX theme using just a few SCSS variables. No overriding, no extra CSS load!",
"EasilyCustomizableDescription2": "With LeptonX, you can arrange your admin dashboard however you like.",
"IndependentLayout": "Independent layout and content area",
"IndependentLayoutDescription1": "LeptonX's layout infrastructure was designed completely separate from the content.",
"IndependentLayoutDescription2": "This means that you can freely design your project with a content structure other than Bootstrap if you want.",
"MostUsedLibraries": "Most used libraries integrated with LeptonX",
"MostUsedLibrariesDescription1": "LeptonX contains your most used libraries. It allows you to use libraries such as ApexCharts, DataTables, DropZone, FullCalender, JSTree, Select2, Toastr effortlessly.",
"MostUsedLibrariesDescription2": "LeptonX also supports MVC Angular and Blazor specific libraries.",
"CreateAndCustomize": "Create and customize the pages you need in seconds with LeptonX custom pages",
"CreateAndCustomizeDescription": "By using LeptonX Theme you also have access to many pre-made html pages. These include many pages such as login page, blog, FAQ, subscription list, invoice, pricing, file management.",
"LeptonThemeForAdmin": "Lepton Theme for your admin dashboard by",
"LeptonThemeForAdminDescription": "Lepton Theme is still available and will be maintained. If you want to switch to LeptonX Theme as a Lepton Theme user, you can see the documentation to learn how-to.",
"LeptonCompatibleWith": "Lepton Theme is compatible with",
"BlackFridayDiscount": "Black Friday Discount"
}
}

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

@ -360,7 +360,7 @@
"Next": "próximo",
"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.",
"TrialActivatedWarning": "Un usuario tiene derecho a tener solo 1 período de prueba gratuito. Ya utilizó su período de prueba.",
"SaveAndDownload": "Guardar y descargar",
"CompanyNameValidationMessage": "¡El nombre de la empresa es demasiado largo!",
"AddressValidationMessage": "¡La dirección es demasiado larga!",
@ -373,7 +373,7 @@
"TrialLicenseModelInvalidErrorMessage": "Uno de los siguientes campos no es válido: nombre del país, tamaño de la empresa, sector o finalidad de uso.",
"Trial": "Prueba",
"Purchased": "Comprado",
"PurchaseLicense": "Licencia de compra",
"PurchaseLicense": "Comprar {0} licencia",
"PurchaseTrialLicenseMessage": "La fecha de vencimiento de su licencia es {0}. <br> Si desea continuar usando los proyectos que creó durante su período de prueba gratuito, debe cambiar las claves de licencia en sus archivos <code> appsettings.secrets.json </code>. Aquí está su clave de licencia:",
"TrialLicenseExpireMessage": "Está utilizando la licencia de prueba y su licencia de prueba caducará el {0}.",
"TryForFree": "Prueba gratis",
@ -381,6 +381,7 @@
"CommercialNewsletterConfirmationMessage": "Acepto los <a href=\"https://commercial.abp.io/TermsConditions\"> Términos y condiciones </a> y la <a href=\"https://commercial.abp.io/Privacy\"> Política de privacidad </a>.",
"ContinueWithNewOrganization": "Continuar con una nueva organización",
"RenewLicenseEarly": "Si renuevo mi licencia antes, ¿obtendré el año completo?",
"RenewLicenseEarylExplanation": "Cuando renueve su licencia antes de la fecha de vencimiento de su licencia, se agregará 1 año a la fecha de vencimiento de su licencia. Por ejemplo, si su licencia vence el {0} -06-06 y la renueva el {0} -01-01, la fecha de vencimiento de su nueva licencia será {1} -06-06."
"RenewLicenseEarylExplanation": "Cuando renueve su licencia antes de la fecha de vencimiento de su licencia, se agregará 1 año a la fecha de vencimiento de su licencia. Por ejemplo, si su licencia vence el {0} -06-06 y la renueva el {0} -01-01, la fecha de vencimiento de su nueva licencia será {1} -06-06.",
"BlackFridayDiscount": "Descuento de viernes negro"
}
}

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

@ -190,7 +190,7 @@
"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.",
"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.",
"WhenShouldIRenewMyLicenseExplanation": "Jos uusit lisenssisi <strong>1 kuukauden</strong> kuluessa lisenssin vanhenemisesta, seuraavat alennukset sovelletaan: Team License {0} ; Business License {1} ; Enterprise License {2} ; . 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?",
"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:",
@ -360,7 +360,7 @@
"Next": "Seuraava",
"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.",
"TrialActivatedWarning": "Käyttäjällä on oikeus vain yhteen ilmaiseen kokeilujaksoon. Olet jo käyttänyt kokeilujaksosi.",
"SaveAndDownload": "Tallenna ja lataa",
"CompanyNameValidationMessage": "Yrityksen nimi on liian pitkä!",
"AddressValidationMessage": "Osoite on liian pitkä!",
@ -373,7 +373,7 @@
"TrialLicenseModelInvalidErrorMessage": "Yksi seuraavista kentistä on virheellinen: maan nimi, yrityksen koko, toimiala tai käyttötarkoitus.",
"Trial": "Oikeudenkäynti",
"Purchased": "Osti",
"PurchaseLicense": "Osta Lisenssi",
"PurchaseLicense": "Osta {0} lisenssi",
"PurchaseTrialLicenseMessage": "Lisenssisi viimeinen voimassaolopäivä on {0}. <br> Jos haluat jatkaa ilmaisen kokeilujakson aikana luomiesi projektien käyttöä, sinun on vaihdettava lisenssiavaimet <code>appsettings.secrets.json</code>-tiedostoissasi. Tässä on lisenssiavaimesi:",
"TrialLicenseExpireMessage": "Käytät kokeiluversiota, ja kokeilukäyttölupasi vanhenee {0}.",
"TryForFree": "Kokeile ilmaiseksi",
@ -381,6 +381,8 @@
"CommercialNewsletterConfirmationMessage": "Hyväksyn <a href=\"https://commercial.abp.io/TermsConditions\">käyttöehdot</a> ja <a href=\"https://commercial.abp.io/Privacy\">tietosuojakäytännön </a>.",
"ContinueWithNewOrganization": "Jatka uudessa organisaatiossa",
"RenewLicenseEarly": "Jos uusin ajokorttini etuajassa, saanko koko vuoden?",
"RenewLicenseEarylExplanation": "Kun uusit lisenssisi ennen lisenssin vanhenemispäivää, lisenssin voimassaolopäivään lisätään 1 vuosi. Jos lisenssisi vanhenee esimerkiksi {0}-06-06 ja uusit sen {0}-01-01, uusi lisenssisi päättymispäivä on {1}-06-06."
"RenewLicenseEarylExplanation": "Kun uusit lisenssisi ennen lisenssin vanhenemispäivää, lisenssin voimassaolopäivään lisätään 1 vuosi. Jos lisenssisi vanhenee esimerkiksi {0}-06-06 ja uusit sen {0}-01-01, uusi lisenssisi päättymispäivä on {1}-06-06.",
"discountForYears": "{0}% de remise pendant {1} an(s)",
"BlackFridayDiscount": "Black Friday -alennus"
}
}

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

@ -190,7 +190,7 @@
"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.",
"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.",
"WhenShouldIRenewMyLicenseExplanation": "Si vous renouvelez votre licence dans <strong>1 mois</strong> après l'expiration de votre licence, les remises suivantes seront appliquées : licence d'équipe {0} ; licence commerciale {1} ; licence d'entreprise {2}. Toutefois, si vous renouveler votre licence après <strong>1 mois</strong> depuis 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 pas de remise sur votre renouvellement.",
"TrialPlan": "Avez-vous un plan d'essai?",
"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 :",
@ -360,7 +360,7 @@
"Next": "Prochain",
"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.",
"TrialActivatedWarning": "Un utilisateur n'a droit qu'à 1 période d'essai gratuite. Vous avez déjà utilisé votre période d'essai.",
"SaveAndDownload": "Enregistrer et télécharger",
"CompanyNameValidationMessage": "Le nom de l'entreprise est trop long !",
"AddressValidationMessage": "L'adresse est trop longue !",
@ -373,7 +373,7 @@
"TrialLicenseModelInvalidErrorMessage": "L'un des champs suivants n'est pas valide : Nom du pays, Taille de l'entreprise, Secteur d'activité ou Objet de l'utilisation.",
"Trial": "Essai",
"Purchased": "Acheté",
"PurchaseLicense": "Licence d'achat",
"PurchaseLicense": "Acheter la licence {0}",
"PurchaseTrialLicenseMessage": "La date d'expiration de votre licence est {0}. <br> Si vous souhaitez continuer à utiliser les projets que vous avez créés pendant votre période d'essai gratuite, vous devez modifier les clés de licence dans vos fichiers <code>appsettings.secrets.json</code>. Voici votre clé de licence :",
"TrialLicenseExpireMessage": "Vous utilisez la licence d'essai et votre licence d'essai expirera le {0}.",
"TryForFree": "Essayer gratuitement",
@ -381,6 +381,8 @@
"CommercialNewsletterConfirmationMessage": "J'accepte les <a href=\"https://commercial.abp.io/TermsConditions\">Conditions générales</a> et la <a href=\"https://commercial.abp.io/Privacy\">Politique de confidentialité </a>.",
"ContinueWithNewOrganization": "Continuer avec une nouvelle organisation",
"RenewLicenseEarly": "Si je renouvelle ma licence plus tôt, obtiendrai-je l'année complète ?",
"RenewLicenseEarylExplanation": "Lorsque vous renouvelez votre licence avant la date d'expiration de votre licence, 1 an sera ajouté à la date d'expiration de votre licence. Par exemple, si votre licence expire le {0}-06-06 et que vous la renouvelez le {0}-01-01, la nouvelle date d'expiration de votre licence sera le {1}-06-06."
"RenewLicenseEarylExplanation": "Lorsque vous renouvelez votre licence avant la date d'expiration de votre licence, 1 an sera ajouté à la date d'expiration de votre licence. Par exemple, si votre licence expire le {0}-06-06 et que vous la renouvelez le {0}-01-01, la nouvelle date d'expiration de votre licence sera le {1}-06-06.",
"discountForYears": "{0} % de remise pendentif {1} an(s)",
"BlackFridayDiscount": "Remise Black Friday"
}
}

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

@ -190,7 +190,7 @@
"ChangingDevelopers": "क्या मैं भविष्य में अपने संगठन के पंजीकृत डेवलपर्स को बदल सकता हूं?",
"ChangingDevelopersExplanation": "अपने लाइसेंस में नए डेवलपर्स को जोड़ने के अलावा, आप मौजूदा डेवलपर्स को भी बदल सकते हैं (आप एक डेवलपर को हटा सकते हैं और एक ही सीट पर एक नया जोड़ सकते हैं) बिना किसी अतिरिक्त लागत के।",
"WhenShouldIRenewMyLicense": "मुझे अपना लाइसेंस कब नवीनीकृत करना चाहिए?",
"WhenShouldIRenewMyLicenseExplanation": "यदि आप अपने लाइसेंस की समय सीमा समाप्त होने के बाद <strong>1 महीने</strong> के भीतर अपना लाइसेंस नवीनीकृत करते हैं, तो निम्नलिखित छूटें लागू होंगी: टीम लाइसेंस {0}% छूट, व्यवसाय लाइसेंस {1}% छूट, एंटरप्राइज़ लाइसेंस {2}% छूट . यदि आप अपने लाइसेंस की समाप्ति तिथि के बाद <strong>1 महीने</strong> अपने लाइसेंस का नवीनीकरण करते हैं, तो नवीनीकरण मूल्य लाइसेंस खरीद मूल्य के समान होगा और आपके नवीनीकरण पर कोई छूट नहीं होगी।",
"WhenShouldIRenewMyLicenseExplanation": "यदि आप अपने लाइसेंस की समय सीमा समाप्त होने के बाद <strong>1 महीने</strong> के भीतर अपना लाइसेंस नवीनीकृत करते हैं, तो निम्नलिखित छूटें लागू होंगी: टीम लाइसेंस {0} ; व्यवसाय लाइसेंस {1} ; एंटरप्राइज़ लाइसेंस {2} . यदि आप अपने लाइसेंस की समाप्ति तिथि के बाद <strong>1 महीने</strong> अपने लाइसेंस का नवीनीकरण करते हैं, तो नवीनीकरण मूल्य लाइसेंस खरीद मूल्य के समान होगा और आपके नवीनीकरण पर कोई छूट नहीं होगी।",
"TrialPlan": "क्या आपके पास एक परीक्षण योजना है?",
"DoYouAcceptBankWireTransfer": "क्या आप बैंक वायर ट्रांसफर स्वीकार करते हैं?",
"DoYouAcceptBankWireTransferExplanation": "हां, हम बैंक वायर ट्रांसफर स्वीकार करते हैं।<br />बैंक हस्तांतरण के माध्यम से लाइसेंस शुल्क भेजने के बाद, हमें अपनी रसीद और अनुरोधित लाइसेंस के प्रकार accounting@abp.io पर ईमेल करें। हमारे अंतरराष्ट्रीय बैंक खाते की जानकारी:",
@ -360,7 +360,7 @@
"Next": "अगला",
"StartTrial": "मेरा नि:शुल्क परीक्षण प्रारंभ करें",
"ContactUsIssues": "अगर आपको कोई समस्या है तो हमसे संपर्क करें",
"TrialActivatedWarning": "प्रिय {0}, एक उपयोगकर्ता केवल 1 नि:शुल्क परीक्षण अवधि का हकदार है। आप पहले ही अपनी परीक्षण अवधि का उपयोग कर चुके हैं।",
"TrialActivatedWarning": "एक उपयोगकर्ता केवल 1 निशुल्क परीक्षण अवधि का हकदार है। आपने पहले ही अपनी परीक्षण अवधि का उपयोग कर लिया है।",
"SaveAndDownload": "सहेजें और डाउनलोड करें",
"CompanyNameValidationMessage": "कंपनी का नाम बहुत लंबा है!",
"AddressValidationMessage": "पता बहुत लंबा है!",
@ -373,11 +373,13 @@
"TrialLicenseModelInvalidErrorMessage": "निम्न में से एक फ़ील्ड अमान्य है: देश का नाम, कंपनी का आकार, उद्योग या उपयोग का उद्देश्य।",
"Trial": "परीक्षण",
"Purchased": "खरीदी",
"PurchaseLicense": "खरीद लाइसेंस",
"PurchaseLicense": "खरीदें {0} लाइसेंस",
"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>."
"CommercialNewsletterConfirmationMessage": "मैं <a href=\"https://commercial.abp.io/TermsConditions\">नियम और शर्तों</a> और <a href=\"https://commercial.abp.io/Privacy\">गोपनीयता नीति से सहमत हूं </a>.",
"discountForYears": "{1}वर्ष(वर्षों) के लिए {0}% छूट",
"BlackFridayDiscount": "ब्लैक फ्राइडे छूट",
}
}

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

@ -9,15 +9,18 @@
"QuestionCount": "Fennmaradó/összes kérdés",
"Unlimited": "Korlátlan",
"Owners": "Tulajdonosok",
"Owner": "Tulajdonos",
"AddMember": "Tag hozzáadása lehetőségre",
"AddOwner": "Tulajdonos hozzáadása",
"AddDeveloper": "Fejlesztő hozzáadása",
"AddNewOwner": "Új tulajdonos hozzáadása",
"AddNewDeveloper": "Új fejlesztő hozzáadása",
"UserName": "Felhasználónév",
"Name": "Név",
"EmailAddress": "Email cím",
"Developers": "Fejlesztők",
"LicenseType": "Jogosítvány típus",
"Manage": "Kezelése",
"SetDefault": "Beállítás alapértelmezettként",
"DefaultOrganization": "Alapértelmezett",
"StartDate": "Kezdő dátum",
"EndDate": "Befejezés dátuma",
"Modules": "Modulok",
@ -60,8 +63,6 @@
"Themes": "Témák",
"JoinOurNewsletter": "Csatlakozzon hírlevelünkhöz",
"Send": "Küld",
"Learn": "Tanul",
"AdditionalServices": "További szolgáltatások",
"WhatIsABPFramework": "MI AZ ABP KERET?",
"OpenSourceBaseFramework": "Nyílt forráskódú alapkeretrendszer",
"ABPFrameworkExplanation": "<p class=\"lead\">Az ABP Commercial az ABP-keretrendszeren alapul, amely egy nyílt forráskódú és közösségvezérelt webalkalmazás-keretrendszer az ASP.NET Core számára.</p><p>Az ABP-keretrendszer kiváló infrastruktúrát biztosít karbantartható, bővíthető íráshoz. és tesztelhető kód a bevált gyakorlatokkal.</p><p>Beépített és integrált népszerű eszközök, amelyeket már ismer. Alacsony tanulási görbe, könnyű alkalmazkodás, kényelmes fejlődés.</p>",
@ -127,6 +128,8 @@
"TellUsWhatYouNeed": "Mondja el, mire van szüksége.",
"YourMessage": "Az üzeneted",
"YourFullName": "A teljes neved",
"FirstNameField": "Keresztnév",
"LastNameField": "Vezetéknév",
"EmailField": "Email cím",
"YourEmailAddress": "Az email címed",
"HowMayWeHelpYou": "Hogyan segíthetünk?",
@ -157,6 +160,8 @@
"SearchQuestionPlaceholder": "Keressen a gyakran ismételt kérdések között",
"WhatIsTheABPCommercial": "Mi az az ABP Commercial?",
"WhatAreDifferencesThanAbpFramework": "Mi a különbség a nyílt forráskódú ABP Framework és az ABP Commercial között?",
"AbpCommercialMetaTitle": "ABP Commercial – Teljes webfejlesztési platform: {0} | ABP Commercial",
"AbpCommercialMetaDescription": "Az ABP Commercial a nyílt forráskódú ABP keretrendszerre épülő előre beépített alkalmazásmodulok, gyorsfejlesztő eszközök, UI témák és szolgáltatások készlete.",
"ABPCommercialExplanation": "Az ABP Commercial prémium modulok, eszközök, témák és szolgáltatások készlete a nyílt forráskódú <a target=\"_blank\" href=\"{0}\">ABP keretrendszerre</a> épül fel. Az ABP Commercial-t ugyanaz a csapat fejleszti és támogatja az ABP keretrendszer mögött.",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> Az <a target=\"_blank\" href=\"{0}\">ABP-keretrendszer</a> egy moduláris, tematikus, mikroszolgáltatásokkal kompatibilis alkalmazásfejlesztési keretrendszer az ASP.NET Core számára. Teljes architektúrát és erős infrastruktúrát biztosít ahhoz, hogy a saját üzleti kódjára összpontosítson, ahelyett, hogy megismételné magát minden új projektnél. A szoftverfejlesztés bevált gyakorlatain és a már ismert népszerű eszközökön alapul. </p> <p> Az ABP keretrendszer teljesen ingyenes, nyílt forráskódú és közösségvezérelt. Ingyenes témát és néhány előre beépített modult is biztosít (pl. személyazonosság-kezelés és bérlőkezelés).</p>",
"VisitTheFrameworkVSCommercialDocument": "További információért keresse fel a következő linket: <a href=\"{0}\" target=\"_blank\"> {1} </a>",
@ -178,6 +183,7 @@
"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 licensz meghosszabbításával/megújításával továbbra is prémium támogatást kap, valamint kisebb-nagyobb frissítéseket kap a modulokhoz és témákhoz. Emellett folytathatja az új projektek létrehozását. És továbbra is használhatja az ABP Suite-ot, amely felgyorsítja a fejlesztést. A licensz meghosszabbításakor 1 év hozzáadódik a licensz lejárati dátumához.<hr/> <strong>Frissítés:</strong> licenszének frissítésével magasabb licenszcsomagra lép fel, amely további előnyöket biztosít. Tekintse meg a <a href=\"/pricing\">licensz-összehasonlító táblázatot</a> , hogy megtekinthesse a licensztervek közötti különbségeket. <strong>Másrészt, amikor frissít, a licensz lejárati dátuma nem változik!</strong> A licensz lejárati dátumának meghosszabbításához meg kell hosszabbítania a licenszet.",
"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?",
@ -189,9 +195,20 @@
"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 licenszidőm?",
"WhatHappensWhenLicenseEndsExplanation1": "Az ABP Kereskedelmi engedély <a href=\"{0}\" target=\"_blank\">örök érvényű licensz</a> . A licensz lejárta után folytathatja a projekt fejlesztését. És nem köteles megújítani a jogosítványát. licenszéhez egyéves frissítés és támogatási terv tartozik. Ha továbbra is új funkciókat, teljesítménynöveléseket, 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 a licenszet. Ha a licensze 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 a meglévő alkalmazásait örökre továbbfejlesztheti.",
"WhatHappensWhenLicenseEndsExplanation3": "Frissítéseket kaphat a MINOR verzión belüli modulokhoz és témákhoz (kivéve az RC vagy Preview verziókat). Például: ha egy modul v3.2.0-s verzióját használja, továbbra is kaphat frissítéseket a modul v3.2.x-hez (v3.2.1, v3.2.5... stb.). De nem kaphat frissítéseket a következő fő- vagy mellékverzióhoz (például v3.3.0, v3.3.3, 4.xx stb.). Például amikor a licensze lejárt, a legutóbbi kiadás a 4.4.3 volt, és később, amikor a 4.4.4-es és a 4.5.0-s verzió is megjelent, akkor hozzáférhet a v4.4.X-hez, de nem elérheti a v4.5.X.",
"WhatHappensWhenLicenseEndsExplanation4": "A licensz 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": "A <a href=\"{0}\">prémium támogatást</a> már nem kaphatja meg.",
"WhatHappensWhenLicenseEndsExplanation7": "Meghosszabbíthatja (megújíthatja) a licencét, ha továbbra is szeretné igénybe 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ényesek: Csapat Licenc {0}; Üzleti licenc {1}; Vállalati licenc {2}.",
"discountForYears": "{0}% kedvezmény {1} évre",
"WhatHappensWhenLicenseEndsExplanation8": "Az Ön által generált ABP projekteket nem tároljuk a szervereinken. Ezért az Ön felelőssége a letöltött forráskód megőrzése. Amikor a licensze lejár, nincs mód a generált ABP projekt forráskódjának lekérésére.",
"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.",
"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}; Üzleti engedély {1}; Vállalati licenc {2}. Ha azonban a licenc lejárati dátuma óta <strong>1 hónap</strong> után megújítja a licencet, 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": "14 napos próbaidővel rendelkezik az ABP Commercial csapat licenszéhez. További információért látogasson el <a href={0} target='_blank'>ide</a> . Továbbá a Team licenszekre 30 napos pénz-visszafizetési garanciát biztosítunk. Az első 30 napban csak visszatérítést kérhet. A Business és Enterprise licenszek esetén 30 napon belül 60%-os visszatérítést biztosítunk. Ennek az az oka, hogy a Business és Enterprise licenszek 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?",
@ -348,7 +365,6 @@
"WeWillSendYouADownloadLink": "Az e-könyv letöltésére szolgáló linket elküldtük a(z) {0} címre.<br/> Ellenőrizze a beérkező leveleket/levélszemét/spam dobozokat!",
"InvalidFormInputs": "Kérjük, írja be az űrlapon megadott érvényes adatokat.",
"DDDBookEmailBody": "Köszönöm. <br /> Könyve letöltéséhez <a href=\"{0}\">kattintson ide</a>.",
"FreeDDDEBook": "Ingyenes DDD e-könyv",
"StartFree": "Kezdje ingyen",
"FreeTrial": "Ingyenes próbaverzió",
"AcceptsMarketingCommunications": " Igen, szeretnék kapni az ABP Commercial marketingkommunikációit.",
@ -359,25 +375,379 @@
"CompanySize": "Cég Méret",
"Next": "Következő",
"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.",
"ContactUsQuestions": "Ha bármilyen kérdése van, forduljon hozzánk",
"TrialActivatedWarning": "Egy felhasználó csak 1 ingyenes próbaidőszakra jogosult. Ön már használta a próbaidőszakot.",
"ActivationRequirement": "Még egy lépés választja el a próbaidőszak megkezdésétől.<br> Az adatok ellenőrzése után aktiváljuk a licenszét. A licensz aktiválása után e-mailt küldünk a következő címre: <b>{0}</b> . Ne aggódjon, ez a folyamat nem tart sokáig!",
"SaveAndDownload": "Mentés és letöltés",
"CompanyNameValidationMessage": "A cég neve túl hosszú!",
"AddressValidationMessage": "A cím túl hosszú!",
"TaxNoValidationMessage": "Az ADÓ/ÁFA szám túl hosszú!",
"NotesValidationMessage": "A megjegyzésmező túl hosszú!",
"CheckYourBillingInfo": "Számlát csak egyszer készíthet! A számla elkészítése előtt ellenőrizze számlázási adatait.",
"Volo.AbpIo.Commercial:030000": "Már felhasználta a próbaidőszakot.",
"Volo.AbpIo.Commercial:030001": "Ez a szervezetnév már létezik.",
"StartYourFreeTrial": "Indítsa el az ingyenes próbaidőszakát",
"TrialLicenseModelInvalidErrorMessage": "A következő mezők egyike érvénytelen: Ország neve, vállalat mérete, iparág vagy felhasználás célja.",
"Trial": "Próba",
"Purchased": "Vásárolt",
"PurchaseLicense": "Vásárlási engedély",
"PurchaseNow": "Vásároljon most",
"PurchaseTrialLicenseMessage": "A licence lejárati dátuma: {0}. <br> Ha továbbra is használni szeretné az ingyenes próbaidőszak alatt létrehozott projekteket, módosítania kell a licenckulcsokat az <code>appsettings.secrets.json</code> fájlokban. Itt van a licenckulcsod:",
"TrialLicenseExpireMessage": "Ön a próbalicencet használja, és a próbalicence a következő napon lejár: {0}.",
"TryForFree": "Próbáld ki ingyen",
"TrialLicenseExpiredInfo": "A próbalicensz időszaka lejárt!",
"CommercialNewsletterConfirmationMessage": "Elfogadom az <a href=\"https://commercial.abp.io/TermsConditions\">Általános Szerződési Feltételeket</a> és az <a href=\"https://commercial.abp.io/Privacy\">Adatvédelmi irányelveket </a>."
"DowngradeLicensePlan": "Leválthatok alacsonyabb licenszcsomagra a jövőben?",
"DowngradeLicensePlanExplanation": "Nem módosíthatja a meglévő licenszcsomagot. De vásárolhat egy új alacsonyabb licenszcsomagot, és folytathatja a fejlesztést az új licenszen. Miután megvásárolta az alacsonyabb licenszet, csak be kell jelentkeznie az új licenszcsomagba az ABP CLI paranccsal: ` abp login <username> -o <organization> `.",
"LicenseTransfer": "Egy licenszet át lehet adni egyik fejlesztőről a másikra?",
"LicenseTransferExplanation": "Igen! licensz vásárlásakor Ön lesz a licensz tulajdonosa, így hozzáférhet a szervezetkezelési oldalhoz. Egy szervezetnek tulajdonosi és fejlesztői szerepei vannak. A tulajdonosok kezelhetik a fejlesztői helyeket, és fejlesztőket rendelhetnek hozzá. Minden kijelölt fejlesztő az ABP CLI paranccsal jelentkezik be a rendszerbe, és fejlesztési és támogatási jogosultságokkal rendelkezik.",
"UserOwnerDescription": "A szervezet „Tulajdonosa” a fiók adminisztrátora. licenszek vásárlásával és fejlesztők kiosztásával irányítja a szervezetet. A „Tulajdonos” nem írhat kódot az ABP Commercial projektekben, nem töltheti le az ABP mintaprojekteket, és nem tehet fel kérdéseket a támogatási webhelyen. Ha mindezeket meg akarja tenni, fel kell vennie magát fejlesztőként is.",
"UserDeveloperDescription": "A „fejlesztők” kódot írhatnak az ABP Commercial projektekben, letölthetik az ABP mintaprojekteket, és kérdéseket tehetnek fel a támogatási webhelyen. Másrészt a „Fejlesztők” nem kezelhetik ezt a szervezetet.",
"RemoveCurrentUserFromOrganizationWarningMessage": "Ön eltávolítja magát saját szervezetéből. A továbbiakban nem fogja tudni kezelni ezt a szervezetet, megerősíti?",
"RenewExistingOrganizationOrCreateNewOneMessage": "Az alábbi \"Meghosszabbítás most\" gomb(ok)ra kattintva megújíthatja szervezete(i) licenszét, és így 1 évvel meghosszabbíthatja a licensz lejárati dátumát. Ha folytatja a fizetést, új szervezete lesz. Új szervezetnél szeretné folytatni?",
"PurchaseTrialOrganizationOrCreateNewOneMessage": "Van próbaengedélyed. A próbalicensz megvásárlásához kattintson a Vásárlás most gombra. Ha folytatja a fizetést, új szervezete lesz. Új szervezetnél szeretné folytatni?",
"ExtendNow": "Hosszabbítsa meg most",
"CreateNewOrganization": "Hozzon létre egy új szervezetet",
"RenewLicenseEarly": "Ha korán megújítom a jogosítványomat, megkapom a teljes évet?",
"RenewLicenseEarylExplanation": "Ha megújítja a licenszet a licensz lejárati dátuma előtt, 1 év hozzáadódik a licensz lejárati dátumához. Például, ha licensze {0}-06-06-án lejár, és {0}-01-01-én újítja meg, az új licensz lejárati dátuma {1}-06-06.",
"OpenSourceWebApplication": "Nyílt forráskódú webes alkalmazás",
"CompleteWebDevelopment": "Komplett webfejlesztés",
"ABPFrameworkDescription": "Az ABP Framework egy komplett infrastruktúra modern webalkalmazások létrehozásához a szoftverfejlesztés bevált gyakorlatainak és konvencióinak követésével.",
"CommunityDescription": "Ossza meg tapasztalatait az ABP keretrendszerrel!",
"GetStarted": "Fogj neki",
"Views": "nézetek",
"LatestPosts": "Legutóbbi bejegyzések",
"PreBuiltApplication": "Előre beépített alkalmazás",
"DatabaseProviders": "Adatbázis-szolgáltatók",
"UIFrameworks": "UI keretrendszerek",
"UsefulLinks": "Hasznos Linkek",
"Platform": "Felület",
"CoolestCompaniesUseABPCommercial": "A legmenőbb cégek már használják az <span class=\"fw-6\">ABP Commercial-t.</span>",
"UserInterface": "Felhasználói felület",
"APIGateway": "API átjáró",
"Microservice": "Mikroszolgáltatás",
"Database": "Adatbázis",
"Architecture": "Építészet",
"MicroserviceArchitectureExplanation": "Ez egy teljes megoldás-architektúra, amely több alkalmazásból, API-átjáróból, mikroszolgáltatásból és adatbázisokból áll, hogy a legújabb technológiákkal skálázható mikroszolgáltatási megoldást építsenek ki.",
"BusinessLogic": "Üzleti logika",
"DataAccessLayer": "Adatelérési réteg",
"Monolith": "Monolit",
"ModularArchitectureExplanation": "Ez az indítási sablon egy réteges, moduláris és DDD-alapú megoldás-architektúrát kínál tiszta és karbantartható kódbázis létrehozásához.",
"SeeDetails": "Lásd a részleteket",
"SeeDocumentation": "Nézze meg a Dokumentációt",
"Bs5Compatible": "Bootstrap 5 kompatibilis professzionális téma, tökéletes az adminisztrátori webhelyhez.",
"LeptonXTheme": "LeptonX téma",
"LeptonXDark": "LeptonX sötét",
"LeptonXLight": "LeptonX Light",
"LeptonXSemiDark": "LeptonX félsötét",
"BuiltOnBs5Library": "Bootstrap 5 könyvtárra építve",
"FullyCompatibleWithBs5": "100%-ban kompatibilis a Bootstrap 5 HTML struktúrájával és CSS osztályaival",
"ResponsiveAndMobileCompatible": "Reszponzív, mobil kompatibilis, RTL támogatás",
"ProvidesStylesForDatatables": "Stílusokat biztosít az adattáblákhoz",
"MultipleLayoutOptions": "Többféle elrendezési lehetőség",
"EasilyInstallAndUpgrade": "Könnyen telepíthető és frissíthető",
"SupportForum": "Támogatói fórum",
"TrustedBy": "Megbízható",
"OurPricing": "<span class=\"gradient-commercial\">Áraink</span>",
"Plans": "Tervek",
"NameSurname": "Név vezetéknév",
"Unspecified": "Meg nem határozott",
"LicenceType": "Licensz típus",
"LicenseDiscountWarning": "EZ A KEDVEZMÉNYOLDAL ALAPÉRTELMEZETT KEDVEZMÉNYKÓDOT HASZNÁL ÉS A VOLOSOFT FEJLESZTŐK SZÁMÁRA VAN. AZ ALÁBBI VÁSÁRLÁSI LINKEK NEM MŰKÖDNEK.",
"DiscountedLicenseExplanation": "Ezek a licenszárak kis startup vállalkozásokra, egyéni fejlesztőkre, hallgatókra, nonprofit szervezetekre és projektekre vonatkoznak!",
"General": "Általános",
"License": "Licensz",
"Development": "Fejlődés",
"Payment": "Fizetés",
"WatchExplainerVideo": "Találkozzunk! Nézze meg a magyarázó videót",
"LightDarkAndSemiDarkThemes": "Világos, Sötét és Félsötét",
"LeptonXThemeExplanation": "A Lepton Theme módosíthatja a témát a rendszerbeállításoknak megfelelően.",
"PRO": "PRO",
"WelcomeToABPCommercial": "Üdvözöljük az <span class=\"gradient-commercial\">ABP Commercial oldalán!</span>",
"YourAccountDetails": "Fiók adatai",
"OrganizationName": "Szervezet neve",
"AddDevelopers": "Adjon hozzá fejlesztőket",
"StartDevelopment": "Kezdje el a fejlesztést",
"CreateAndRunApplicationUsingStartupTemplate": "Ismerje meg, hogyan hozhat létre és futtathat új webalkalmazást az ABP Commercial indítási sablon használatával.",
"CommunityDescription2": "A <span class=\"fw-6\">Community.abp.io</span> egy olyan hely, ahol az emberek megoszthatnak ABP-vel kapcsolatos cikkeket. Keressen cikkeket, oktatóanyagokat, kódmintákat, esettanulmányokat, és találkozzon Önnel azonos sávban élő emberekkel.",
"UseABPSuiteExplanation": "Az ABP Suite segítségével töltse le a modulok és témák forráskódját.",
"ManageModulesWithSuite": "ABP-moduljait a Suite segítségével is kezelheti.",
"LearnHowToInstallSuite": "Ismerje meg az ABP Suite telepítését és használatát.",
"SeeMore": "Többet látni",
"SeeLess": "Lásd Kevesebb",
"LayeredSolutionStructure": "Réteges megoldás szerkezete",
"LayeredSolutionStructureExplanation": "A megoldás a tartományvezérelt tervezési elvek és minták alapján rétegzett, hogy elkülönítse az üzleti logikát az infrastruktúrától és az integrációktól, és maximalizálja a kód karbantarthatóságát és újrafelhasználhatóságát. Az ABP Framework már tartalmaz absztrakciókat, alaposztályokat és útmutatókat a DDD tényleges megvalósításához az alkalmazásban.",
"MultipleUIOptions": "Több felhasználói felület opció",
"MultipleUIOptionsExplanation": "Szeretjük a felhasználói felület létrehozásának különböző módjait. Ez az indítási megoldás három különböző felhasználói felületi keretrendszert biztosít az üzleti alkalmazás számára.",
"MultipleDatabaseOptions": "Több adatbázis-beállítás",
"MultipleDatabaseOptionsExplanation": "Két adatbázis-szolgáltató lehetősége van (amellett, hogy mindkettőt egyetlen alkalmazásban használhatja). Az Entity Framework Core segítségével bármilyen relációs adatbázissal dolgozhat, és opcionálisan használja a Dappert, ha alacsony szintű lekérdezéseket kell írnia a jobb teljesítmény érdekében. A MongoDB egy másik lehetőség, ha dokumentum alapú NoSQL adatbázist kell használnia. Noha ezek a szolgáltatók jól integráltak, absztraktáltak és előre konfiguráltak, valójában bármilyen adatbázis-rendszerrel kapcsolatba léphet, amelyet a .NET-tel használhat.",
"ModularArchitectureExplanation2": "A a legfőbb szempont az ABP.IO platformon. Az alkalmazás összes funkciója jól elkülönített opcionális modulokra van felosztva. Az indítási megoldás már előre telepítve tartalmazza az alapvető <a href=\"@Url.Page(\"/Modules\")\" class=\"text-primary\">ABP Commercial modulokat</a> . Saját modulokat is létrehozhat, hogy moduláris rendszert építsen fel saját alkalmazásához.",
"MultiTenancyForSaasBusiness": "Többérlős felépítés az Ön SaaS-üzleteihez",
"MultiTenancyForSaasBusinessExplanation": "Az ABP Commercial teljes körű, többbérlős rendszert biztosít SaaS (Software-as-a-Service) rendszereinek létrehozásához. Lehetővé teszi a bérlők számára, hogy megosszák vagy rendelkezzenek saját adatbázisokkal az on-the-fly adatbázis-létrehozó és migrációs rendszerrel.",
"MicroserviceStartupSolution": "Mikroszolgáltatás indítási megoldás",
"MicroserviceArchitectureExplanation2": "Beszerezheti következő mikroszolgáltatási rendszeréhez, hogy kihasználhassa az előre elkészített alapmegoldást és tiszta élményt.",
"PreIntegratedTools": "Előre integrálva a népszerű eszközökbe",
"PreIntegratedToolsExplanation": "A megoldás már integrálva van az ipari szabványos eszközökbe és technológiákba, miközben Ön bármikor módosíthatja azokat, és integrálhatja kedvenc eszközeibe.",
"SingleSignOnAuthenticationServer": "Egyszeri bejelentkezéses hitelesítési kiszolgáló",
"SingleSignOnAuthenticationServerExplanation": "A megoldás rendelkezik egy hitelesítési kiszolgálóalkalmazással, amelyet a többi alkalmazás egyszeri bejelentkezési kiszolgálóként használ API hozzáférés-kezelési szolgáltatásokkal. Az IdentityServeren alapul.",
"WebAppsWithGateways": "2 webalkalmazás 2 API átjáróval",
"WebAppsWithGatewaysExplanation": "A megoldás két webalkalmazást tartalmaz, mindegyik rendelkezik dedikált API-átjáróval (BFF - Backend For Frontend minta).",
"BackOfficeApplication": "Back Office alkalmazás",
"BackOfficeApplicationExplanation": "A rendszer tényleges webalkalmazása, több felhasználói felületi keretbeállítással. Bármilyen üzleti alkalmazást létrehozhat.",
"LandingWebsite": "Landing webhely",
"LandingWebsiteExplanation": "Általános célú/nyilvános webhely, amely többféle célra is használható, például a cég bemutatására, termékei értékesítésére stb.",
"ABPFrameworkEBook": "Mastering ABP Framework e-book",
"MasteringAbpFrameworkEBookDescription": "Tartalmazza az ABP kereskedelmi licenszét",
"FullName": "Teljes név",
"LicenseTypeNotCorrect": "A licensz típusa nem megfelelő!",
"Trainings": "Képzések",
"ChooseTrainingPlaceholder": "Válaszd ki a képzést...",
"DoYouNeedTrainings": "Szüksége van egy ilyen képzésre?",
"DoYouNeedTraining": "Szüksége van a(z) {0} képzésére?",
"GetInTouchUs": "Vegye fel velünk a kapcsolatot",
"ForMoreInformationClickHere": "További információért kattintson <a href='{0}'>ide.</a>",
"IsGetOnboardingTraining": "Szeretnél bevezető és webalkalmazás-fejlesztő tréningen részt venni?",
"OnboardingWebApplicationDevelopmentTrainingMessage": "Képzési naptárának ütemezéséhez a szervezet létrehozása után vegye fel a kapcsolatot a következővel: {0}",
"CustomPurchaseMessage": "A következő lépéshez kattintson a(z) {0} gombra, és lépjen kapcsolatba velünk.",
"Note": "jegyzet",
"AdditionalNote": "Kiegészítő megjegyzés",
"OnboardingTrainingFaqTitle": "Van ABP bevezető képzése?",
"OnboardingTrainingFaqExplanation": "Igen, van ABP képzési szolgáltatásunk, amely segít abban, hogy ABP-projektjét gyorsan elindítsa. Megtanulja az ABP-t az ABP törzscsoport egyik tagjától, és elsajátítja az ABP-projekt megkezdéséhez szükséges készségeket. A bevezető tréningen elmagyarázzuk, hogyan állítsa be fejlesztői környezetét, telepítse a szükséges eszközöket, készítsen egy teljesen működőképes CRUD oldalt. A tréning élőben lesz, a Zoom alkalmazást használjuk, valamint nyitottak vagyunk más online találkozóplatformok használatára is. A képzés nyelve angol lesz. A foglalkozások során felteheti kérdéseit az ABP-vel kapcsolatban is. Mindkét fél számára megfelelő időpontot és dátumot tervezünk. További információért lépjen kapcsolatba velünk az <a href=\"mailto:info@abp.io\">info@abp.io címen</a> .",
"AddBasket": "Kosárba helyez",
"SendTrainingRequest": "Képzési kérelem küldése",
"OnlyEnglishVersionOfThisDocumentIsTheRecentAndValid": "* A dokumentum angol nyelvű változata a legfrissebb, és minden vitában az angol verzió az irányadó.",
"Pricing_Page_Title": "Tervek és árak",
"Pricing_Page_Description": "Válassza ki azokat a szolgáltatásokat és funkciókat, amelyekre ma vállalkozásának szüksége van. Vásároljon ABP kereskedelmi licenszet, és hozzon létre korlátlan számú projektet.",
"Pricing_Page_HurryUp": "Siess!",
"Pricing_Page_BuyLicense": "Vásároljon licenszet <strong>2021-es árakon</strong> január 16-ig!",
"Pricing_Page_ValidForExistingCustomers": "Meglévő ügyfelekre és licenszmegújításokra is érvényes.",
"Pricing_Page_Hint1": "A licensz ára bizonyos számú fejlesztői helyet tartalmaz. Ha több fejlesztője van, bármikor vásárolhat további üléseket.",
"Pricing_Page_Hint2": "További fejlesztői licenszeket vásárolhat most vagy a jövőben. A licenszek szék alapúak, így áthelyezhet egy helyet egy fejlesztőtől a másikhoz.",
"Pricing_Page_Hint3": "licenszével korlátlan számú különböző terméket fejleszthet.",
"Pricing_Page_Hint4": "Az ABP Suite egy olyan eszköz, amely segíti a fejlesztést a termelékenység javítása érdekében. Támogatja a CRUD oldalak generálását és új projektek létrehozását.",
"Pricing_Page_Hint5": "Az összes előre beépített modult használhatja alkalmazásaiban.",
"Pricing_Page_Hint6": "Az összes előre elkészített témát használhatja alkalmazásaiban.",
"Pricing_Page_Hint7": "Az indítási sablon a Visual Studiohoz, amellyel azonnal elkezdheti a projektet. Az összes alapvető modul hozzáadásra és előre konfigurálva van az Ön számára.",
"Pricing_Page_Hint8": "Az ABP-keretrendszer elsajátítása című e-könyv elmagyarázza, hogyan lehet .NET-megoldásokat megvalósítani a legjobb gyakorlatokkal. A könyvet az Amazon.com oldalon árusítják, és licensze keretein belül ingyenesen letöltheti a könyvet.",
"Pricing_Page_Hint9": "Bármely modul forráskódja letölthető. Érdemes lehet a forráskódot hozzáadni a megoldáshoz, hogy radikális változtatásokat hajtson végre, vagy biztonsági okokból egyszerűen megtarthatja magának.",
"Pricing_Page_Hint10": "A licenszek életre szólnak. Ez azt jelenti, hogy örökké folytathatja az alkalmazás fejlesztését. A legfrissebb verzióhoz való hozzáférés és a támogatás megszerzése a licensz időtartamán belül biztosított (1 év, ha nem újítja meg).",
"Pricing_Page_Hint11": "Nincs korlátozás a telepítésre! Tetszőleges számú kiszolgálóra telepítheti, beleértve a felhőszolgáltatásokat vagy a helyszíni szolgáltatásokat.",
"Pricing_Page_Hint12": "A modulokat, témákat és eszközöket frissítheti a legújabb verzióra az aktív licenszidőszakon belül. A licensz lejárta után meg kell újítania, hogy továbbra is frissítéseket kaphasson a hibajavításokról, új funkciókról és fejlesztésekről.",
"Pricing_Page_Hint13": "A prémium támogatást egy évre kaphatja meg (a licensz megújításával meghosszabbítható).",
"Pricing_Page_Hint14": "A csapat- és üzleti licenszeknek van incidens/kérdésszám korlátja. Ha további fejlesztői licenszeket vásárol, az incidensek korlátja fejlesztőnként {0}-kal (a csapatlicensz esetén) vagy {1}-kal (az üzleti licensz esetében) nő.",
"Pricing_Page_Hint15": "Csak az Enterprise licensz tartalmaz magántámogatást. Küldhet e-mailt közvetlenül az ABP csapatának, vagy kérdéseket tehet fel a support.abp.io oldalon privát jegy opcióval. A privát jegyek nem láthatók a nyilvánosság számára.",
"Pricing_Page_Hint16": "Letöltheti az összes ABP téma forráskódját. Érdemes lehet a forráskódot hozzáadni a megoldáshoz, hogy radikális változtatásokat hajtson végre, vagy biztonsági okokból egyszerűen megtarthatja magának.",
"Pricing_Page_Testimonial_1": "Az ABP Commercial lehetővé tette az SC Ventures számára, hogy 9 hónapon belül egy banki szintű többbérlős silo-adatbázis SaaS-platformot szállítson a követelések/tartozások ellátási láncának támogatására, jelentős értékű számlák több integrált horgonyból történő finanszírozásához. Az ABP modularitása lehetővé tette a csapat számára, hogy rekordidő alatt szállítsa, átadja az összes VAPT-t, és a konténeres mikroszolgáltatások veremét teljes CI/CD-n és csővezetékeken keresztül üzembe helyezze.",
"Pricing_Page_Testimonial_2": "Látjuk az ABP Commercial használatának értékét az egyedi fejlesztési projektek általános költségeinek csökkentésére. És a csapat képes egységesíteni a kódmintát a különböző projektfolyamokban. Több lehetőséget látunk a keretrendszerben arra, hogy a korábbinál gyorsabban építsünk új funkciókat. Bízunk benne, hogy folyamatosan látni fogjuk az ABP Commercial kihasználásának értékét.",
"Pricing_Page_Testimonial_3": "Szeretjük az ABP-t. Nem kell mindent a nulláról írnunk. A beépített funkciókból indulunk ki, és csak arra koncentrálunk, amit valóban meg kell írnunk. Ezenkívül az ABP jól felépített, és a kód kiváló minőségű, kevesebb hibával. Ha magunknak kellene megírnunk mindent, amire szükségünk van, akkor lehet, hogy éveket kellene töltenünk. Még egyszer, amit szeretünk, az az, hogy az új verzió, a hibajavítás vagy a fejlesztés nagyon hamar, minden második héten megjelenik. Nem várunk túl sokáig.",
"Pricing_Page_Testimonial_4": "Az ABP Commercial egy fantasztikus termék, amelyet ajánlunk. Kereskedelmi termékek, amelyeket ügyfeleink számára egyetlen konfigurálható platformon értékesíthetnek. Az ugrásszerű indítás, amelyet a keret és az eszközök biztosítanak bármely csapat számára, minden centet megér. Az ABP Commercial volt a legjobban megfelelő az igényeinknek.",
"Pricing_Page_Testimonial_5": "Az ABP Framework nem csak keretrendszer, hanem útmutató is a projektfejlesztéshez/menedzsmenthez, mert DDD, GenericRepository, DI, Microservice és Modularity képzést biztosít. Ha magát a keretrendszert nem is használja, fejlesztheti magát a docs.abp.io-val, amely jól és professzionálisan elkészített (OpenIddict, Redis, Quartz stb.) leírás. Mivel sok minden előre be van építve, jelentősen lerövidíti a projektfejlesztési időt (például bejelentkezési oldal, kivételkezelés, adatszűrés, aéapadatok, audit naplózás, lokalizáció, automatikus API vezérlő stb.). Alkalmazásunkból példaként a Helyi Event Bus-t használtam az állomány karbantartására. Így a rendelési mozgásokat eseményekkel tudom a készlethez igazítani. Csodálatos, hogy nem veszítünk időt a CreationTime-ra, a CreatorId-re. Automatikusan feltöltődnek.",
"AbpBookDownloadArea_ClaimYourEBook": "Igényelje <span class='gradient-framework'>Mastering ABP Framework</span> e-könyvét",
"AddMemberModal_Warning_1": "Ha a hozzáadni kívánt <strong>felhasználónév</strong> nem létezik a rendszerben, kérje meg csapattagját, hogy regisztráljon a <a href='{0}/Account/Register'>(z) {0}</a> webhelyen, és ossza meg fiókja felhasználónevét Önnel.",
"MyOrganizations_Detail_WelcomeMessage": "Üdvözöljük szervezetében, {0}",
"MyOrganizations_Detail_OrganizationManagement": "<span class=\"gradient-commercial\">Szervezetmenedzsment</span>",
"OrganizationDisplayName": "Szervezet megjelenített neve",
"MyOrganizations_Detail_EditDisplayName": "Megjelenítési név szerkesztése",
"MyOrganizations_Detail_UpgradeYourLicense": "Frissítse licenszét",
"MyOrganizations_Detail_LicenseStartAndExpiryDate": "licensz kezdő dátuma – lejárati dátum",
"MyOrganizations_Detail_OwnerRightInfo": "Ön {1} tulajdonosi jogának {0}-át használja.",
"MyOrganizations_Detail_CopyApiKey": "Másolja ki a kulcsot",
"MyOrganizations_Detail_ApiKeyDescription": "Az API-kulcs a(z) <a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">{1} webhelyen tárolt PRO-csomagok tokenje.</a>",
"MyOrganizations_Detail_YourPrivateNugetSource": "Az Ön privát NuGet-forrása <a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">{0}</a>",
"MyOrganizations_Detail_PrivateNugetSourceWarning": "Ez automatikusan hozzáadódik feedként a NuGet.Config-hoz az ABP-megoldásban. Ne ossza meg privát kulcsát illetéktelen felhasználókkal!",
"MyOrganizations_Detail_DeveloperSeatInfo": "Ön {1} fejlesztői helyéből {0}-ot használ.",
"NeedMoreSeatsForYourTeam": "Több hozzáférésre van szüksége a csapatának?",
"MyOrganizations_Detail_PricePerYear": "{0}/év",
"MyOrganizations_Detail_PurchaseDeveloperSeats": "Vásároljon fejlesztői hozzáféréseket",
"Invoices": "Számlák",
"RequestInvoice": "Kérjen számlát",
"OrderNumber": "Rendelésszám",
"Date": "Dátum",
"Products": "Termékek",
"TotalPrice": "Teljes ár",
"ThereIsNoInvoice": "Nincs számla",
"MyOrganizations_Detail_PaymentProviderInfo": "Ha licenszét a <i>(z) {0}</i> átjárón keresztül vásárolta, az elküldi a PDF számlát az Ön e-mail címére, lásd: <a href=\"{1}\" target=\"_blank\">{0} számlázás.</a>",
"MyOrganizations_Detail_PayUInfo": "Ha a <i>PayU</i> átjárón keresztül vásárolt, kattintson a \"Számla kérése\" gombra, és töltse ki a számlázási adatokat.",
"MyOrganizations_Detail_ConclusionInfo": "Számlakérését {0} munkanapon belül lezárjuk.",
"ExtendYourLicense": "Hosszabbítsa meg <span class=\"text-primary\">{0}</span> licenszét",
"Continue": "Folytatni",
"PurchaseLicense": "Vásároljon {0} licencet",
"DownloadInvoiceModal_DownloadInvoice": "Számla letöltése",
"DownloadInvoiceModal_SaveInformationOnlyOnce": "Számlázási adatait csak egyszer mentheti el.",
"InvoiceModal_EnterCompanyName": "Adja meg cégének hivatalos nevét...",
"InvoiceModal_EnterCompanyAddress": "Adja meg cége jogi címét...",
"InvoiceModal_EnterTaxNumber": "Adja meg adószámát, ha van...",
"RequestInvoiceModal_EnterNotes": "Írja be a számlával kapcsolatos extra üzenetet...",
"PrePayment_PayWithIyzico": "Iyzico-val fog fizetni",
"ContinueToCheckout": "Tovább a Pénztárhoz",
"PrePayment_IyzicoRedirectionInfo": "A vásárlás biztonságos befejezéséhez átirányítjuk az Iyzico Payment Gateway oldalra.",
"PrePayment_IyzicoAcceptVisaAndMasterCard": "Az Iyzico Visa és MasterCard kártyákat fogad el.",
"Purchase": "Vásárlás",
"AcceptTermsAndConditions": "Elolvastam, megértettem és elfogadom az <a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">adatvédelmi szabályzatot</a> , a <a href=\"{1}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">feltételeket</a> és az <a href=\"{2}\" target=\"_blank\" class=\"text-primary\">EULA-t.</a>",
"AcceptTermsAndConditionsWarningMessage": "Kérjük, fogadja el az adatvédelmi szabályzatot és a feltételeket",
"SelectGatewayToContinue": "Kérjük, válasszon egy átjárót a folytatáshoz!",
"GatewaySelection_SelectGateway": "Válasszon fizetési átjárót",
"GatewaySelection_RedirectionMessage": "Ezután átirányítjuk a kiválasztott fizetési átjáró webhelyére a tranzakcióhoz.",
"PaymentSucceed_PaymentSuccessMessage": "Sikeres fizetés",
"PaymentSucceed_ThanksForPurchase": "Köszönjük a vásárlást!",
"PaymentSucceed_CreateYourOrganization": "Hozd létre a szervezetedet",
"PaymentSucceed_AddMeAsDeveloper": "Én is fejlesztő vagyok, vegyen fel fejlesztőként a szervezetembe.",
"PaymentSucceed_CreateOrganization": "Szervezet létrehozása",
"PaymentSucceed_OrganizationDescription": "Egy szervezet fejlesztőkből és tulajdonosokból áll. A fejlesztők olyan felhasználók, akik kódot írnak az ABP projektben, és részesülnek a <a href=\"{0}\" target=\"_blank\">{1}</a> webhely előnyeiből. A tulajdonosok olyan felhasználók, akik fejlesztői helyeket osztanak ki és kezelik a licenszelést.",
"PaymentSucceed_ViewOrganization": "Kattintson ide a szervezet megtekintéséhez",
"Purchase_TotalAnnualPrice": "ÖSSZESEN <small class=\"opacity-50\">(éves díj)</small>",
"Purchase_TrainingPrice": "Képzési ár",
"Purchase_OnboardingTraining": "ABP Onboarding és webalkalmazás-fejlesztés élő képzés",
"TotalDeveloperPrice": "Teljes fejlesztői ár",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> fejlesztőnként",
"Purchase_IncludedDeveloperInfo": "{0} {1} tartalmazza.",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "A(z) <span class=\"fw-6\">{0} licensz</span> {1} fejlesztőt tartalmaz. Hozzáadhat további fejlesztőket most vagy később.",
"StartupTemplates_Page_Title": "Az indítási sablonok",
"StartupTemplates_Page_Description": "Az ABP Commercial lehetővé teszi, hogy bármilyen bonyolultságú megoldást készítsen. Két fő előre beépített indítási megoldást kínál. Kiválaszthatja az igényeinek megfelelőt, és ráépítheti saját egyedi megoldását.",
"MicroserviceStartupSolutionForDotnet": "Microservice Startup Solution for .NET",
"MonolithSolutionForDotnet": "Monolith (moduláris) megoldás .NET-hez",
"TrainingDetailsHeaderInfo_TrainingHour": "{0} óra",
"Trainings_Content": "A képzés tartalma",
"Trial_Page_StartYourFreeTrial": "Indítsa el az <span class=\"gradient-commercial\">ingyenes próbaverziót</span>",
"TrialLicenseFeatures": "Élvezheti az ABP összes kereskedelmi funkcióját",
"TrialPeriodDays": "{0} napos csapatengedéllyel rendelkezik",
"TrialForumSupportIncident": "{0} fórumtámogatási incidense lesz",
"Contact_Page_Title": "Lépjen kapcsolatba az ABP fejlesztési csapatával",
"Contact_Page_Description": "Lépjen kapcsolatba az ABP Development csapatával, ha segítségre van szüksége, vagy ossza meg gondolatait és véleményét! Az ABP támogatási csapata készen áll a segítségére.",
"Demo_Page_Title": "Hozzon létre egy demót",
"Demo_Page_Description": "Hozzon létre egy ingyenes demót az ABP Commercial indítósablon segítségével létrehozott mintaalkalmazás megtekintéséhez. Ne ismételje magát a gyakori alkalmazási követelmények miatt.",
"Discounted_Page_Title": "Kedvezményes ár",
"Discounted_Page_Description": "Válassza ki azokat a szolgáltatásokat és funkciókat, amelyekre ma vállalkozásának szüksége van. Vásároljon ABP kereskedelmi licenszet, és hozzon létre korlátlan számú projektet",
"Faq_Page_Title": "Gyakran Ismételt Kérdések (GYIK)",
"Faq_Page_Description": "Van kérdésed? Keressen gyakran ismételt kérdésekre, vagy tegyen fel nekünk kérdést a kapcsolatfelvételi űrlap segítségével.",
"Faq_Page_SwiftCode": "Swift kód",
"Faq_Page_BankName": "A bank neve",
"Faq_Page_AccountName": "Felhasználónév",
"Faq_Page_AccountNumber": "Számlaszám",
"Faq_Page_Currency": "Valuta",
"Faq_Page_VatNumber": "Adószám",
"Faq_Page_OtherCurrenciesInfo": "A többi pénznemhez lásd <a href='{0}'>az összes fiókot</a>",
"ModuleDetail_Page_Title": "Modul részletei – {0}",
"ProjectCreatedSuccess_Page_Title": "A projekt létrehozva",
"ProjectCreatedSuccess_Page_Description": "ABP projektje sikeresen létrejött!",
"Suite_Page_Title": "ABP Suite – CRUD oldalak létrehozása",
"Suite_Page_Description": "Az ABP Commercial gyors alkalmazásfejlesztési eszközöket biztosít a fejlesztők termelékenységének növelése érdekében. Az ABP Suite segítségével könnyedén hozhat létre CRUD oldalakat.",
"Themes_Page_Title": "Modern és funkcionális felhasználói felület témák",
"Themes_Page_Description": "Az ABP Commercial több professzionális, modern felhasználói felület témát kínál. Hozzon létre egy ingyenes bemutatót, hogy gyorsan áttekintse, hogyan néz ki a felhasználói felület.",
"Tools_Page_Title": "Gyors alkalmazásfejlesztő eszközök",
"Tools_Page_Description": "Az ABP Commercial gyors alkalmazásfejlesztési eszközöket biztosít a fejlesztők termelékenységének növelése érdekében. Az ABP Suite segítségével könnyedén hozhat létre CRUD oldalakat.",
"DeveloperPrice": "Fejlesztői ár",
"AdditionalDeveloperPaymentInfoSection_AdditionalDevelopers": "{0} <small>fejlesztő</small>",
"LicenseRemainingDays": "<span>{0}</span> napig",
"ExtendPaymentInfoSection_Description": "A licensz meghosszabbításával/megújításával továbbra is <a href=\"{0}\" target=\"_blank\">prémium támogatást</a> kap. Emellett kisebb-nagyobb frissítéseket is kaphat a modulokhoz és témákhoz. Folytathatja új projektek létrehozását. És továbbra is használhatja az <a href=\"{1}\" target=\"_blank\">ABP Suite</a> -ot, amely felgyorsítja a fejlesztést.",
"LicenseRenewalPrice": "Licensz megújítási ára",
"LicensePrice": "Licensz ára",
"TrialLicensePaymentInfoSection_Description": "<strong>Licensz vásárlása: licensz</strong> megvásárlásával továbbra is <a href=\"{0}\" target=\"_blank\" rel=\"noopener\">prémium támogatást</a> kap . Emellett kisebb-nagyobb frissítéseket is kaphat a modulokhoz és témákhoz. Folytathatja új projektek létrehozását. És továbbra is használhatja az <a href=\"{1}\" target=\"_blank\" rel=\"noopener\">ABP Suite</a> -ot, amely felgyorsítja a fejlesztést.<br> Tekintse meg a <a href=\"{2}\" target=\"_blank\" rel=\"noopener\">licensz-összehasonlító táblázatot</a> a licensztípusok közötti különbségek ellenőrzéséhez.",
"SelectTargetLicense": "Válassza a Target License lehetőséget",
"UpgradePaymentInfoSection_ExtendMyLicenseForOneYear": "Igen, meghosszabbítom az engedélyem lejárati dátumát 1 évvel.",
"UpgradePaymentInfoSection_WantToExtendLicense": "Szeretné meghosszabbítani licenszét további {0} évre?",
"UpgradePaymentInfoSection_UpgradingWillNotExtendLicense": "A frissítés nem hosszabbítja meg a licensz lejárati dátumát!",
"UpgradePaymentInfoSection_LicenseUpgradeDescription": "Licenszének frissítésével magasabb licensztípusra lép, amely további előnyökhöz juttatja Önt. Tekintse meg a <a href=\"/Pricing\" target=\"_blank\">licensz-összehasonlító táblázatot</a> a licensztípusok közötti különbségek ellenőrzéséhez.",
"Landing_Page_CustomerStories": "Ügyféltörténetek",
"Landing_Page_OurGreatCustomers": "Nagyszerű vásárlóink",
"Landing_Page_WebApplicationFramework": "Web Application Framework",
"Landing_Page_WebDevelopmentPlatform": "Webfejlesztési platform",
"Landing_Page_CompleteWebDevelopmentPlatform": "Komplett webfejlesztési platform",
"Landing_Page_TryFreeDemo": "Próbáld ki az ingyenes demót",
"Landing_Page_StartingPointForWebApplications": "Az ASP.NET Core alapú webes alkalmazások kiindulópontja! A legjobb webfejlesztés érdekében az ABP-keretrendszeren alapul.",
"Landing_Page_AbpProvidesSoftwareInfrastructure": "Az ABP Framework szoftver infrastruktúrát biztosít kiváló webalkalmazások fejlesztéséhez a legjobb gyakorlatokkal.",
"Landing_Page_MicroserviceCompatibleArchitecture": "Mikroszolgáltatással kompatibilis architektúra",
"Landing_Page_PreBuiltApplicationModulesAndThemes": "Előre elkészített alkalmazásmodulok és témák",
"Landing_Page_MultiTenantArchitecture": "Több bérlős építészet",
"Landing_Page_MultiTenancyDescription": "SaaS alkalmazások egyszerűen! Integrált több bérlés az adatbázistól a felhasználói felületig.",
"Landing_Page_DDDIntroduction": "DDD minták és elvek alapján tervezték és fejlesztették. Réteges modellt biztosít az alkalmazáshoz.",
"Landing_Page_CrossCuttingConcernsInfo": "Teljes infrastruktúra az engedélyezéshez, érvényesítéshez, kivételkezeléshez, gyorsítótárazáshoz, auditnaplózáshoz, tranzakciókezeléshez és még sok máshoz.",
"Landing_Page_PreBuiltApplicationModules": "Előre beépített alkalmazásmodulok, amelyek a leggyakoribb webalkalmazási követelményeket tartalmazzák.",
"Landing_Page_ChatModule": "Csevegés",
"Landing_Page_DocsModule": "Dokumentumok",
"Landing_Page_FileManagementModule": "Dokumentumok",
"Landing_Page_CustomerStory_1": "Az ABP Commercial lehetővé tette az SC Ventures számára, hogy 9 hónapon belül egy banki szintű többbérlős silo-adatbázis SaaS-platformot szállítson a követelések/tartozások ellátási láncának támogatására, jelentős értékű számlák több integrált horgonyból történő finanszírozásához. Az ABP modularitása lehetővé tette a csapat számára, hogy rekordidő alatt szállítson, átadja az összes VAPT-t, és a konténeres mikroszolgáltatások veremét teljes CI/CD-n és csővezetékeken keresztül üzembe helyezze.",
"Landing_Page_CustomerStory_2": "Látjuk az ABP Commercial használatának értékét az egyedi fejlesztési projektek általános költségeinek csökkentésére. És a csapat képes egységesíteni a kódmintát a különböző projektfolyamokban. Több lehetőséget látunk a keretrendszerben arra, hogy a korábbinál gyorsabban építsünk új funkciókat. Bízunk benne, hogy folyamatosan látni fogjuk az ABP Commercial kihasználásának értékét.",
"Landing_Page_CustomerStory_3": "Szeretjük az ABP-t. Nem kell mindent a nulláról írnunk. A beépített funkciókból indulunk ki, és csak arra koncentrálunk, amit valóban meg kell írnunk. Ezenkívül az ABP jól felépített, és a kód kiváló minőségű, kevesebb hibával. Ha magunknak kellene megírnunk mindent, amire szükségünk van, akkor lehet, hogy éveket kellene töltenünk. Még egyszer, amit szeretünk, az az, hogy az új verzió, a hibajavítás vagy a fejlesztés nagyon hamar, minden második héten megjelenik. Nem várunk túl sokáig.",
"Landing_Page_CustomerStory_4": "Az ABP Commercial egy fantasztikus termék, amelyet ajánlunk. Kereskedelmi termékek, amelyeket ügyfeleink számára egyetlen konfigurálható platformon értékesíthetnek. Az ugrásszerű indítás, amelyet a keret és az eszközök biztosítanak bármely csapat számára, minden centet megér. Az ABP Commercial volt a legjobban megfelel az igényeinknek.",
"Landing_Page_AdditionalServices": "Egyedi vagy mennyiségi licensz, beépítés, élő képzés és támogatás, egyedi projektfejlesztés, meglévő projektek portolása és így tovább...",
"Landing_Page_IncludedDeveloperLicenses": "<strong>{0}</strong> fejlesztői licenszet tartalmaz",
"Landing_Page_SeeOnDemo": "Lásd a demóban",
"Landing_Page_LeptonThemes": "Lepton Themes",
"Landing_Page_AccountModuleDescription_1": "Ez a modul egy alkalmazás hitelesítési rendszerét valósítja meg;",
"Landing_Page_AccountModuleDescription_2": "<strong>Bejelentkezési</strong> oldalt biztosít a felhasználónévvel és jelszóval",
"Landing_Page_AccountModuleDescription_3": "<strong>Regisztrációs</strong> oldalt biztosít új fiók létrehozásához.",
"Landing_Page_AccountModuleDescription_4": "<strong>Elfelejtett jelszó</strong> oldalt biztosít a <strong>jelszó-visszaállítási</strong> hivatkozás e-mailben történő elküldéséhez.",
"Landing_Page_AccountModuleDescription_5": "E- <strong>mail megerősítési</strong> funkciót biztosít felhasználói felülettel.",
"Landing_Page_AccountModuleDescription_6": "<strong>Kétfaktoros</strong> hitelesítést valósít meg (SMS és e-mail).",
"Landing_Page_AccountModuleDescription_7": "Megvalósítja <strong>a felhasználói zárolást</strong> (zárolja a fiókot a beállított időtartamra, ha bizonyos számú sikertelen bejelentkezés történik érvénytelen hitelesítő adatok miatt egy bizonyos időintervallumon belül).",
"Landing_Page_AccountModuleDescription_8": "Megvalósítja <strong>az Identity Server</strong> hitelesítési kiszolgáló felhasználói felületét és funkcióit.",
"Landing_Page_AccountModuleDescription_9": "Lehetővé teszi a <strong>bérlők közötti váltást</strong> több bérlős környezetben.",
"Landing_Page_AccountModuleDescription_10": "Lehetővé teszi az alkalmazás <strong>felhasználói felületének nyelvének</strong> módosítását.",
"Landing_Page_AuditLoggingModuleDescription_1": "Ez a modul biztosítja a naplózási felületet a naplózási infrastruktúra számára. Lehetővé teszi az ellenőrzési naplóbejegyzések és entitásmódosítási naplók keresését, szűrését és megjelenítését.",
"Landing_Page_AuditLoggingModuleDescription_2": "Az ellenőrzési naplóbejegyzés kritikus adatokat tartalmaz minden ügyfélkérelemről:",
"Landing_Page_AuditLoggingModuleDescription_3": "URL, böngésző, IP-cím, ügyfélnév",
"Landing_Page_AuditLoggingModuleDescription_4": "A felhasználó",
"Landing_Page_AuditLoggingModuleDescription_5": "HTTP metódus, HTTP visszatérési állapotkód",
"Landing_Page_AuditLoggingModuleDescription_6": "Siker/kudarc, kivétel részletei, ha rendelkezésre állnak",
"Landing_Page_AuditLoggingModuleDescription_7": "Kérelem végrehajtásának időtartama",
"Landing_Page_AuditLoggingModuleDescription_8": "Az entitások létrejöttek, törölve vagy frissítve ebben a kérésben (módosított tulajdonságokkal).",
"Landing_Page_BloggingModuleDescription_1": "Ez a modul egy egyszerű blogot ad hozzá az ABP-alkalmazáshoz;",
"Landing_Page_BloggingModuleDescription_2": "Lehetővé teszi több blog létrehozását egyetlen alkalmazásban.",
"Landing_Page_BloggingModuleDescription_3": "Támogatja a Markdown formátumot.",
"Landing_Page_BloggingModuleDescription_4": "Lehetővé teszi megjegyzés írását egy bejegyzéshez.",
"Landing_Page_BloggingModuleDescription_5": "Lehetővé teszi címkék hozzárendelését a blogbejegyzésekhez.",
"Landing_Page_BloggingModuleDescription_6": "Tekintse meg a <a href=\"blog.abp.io\">blog.abp.io</a> webhelyet a blogolási modul élő példájaként.",
"Landing_Page_ChatModuleDescription_1": "Ez a modul valós idejű üzenetküldésre szolgál az alkalmazásban lévő felhasználók között.",
"Landing_Page_ChatModuleDescription_2": "Valós idejű üzenetküldés a chat oldalon.",
"Landing_Page_ChatModuleDescription_3": "Keressen felhasználókat az alkalmazásban új beszélgetésekhez.",
"Landing_Page_ChatModuleDescription_4": "Névjegylista a legutóbbi beszélgetésekhez.",
"Landing_Page_ChatModuleDescription_5": "Új üzenet értesítések, amikor a felhasználó egy másik oldalt néz.",
"Landing_Page_ChatModuleDescription_6": "Teljes olvasatlan üzenetek száma jelvény a menüikonon.",
"Landing_Page_ChatModuleDescription_7": "Az olvasatlan üzenetek száma az egyes beszélgetéseknél.",
"Landing_Page_ChatModuleDescription_8": "Lusta betöltött beszélgetések.",
"Landing_Page_DocsModuleDescription_1": "Ez a modul műszaki dokumentációs weboldalak létrehozására szolgál;",
"Landing_Page_DocsModuleDescription_2": "Beépített <strong>GitHub integráció</strong> : közvetlenül írhat és kezelhet dokumentumokat a GitHubon.",
"Landing_Page_DocsModuleDescription_3": "<strong>Verziókezelési</strong> támogatás közvetlenül integrálva a GitHub-kiadásokba.",
"Landing_Page_DocsModuleDescription_4": "Támogatja a <strong>több nyelvet</strong> (az alapértelmezett nyelv tartalék támogatásával).",
"Landing_Page_DocsModuleDescription_5": "Támogatja a <strong>Markdown</strong> és HTML formátumokat.",
"Landing_Page_DocsModuleDescription_6": "<strong>Navigációt</strong> és <strong>vázlatos</strong> részt biztosít.",
"Landing_Page_DocsModuleDescription_7": "Lehetővé teszi <strong>több projektdokumentáció</strong> tárolását egyetlen alkalmazásban.",
"Landing_Page_DocsModuleDescription_8": "Hivatkozások a fájlra a GitHubon, így bárki könnyedén hozzájárulhat a <strong>Szerkesztés linkre kattintva</strong> .",
"Landing_Page_DocsModuleDescription_9": "A GitHub-forrás mellett lehetővé teszi egy mappa egyszerű használatát dokumentációs forrásként.",
"Landing_Page_FileManagementModuleDescription_1": "Fájlok feltöltése, letöltése és rendezése hierarchikus mappastruktúrában.",
"Landing_Page_FileManagementModuleDescription_2": "Ez a modul fájlok feltöltésére, letöltésére és hierarchikus mappastruktúrába rendezésére szolgál. Több bérléssel is kompatibilis, és meghatározhatja bérlői teljes méretkorlátját.",
"Landing_Page_FileManagementModuleDescription_3": "Ez a modul a <a href=\"https://docs.abp.io/en/abp/latest/Blob-Storing\">BLOB Storing</a> rendszeren alapul, így különböző tárolószolgáltatókat használhat a fájltartalom tárolására.",
"Landing_Page_IdentityModuleDescription_1": "Ez a modul egy alkalmazás Felhasználó és szerepkör rendszerét valósítja meg;",
"Landing_Page_IdentityModuleDescription_2": "A <a href=\"https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity\">Microsoft ASP.NET Core Identity</a> könyvtárára épül.",
"Landing_Page_IdentityModuleDescription_3": "<strong>Szerepkörök</strong> és <strong>felhasználók</strong> kezelése a rendszerben. Egy felhasználónak <strong>több szerepe</strong> is lehet.",
"Landing_Page_IdentityModuleDescription_4": "Állítsa be az <strong>engedélyeket</strong> szerep- és felhasználói szinteken.",
"Landing_Page_IdentityModuleDescription_5": "Felhasználónként <strong>kétfaktoros hitelesítés</strong> és felhasználói <strong>kizárás</strong> engedélyezése/letiltása.",
"Landing_Page_IdentityModuleDescription_6": "Az alapvető <strong>felhasználói profil</strong> és <strong>jelszó</strong> kezelése.",
"Landing_Page_IdentityModuleDescription_7": "<strong>Igénytípusok</strong> kezelése a rendszerben, igények beállítása szerepkörökhöz és felhasználókhoz.",
"Landing_Page_IdentityModuleDescription_8": "Beállítási oldal a <strong>jelszó összetettségének</strong> , a felhasználói bejelentkezés, a fiók és a kizárás kezeléséhez.",
"Landing_Page_IdentityModuleDescription_9": "Támogatja <strong>az LDAP</strong> hitelesítést.",
"Landing_Page_IdentityModuleDescription_10": "<strong>E-mail és telefonszám</strong> ellenőrzést biztosít.",
"Landing_Page_IdentityModuleDescription_11": "Támogatja a közösségi bejelentkezési integrációkat (Twitter, Facebook, GitHub stb.).",
"Landing_Page_IdentityModuleDescription_12": "<strong>Szervezeti egységek</strong> kezelése a rendszerben.",
"Landing_Page_PaymentModuleDescription_1": "Integrációt biztosít a különböző fizetési átjárókhoz.",
"Landing_Page_PaymentModuleDescription_2": "Ez a modul integrációt biztosít a fizetési átjárókhoz, így könnyen kaphat fizetést ügyfeleitől.",
"Landing_Page_PaymentModuleDescription_3": "Ez a modul a következő fizetési átjárókat támogatja",
"Welcome_Page_UseSameCredentialForCommercialWebsites": "Ugyanazokat a hitelesítési adatokat használja a <a href=\"https://commercial.abp.io\" class=\"text-primary\">commercial.abp.io</a> és a <a href=\"https://support.abp.io\" class=\"text-primary\">support.abp.io fájlokhoz</a> .",
"WatchCrudPagesVideo": "Nézze meg a \"CRUD oldalak létrehozása az ABP Suite segítségével\" videót!",
"WatchGeneratingFromDatabaseVideo": "Nézze meg az \"ABP Suite: CRUD-oldalak generálása meglévő adatbázistáblákból\" videót!",
"WatchTakeCloserLookVideo": "Tekintse meg a „Nézze meg közelebbről a kódgenerálást: ABP Suite” videót!",
"ConfirmedEmailAddressRequiredToStartTrial": "A próbalicenc elindításához rendelkeznie kell egy megerősített e-mail címmel.",
"EmailVerificationMailNotSent": "Nem sikerült elküldeni az ellenőrző e-mailt.",
"GetConfirmationEmail": "<a href=\"javascript:void(0);\" id=\"{0}\">Kattintson ide, ha megerősítő e-mailt szeretne kapni,</a> ha még nem kapta meg.",
"WhichLicenseTypeYouAreInterestedIn": "Melyik licenctípus érdekli?",
"DontTakeOurWordForIt": "Ne fogadd el a szavunkat...",
"ReadAbpCommercialUsersWantYouToKnow": "Olvassa el, hogy az ABP Commercial felhasználói mit szeretnének tudni",
"Testimonial_ShortDescription_1": "Az ABP modularitása lehetővé tette, hogy a csapat időben teljesítsen.",
"Testimonial_ShortDescription_2": "Építsen új funkciókat gyorsabban, mint korábban.",
"Testimonial_ShortDescription_3": "A beépített funkciókból indulunk ki, és csak arra koncentrálunk, amit valóban meg kell írnunk.",
"Testimonial_ShortDescription_4": "Az ABP Commercial volt a legjobban megfelelő az igényeinknek.",
"OnlineReviewersOnAbpCommercial": "Online vélemények az ABP Commercial-ról",
"SeeWhatToldAboutAbpCommercial": "Tekintse meg, mit mondtak az ABP Commercialról, és írja le gondolatait, ha akarja.",
"ExtendPaymentInfoSection_DeveloperPrice": "{0} x Developer(s) Price",
"ExtendPaymentInfoSection_DiscountRate": "Kedvezmény: {0}%",
"TotalNetPrice": "Total Net Price",
"BlackFridayDiscount": "Black Friday Kedvezmény"
}
}

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

@ -360,7 +360,7 @@
"Next": "Næsta",
"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.",
"TrialActivatedWarning": "Notandi á aðeins rétt á að fá 1 ókeypis prufutímabil. Þú hefur þegar notað prufutímabilið þitt.",
"SaveAndDownload": "Vista og hala niður",
"CompanyNameValidationMessage": "Nafn fyrirtækis er of langt!",
"AddressValidationMessage": "Heimilisfang er of langt!",
@ -373,11 +373,12 @@
"TrialLicenseModelInvalidErrorMessage": "Einn af eftirfarandi reitum er ógildur: heiti lands, stærð fyrirtækis, iðnaður eða tilgangur notkunar.",
"Trial": "Prufu aðgangur",
"Purchased": "Keypt",
"PurchaseLicense": "Keypt leyfi",
"PurchaseLicense": "Kaupa {0} leyfi",
"PurchaseTrialLicenseMessage": "Gildistími leyfis þíns er {0}. <br> Ef þú vilt halda áfram að nota verkefnin sem þú bjóst til á ókeypis prufutímabilinu þarftu að breyta leyfislyklunum í <code> appsettings.secrets.json </code> skránni þinn. Hér er leyfislykillinn þinn:",
"TrialLicenseExpireMessage": "Þú ert að nota prufuleyfið og prufuleyfið rennur út {0}.",
"TryForFree": "Prófaðu ókeypis",
"TrialLicenseExpiredInfo": "Prófunartímabil þitt er útrunnið!",
"CommercialNewsletterConfirmationMessage": "Ég samþykki <a href=\"https://commercial.abp.io/TermsConditions\">skilmálana</a> og <a href=\"https://commercial.abp.io/Privacy\">persónuverndarstefnuna </a>."
"CommercialNewsletterConfirmationMessage": "Ég samþykki <a href=\"https://commercial.abp.io/TermsConditions\">skilmálana</a> og <a href=\"https://commercial.abp.io/Privacy\">persónuverndarstefnuna </a>.",
"BlackFridayDiscount": "Black Friday afsláttur"
}
}

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

@ -190,7 +190,7 @@
"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.",
"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.",
"WhenShouldIRenewMyLicenseExplanation": "Se rinnovi la licenza entro <strong>1 mese</strong> dopo la scadenza della licenza, verranno applicati i seguenti sconti: Licenza Team {0} ; Licenza Business {1} ; Licenza Enterprise {2} . 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?",
"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:",
@ -360,7 +360,7 @@
"Next": "Prossimo",
"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.",
"TrialActivatedWarning": "Un utente ha diritto a un solo periodo di prova gratuito. Hai già utilizzato il periodo di prova.",
"SaveAndDownload": "Salva e Scarica",
"CompanyNameValidationMessage": "Il nome dell'azienda è troppo lungo!",
"AddressValidationMessage": "L'indirizzo è troppo lungo!",
@ -373,11 +373,13 @@
"TrialLicenseModelInvalidErrorMessage": "Uno dei seguenti campi non è valido: nome del paese, dimensione dell'azienda, settore o scopo di utilizzo.",
"Trial": "Processo",
"Purchased": "Acquistato",
"PurchaseLicense": "Acquista licenza",
"PurchaseLicense": "Acquista {0} licenza",
"PurchaseTrialLicenseMessage": "La data di scadenza della tua licenza è {0}. <br> Se desideri continuare a utilizzare i progetti che hai creato durante il periodo di prova gratuito, devi modificare le chiavi di licenza nei file <code>appsettings.secrets.json</code>. Ecco la tua chiave di licenza:",
"TrialLicenseExpireMessage": "Stai utilizzando la licenza di prova e la tua licenza di prova scadrà il {0}.",
"TryForFree": "Prova gratis",
"TrialLicenseExpiredInfo": "Il periodo della tua licenza di prova è scaduto!",
"CommercialNewsletterConfirmationMessage": "Accetto i <a href=\"https://commercial.abp.io/TermsConditions\">Termini e condizioni</a> e la <a href=\"https://commercial.abp.io/Privacy\">Informativa sulla privacy </a>."
"CommercialNewsletterConfirmationMessage": "Accetto i <a href=\"https://commercial.abp.io/TermsConditions\">Termini e condizioni</a> e la <a href=\"https://commercial.abp.io/Privacy\">Informativa sulla privacy </a>.",
"discountForYears": "{0}% di sconto per {1} anno/i",
"BlackFridayDiscount": "Sconto Black Friday"
}
}

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

@ -179,7 +179,7 @@
"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?",
"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.",
"LicenseRenewalCostExplanation": "De prijs voor het verlengen (verlengen) van de standaard Teamlicentie is ${0}, de standaard Business-licentie is ${1} en de standaard Enterprise-licentie is ${2}. Als u al klant bent, <a href='{3}' target='_blank'>log in op uw account</a> om de huidige verlengingsprijzen te bekijken.",
"HowDoIRenewMyLicense": "Hoe verleng ik mijn licentie?",
"HowDoIRenewMyLicenseExplanation": "U kunt uw licentie verlengen door naar de <a href='{0}' target='_blank'>organisatiebeheerpagina</a> te gaan. Om te profiteren van onze gereduceerde tarieven voor vroege verlenging, moet u ervoor zorgen dat u verlengt voordat uw licentie verloopt. U hoeft zich echter geen zorgen te maken dat u niet weet wanneer uw mogelijkheid tot vervroegde verlenging afloopt. Je ontvangt 3 herinneringsmails voordat je abonnement afloopt. We sturen ze 30 dagen, 7 dagen en 1 dag voor de vervaldatum.",
"IsSourceCodeIncluded": "Bevat mijn licentie de broncode van de commerciële modules en thema's?",
@ -360,7 +360,7 @@
"Next": "Volgende",
"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.",
"TrialActivatedWarning": "Een gebruiker heeft recht op slechts 1 gratis proefperiode. Je hebt je proefperiode al gebruikt.",
"SaveAndDownload": "Opslaan en downloaden",
"CompanyNameValidationMessage": "Bedrijfsnaam is te lang!",
"AddressValidationMessage": "Adres is te lang!",
@ -373,11 +373,12 @@
"TrialLicenseModelInvalidErrorMessage": "Een van de volgende velden is ongeldig: Landnaam, Bedrijfsgrootte, Industrie of Gebruiksdoel.",
"Trial": "Proces",
"Purchased": "Gekocht",
"PurchaseLicense": "Licentie kopen",
"PurchaseLicense": "Koop {0} licentie",
"PurchaseTrialLicenseMessage": "De vervaldatum van uw licentie is {0}. <br> Als je de projecten die je tijdens je gratis proefperiode hebt gemaakt wilt blijven gebruiken, moet je de licentiesleutels in je <code>appsettings.secrets.json</code>-bestanden wijzigen. Hier is uw licentiesleutel:",
"TrialLicenseExpireMessage": "U gebruikt de proeflicentie en uw proeflicentie verloopt op {0}.",
"TryForFree": "Probeer gratis",
"TrialLicenseExpiredInfo": "Uw proeflicentieperiode is verlopen!",
"CommercialNewsletterConfirmationMessage": "Ik ga akkoord met de <a href=\"https://commercial.abp.io/TermsConditions\">Algemene voorwaarden</a> en het <a href=\"https://commercial.abp.io/Privacy\">Privacybeleid </a>."
"CommercialNewsletterConfirmationMessage": "Ik ga akkoord met de <a href=\"https://commercial.abp.io/TermsConditions\">Algemene voorwaarden</a> en het <a href=\"https://commercial.abp.io/Privacy\">Privacybeleid </a>.",
"BlackFridayDiscount": "Black Friday korting"
}
}

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

@ -360,7 +360,7 @@
"Next": "Następny",
"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.",
"TrialActivatedWarning": "Użytkownikowi przysługuje tylko 1 darmowy okres próbny. Już wykorzystałeś swój okres próbny.",
"SaveAndDownload": "Zapisz i pobierz",
"CompanyNameValidationMessage": "Nazwa firmy jest za długa!",
"AddressValidationMessage": "Adres jest za długi!",
@ -373,11 +373,12 @@
"TrialLicenseModelInvalidErrorMessage": "Jedno z następujących pól jest nieprawidłowe: nazwa kraju, wielkość firmy, branża lub cel użytkowania.",
"Trial": "Test",
"Purchased": "Zakupione",
"PurchaseLicense": "Licencja kupna",
"PurchaseLicense": "Kup licencję {0}",
"PurchaseTrialLicenseMessage": "Data wygaśnięcia Twojej licencji to {0}. <br> Jeśli chcesz nadal korzystać z projektów utworzonych podczas bezpłatnego okresu próbnego, musisz zmienić klucze licencyjne w plikach <code>appsettings.secrets.json</code>. Oto twój klucz licencyjny:",
"TrialLicenseExpireMessage": "Korzystasz z licencji próbnej, a Twoja licencja próbna wygaśnie w dniu {0}.",
"TryForFree": "Wypróbuj za darmo",
"TrialLicenseExpiredInfo": "Twoja licencja próbna wygasła!",
"CommercialNewsletterConfirmationMessage": "Wyrażam zgodę na <a href=\"https://commercial.abp.io/TermsConditions\">Warunki</a> i <a href=\"https://commercial.abp.io/Privacy\">Politykę prywatności </a>."
"CommercialNewsletterConfirmationMessage": "Wyrażam zgodę na <a href=\"https://commercial.abp.io/TermsConditions\">Warunki</a> i <a href=\"https://commercial.abp.io/Privacy\">Politykę prywatności </a>.",
"BlackFridayDiscount": "Zniżka Black Friday"
}
}

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

@ -190,7 +190,7 @@
"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.",
"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.",
"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} ; Licença de negócios {1} ; Licença empresarial {2} . 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?",
"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:",
@ -360,7 +360,7 @@
"Next": "Próximo",
"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.",
"TrialActivatedWarning": "Um usuário tem direito a apenas 1 período de teste gratuito. Você já usou seu período de teste.",
"SaveAndDownload": "Salvar e baixar",
"CompanyNameValidationMessage": "O nome da empresa é muito longo!",
"AddressValidationMessage": "O endereço é muito longo!",
@ -373,11 +373,13 @@
"TrialLicenseModelInvalidErrorMessage": "Um dos campos a seguir é inválido: nome do país, tamanho da empresa, setor ou finalidade do uso.",
"Trial": "Tentativas",
"Purchased": "Comprado",
"PurchaseLicense": "Licença de Compra",
"PurchaseLicense": "Comprar {0} licença",
"PurchaseTrialLicenseMessage": "A data de expiração da sua licença é {0}. <br> Se você deseja continuar usando os projetos que criou durante o período de teste gratuito, você precisa alterar as chaves de licença em seus arquivos <code> appsettings.secrets.json </code>. Aqui está sua chave de licença:",
"TrialLicenseExpireMessage": "Você está usando a licença de teste e sua licença de teste irá expirar em {0}.",
"TryForFree": "Experimentar gratuitamente",
"TrialLicenseExpiredInfo": "Seu período de licença de teste expirou!",
"CommercialNewsletterConfirmationMessage": "Eu concordo com os <a href=\"https://commercial.abp.io/TermsConditions\"> Termos e Condições </a> e a <a href=\"https://commercial.abp.io/Privacy\"> Política de Privacidade </a>"
"CommercialNewsletterConfirmationMessage": "Eu concordo com os <a href=\"https://commercial.abp.io/TermsConditions\"> Termos e Condições </a> e a <a href=\"https://commercial.abp.io/Privacy\"> Política de Privacidade </a>",
"discountForYears": "{0}% de desconto por {1} ano(s)",
"BlackFridayDiscount": "Desconto de Black Friday"
}
}

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

@ -360,7 +360,7 @@
"Next": "Următorul",
"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ă.",
"TrialActivatedWarning": "Un utilizator are dreptul la o singură perioadă de probă gratuită. Ai folosit deja perioada de probă.",
"SaveAndDownload": "Salvați și descărcați",
"CompanyNameValidationMessage": "Numele companiei este prea lung!",
"AddressValidationMessage": "Adresa este prea lungă!",
@ -373,11 +373,12 @@
"TrialLicenseModelInvalidErrorMessage": "Unul dintre următoarele câmpuri este nevalid: Numele țării, Mărimea companiei, Industria sau Scopul utilizării.",
"Trial": "Proces",
"Purchased": "Cumparat",
"PurchaseLicense": "Licență de cumpărare",
"PurchaseLicense": "Achiziționați licența {0}",
"PurchaseTrialLicenseMessage": "Data de expirare a licenței este {0}. <br> Dacă doriți să continuați să utilizați proiectele pe care le-ați creat în timpul perioadei de probă gratuită, trebuie să schimbați cheile de licență din fișierele <code>appsettings.secrets.json</code>. Iată cheia de licență:",
"TrialLicenseExpireMessage": "Utilizați licența de probă și licența de probă va expira pe {0}.",
"TryForFree": "Încearcă pe gratis",
"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>."
"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>.",
"BlackFridayDiscount": "Black Friday Discount"
}
}

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

@ -360,7 +360,7 @@
"Next": "Следующий",
"StartTrial": "Начать бесплатную пробную версию",
"ContactUsIssues": "Свяжитесь с нами, если у вас возникнут проблемы",
"TrialActivatedWarning": "Уважаемый {0}, пользователю предоставляется только 1 бесплатный пробный период. Вы уже использовали пробный период.",
"TrialActivatedWarning": "Пользователь имеет право на 1 бесплатный пробный период. Вы уже использовали пробный период.",
"SaveAndDownload": "Сохранить и скачать",
"CompanyNameValidationMessage": "Название компании слишком длинное!",
"AddressValidationMessage": "Адрес слишком длинный!",
@ -373,11 +373,12 @@
"TrialLicenseModelInvalidErrorMessage": "Одно из следующих полей недействительно: название страны, размер компании, отрасль или цель использования.",
"Trial": "Испытание",
"Purchased": "Куплено",
"PurchaseLicense": "Купить лицензию",
"PurchaseLicense": "Купить {0} лицензию",
"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>."
"CommercialNewsletterConfirmationMessage": "Я согласен с <a href=\"https://commercial.abp.io/TermsConditions\"> Положениями и условиями </a> и <a href=\"https://commercial.abp.io/Privacy\"> Политикой конфиденциальности </a>.",
"BlackFridayDiscount": "Черная пятница Скидка"
}
}

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

@ -190,7 +190,7 @@
"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.",
"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.",
"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} ; Obchodná licencia {1} ; Enterprise licencia {2} . 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?",
"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:",
@ -360,7 +360,7 @@
"Next": "Ďalšie",
"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.",
"TrialActivatedWarning": "Používateľ má nárok len na 1 bezplatné skúšobné obdobie. Skúšobné obdobie ste už využili.",
"SaveAndDownload": "Uložiť a stiahnuť",
"CompanyNameValidationMessage": "Názov spoločnosti je príliš dlhý!",
"AddressValidationMessage": "Adresa je príliš dlhá!",
@ -373,11 +373,13 @@
"TrialLicenseModelInvalidErrorMessage": "Jedno z nasledujúcich polí je neplatné: Názov krajiny, Veľkosť spoločnosti, Odvetvie alebo Účel použitia.",
"Trial": "Skúška",
"Purchased": "Kúpené",
"PurchaseLicense": "Zakúpiť licenciu",
"PurchaseLicense": "Kúpiť licenciu {0}",
"PurchaseTrialLicenseMessage": "Dátum vypršania platnosti vašej licencie je {0}. <br> Ak chcete pokračovať v používaní projektov, ktoré ste vytvorili počas bezplatného skúšobného obdobia, musíte zmeniť licenčné kľúče vo svojich súboroch <code>appsettings.secrets.json</code>. Tu je váš licenčný kľúč:",
"TrialLicenseExpireMessage": "Používate skúšobnú licenciu a platnosť vašej skúšobnej licencie vyprší {0}.",
"TryForFree": "Skúste zadarmo",
"TrialLicenseExpiredInfo": "Vaše skúšobné licenčné obdobie vypršalo!",
"CommercialNewsletterConfirmationMessage": "I agree to the <a href=\"https://commercial.abp.io/TermsConditions\">Terms & Conditions</a> and <a href=\"https://commercial.abp.io/Privacy\">Privacy Policy</a>."
"CommercialNewsletterConfirmationMessage": "I agree to the <a href=\"https://commercial.abp.io/TermsConditions\">Terms & Conditions</a> and <a href=\"https://commercial.abp.io/Privacy\">Privacy Policy</a>.",
"discountForYears": "{0} % odpusteného prívesku {1} an(ov)",
"BlackFridayDiscount": "Black Friday zľava"
}
}

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

@ -360,7 +360,7 @@
"Next": "Naslednji",
"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.",
"TrialActivatedWarning": "Uporabnik ima pravico do samo 1 brezplačnega preizkusnega obdobja. Preizkusno obdobje ste že izkoristili.",
"SaveAndDownload": "Shrani in prenesi",
"CompanyNameValidationMessage": "Ime podjetja je predolgo!",
"AddressValidationMessage": "Naslov je predolg!",
@ -373,11 +373,12 @@
"TrialLicenseModelInvalidErrorMessage": "Eno od naslednjih polj je neveljavno: ime države, velikost podjetja, panoga ali namen uporabe.",
"Trial": "Sojenje",
"Purchased": "Kupljeno",
"PurchaseLicense": "Nakup licence",
"PurchaseLicense": "Nakup licence {0}",
"PurchaseTrialLicenseMessage": "Datum poteka vaše licence je {0}. <br> Če želite še naprej uporabljati projekte, ki ste jih ustvarili med brezplačnim preizkusnim obdobjem, morate spremeniti licenčne ključe v datotekah <code>appsettings.secrets.json</code>. Tukaj je vaš licenčni ključ:",
"TrialLicenseExpireMessage": "Uporabljate preizkusno licenco in vaša preizkusna licenca bo potekla {0}.",
"TryForFree": "Poskusite brezplačno",
"TrialLicenseExpiredInfo": "Vaša preizkusna licenca je potekla!",
"CommercialNewsletterConfirmationMessage": "Strinjam se s <a href=\"https://commercial.abp.io/TermsConditions\">pogoji in določili</a> in <a href=\"https://commercial.abp.io/Privacy\">pravilnikom o zasebnosti </a>."
"CommercialNewsletterConfirmationMessage": "Strinjam se s <a href=\"https://commercial.abp.io/TermsConditions\">pogoji in določili</a> in <a href=\"https://commercial.abp.io/Privacy\">pravilnikom o zasebnosti </a>.",
"BlackFridayDiscount": "Popust Black Friday"
}
}

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

@ -178,7 +178,7 @@
"HowManyDevelopers": "ABP Commercial'da kaç geliştirici çalışabilir?",
"HowManyDevelopersExplanation": "ABP Ticari lisansları geliştirici başınadır. Farklı lisans türlerinin farklı geliştirici sınırları vardır. Ancak, ihtiyacınız olduğunda herhangi bir lisans türüne daha fazla geliştirici ekleyebilirsiniz. Lisans türleri, geliştirici sınırları ve ek geliştirici maliyetleri için <a href=\"{0}\">fiyatlar</a> sayfasına bakın.",
"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?\"",
"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 koltukları 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 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?",
@ -363,7 +363,7 @@
"Next": "Sonraki",
"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.",
"TrialActivatedWarning": "Bir kullanıcının yalnızca 1 ücretsiz deneme süresi hakkı vardır. Deneme sürenizi zaten kullandınız.",
"SaveAndDownload": "Kaydet ve İndir",
"CompanyNameValidationMessage": "Şirket adı çok uzun!",
"AddressValidationMessage": "Adres çok uzun!",
@ -376,7 +376,7 @@
"TrialLicenseModelInvalidErrorMessage": "Aşağıdaki alanlardan biri geçersiz: Ülke Adı, Şirket Büyüklüğü, Sektör veya Kullanım Amacı.",
"Trial": "Duruşma",
"Purchased": "satın alındı",
"PurchaseLicense": "Satın alma lisansı",
"PurchaseLicense": "{0} lisansı satın al",
"PurchaseTrialLicenseMessage": "Lisans sona erme tarihiniz {0}. <br> Ücretsiz deneme süreniz boyunca oluşturduğunuz projeleri kullanmaya devam etmek istiyorsanız, <code>appsettings.secrets.json</code> dosyalarınızdaki lisans anahtarlarını değiştirmeniz gerekir. İşte lisans anahtarınız:",
"TrialLicenseExpireMessage": "Deneme lisansını kullanıyorsunuz ve deneme lisansınızın süresi {0} tarihinde sona erecek.",
"TryForFree": "Ücretsiz deneyin",
@ -385,6 +385,367 @@
"RemoveCurrentUserFromOrganizationWarningMessage": "Organizasyondan kendinizi kaldırıyorsunuz. Artık bu organizasyonu yönetemeyeceksiniz, onaylıyor musunuz? ",
"RenewExistingOrganizationOrCreateNewOneMessage": "Aşağıdaki \"Şimdi Uzat\" buton(lar)una tıklayarak organizasyon(lar)ınızın lisansını yenileyebilir ve böylece lisans geçerlilik süresini 1 yıl uzatabilirsiniz. Ödemeye devam ederseniz, yeni bir organizasyonunuz olacak. Yeni bir organizasyonla devam etmek istiyor musunuz? ",
"ExtendNow": "Şimdi Uzat",
"ContinueWithNewOrganization": "Yeni bir organizasyon ile devam et"
"ContinueWithNewOrganization": "Yeni bir organizasyon ile devam et",
"Owner": "sahip",
"AddNewOwner": "Yeni sahip ekle",
"AddNewDeveloper": "Yeni geliştirici ekle",
"FirstNameField": "Ad",
"LastNameField": "Soyad",
"AbpCommercialMetaTitle": "ABP Commercial - Eksiksiz Web Geliştirme Platformu : {0} | ABP Commercial",
"AbpCommercialMetaDescription": "ABP Commercial, açık kaynaklı ABP çerçevesinin üzerine inşa edilmiş önceden oluşturulmuş uygulama modülleri, hızlı geliştirme araçları, kullanıcı arayüzü temaları ve hizmetlerinden oluşan bir settir.",
"WhatHappensWhenLicenseEnds": "Lisans sürem sona erdiğinde ne olacak?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP Ticari lisansı <a href=\"{0}\" target=\"_blank\">kalıcı bir 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 bir yıllık güncelleme ve destek planı ile 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'yi kullanarak yeni çözümler oluşturamazsınız, ancak mevcut uygulamalarınızı sonsuza kadar geliştirmeye devam edebilirsiniz.",
"WhatHappensWhenLicenseEndsExplanation3": "MINOR sürümünüzdeki modüller ve temalar için güncellemeleri alabileceksiniz (RC veya Önizleme sürümleri hariç). Örneğin: bir modülün v3.2.0 sürümünü kullanıyorsanız, bu modülün v3.2.x (v3.2.1, v3.2.5... vb.) sürümleri için güncellemeleri almaya devam edebilirsiniz. Ancak bir sonraki büyük veya küçük sürüm için güncelleme alamazsınız (v3.3.0, v3.3.3, 4.x.x... gibi). Örneğin, lisansınızın süresi dolduğunda, en son sürüm v4.4.3 idi ve daha sonra hem 4.4.4 sürümünü hem de 4.5.0 sürümünü yayınladı, v4.4.X'e erişebilirsiniz, ancak v4.5.X'e erişemezsiniz.",
"WhatHappensWhenLicenseEndsExplanation4": "Lisansınız sona erdikten sonra ABP Ticari platformuna eklenen yeni modülleri ve temaları yükleyemezsiniz.",
"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.",
"WhatHappensWhenLicenseEndsExplanation8": "Oluşturduğunuz ABP projeleri sunucularımızda saklanmamaktadır. Bu nedenle indirdiğiniz kaynak kodunu saklamak sizin sorumluluğunuzdadır. Lisansınızın süresi dolduğunda, oluşturulan ABP proje kaynak kodunuzu almanın bir yolu yoktur.",
"TrialPlanExplanation": "ABP Ticari takım lisansı için 14 günlük deneme süresi var. Daha fazla bilgi için <a href={0} target='_blank'>burayı</a> ziyaret edin. Ayrıca, Takım lisansları için 30 günlük para iade garantisi veriyoruz. Sadece ilk 30 gün içinde geri ödeme talebinde bulunabilirsiniz. İşletme ve Kurumsal lisansları için 30 gün içinde %60 geri ödeme sağlıyoruz. Bunun nedeni, İşletme ve Kurumsal lisanslarının tüm modüllerin ve temaların tam kaynak kodunu içermesidir.",
"ContactUsQuestions": "Herhangi bir sorunuz varsa bizimle iletişime geçin",
"ActivationRequirement": "Denemenizi başlatmanıza son bir adım kaldı.<br>Bilgilerinizi kontrol ettikten sonra lisansınızı etkinleştireceğiz. Lisansınız etkinleştirildiğinde, <b>{0}</b> adresine bir e-posta göndereceğiz. Merak etmeyin bu süreç uzun sürmeyecek!",
"PurchaseNow": "Şimdi satın al",
"DowngradeLicensePlan": "Gelecekte daha düşük bir lisans planına geçebilir miyim?",
"DowngradeLicensePlanExplanation": "Mevcut lisans planınızı düşüremezsiniz. Ancak yeni bir daha düşük lisans planı satın alabilir ve yeni lisans üzerinde geliştirmenize devam edebilirsiniz. Daha düşük bir lisans satın aldıktan sonra, ABP CLI komutu ile yeni lisans planınıza giriş yapmanız yeterlidir: ` abp login <username> -o <organization> `.",
"LicenseTransfer": "Lisans bir geliştiriciden diğerine aktarılabilir mi?",
"LicenseTransferExplanation": "Evet! Bir lisans satın aldığınızda, lisans sahibi olursunuz, dolayısıyla kuruluş yönetim sayfasına erişiminiz olur. Bir kuruluşun sahip ve geliştirici rolleri vardır. Sahipler geliştirici lisanslarını yönetebilir ve geliştiriciler atayabilir. Atanan her geliştirici, ABP CLI komutu sisteme girecek ve geliştirme ve destek izinlerine sahip olacaktır.",
"UserOwnerDescription": "Kuruluşun 'Sahibi' bu hesabın yöneticisidir. Lisansları satın alarak ve geliştiricileri tahsis ederek organizasyonu yönetir. Bir 'Sahip' ABP Ticari projelerine kod yazamaz, ABP örnek projelerini indiremez ve destek web sitesinde soru soramaz. Tüm bunları yapmak istiyorsanız, kendinizi de geliştirici olarak eklemeniz gerekir.",
"UserDeveloperDescription": "'Geliştiriciler' ABP Ticari projelerinde kod yazabilir, ABP örnek projelerini indirebilir ve destek web sitesinde sorular sorabilir. Öte yandan, 'Geliştiriciler' bu organizasyonu yönetemezler.",
"PurchaseTrialOrganizationOrCreateNewOneMessage": "Deneme lisansınız var. Deneme lisansınızı satın almak için Şimdi Satın Al düğmesine tıklayın. Ödeme işlemine devam ederseniz, yeni bir kuruluşunuz olacak. Yeni bir organizasyon ile devam etmek istiyor musunuz?",
"CreateNewOrganization": "Yeni bir organizasyon oluştur",
"RenewLicenseEarly": "Lisansımı erken yenilersem, tüm yılı alacak mıyım?",
"RenewLicenseEarylExplanation": "Lisansınızı lisans bitiş tarihinizden önce yenilediğinizde, lisans bitiş tarihinize 1 yıl eklenecektir. Örneğin, lisansınızın süresi {0}-06-06 tarihinde doluyorsa ve lisansınızı {0}-01-01 tarihinde yenilediyseniz, yeni lisans bitiş tarihiniz {1}-06-06 olacaktır.",
"OpenSourceWebApplication": "Açık Kaynak Web Uygulaması",
"CompleteWebDevelopment": "Tam Web Geliştirme",
"ABPFrameworkDescription": "ABP Framework, yazılım geliştirme ve sözleşmelerin en iyi uygulamalarını takip ederek modern web uygulamaları oluşturmak için eksiksiz bir altyapıdır.",
"CommunityDescription": "ABP Çerçevesi ile ilgili deneyimlerinizi paylaşın!",
"GetStarted": "Başlayın",
"Views": "Görünümler",
"LatestPosts": "Son Gönderiler",
"PreBuiltApplication": "Önceden Oluşturulmuş Uygulama",
"DatabaseProviders": "Veritabanı Sağlayıcıları",
"UIFrameworks": "UI Çerçeveleri",
"UsefulLinks": "Faydalı Bağlantılar",
"Platform": "Platform",
"CoolestCompaniesUseABPCommercial": "En havalı şirketler zaten <span class=\"fw-6\">ABP Commercial</span> kullanıyor.",
"UserInterface": "Kullanıcı Arayüzü",
"APIGateway": "API Ağ Geçidi",
"Microservice": "Mikro Hizmet",
"Database": "Veritabanı",
"Architecture": "Mimari",
"MicroserviceArchitectureExplanation": "Bu, en son teknolojilerle ölçeklenebilir bir mikro hizmet çözümü oluşturmak için birden çok uygulama, API ağ geçidi, mikro hizmet ve veritabanlarından oluşan eksiksiz bir çözüm mimarisidir.",
"BusinessLogic": "İş Mantığı",
"DataAccessLayer": "Veri Erişim Katmanı",
"Monolith": "Monolit",
"ModularArchitectureExplanation": "Bu başlangıç şablonu, temiz ve sürdürülebilir bir kod tabanı oluşturmak için katmanlı, modüler ve DDD tabanlı bir çözüm mimarisi sağlar.",
"SeeDetails": "Ayrıntıları Gör",
"SeeDocumentation": "Belgelere göz atın",
"Bs5Compatible": "Bootstrap 5 uyumlu profesyonel tema, yönetici web siteniz için mükemmel.",
"LeptonXTheme": "LeptonX Tema",
"LeptonXDark": "LeptonX Koyu",
"LeptonXLight": "LeptonX Açık",
"LeptonXSemiDark": "LeptonX Yarı Koyu",
"BuiltOnBs5Library": "Bootstrap 5 kütüphanesi üzerine inşa edilmiştir.",
"FullyCompatibleWithBs5": "Bootstrap 5 HTML yapısı ve CSS sınıfları ile %100 uyumlu",
"ResponsiveAndMobileCompatible": "Responsive, mobil uyumlu, RTL desteği",
"ProvidesStylesForDatatables": "Datatables için stil sağlar",
"MultipleLayoutOptions": "Çoklu düzen seçenekleri",
"EasilyInstallAndUpgrade": "Kolay kurulum ve yükseltme",
"SupportForum": "Destek Forumu",
"TrustedBy": "Güvenenler",
"OurPricing": "<span class=\"gradient-commercial\">Fiyatlandırmamız</span>",
"Plans": "Planlar",
"NameSurname": "Ad Soyad",
"Unspecified": "Belirtilmemiş",
"LicenceType": "Lisans Türü",
"LicenseDiscountWarning": "BU İNDİRİM SAYFASI VARSAYILAN İNDİRİM KODU VE VOLOSOFT GELİŞTİRİCİLERİ İÇİN KULLANILMAKTADIR. AŞAĞIDAKİ SATIN ALMA LİNKLERİ ÇALIŞMAZ.",
"DiscountedLicenseExplanation": "Bu lisans fiyatları küçük girişimler, bireysel geliştiriciler, öğrenciler, kar amacı gütmeyen kuruluşlar ve projeler içindir!",
"General": "Genel",
"License": "Lisans",
"Development": "Geliştirme",
"Payment": "Ödeme",
"WatchExplainerVideo": "Hadi Tanışalım! Açıklayıcı Videoyu İzleyin",
"LightDarkAndSemiDarkThemes": "Açık, koyu ve yarı koyu temalar",
"LeptonXThemeExplanation": "Lepton Teması, temanızı sistem ayarlarınıza göre değiştirebilir.",
"PRO": "PRO",
"WelcomeToABPCommercial": "<span class=\"gradient-commercial\">ABP Commercial</span>'a hoş geldiniz!",
"YourAccountDetails": "Hesap bilgileriniz",
"OrganizationName": "Organizasyon Adı",
"AddDevelopers": "Geliştiriciler Ekle",
"StartDevelopment": "Geliştirmeye Başla",
"CreateAndRunApplicationUsingStartupTemplate": "ABP Ticari başlangıç şablonunu kullanarak yeni bir web uygulamasının nasıl oluşturulacağını ve çalıştırılacağını öğrenin.",
"CommunityDescription2": "<span class=\"fw-6\">community.abp.io</span>, insanların ABP ile ilgili makaleleri paylaşabileceği bir yerdir. Makaleler, öğreticiler, kod örnekleri, vaka çalışmaları arayın ve sizinle aynı kulvarda olan insanlarla tanışın.",
"UseABPSuiteExplanation": "Modüllerin ve temaların kaynak kodunu indirmek için ABP Suite'i kullanın.",
"ManageModulesWithSuite": "ABP modüllerinizi Suite ile de yönetebilirsiniz.",
"LearnHowToInstallSuite": "ABP Suite'in nasıl kurulacağını ve kullanılacağını öğrenin.",
"SeeMore": "Daha fazla göster",
"SeeLess": "Daha az göster",
"LayeredSolutionStructure": "Katmanlı Çözüm Yapısı",
"LayeredSolutionStructureExplanation": "Çözüm, iş mantığınızı altyapıdan ve entegrasyonlardan izole etmek ve kodun sürdürülebilirliğini ve yeniden kullanılabilirliğini en üst düzeye çıkarmak için Etki Alanı Güdümlü Tasarım ilkelerine ve modellerine dayalı olarak katmanlandırılmıştır. ABP Framework, uygulamanız için DDD'yi gerçekten uygulamak üzere soyutlamalar, temel sınıflar ve kılavuzlar sağlamaktadır.",
"MultipleUIOptions": "Çoklu UI Seçenekleri",
"MultipleUIOptionsExplanation": "Kullanıcı Arayüzü oluşturmanın farklı yollarını seviyoruz. Bu başlangıç çözümü, iş uygulamanız için üç farklı UI çerçeve seçeneği sunuyor.",
"MultipleDatabaseOptions": "Çoklu Veritabanı Seçenekleri",
"MultipleDatabaseOptionsExplanation": "İki veritabanı sağlayıcısı seçeneğiniz var (her ikisini de tek bir uygulamada kullanmanın yanı sıra). Herhangi bir ilişkisel veritabanıyla çalışmak için Entity Framework Core'u kullanın ve daha iyi bir performans için düşük seviyeli sorgular yazmanız gerektiğinde isteğe bağlı olarak Dapper'ı kullanın. Belge tabanlı bir NoSQL veritabanı kullanmanız gerekiyorsa MongoDB başka bir seçenektir. Bu sağlayıcılar iyi entegre edilmiş, soyutlanmış ve önceden yapılandırılmış olsa da, .NET ile kullanabileceğiniz herhangi bir veritabanı sistemiyle etkileşime girebilirsiniz. ",
"ModularArchitectureExplanation2": "Modülerlik, ABP.IO platformunda birinci sınıf bir vatandaştır. Uygulamalardaki tüm işlevler iyi izole edilmiş opsiyonel modüllere ayrılmıştır. Başlangıç çözümü zaten temel <a href=\"@Url.Page(\"/Modules\")\" class=\"text-primary\">ABP Ticari modülleri</a> önceden yüklenmiş olarak gelir. Kendi uygulamanız için modüler bir sistem oluşturmak üzere kendi modüllerinizi de oluşturabilirsiniz.",
"MultiTenancyForSaasBusiness": "Saas İşletmeleri için Çoklu Kiralama",
"MultiTenancyForSaasBusinessExplanation": "ABP Commercial, SaaS (Hizmet Olarak Yazılım) sistemlerinizi oluşturmak için eksiksiz, uçtan uca çoklu kiracılık sistemi sağlar. Anında veritabanı oluşturma ve taşıma sistemi ile kiracıların kendi veritabanlarını paylaşmalarına veya sahip olmalarına olanak tanır.",
"MicroserviceStartupSolution": "Mikro Hizmet Başlangıç Çözümü",
"MicroserviceArchitectureExplanation2": "Önceden oluşturulmuş temel çözümden ve damıtılmış deneyimden yararlanmak için bir sonraki mikro hizmet sisteminiz için alabilirsiniz.",
"PreIntegratedTools": "Popüler araçlara önceden entegre edilmiş",
"PreIntegratedToolsExplanation": "Çözüm halihazırda endüstri standardı araçlara ve teknolojilere entegre edilmiş durumda, ancak siz bunları her zaman değiştirebilir ve favori araçlarınıza entegre edebilirsiniz.",
"SingleSignOnAuthenticationServer": "Tek Oturum Açma Kimlik Doğrulama Sunucusu",
"SingleSignOnAuthenticationServerExplanation": "Çözüm, API erişim yönetimi özelliklerine sahip tek oturum açma sunucusu olarak diğer uygulamalar tarafından kullanılan bir kimlik doğrulama sunucusu uygulamasına sahiptir. IdentityServer tabanlıdır.",
"WebAppsWithGateways": "2 API Ağ Geçidi ile 2 Web Uygulaması",
"WebAppsWithGatewaysExplanation": "Çözüm, her biri özel bir API ağ geçidine sahip iki web uygulaması içeriyor (BFF - Backend For Frontend modeli).",
"BackOfficeApplication": "Back Office Uygulaması",
"BackOfficeApplicationExplanation": "Birden fazla UI çerçeve seçeneği ile sisteminizin gerçek web uygulaması. Her türlü iş uygulamasını oluşturabilirsiniz.",
"LandingWebsite": "Açılış Web Sitesi",
"LandingWebsiteExplanation": "Şirketinizi tanıtmak, ürünlerinizi satmak gibi çeşitli amaçlar için kullanılabilecek genel bir açılış/genel web sitesi.",
"ABPFrameworkEBook": "Mastering ABP Framework e-kitabı",
"MasteringAbpFrameworkEBookDescription": "ABP Ticari lisansınıza dahildir",
"FullName": "Tam Ad",
"LicenseTypeNotCorrect": "Lisans tipi doğru değil.",
"Trainings": "Eğitimler",
"ChooseTrainingPlaceholder": "Eğitim seçin ...",
"DoYouNeedTrainings": "Bu eğitimlerden birine ihtiyacınız var mı?",
"DoYouNeedTraining": "{0} eğitimine ihtiyacınız var mı?",
"GetInTouchUs": "Bize Ulaşın",
"ForMoreInformationClickHere": "Daha fazla bilgi için <a href='{0}'>buraya tıklayın.</a>",
"IsGetOnboardingTraining": "İşe alım ve web uygulaması geliştirme eğitimi almak ister misiniz?",
"OnboardingWebApplicationDevelopmentTrainingMessage": "Eğitim takviminizi planlamak için lütfen organizasyonu oluşturduktan sonra {0} ile iletişime geçin",
"CustomPurchaseMessage": "Bir sonraki adım için, bizimle iletişime geçmek üzere {0}'a tıklayın.",
"Note": "Not",
"AdditionalNote": "Ek Not",
"OnboardingTrainingFaqTitle": "ABP onboarding eğitiminiz var mı?",
"OnboardingTrainingFaqExplanation": " Evet, ABP projenizi hızlı bir şekilde başlatmanıza yardımcı olacak ABP Eğitim Hizmetlerimiz var. Bir ABP çekirdek ekip üyesinden ABP hakkında bilgi edinecek ve ABP projenize başlamak için gereken becerileri edineceksiniz. İlk katılım eğitiminde, geliştirme ortamınızı nasıl kuracağınızı, gerekli araçları nasıl yükleyeceğinizi ve tamamen işlevsel bir CRUD sayfasını nasıl oluşturacağınızı açıklayacağız. Eğitim canlı olacak ve Zoom uygulaması kullanılacaktır, ancak diğer çevrimiçi toplantı platformlarını kullanmaya da açığız. Eğitim dili İngilizce olacaktır. ABP ile ilgili sorularınızı oturumlar sırasında da sorabilirsiniz. Her iki taraf için de uygun bir zaman ve tarih planlanacaktır. Daha fazla bilgi almak için <a href=\"mailto:info@abp.io\">info@abp.io</a> adresinden bizimle iletişime geçebilirsiniz.",
"AddBasket": "Sepete Ekle",
"SendTrainingRequest": "Eğitim Talebi Gönder",
"OnlyEnglishVersionOfThisDocumentIsTheRecentAndValid": "* Bu belgenin İngilizce versiyonu en güncel olanıdır ve herhangi bir anlaşmazlıkta İngilizce versiyonu geçerli olacaktır.",
"Pricing_Page_Title": "Planlar ve Fiyatlandırma",
"Pricing_Page_Description": "İşletmenizin bugün ihtiyaç duyduğu özellikleri ve işlevselliği seçin. Bir ABP Ticari lisansı satın alın ve sınırsız proje oluşturun.",
"Pricing_Page_HurryUp": "Acele edin!",
"Pricing_Page_BuyLicense": "16 Ocak'a kadar <strong>2021 fiyatlarıyla</strong> lisans satın alın!",
"Pricing_Page_ValidForExistingCustomers": "Mevcut müşteriler ve lisans yenilemeleri için de geçerlidir.",
"Pricing_Page_Hint1": "Lisans fiyatına belirli sayıda geliştirici koltuğu dahildir. Daha fazla geliştiriciniz varsa, her zaman ek koltuk satın alabilirsiniz.",
"Pricing_Page_Hint2": "Şimdi veya gelecekte daha fazla geliştirici koltuğu satın alabilirsiniz. Lisanlar koltuk bazlıdır, bu nedenle bir koltuğu bir geliştiriciden diğerine aktarabilirsiniz.",
"Pricing_Page_Hint3": "Lisansınız ile sınırsız sayıda farklı ürün geliştirebilirsiniz.",
"Pricing_Page_Hint4": "ABP Suite, üretkenliğinizi artırmak için geliştirmenize yardımcı olacak bir araçtır. CRUD sayfaları oluşturmayı ve yeni projeler oluşturmayı destekler.",
"Pricing_Page_Hint5": "Önceden oluşturulmuş tüm modülleri uygulamalarınızda kullanabilirsiniz.",
"Pricing_Page_Hint6": "Önceden oluşturulmuş tüm temaları uygulamalarınızda kullanabilirsiniz.",
"Pricing_Page_Hint7": "Başlangıç şablonu, projenize hızlı bir başlangıç yapmanızı sağlayan bir Visual Studio çözümüdür. Tüm temel modüller eklenir ve sizin için önceden yapılandırılır.",
"Pricing_Page_Hint8": "Mastering ABP Framework e-kitabı, .NET çözümlerinin en iyi uygulamalarla nasıl hayata geçirileceğini anlatıyor. Amazon.com'da satılmaktadır ve kitabı lisansınız dahilinde ücretsiz olarak indirebilirsiniz.",
"Pricing_Page_Hint9": "Herhangi bir modülün kaynak kodunu indirebilirsiniz. Köklü değişiklikler yapmak için kaynak kodunu çözümünüze eklemek veya güvenlik nedeniyle kendinize saklamak isteyebilirsiniz.",
"Pricing_Page_Hint10": "Lisanslar ömür boyu geçerlidir. Bu, uygulamanızı sonsuza kadar geliştirmeye devam edebileceğiniz anlamına gelir. En son sürüme erişim ve destek alma lisans süresi içinde (yenilemediğiniz sürece 1 yıl) verilir.",
"Pricing_Page_Hint11": "Dağıtım konusunda kısıtlama yok! Bulut hizmetleri veya şirket içi dahil olmak üzere istediğiniz kadar sunucuya dağıtabilirsiniz.",
"Pricing_Page_Hint12": "Aktif lisans süreniz içinde modülleri, temaları ve araçları en son sürüme güncelleyebilirsiniz. Lisansınızın süresi dolduktan sonra, hata düzeltmeleri, yeni özellikler ve geliştirmelerle ilgili güncellemeleri almaya devam etmek için lisansınızı yenilemeniz gerekir.",
"Pricing_Page_Hint13": "Premium desteği bir yıl boyunca alabilirsiniz (uzatmak için lisansınızı yenileyebilirsiniz).",
"Pricing_Page_Hint14": "Ekip ve İşletme lisanslarının olay/soru sayısı limiti vardır. Ek geliştirici lisansları satın alırsanız, olay limitiniz geliştirici başına {0} (Ekip Lisansı için) veya {1} (İşletme Lisansı için) artar.",
"Pricing_Page_Hint15": "Sadece Kurumsal Lisans özel destek içerir. Özel bilet seçeneği ile doğrudan ABP Ekibine e-posta gönderebilir veya support.abp.io adresinden soru sorabilirsiniz. Özel biletler herkese açık değildir.",
"Pricing_Page_Hint16": "Tüm ABP temalarının kaynak kodunu indirebilirsiniz. Köklü değişiklikler yapmak için kaynak kodunu çözümünüze eklemek isteyebilir veya güvenlik nedeniyle kendiniz için saklayabilirsiniz.",
"Pricing_Page_Testimonial_1": "ABP Commercial, SC Ventures'ın 9 ay içinde banka sınıfı çok kiracılı bir silo-veritabanı SaaS platformu sunmasını ve birden fazla entegre çapadan gelen önemli değerdeki faturaların alacak / borç hesapları tedarik zinciri finansmanını desteklemesini sağladı. ABP'nin modülerliği, ekibin rekor sürede teslimat yapmasını, tüm VAPT'leri geçmesini ve konteynerleştirilmiş mikro hizmet yığınını tam CI/CD ve boru hatları aracılığıyla üretime dağıtmasını mümkün kıldı.",
"Pricing_Page_Testimonial_2": "Özel geliştirme projelerinin ek yükünü azaltmak için ABP Commercial kullanmanın değerini görüyoruz. Ekip, farklı proje akışlarında kod modelini birleştirebiliyor. Yeni özellikleri eskisinden daha hızlı oluşturabilmemiz için çerçevede daha fazla potansiyel görüyoruz. ABP Commercial'dan yararlanmanın değerini sürekli olarak göreceğimize inanıyoruz.",
"Pricing_Page_Testimonial_3": "ABP'yi seviyoruz. Her şeyi sıfırdan yazmak zorunda kalmıyoruz. Kullanıma hazır özelliklerden başlıyoruz ve sadece gerçekten yazmamız gerekenlere odaklanıyoruz. Ayrıca, ABP iyi tasarlanmış ve kod daha az hata ile yüksek kalitede. İhtiyaç duyduğumuz her şeyi kendi başımıza yazmak zorunda kalsaydık, yıllarımızı harcamak zorunda kalabilirdik. Hoşumuza giden bir diğer şey de yeni sürümün, sorun düzeltmenin ya da iyileştirmenin iki haftada bir çıkması. Çok uzun süre beklemiyoruz.",
"Pricing_Page_Testimonial_4": "ABP Commercial harika bir ürün, tavsiye ederim. Müşterilerimiz için ticari ürünleri tek bir yapılandırılabilir platformda pazara sunuyor. Çerçeve ve araçların herhangi bir ekibe sağladığı hızlı başlangıç her kuruşa değer. ABP Commercial ihtiyaçlarımız için en uygun üründü.",
"Pricing_Page_Testimonial_5": "ABP Framework sadece bir framework değil, aynı zamanda bir proje geliştirme/yönetme rehberi, çünkü DDD, GenericRepository, DI, Microservice ve Modularity eğitimleri veriyor. Framework'ün kendisini kullanmayacak olsanız bile, iyi ve profesyonelce hazırlanmış docs.abp.io ile kendinizi geliştirebilirsiniz (OpenIddict, Redis, Quartz vb.). Birçok şey önceden hazır olduğu için proje geliştirme süresini önemli ölçüde kısaltıyor (Giriş sayfası, istisna işleme, veri filtreleme, tohumlama, denetim günlüğü, yerelleştirme, otomatik API denetleyicisi vb.) Uygulamamızdan bir örnek olarak, stok kontrolü için Local Event Bus kullandım. Böylece stok işleyicisi yazarak sipariş hareketlerini yönetebiliyorum. CreationTime, CreatorId için zaman kaybetmemek harika. Bunlar otomatik olarak dolduruluyor.",
"AbpBookDownloadArea_ClaimYourEBook": "<span class='gradient-framework'>Mastering ABP Framework</span> E-Kitabınızı talep edin",
"AddMemberModal_Warning_1": "Eklemeye çalıştığınız <strong>kullanıcı adı</strong> sistemde yoksa, lütfen ekip üyenizden <a href='{0}/Account/Register'>{0}</a> adresine kaydolmasını ve hesabının kullanıcı adını sizinle paylaşmasını isteyin.",
"MyOrganizations_Detail_WelcomeMessage": "Organizasyonunuza hoş geldiniz, {0}",
"MyOrganizations_Detail_OrganizationManagement": "Organizasyon <span class=\"gradient-commercial\">Yönetimi</span>",
"OrganizationDisplayName": "Organizasyon Görünür Adı",
"MyOrganizations_Detail_EditDisplayName": "Görünür adı düzenle",
"MyOrganizations_Detail_LicenseStartAndExpiryDate": "Lisans Başlangıç Tarihi - Sona Erme Tarihi",
"MyOrganizations_Detail_OwnerRightInfo": "{1} sahiplik hakkınızın {0}'ını kullanıyorsunuz.",
"MyOrganizations_Detail_CopyApiKey": "Anahtarı Kopyala",
"MyOrganizations_Detail_ApiKeyDescription": "API Anahtarı, <a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">{1}</a> üzerinde barındırılan PRO paketlerinin belirtecidir.",
"MyOrganizations_Detail_YourPrivateNugetSource": "Özel NuGet kaynağınız <a href=\"{0}\" arget=\"_blank\" class=\"text-primary\" rel=\"noopener\">{0}</a>",
"MyOrganizations_Detail_PrivateNugetSourceWarning": "Bu, ABP çözümünüzdeki NuGet.Config'inize otomatik olarak bir besleme olarak eklenir. Özel anahtarınızı yetkisiz kullanıcılarla paylaşmayın!",
"MyOrganizations_Detail_DeveloperSeatInfo": "{1} geliştirici koltuğunuzun {0} tanesini kullanıyorsunuz.",
"NeedMoreSeatsForYourTeam": "Takımınız için daha fazla geliştirici koltuğu gerekiyor mu?",
"MyOrganizations_Detail_PricePerYear": "{0} / per year",
"MyOrganizations_Detail_UpgradeYourLicense": "Lisansınızı yükseltin",
"MyOrganizations_Detail_PurchaseDeveloperSeats": "Geliştirici Koltuğu Satın Alın",
"Invoices": "Faturalar",
"RequestInvoice": "Fatura Talep Et",
"OrderNumber": "Sipariş Numarası",
"Date": "Tarih",
"Products": "Ürünler",
"TotalPrice": "Toplam Fiyat",
"ThereIsNoInvoice": "Fatura yok",
"MyOrganizations_Detail_PaymentProviderInfo": "Lisansınızı <i>{0}</i> ağ geçidi üzerinden satın aldıysanız, PDF faturasını e-posta adresinize gönderir, bkz. <a href=\"{1}\" target=\"_blank\"> {0} faturalandırma.</a>",
"MyOrganizations_Detail_PayUInfo": "If you have purchased through the <i>PayU</i> gateway, click the \"Request Invoice\" button and fill in the billing information.",
"MyOrganizations_Detail_ConclusionInfo": "Fatura talebiniz {0} iş günü içerisinde sonuçlandırılacaktır.",
"ExtendYourLicense": "{0} lisansınızı uzatın",
"Continue": "Devam et",
"DownloadInvoiceModal_DownloadInvoice": "Faturayı İndir",
"DownloadInvoiceModal_SaveInformationOnlyOnce": "Fatura bilgilerinizi yalnızca bir kez kaydedebilirsiniz.",
"InvoiceModal_EnterCompanyName": "Yasal şirket adınızı girin...",
"InvoiceModal_EnterCompanyAddress": "Yasal şirket adresinizi girin...",
"InvoiceModal_EnterTaxNumber": "Varsa VERGİ/KDV numaranızı girin...",
"RequestInvoiceModal_EnterNotes": "Faturanızla ilgili ekstra mesajınızı girin...",
"PrePayment_PayWithIyzico": "Iyzico ile ödeyeceksiniz",
"ContinueToCheckout": "Ödeme ekranına git",
"PrePayment_IyzicoRedirectionInfo": "Satın alma işleminizi güvenli bir şekilde tamamlamak için Iyzico Ödeme Geçidine yönlendirileceksiniz.",
"PrePayment_IyzicoAcceptVisaAndMasterCard": "Iyzico Visa ve MasterCard kabul etmektedir.",
"Purchase": "Satın al",
"AcceptTermsAndConditions": "<a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">Gizlilik politikasını</a>, <a href=\"{1}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">hüküm ve koşulları</a> ve <a href=\"{2}\" target=\"_blank\" class=\"text-primary\">EULA</a>'yı okudum, anladım ve kabul ediyorum.",
"AcceptTermsAndConditionsWarningMessage": "Lütfen gizlilik politikasını ve hüküm ve koşulları kabul edin",
"SelectGatewayToContinue": "Devam etmek için lütfen bir Ağ Geçidi seçin!",
"GatewaySelection_SelectGateway": "Bir Ödeme Ağ Geçidi Seçin",
"GatewaySelection_RedirectionMessage": "Sonrasında, işlem için seçilen ödeme ağ geçidinin web sitesine yönlendirileceksiniz.",
"PaymentSucceed_PaymentSuccessMessage": "Ödeme Başarılı",
"PaymentSucceed_ThanksForPurchase": "Satın aldığınız için teşekkür ederiz!",
"PaymentSucceed_CreateYourOrganization": "Organizasyonunuzu oluşturun",
"PaymentSucceed_AddMeAsDeveloper": "Ben de bir geliştiriciyim, beni organizasyonuma bir geliştirici olarak ekleyin.",
"PaymentSucceed_CreateOrganization": "Organizasyon Oluştur",
"PaymentSucceed_OrganizationDescription": "Bir organizasyon geliştiriciler ve sahiplerden oluşur. Geliştiriciler, ABP projesinde kod yazan ve <a href=\"{0}\" target=\"_blank\">{1}</a> web sitesinden yararlanacak olan kullanıcılardır. Sahipler ise geliştirici koltuklarını tahsis eden ve lisanslamayı yöneten kullanıcılardır.",
"PaymentSucceed_ViewOrganization": "Organizasyonu görüntülemek için buraya tıklayın",
"Purchase_TotalAnnualPrice": "TOPLAM <small class=\"opacity-50\">(yıllık ücret)</small>",
"Purchase_TrainingPrice": "Eğitim Fiyatı",
"Purchase_OnboardingTraining": "ABP Onboarding & Web Uygulama Geliştirme Canlı Eğitimi",
"TotalDeveloperPrice": "Toplam Geliştirici Fiyatı",
"Purchase_PricePerDeveloper": "<span>{0} {1}</span> geliştirici başına",
"Purchase_IncludedDeveloperInfo": "{0} {1} dahil.",
"Purchase_LicenseExtraDeveloperPurchaseMessage": "<span class=\"fw-6\">{0} lisansı</span> {1} geliştirici(ler) içerir. Şimdi veya daha sonra ek geliştiriciler ekleyebilirsiniz.",
"StartupTemplates_Page_Title": "Başlangıç Şablonları",
"StartupTemplates_Page_Description": "ABP Commercial, her düzeyde karmaşıklığa sahip çözümler oluşturmanıza olanak tanır. Önceden oluşturulmuş iki ana başlangıç çözümü sunar. Gereksinimlerinize yakın olanı seçebilir ve bunun üzerine kendi özel çözümünüzü oluşturabilirsiniz.",
"MicroserviceStartupSolutionForDotnet": ".NET için Mikro Hizmet Başlatma Çözümü",
"MonolithSolutionForDotnet": ".NET için Monolith (modüler) Çözüm",
"TrainingDetailsHeaderInfo_TrainingHour": "{0} saat(ler)",
"Trainings_Content": "Eğitim İçeriği",
"Trial_Page_StartYourFreeTrial": "<span class=\"gradient-commercial\">Ücretsiz Denemenizi</span> Başlatın",
"TrialLicenseFeatures": "Tüm ABP ticari özelliklerinden yararlanabileceksiniz",
"TrialPeriodDays": "{0} günlük Takım Lisansınız olacak",
"TrialForumSupportIncident": "{0} forum destek olayınız olacak",
"Contact_Page_Title": "ABP Geliştirme Ekibi ile İletişime Geçin",
"Contact_Page_Description": "Herhangi bir yardıma ihtiyacınız olursa veya düşüncelerinizi ve görüşlerinizi paylaşırsanız ABP Geliştirme ekibi ile iletişime geçin! ABP Destek Ekibi yardıma hazır.",
"Demo_Page_Title": "Demo Oluştur",
"Demo_Page_Description": "ABP Ticari başlangıç şablonu kullanılarak oluşturulan örnek bir uygulamayı görmek için ücretsiz bir demo oluşturun. Ortak uygulama gereksinimleri için kendinizi tekrar etmeyin.",
"Discounted_Page_Title": "İndirimli fiyatlandırma",
"Discounted_Page_Description": "İşletmenizin bugün ihtiyaç duyduğu özellikleri ve işlevselliği seçin. Bir ABP Ticari lisansı satın alın ve sınırsız proje oluşturun",
"Faq_Page_Title": "Sıkça Sorulan Sorular (SSS)",
"Faq_Page_Description": "Herhangi bir sorunuz var mı? Sıkça sorulan soruları arayın veya iletişim formunu kullanarak bize bir soru sorun.",
"Faq_Page_SwiftCode": "SWIFT Kodu",
"Faq_Page_BankName": "Banka Adı",
"Faq_Page_AccountName": "Hesap Adı",
"Faq_Page_AccountNumber": "Hesap Numarası",
"Faq_Page_Currency": "Para Birimi",
"Faq_Page_VatNumber": "Vergi Numarası",
"Faq_Page_OtherCurrenciesInfo": "Diğer para birimleri için <a href='{0}'>tüm hesaplar</a> bölümüne bakınız",
"ModuleDetail_Page_Title": "Modül Detayı - {0}",
"ProjectCreatedSuccess_Page_Title": "Projeniz oluşturuldu",
"ProjectCreatedSuccess_Page_Description": "ABP projeniz başarıyla oluşturuldu!",
"Suite_Page_Title": "ABP Suite - CRUD Sayfaları Oluşturun",
"Suite_Page_Description": "ABP Commercial, geliştirici verimliliğini artırmak için hızlı uygulama geliştirme araçları sağlar. ABP Suite, CRUD sayfalarını kolayca oluşturmanızı sağlar.",
"Themes_Page_Title": "Modern ve İşlevsel Kullanıcı Arayüzü Temaları",
"Themes_Page_Description": "ABP Commercial birden fazla profesyonel, modern kullanıcı arayüzü teması sunar. Kullanıcı arayüzünün neye benzediğini hızlıca görmek için ücretsiz bir demo oluşturun.",
"Tools_Page_Title": "Hızlı Uygulama Geliştirme Araçları",
"Tools_Page_Description": "ABP Commercial, geliştirici verimliliğini artırmak için hızlı uygulama geliştirme araçları sağlar. ABP Suite, CRUD sayfalarını kolayca oluşturmanızı sağlar.",
"DeveloperPrice": "Geliştirici Fiyatı",
"AdditionalDeveloperPaymentInfoSection_AdditionalDevelopers": "{0} <small>geliştiriciler</small>",
"LicenseRemainingDays": "<span> {0} </span> gün boyunca",
"ExtendPaymentInfoSection_Description": "Lisansınızı uzatarak/yenileyerek <a href=\"{0}\" target=\"_blank\">premium destek</a> almaya devam edeceksiniz. You will also be able to get major or minor updates for modules and themes. You will be able to continue creating new projects. Ve gelişiminizi hızlandıran <a href=\"{1}\" target=\"_blank\">ABP Suite</a>'i kullanmaya devam edebileceksiniz.",
"LicenseRenewalPrice": "Lisans yenileme fiyatı",
"LicensePrice": "Lisans fiyatı",
"TrialLicensePaymentInfoSection_Description": "<strong>Lisans satın alma:</strong> Bir lisans satın alarak <a href=\"{0}\" target=\"_blank\" rel=\"noopener\">premium destek</a> almaya devam edeceksiniz. Ayrıca modüller ve temalar için büyük veya küçük güncellemeler alabileceksiniz. Yeni projeler oluşturmaya devam edebileceksiniz. Ve gelişiminizi hızlandıran <a href=\"{1}\" target=\"_blank\" rel=\"noopener\">ABP Suite</a>'i kullanmaya devam edebileceksiniz. Lisans türleri arasındaki farkları kontrol etmek için <a href=\"{2}\" target=\"_blank\" rel=\"noopener\">lisans karşılaştırma tablosu</a>na bakın.",
"SelectTargetLicense": "Hedef Lisansı Seçin",
"UpgradePaymentInfoSection_ExtendMyLicenseForOneYear": "Evet, lisansımın geçerlilik süresini 1 yıl uzatın.",
"UpgradePaymentInfoSection_WantToExtendLicense": "Lisansınızı {0} yıl daha uzatmak istiyor musunuz?",
"UpgradePaymentInfoSection_UpgradingWillNotExtendLicense": "Yükseltme işlemi lisansınızın son kullanma tarihini uzatmayacaktır!",
"UpgradePaymentInfoSection_LicenseUpgradeDescription": "Lisansınızı yükselterek, ek avantajlar elde etmenizi sağlayacak daha yüksek bir lisans türüne terfi edeceksiniz. Lisans türleri arasındaki farkları kontrol etmek için <a href=\"/Pricing\" target=\"_blank\">lisans karşılaştırma tablosuna</a> bakın.",
"Landing_Page_CustomerStories": "Müşteri Hikayeleri",
"Landing_Page_OurGreatCustomers": "Büyük Müşterilerimiz",
"Landing_Page_WebApplicationFramework": "Web Uygulama Çerçevesi",
"Landing_Page_WebDevelopmentPlatform": "Web Geliştirme Platformu",
"Landing_Page_CompleteWebDevelopmentPlatform": "Tam Web Geliştirme Platformu",
"Landing_Page_TryFreeDemo": "Ücretsiz Demo Dene",
"Landing_Page_StartingPointForWebApplications": "ASP.NET Core tabanlı web uygulamaları için başlangıç noktası! En iyi web geliştirme için ABP Framework'ü temel alır.",
"Landing_Page_AbpProvidesSoftwareInfrastructure": "ABP Framework, en iyi uygulamalarla mükemmel web uygulamaları geliştirmek için bir yazılım altyapısı sağlar.",
"Landing_Page_MicroserviceCompatibleArchitecture": "Mikroservis Uyumlu Mimari",
"Landing_Page_PreBuiltApplicationModulesAndThemes": "Önceden Oluşturulmuş Uygulama Modülleri ve Temaları",
"Landing_Page_MultiTenantArchitecture": "Çoklu Kiracı Mimari",
"Landing_Page_MultiTenancyDescription": "SaaS uygulamaları artık çok kolay! Veritabanından kullanıcı arayüzüne kadar entegre çoklu kiracılık.",
"Landing_Page_DDDIntroduction": "DDD kalıpları ve ilkeleri temel alınarak tasarlanmış ve geliştirilmiştir. Uygulamanız için katmanlı bir model sağlar.",
"Landing_Page_CrossCuttingConcernsInfo": "Yetkilendirme, doğrulama, istisna işleme, önbelleğe alma, denetim kaydı, işlem yönetimi ve daha fazlası için eksiksiz altyapı.",
"Landing_Page_PreBuiltApplicationModules": "En yaygın web uygulaması gereksinimlerini içeren Önceden Oluşturulmuş Uygulama Modülleri.",
"Landing_Page_ChatModule": "Sohbet",
"Landing_Page_DocsModule": "Belgeler",
"Landing_Page_FileManagementModule": "Dosya Yönetimi",
"Landing_Page_CustomerStory_1": "ABP Commercial, SC Ventures'ın 9 ay içinde banka sınıfı çok kiracılı bir silo-veritabanı SaaS platformu sunmasını ve birden fazla entegre çapadan gelen önemli değerdeki faturaların alacak / borç hesapları tedarik zinciri finansmanını desteklemesini sağladı. ABP'nin modülerliği, ekibin rekor sürede teslimat yapmasını, tüm VAPT'leri geçmesini ve konteynerleştirilmiş mikro hizmet yığınını tam CI/CD ve boru hatları aracılığıyla üretime dağıtmasını mümkün kıldı.",
"Landing_Page_CustomerStory_2": "Özel geliştirme projelerinin ek yükünü azaltmak için ABP Commercial kullanmanın değerini görüyoruz. Ekip, farklı proje akışlarında kod modelini birleştirebiliyor. Yeni özellikleri eskisinden daha hızlı oluşturabilmemiz için çerçevede daha fazla potansiyel görüyoruz. ABP Commercial'dan yararlanmanın değerini sürekli olarak göreceğimize inanıyoruz.",
"Landing_Page_CustomerStory_3": "ABP'yi seviyoruz. Her şeyi sıfırdan yazmak zorunda kalmıyoruz. Kullanıma hazır özelliklerden başlıyoruz ve sadece gerçekten yazmamız gerekenlere odaklanıyoruz. Ayrıca, ABP iyi tasarlanmış ve kod daha az hata ile yüksek kalitede. İhtiyacımız olan her şeyi kendi başımıza yazmak zorunda kalsaydık, yıllarımızı harcamak zorunda kalabilirdik. Hoşumuza giden bir diğer şey de yeni sürümün, sorun düzeltmenin ya da iyileştirmenin çok kısa bir süre içinde\nher iki haftada bir çıkması. Çok uzun süre beklemiyoruz.",
"Landing_Page_CustomerStory_4": "ABP Commercial harika bir ürün, tavsiye ederim. Müşterilerimiz için ticari ürünleri tek bir yapılandırılabilir platformda pazara sunuyor. Çerçeve ve araçların herhangi bir ekibe sağladığı hızlı başlangıç her kuruşa değer. ABP Commercial ihtiyaçlarımız için en uygun üründü.",
"Landing_Page_AdditionalServices": "Özel veya toplu lisans, işe alım, canlı eğitim ve destek, özel proje geliştirme, mevcut projeleri taşıma ve daha fazlası...",
"Landing_Page_IncludedDeveloperLicenses": "<strong>{0}</strong> geliştirici lisansı dahil",
"Landing_Page_SeeOnDemo": "Demo'da göster",
"Landing_Page_LeptonThemes": "Lepton Temaları",
"Landing_Page_AccountModuleDescription_1": "Bu modül bir uygulama için kimlik doğrulama sistemini uygular;",
"Landing_Page_AccountModuleDescription_2": "Kullanıcı adı ve şifre ile bir <strong>giriş</strong> sayfası sağlar",
"Landing_Page_AccountModuleDescription_3": "Yeni bir hesap oluşturmak için bir <strong>kayıt</strong> sayfası sağlar.",
"Landing_Page_AccountModuleDescription_4": "Bir <strong>şifre sıfırlama</strong> bağlantısını e-posta olarak göndermek için bir <strong>şifremi unuttum</strong> sayfası sağlar.",
"Landing_Page_AccountModuleDescription_5": "UI ile <strong>e-posta onayı</strong> işlevselliği sağlar.",
"Landing_Page_AccountModuleDescription_6": "<strong>İki faktörlü</strong> kimlik doğrulama uygular (SMS ve e-posta).",
"Landing_Page_AccountModuleDescription_7": "<strong>Kullanıcı kilitleme</strong> uygular (belirli bir zaman aralığında geçersiz kimlik bilgileri nedeniyle belirli sayıda başarısız oturum açıldığında hesabı belirlenen süre boyunca kilitler).",
"Landing_Page_AccountModuleDescription_8": "<strong>Identity Server</strong> kimlik doğrulama sunucusu kullanıcı arayüzünü ve işlevselliğini uygular.",
"Landing_Page_AccountModuleDescription_9": "Allows to <strong>switch between tenants</strong> in a multi-tenant environment.",
"Landing_Page_AccountModuleDescription_10": "Uygulamanın <strong>UI dilini</strong> değiştirmeye izin verir.",
"Landing_Page_AuditLoggingModuleDescription_1": "Bu modül, denetim altyapısı için denetim günlüğü raporlama kullanıcı arayüzü sağlar. Denetim günlüğü girdilerini ve varlık değişikliği günlüklerini aramaya, filtrelemeye ve göstermeye izin verir.",
"Landing_Page_AuditLoggingModuleDescription_2": "Bir denetim günlüğü girdisi, her bir müşteri talebi hakkında kritik verilerden oluşur:",
"Landing_Page_AuditLoggingModuleDescription_3": "URL, Tarayıcı, IP adresi, istemci adı",
"Landing_Page_AuditLoggingModuleDescription_4": "Kullanıcı",
"Landing_Page_AuditLoggingModuleDescription_5": "HTTP yöntemi, HTTP dönüş durum kodu",
"Landing_Page_AuditLoggingModuleDescription_6": "Başarı/başarısızlık, varsa istisna ayrıntıları",
"Landing_Page_AuditLoggingModuleDescription_7": "İstek yürütme süresi",
"Landing_Page_AuditLoggingModuleDescription_8": "Bu talepte varlıklar oluşturuldu, silindi veya güncellendi (değişen özelliklerle).",
"Landing_Page_BloggingModuleDescription_1": "Bu modül ABP uygulamanıza basit bir blog ekler;",
"Landing_Page_BloggingModuleDescription_2": "Tek bir uygulamada birden çok blog oluşturmaya izin verir.",
"Landing_Page_BloggingModuleDescription_3": "Markdown formatını destekler.",
"Landing_Page_BloggingModuleDescription_4": "Bir gönderi için yorum yazmaya izin verir.",
"Landing_Page_BloggingModuleDescription_5": "Blog yazılarına etiket atamaya izin verir.",
"Landing_Page_BloggingModuleDescription_6": "Blog modülünün canlı bir örneği olarak <a href=\"blog.abp.io\">blog.abp.io</a> web sitesine bakın.",
"Landing_Page_ChatModuleDescription_1": "Bu modül, uygulamadaki kullanıcılar arasında gerçek zamanlı mesajlaşma için kullanılır.",
"Landing_Page_ChatModuleDescription_2": "Sohbet sayfasında gerçek zamanlı mesajlaşma.",
"Landing_Page_ChatModuleDescription_3": "Yeni konuşmalar için uygulamadaki kullanıcıları arayın.",
"Landing_Page_ChatModuleDescription_4": "Son konuşmalar için kişi listesi.",
"Landing_Page_ChatModuleDescription_5": "Kullanıcı başka bir sayfaya bakarken yeni mesaj bildirimleri.",
"Landing_Page_ChatModuleDescription_6": "Menü simgesindeki toplam okunmamış mesaj sayısı rozeti.",
"Landing_Page_ChatModuleDescription_7": "Her konuşma için okunmamış mesaj sayısı.",
"Landing_Page_ChatModuleDescription_8": "Tembel yüklü konuşmalar.",
"Landing_Page_DocsModuleDescription_1": "Bu modül teknik dokümantasyon web siteleri oluşturmak için kullanılır;",
"Landing_Page_DocsModuleDescription_2": "Yerleşik <strong>GitHub entegrasyonu</strong>: GitHub'da doğrudan belge yazın ve yönetin.",
"Landing_Page_DocsModuleDescription_3": "<strong>Sürüm oluşturma</strong> desteği, GitHub sürümlerine doğrudan entegre edilmiştir.",
"Landing_Page_DocsModuleDescription_4": "<strong>Çoklu dili</strong> destekler (varsayılan dile geri dönüş desteği ile).",
"Landing_Page_DocsModuleDescription_5": "<strong>Markdown</strong> ve HTML formatlarını destekler.",
"Landing_Page_DocsModuleDescription_6": "Bir <strong>navigasyon</strong> ve bir <strong>ana hat</strong> bölümü sağlar.",
"Landing_Page_DocsModuleDescription_7": "Tek bir uygulamada <strong>birden çok proje</strong> belgesinin barındırılmasına izin verir.",
"Landing_Page_DocsModuleDescription_8": "GitHub'daki dosyaya bağlantı verir, böylece herkes <strong>Düzenle</strong> bağlantısına tıklayarak kolayca katkıda bulunabilir.",
"Landing_Page_DocsModuleDescription_9": "GitHub kaynağına ek olarak, dokümantasyon kaynağı olarak bir klasörün kullanılmasına izin verir.",
"Landing_Page_FileManagementModuleDescription_1": "Dosyaları hiyerarşik bir klasör yapısı içinde yükleyin, indirin ve düzenleyin.",
"Landing_Page_FileManagementModuleDescription_2": "Bu modül, dosyaları hiyerarşik bir klasör yapısında yüklemek, indirmek ve düzenlemek için kullanılır. Ayrıca çoklu kiracılığa uyumludur ve kiracılarınız için toplam boyut sınırını belirleyebilirsiniz.",
"Landing_Page_FileManagementModuleDescription_3": "Bu modül <a href=\"https://docs.abp.io/en/abp/latest/Blob-Storing\">BLOB Depolama</a> sistemine dayanmaktadır, bu nedenle dosya içeriklerini depolamak için farklı depolama sağlayıcıları kullanabilir.",
"Landing_Page_IdentityModuleDescription_1": "Bu modül bir uygulamanın Kullanıcı ve Rol sistemini uygular;",
"Landing_Page_IdentityModuleDescription_2": "<a href=\"https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity\">Microsoft'un ASP.NET Core Identity</a> kütüphanesi üzerine inşa edilmiştir.",
"Landing_Page_IdentityModuleDescription_3": "Sistemdeki <strong>rolleri</strong> ve <strong>kullanıcıları</strong> yönetin. Bir kullanıcının <strong>birden çok role</strong> sahip olmasına izin verilir.",
"Landing_Page_IdentityModuleDescription_4": "Rol ve kullanıcı düzeylerinde <strong>izinleri</strong> ayarlayın.",
"Landing_Page_IdentityModuleDescription_5": "Kullanıcı başına <strong>iki faktörlü kimlik doğrulamayı</strong> ve kullanıcı <strong>kilitlemeyi</strong> etkinleştirin/devre dışı bırakın.",
"Landing_Page_IdentityModuleDescription_6": "Temel <strong>kullanıcı profili</strong>ni ve <strong>parolayı</strong> yönetin.",
"Landing_Page_IdentityModuleDescription_7": "Sistemdeki <strong>talep türlerini</strong> yönetin, rollere ve kullanıcılara talepler ayarlayın.",
"Landing_Page_IdentityModuleDescription_8": "<strong>Parola karmaşıklığı</strong>, kullanıcı oturum açma, hesap ve kilitlemeyi yönetmek için ayar sayfası.",
"Landing_Page_IdentityModuleDescription_9": "<strong>LDAP</strong> kimlik doğrulamasını destekler.",
"Landing_Page_IdentityModuleDescription_10": "<strong>E-posta &amp; telefon numarası</strong> doğrulaması sağlar.",
"Landing_Page_IdentityModuleDescription_11": "Kullanıcılar için <strong>parola sıfırlama</strong> desteği.",
"Landing_Page_IdentityModuleDescription_12": "Sistemdeki <strong>organizasyon birimlerini</strong> yönetin.",
"Landing_Page_PaymentModuleDescription_1": "Farklı ödeme ağ geçitleri için entegrasyon sağlar.",
"Landing_Page_PaymentModuleDescription_2": "Bu modül ödeme ağ geçitleri için entegrasyon sağlar, böylece müşterilerinizden kolayca ödeme alabilirsiniz.",
"Landing_Page_PaymentModuleDescription_3": "Bu modül aşağıdaki ödeme ağ geçitlerini destekler",
"Welcome_Page_UseSameCredentialForCommercialWebsites": "Hem <a href=\"https://commercial.abp.io\" class=\"text-primary\">commercial.abp.io</a> hem de <a href=\"https://support.abp.io\" class=\"text-primary\">support.abp.io</a> için aynı kimlik bilgilerini kullanın.",
"WatchCrudPagesVideo": "\"ABP Suite ile CRUD Sayfaları Oluşturma\" Videosunu İzleyin!",
"WatchGeneratingFromDatabaseVideo": "\"ABP Suite: Mevcut Veritabanı Tablolarından CRUD Sayfaları Oluşturma\" Videosunu izleyin!",
"WatchTakeCloserLookVideo": "\"Kod üretimine daha yakından bakın: ABP Suite\" videosunu izleyin!",
"ConfirmedEmailAddressRequiredToStartTrial": "Deneme lisansı başlatmak için onaylanmış bir e -posta adresiniz olmalı.",
"EmailVerificationMailNotSent": "E-posta doğrulama postası gönderilemedi.",
"GetConfirmationEmail": "Daha önce bir onay e-postası almadıysanız <a href=\"javascript:void(0);\" id=\"{0}\"> almak için buraya tıklayın.</a>",
"WhichLicenseTypeYouAreInterestedIn": "Hangi lisans türüyle ilgileniyorsunuz?",
"BlackFridayDiscount": "Kara Cuma İndirimi"
}
}

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

@ -360,7 +360,7 @@
"Next": "Kế tiếp",
"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.",
"TrialActivatedWarning": "Người dùng chỉ có quyền 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.",
"SaveAndDownload": "Lưu và tải xuống",
"CompanyNameValidationMessage": "Tên công ty quá dài!",
"AddressValidationMessage": "Địa chỉ quá dài!",
@ -373,11 +373,12 @@
"TrialLicenseModelInvalidErrorMessage": "Một trong các trường sau không hợp lệ: Tên quốc gia, Quy mô công ty, Ngành hoặc Mục đích sử dụng.",
"Trial": "Sự thử nghiệm",
"Purchased": "Đã mua",
"PurchaseLicense": "Giấy phép mua bán",
"PurchaseLicense": "Mua {0} giấy phép",
"PurchaseTrialLicenseMessage": "Ngày hết hạn giấy phép của bạn là {0}. <br> Nếu bạn muốn tiếp tục sử dụng các dự án bạn đã tạo trong thời gian dùng thử miễn phí, bạn cần thay đổi khóa cấp phép trong các tệp <code> appsettings.secrets.json </code> của mình. Đây là khóa cấp phép của bạn:",
"TrialLicenseExpireMessage": "Bạn đang sử dụng giấy phép dùng thử và giấy phép dùng thử của bạn sẽ hết hạn vào {0}.",
"TryForFree": "Thử miễn phí",
"TrialLicenseExpiredInfo": "Thời gian cấp phép dùng thử của bạn đã hết hạn!",
"CommercialNewsletterConfirmationMessage": "Tôi đồng ý với <a href=\"https://commercial.abp.io/TermsConditions\"> Điều khoản & điều kiện </a> và <a href=\"https://commercial.abp.io/Privacy\"> Chính sách quyền riêng tư </a>."
"CommercialNewsletterConfirmationMessage": "Tôi đồng ý với <a href=\"https://commercial.abp.io/TermsConditions\"> Điều khoản & điều kiện </a> và <a href=\"https://commercial.abp.io/Privacy\"> Chính sách quyền riêng tư </a>.",
"BlackFridayDiscount": "Giảm giá Black Friday"
}
}

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

@ -137,7 +137,6 @@
"Success": "成功",
"WeWillReplyYou": "你的消息已经发送! 我们会在短时间内给你答复.",
"GoHome": "回到主页面",
"Home": "主页",
"CreateLiveDemo": "创建在线演示",
"RegisterToTheNewsletter": "注册到时事简报以获取有关ABP.IO的消息,比如新发布的内容.",
"EnterYourEmailOrLogin": "输入你的e-mail地址来创建你的演示或者使用你的已有账号<a href=\"{0}\">登录</a>.",
@ -184,6 +183,7 @@
"ChangingLicenseType": "将来更改我的许可类型吗?",
"ChangingLicenseTypeExplanation": "你始终可以在同一许可中添加新的开发人员. 参阅 \"有多少开发者可以参与ABP商业版工作?\". 你还可以通过支付计算出的价格差来升级到更高的许可. 当你升级到更高的许可计划时,可以享受新计划的好处,但是许可升级不会更改许可的到期日期.",
"LicenseExtendUpgradeDiff": "许可扩展和升级有什么区别?",
"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": "如何续费我的许可证?",
@ -195,10 +195,20 @@
"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.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}。",
"discountForYears": "{0}% 折扣 {1} 年",
"WhatHappensWhenLicenseEndsExplanation8": "您生成的 ABP 项目未存储在我们的服务器上。 因此,您有责任保留下载的源代码。 当您的许可证到期时,将无法获取您生成的 ABP 项目源代码。",
"WhenShouldIRenewMyLicense": "我什么时候应该续订我的许可?",
"WhenShouldIRenewMyLicenseExplanation": "如果您在许可证到期后 <strong>1 个月</strong>内续订许可证,将享受以下折扣:团队许可证 {0}% 折扣、商业许可证 {1}% 折扣、企业许可证 {2}% 折扣 . 如果您在许可证到期后 <strong>1 个月</strong>续订许可证,续订价格将与许可证购买价格相同,并且续订不会有折扣。",
"WhenShouldIRenewMyLicenseExplanation": "如果您在许可证到期后 <strong>1 个月</strong> 内续订许可证,将适用以下折扣:团队许可证 {0}; 营业执照{1}; 企业许可证 {2}。 但是,如果您在许可证到期后 <strong>1 个月</strong>续订许可证,续订价格将与许可证购买价格相同,并且您的续订不会有任何折扣。",
"TrialPlan": "你们有试用计划吗?",
"TrialPlanExplanation": "ABP商业团队许可证有14天的试用期。若要了解更多信息,请访问<a href={0} target='_blank'>这里</a>。此外,我们为团队许可证提供30天的金额返还保证。你只需要在30天内请求退款。商业和企业许可证将提供60%的金额返还保证。这是因为商业和企业许可证包含了所有模块和主题的全部源代码。",
"DoYouAcceptBankWireTransfer": "你们接受银行电汇吗?",
"DoYouAcceptBankWireTransferExplanation": "是的,我们接受银行电汇。<br />在通过银行转账发送许可费后,将您的收据和所需的许可类型通过电子邮件发送至accounting@abp.io。 我们的国际银行账户信息:",
"HowToUpgrade": "可用新版本时如何升级现有应用程序?",
@ -365,7 +375,9 @@
"CompanySize": "公司规模",
"Next": "下一个",
"StartTrial": "开始我的免费试用",
"TrialActivatedWarning": "亲爱的{0},用户只能享受 1 个免费试用期。您已经使用了试用期。",
"ContactUsQuestions": "如果你有任何问题,请联系我们",
"TrialActivatedWarning": "一个用户只能有 1 个免费试用期。您已经使用了试用期。",
"ActivationRequirement": "你已经距离开始你的试用还有最后一步。<br>检查你的信息后,我们将激活你的许可证。一旦你的许可证激活,我们将向<b>{0}</b>发送电子邮件。请不要担心,这个过程不会太久!",
"SaveAndDownload": "保存和下载",
"CompanyNameValidationMessage": "公司名称太长!",
"AddressValidationMessage": "地址太长!",
@ -389,6 +401,7 @@
"UserDeveloperDescription": "“开发人员”可以在 ABP 商业版项目中编写代码,下载 ABP 示例项目,并在支持的网站上进行提问。 然而另一方面,“开发者”无法管理这个组织。",
"RemoveCurrentUserFromOrganizationWarningMessage": "您正在将自己从自己的组织中移除。 您将无法再管理此组织,您确定吗?",
"RenewExistingOrganizationOrCreateNewOneMessage": "您可以通过单击下面的 \"立即延长\"按钮来更新您组织的许可证,因此您可以将许可证到期日期延长 1 年。 如果您继续结帐,您将拥有一个新的组织。 您想继续开始新的组织许可吗?",
"PurchaseTrialOrganizationOrCreateNewOneMessage": "你有试用许可证。如果你想购买试用许可证,请点击“立即购买”按钮。如果你继续支付,你将会有一个新的组织。你想继续使用一个新的组织吗?",
"ExtendNow": "立即延长",
"CreateNewOrganization": "建立新的组织",
"RenewLicenseEarly": "如果我提前更新我的许可证,我会得到一整年吗?",
@ -524,6 +537,7 @@
"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}",
@ -535,7 +549,7 @@
"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_YourPrivateNugetSource": "您的私有 NuGet 源是 <a href=\"{0}\" target=\"_blank\" class=\"text-primary\" rel=\"noopener\">{0}</a>",
"MyOrganizations_Detail_PrivateNugetSourceWarning": "这将自动添加一个源到您的 ABP 解决方案中的 NuGet.Config。 不要与未经授权的用户共享您的私钥!",
"MyOrganizations_Detail_DeveloperSeatInfo": "您正在使用您的 {1} 个开发者席位中的 {0} 个。",
"NeedMoreSeatsForYourTeam": "您的团队需要更多席位吗?",
@ -548,12 +562,12 @@
"Products": "产品",
"TotalPrice": "总价格",
"ThereIsNoInvoice": "没有发票",
"MyOrganizations_Detail_PaymentProviderInfo": "如果您通过 <i>{0}</i> 网关购买了许可证,PDF 发票会被发送到您的电子邮件地址,请参阅 <a href=\"{1}\" target=\"_blank\">{ 0} 发票。</a>",
"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} 许可",
"ExtendYourLicense": "延长您的 <span class=\"text-primary\">{0}</span> 许可",
"Continue": "继续",
"PurchaseLicense": "购买许可证",
"PurchaseLicense": "购买 {0} 许可证",
"DownloadInvoiceModal_DownloadInvoice": "下载发票",
"DownloadInvoiceModal_SaveInformationOnlyOnce": "您只能保存一次账单信息。",
"InvoiceModal_EnterCompanyName": "请输入您的法定公司名称...",
@ -591,6 +605,9 @@
"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": "创建演示",
@ -644,7 +661,7 @@
"Landing_Page_PreBuiltApplicationModules": "预建应用程序模块,其中包括最常见的 Web 应用程序要求。",
"Landing_Page_ChatModule": "聊天",
"Landing_Page_DocsModule": "文档",
"Landing_Page_FileManagementModule": "文",
"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。 我们不会等太久。",
@ -712,6 +729,19 @@
"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>使用相同的凭据。"
"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": "你感兴趣的许可证类型是什么?",
"BlazoriseLicense": "我们是否需要购买Blazorise许可证?",
"BlazoriseLicenseExplanation": "我公司Volosoft和公司Megabit之间有合作协议,根据此协议,购买将同时包含了Blazorise许可证与ABP商业产品,因此我们的客户不需要再额外购买Blazorise许可证。",
"ExtendPaymentInfoSection_DeveloperPrice": "{0} x 开发者价格",
"ExtendPaymentInfoSection_DiscountRate": "折扣 {0}%",
"TotalNetPrice": "总净价",
"BlackFridayDiscount": "黑色星期五折扣"
}
}
}

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

@ -192,7 +192,7 @@
"ChangingDevelopers": "我將來可以更改我組織的註冊開發人員嗎?",
"ChangingDevelopersExplanation": "除了將新的開發人員添加到你的許可中之外,你還可以更改現有的開發人員(可以刪除一個開發人員並將新的開發人員添加到同一位置),而無需任何額外費用.",
"WhenShouldIRenewMyLicense": "我什麽時候應該續訂我的許可?",
"WhenShouldIRenewMyLicenseExplanation": "如果您在許可證到期後 <strong>1 個月</strong>內續訂許可證,將享受以下折扣:團隊許可證 {0}% 折扣、商業許可證 {1}% 折扣、企業許可證 {2}% 折扣 . 如果您在許可證到期後 <strong>1 個月</strong>續訂許可證,續訂價格將與許可證購買價格相同,並且續訂不會有折扣。",
"WhenShouldIRenewMyLicenseExplanation": "如果您在許可證到期後 <strong>1 個月</strong>內續訂許可證,將享受以下折扣:團隊許可證 {0} ; 商業許可證 {1} ;企業許可證 {2}. 如果您在許可證到期後 <strong>1 個月</strong>續訂許可證,續訂價格將與許可證購買價格相同,並且續訂不會有折扣。",
"TrialPlan": "你們有試用計劃嗎?",
"DoYouAcceptBankWireTransfer": "你們接受銀行電匯嗎?",
"DoYouAcceptBankWireTransferExplanation": "是的,我們接受銀行電匯。<br />在通過銀行轉賬發送許可費後,將您的收據和所需的許可類型通過電子郵件發送至accounting@abp.io。 我們的國際銀行賬戶信息:",
@ -362,7 +362,7 @@
"Next": "下一個",
"StartTrial": "開始我的免費試用",
"ContactUsIssues": "如果您有任何問題,請聯繫我們",
"TrialActivatedWarning": "親愛的{0},用戶只能享受 1 個免費試用期。您已經使用了試用期。",
"TrialActivatedWarning": "一個用戶只能有 1 個免費試用期。您已經使用了試用期。",
"SaveAndDownload": "保存和下載",
"CompanyNameValidationMessage": "公司名稱太長!",
"AddressValidationMessage": "地址太長!",
@ -375,11 +375,15 @@
"TrialLicenseModelInvalidErrorMessage": "以下字段之一無效:國家名稱、公司規模、行業或使用目的。",
"Trial": "審判",
"Purchased": "已購買",
"PurchaseLicense": "購買許可證",
"PurchaseLicense": "購買 {0} 許可證",
"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>。"
"CommercialNewsletterConfirmationMessage": "我同意<a href=\"https://commercial.abp.io/TermsConditions\">條款和條件</a>和<a href=\"https://commercial.abp.io/Privacy\">隱私政策</a>。",
"BlazoriseLicense": "我们是否需要购买Blazorise许可证?",
"BlazoriseLicenseExplanation": "我公司Volosoft和公司Megabit之间有合作协议,根据此协议,购买将同时包含了Blazorise许可证与ABP商业产品,因此我们的客户不需要再额外购买Blazorise许可证。",
"discountForYears": "{0}% 折扣 {1} 年",
"BlackFridayDiscount": "黑色星期五折扣"
}
}

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

@ -43,7 +43,7 @@
"Done": "Done",
"Open": "Open",
"Closed": "Closed",
"RecentQuestionFrom": "Recent question from ",
"RecentQuestionFrom": "Recent question from {0}",
"Stackoverflow": "Stackoverflow",
"Votes": "votes",
"Answer": "Answer",
@ -176,7 +176,7 @@
"Events_Page_MetaTitle": "ABP Community Events",
"Events_Page_MetaDescription": "The live shows, hosted by the ABP Team, are casual sessions full of community content, demos, Q&A, and discussions around what's happening in ABP.",
"Events_Page_Title": "ABP<span class=\"gradient-community\"> Community</span> Talks",
"Events_Page_WritingFromUser": "Read writing from {0} on ABP Community.",
"Members_Page_WritingFromUser": "Read writing from {0} on ABP Community.",
"Post_Create_Page_MetaTitle": "New Post",
"Post_Create_Page_MetaDescription": "Create your post for sharing your experiences about ABP framework and contributing the ABP Community.",
"Post_Create_Page_CreateNewPost": "Create New Post",

58
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/hu.json

@ -29,14 +29,12 @@
"ContributionGuide": "Hozzájárulási útmutató",
"BugReport": "Hibajelentés",
"SeeAllPosts": "Az összes bejegyzés megtekintése",
"WelcomeToABPCommunity!": "Üdvözöljük az ABP közösségben!",
"MyProfile": "A profilom",
"MyOrganizations": "Szervezeteim",
"WelcomeToABP": "Üdvözöljük az ABP-ben",
"EmailNotValid": "Kérjük valós e-mail címet adjon meg!",
"FeatureRequest": "Funkciókérés",
"CreatePostTitleInfo": "A bejegyzés listán megjelenítendő bejegyzés címe.",
"CreatePostSummaryInfo": "A bejegyzés rövid összefoglalása, amely megjelenik a bejegyzéslistán.",
"CreatePostCoverInfo": "Hatékony cikk létrehozásához adjon hozzá egy borítóképet. Tölts fel 16:9-es képarányú képeket a legjobb nézet érdekében. Maximális fájlméret: 1 MB.",
"CreatePostCoverInfo": "Hatékony bejegyzés létrehozásához adj hozzá egy borítóképet. Tölts fel 16:9-es képarányú képeket a legjobb nézet érdekében. Maximális fájlméret: 1 MB.",
"ThisExtensionIsNotAllowed": "Ez a bővítmény nem engedélyezett.",
"TheFileIsTooLarge": "A fájl túl nagy.",
"GoToThePost": "Ugrás a cikkre",
@ -45,7 +43,7 @@
"Done": "Kész",
"Open": "Nyisd ki",
"Closed": "Zárva",
"LatestQuestionOnThe": "Legújabb kérdés a",
"RecentQuestionFrom": "Friss kérdés tőle {0}",
"Stackoverflow": "Stackoverflow",
"Votes": "szavazatokat",
"Answer": "Válasz",
@ -59,7 +57,7 @@
"QuestionItemErrorMessage": "Nem sikerült lekérni a Stackoverflow legújabb kérdés részleteit.",
"Oops": "Hoppá!",
"CreatePostSuccessMessage": "A cikk sikeresen beküldve. A webhely adminisztrátorának felülvizsgálata után tesszük közzé.",
"ChooseCoverImage": "Válasszon borítóképet...",
"Browse": "Tallózás",
"CoverImage": "Borítókép",
"ShareYourExperiencesWithTheABPFramework": "Ossza meg tapasztalatait az ABP keretrendszerrel!",
"Optional": "Választható",
@ -88,6 +86,8 @@
"PostRequestFromGithubIssue": "Jelenleg nincs cikkkérés.",
"LatestPosts": "Legutóbbi bejegyzések",
"ArticleRequests": "Cikkigények",
"ArticleRequestsDescription": "Konkrét tartalmat szeretne látni itt? Megkérheted a közösséget, hogy hozza létre!",
"LatestContentRequests": "Legújabb tartalomkérések",
"AllPostRequests": "Lásd: Összes cikkigénylés",
"SubscribeToTheNewsletter": "Feliratkozás a Hírlevélre",
"NewsletterEmailDefinition": "Információkat kaphat az ABP eseményeiről, például új kiadásokról, ingyenes forrásokról, cikkekről és egyebekről.",
@ -115,7 +115,6 @@
"VideoUrl": "Videó URL-je",
"GithubPostUrl": "Github cikk URL-je",
"ExternalPostUrl": "Külső cikk URL",
"CreatePostCoverInfo": "Hatékony bejegyzés létrehozásához adj hozzá egy borítóképet. Tölts fel 16:9-es képarányú képeket a legjobb nézet érdekében. Maximális fájlméret: 1 MB.",
"ThankYouForContribution": "Köszönjük, hogy hozzájárult az ABP közösséghez.",
"GithubPost": "Github cikk",
"GithubPostSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Írjon cikket bármely nyilvános GitHub-tárhelyről Markdown formátumban. <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\">példa </a>",
@ -142,6 +141,49 @@
"MinimumSearchContent": "Legalább 3 karaktert kell megadnod!",
"Volo.AbpIo.Domain:060001": "A forrás URL (\"{PostUrl}\") nem Github URL",
"Volo.AbpIo.Domain:060002": "A cikk tartalma nem érhető el a Github(\"{PostUrl}\") forrásból.",
"Volo.AbpIo.Domain:060003": "Nem található a cikk tartalma!"
"Volo.AbpIo.Domain:060003": "Nem található a cikk tartalma!",
"SeeMore": "Nézek többet",
"JoinTheABPCommunity": "Csatlakozz az ABP közösséghez",
"ABPCommunityTalks": "ABP közösségi beszélgetések",
"LiveDemo": "Élő Demo",
"GetLicense": "Szerezzen licenszet",
"GetStarted": "Fogj neki",
"SourceCode": "Forráskód",
"LeaveComment": "Hagyj megjegyzést",
"ShowMore": "Mutass többet",
"NoPublishedPostsYet": "Még nincsenek közzétett bejegyzések.",
"Name": "Név",
"Surname": "Vezetéknév",
"WebSite": "Weboldal",
"FullURL": "Teljes URL",
"JobTitle": "Munka megnevezése",
"Prev": "Előző",
"Previous": "Előző",
"Next": "Következő",
"Share": "Részvény",
"SortBy": "Sorrend",
"NoPublishedEventsYet": "Még nincsenek közzétett események.",
"SubscribeYoutubeChannel": "Iratkozz fel a Youtube csatornára",
"Enum:EventType:0": "Beszélgetések",
"MemberNotPublishedPostYet": "Ez a tag még nem tett közzé bejegyzéseket.",
"TimeAgo": "{0} ezelőtt",
"Discord_Page_JoinCommunityMessage": "Csatlakozz az ABP Discord közösséghez",
"Discord_Page_Announce": "Örömmel jelentjük be az ABP Community Discord Servert!",
"Discord_Page_Description_1": "Az ABP közösség az első nap óta növekszik. Egy hivatalos ABP Discord szerver létrehozásával a következő lépésre akartuk vinni, hogy az ABP közösség az azonnali üzenetküldés csodáival kommunikálhasson egymással.",
"Discord_Page_Description_2": "Az ABP Community Discord Server az a hely, ahol bemutathatja alkotásait az ABP Framework segítségével, megoszthatja az Ön számára bevált tippeket, értesülhet az ABP Framework-vel kapcsolatos legfrissebb hírekről és bejelentésekről, egyszerűen cseveghet a közösség tagjaival, hogy eszmét cserélhessen, és érezze jól magát!",
"Discord_Page_Description_3": "Ez az ABP Community Discord szerver a hivatalos, ahol az ABP Core Team jelen van a szerveren, hogy felügyelje.",
"Discord_Page_JoinToServer": "Csatlakozz az ABP Discord szerverhez",
"Events_Page_MetaTitle": "ABP közösségi események",
"Events_Page_MetaDescription": "Az ABP Team által rendezett élő műsorok hétköznapi előadások, tele közösségi tartalommal, demókkal, kérdésekkel és válaszokkal, valamint az ABP-ben zajló eseményekről szóló vitákkal.",
"Events_Page_Title": "ABP <span class=\"gradient-community\">közösségi</span> beszélgetések",
"Members_Page_WritingFromUser": "Olvassa el {0} írását az ABP közösségben.",
"Post_Create_Page_MetaTitle": "Új bejegyzés",
"Post_Create_Page_MetaDescription": "Hozzon létre bejegyzést, hogy megossza tapasztalatait az ABP keretrendszerrel kapcsolatban, és hozzájáruljon az ABP közösséghez.",
"Post_Create_Page_CreateNewPost": "Új bejegyzés létrehozása",
"Post_Index_Page_MetaDescription": "Az ABP Community célja egy hozzájárulási környezet létrehozása az ABP keretrendszert használó fejlesztők számára.",
"Layout_Title": "{0} | ABP-közösség",
"Layout_MetaDescription": "Az ABP Community egy olyan környezet, ahol az emberek megoszthatnak bejegyzéseket az ABP keretrendszerről, és követhetik a projekteket.",
"Index_Page_CommunityIntroduction": "Ez az ABP Framework, a .NET és a szoftverfejlesztés központja. Elolvashatja a cikkeket, megnézheti az oktatóvideókat, tájékozódhat az ABP fejlesztési előrehaladásáról és az ABP-vel kapcsolatos eseményekről, segíthet más fejlesztőknek, és megoszthatja szakértelmét az ABP közösséggel.",
"TagsInArticle": "Címkék a cikkben"
}
}

52
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/tr.json

@ -36,7 +36,6 @@
"FeatureRequest": "Özellik isteği",
"CreatePostTitleInfo": "Gönderi listesinde gösterilecek gönderinin başlığı.",
"CreatePostSummaryInfo": "Gönderi listesinde gösterilecek gönderinin kısa bir özeti.",
"CreatePostCoverInfo": "Etkili bir makale oluşturmak için bir kapak fotoğrafı ekleyin. En iyi görünüm için 16:9 en boy oranlı resimler yükleyin. Maksimum dosya boyutu: 1MB.",
"ThisExtensionIsNotAllowed": "Bu uzantıya izin verilmiyor.",
"TheFileIsTooLarge": "Dosya çok büyük.",
"GoToThePost": "Makaleye git",
@ -46,7 +45,7 @@
"Open": "Açık",
"Closed": "Kapalı",
"LatestQuestionOnThe": "Son Soru",
"Stackoverflow": "yığın akışı",
"Stackoverflow": "Stackoverflow",
"Votes": "oy",
"Answer": "Cevap",
"Views": "Görüntüleme",
@ -143,6 +142,53 @@
"Volo.AbpIo.Domain:060001": "Kaynak URL (\"{PostUrl}\") Github URL'si değil",
"Volo.AbpIo.Domain:060002": "Makale İçeriği Github(\"{PostUrl}\") kaynağında mevcut değil.",
"Volo.AbpIo.Domain:060003": "Makale içeriği bulunamadı!",
"MemberNotPublishedPostYet": "Bu üye henüz bir gönderi yayınlamadı."
"MemberNotPublishedPostYet": "Bu üye henüz bir gönderi yayınlamadı.",
"WelcomeToABP": "ABP'ye Hoşgeldiniz",
"Browse": "Göz at",
"ArticleRequestsDescription": "Burada belirli bir içerik mi görmek istiyorsunuz? Topluluktan bunu oluşturmasını isteyebilirsiniz!",
"LatestContentRequests": "Son İçerik Talepleri",
"SeeMore": "Daha fazla göster",
"JoinTheABPCommunity": "ABP Topluluğuna Katılın",
"ABPCommunityTalks": "ABP Topluluk Konuşmaları",
"LiveDemo": "Canlı Demo",
"GetLicense": "Lisans Al",
"GetStarted": "Başlayın",
"SourceCode": "Kaynak Kodu",
"LeaveComment": "Yorum bırak",
"RecentQuestionFrom": "{0}' dan son soru",
"ReadMore": "Daha fazla oku",
"ShowMore": "Daha fazla göster",
"NoPublishedPostsYet": "Henüz yayınlanmış bir gönderi yok.",
"Name": "İsim",
"Surname": "Soyisim",
"WebSite": "Web Sitesi",
"FullURL": "Tam URL",
"JobTitle": "Meslek İsmi",
"Prev": "Önceki",
"Previous": "Önceki",
"Next": "Sonraki",
"Share": "Paylaş",
"SortBy": "Sırala",
"NoPublishedEventsYet": "Henüz yayınlanmış bir etkinlik yok.",
"SubscribeYoutubeChannel": "Youtube Kanalına Abone Ol",
"Enum:EventType:0": "Konuşma",
"TimeAgo": "{0} önce",
"Discord_Page_JoinCommunityMessage": "ABP Discord Topluluğuna Katılın",
"Discord_Page_Announce": "ABP Topluluk Discord Sunucusunu duyurmaktan mutluluk duyuyoruz!",
"Discord_Page_Description_1": "ABP Topluluğu ilk günden beri büyüyor. Resmi bir ABP Discord sunucusu oluşturarak bunu bir sonraki adıma taşımak istedik, böylece ABP Topluluğu anlık mesajlaşmanın harikalarını kullanarak birbirleriyle etkileşime geçebilir.",
"Discord_Page_Description_2": "ABP Topluluğu Discord Sunucusu, ABP Framework kullanarak yarattıklarınızı sergileyebileceğiniz, işinize yarayan ipuçlarını paylaşabileceğiniz, ABP Framework ile ilgili en son haberleri ve duyuruları takip edebileceğiniz, fikir alışverişinde bulunmak ve eğlenmek için topluluk üyeleriyle sohbet edebileceğiniz bir yerdir!",
"Discord_Page_Description_3": "Bu ABP Topluluk Discord Sunucusu, ABP Çekirdek Ekibinin sunucuda izlenmesi için mevcut olduğu resmi sunucudur.",
"Discord_Page_JoinToServer": "ABP Discord Sunucusuna Katılın",
"Events_Page_MetaTitle": "ABP Topluluk Etkinlikleri",
"Events_Page_MetaDescription": "ABP Ekibi tarafından düzenlenen canlı programlar, topluluk içeriği, demolar, Soru-Cevap ve ABP'de neler olup bittiğine dair tartışmalarla dolu rahat oturumlardır.",
"Events_Page_Title": "ABP<span class=\"gradient-community\"> Topluluk</span> Konuşmaları",
"Members_Page_WritingFromUser": "ABP Topluluğunda {0} adlı kişiden gelen yazıları okuyun.",
"Post_Create_Page_MetaTitle": "Yeni Gönderi",
"Post_Create_Page_MetaDescription": "ABP çerçevesi hakkındaki deneyimlerinizi paylaşmak ve ABP Topluluğuna katkıda bulunmak için gönderinizi oluşturun.",
"Post_Create_Page_CreateNewPost": "Yeni Gönderi Oluştur",
"Post_Index_Page_MetaDescription": "ABP Topluluğu'nun amacı, ABP çerçevesini kullanan geliştiriciler için bir katkı ortamı yaratmaktır.",
"Layout_Title": "{0} | ABP Topluluğu",
"Layout_MetaDescription": "ABP Topluluğu, insanların ABP çerçevesi hakkında paylaşımlarda bulunabileceği ve projeleri takip edebileceği bir ortamdır.",
"Index_Page_CommunityIntroduction": "Burası ABP Çerçevesi, .NET ve yazılım geliştirme için bir merkezdir. Makaleleri okuyabilir, eğitim videolarını izleyebilir, ABP'nin gelişim süreci ve ABP ile ilgili etkinlikler hakkında bilgi alabilir, diğer geliştiricilere yardımcı olabilir ve uzmanlığınızı ABP topluluğu ile paylaşabilirsiniz."
}
}

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

@ -43,7 +43,7 @@
"Done": "完成",
"Open": "打开",
"Closed": "关闭",
"RecentQuestionFrom": "最近的问题来自",
"RecentQuestionFrom": "最近的问题来自 {0}",
"Stackoverflow": "Stackoverflow",
"Votes": "票数",
"Answer": "回答",
@ -176,7 +176,7 @@
"Events_Page_MetaTitle": "ABP 社区活动",
"Events_Page_MetaDescription": "现场活动由 ABP 团队主持,是充满社区内容、演示、问答和围绕 ABP 正在发生的事情的讨论的休闲会议。",
"Events_Page_Title": "ABP<span class=\"gradient-community\">社区</span>会谈",
"Events_Page_WritingFromUser": "阅读来自 ABP 社区的 {0} 的文章。",
"Members_Page_WritingFromUser": "阅读来自 ABP 社区的 {0} 的文章。",
"Post_Create_Page_MetaTitle": "最新帖子",
"Post_Create_Page_MetaDescription": "创建您的帖子以分享您对 ABP 框架的经验并为 ABP 社区做出贡献。",
"Post_Create_Page_CreateNewPost": "创建新帖子",

5
abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/AbpIoDocsResource.cs

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

1
abp_io/AbpIoLocalization/AbpIoLocalization/Docs/Localization/Resources/en.json

@ -1,5 +1,6 @@
{
"culture": "en",
"texts": {
"Buy": "Buy"
}
}

6
abp_io/AbpIoLocalization/AbpIoLocalization/Support/Localization/Resources/hu.json

@ -0,0 +1,6 @@
{
"culture": "hu",
"texts": {
"FAQ": "GYIK"
}
}

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

@ -392,6 +392,7 @@
"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>"
"SeeFullScreen": "<a href='{0}' target='_blank'>🖼️ See the screenshot</a>",
"BuildingMicroserviceSolutionsShortDescription": "This book is a reference guide for developing and managing microservice-based applications using the ABP Framework."
}
}

121
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/hu.json

@ -174,6 +174,7 @@
"CreateProjectWizard": "Ez a varázsló új projektet hoz létre az indítási sablonból, amely megfelelően be van állítva a projekt elindításához.",
"TieredOption": "Létrehoz egy többszintű megoldást, ahol a webes és a HTTP API-rétegek fizikailag el vannak választva. Ha nincs bejelölve, réteges megoldást hoz létre, amely kevésbé bonyolult és a legtöbb forgatókönyvhöz megfelelő.",
"SeparateIdentityServerOption": "A szerveroldalt két alkalmazásra választja szét: az első az identitáskiszolgálóhoz, a második pedig a szerveroldali HTTP API-hoz való.",
"ProgressiveWebApplicationOption": "Progresszív webalkalmazásként határozza meg a projektet",
"UseslatestPreVersion": "A legújabb kiadás előtti verziót használja",
"ReadTheDocumentation": "<span class=\"text-primary\">Olvassa el</span><span class=\"text-success\"> a dokumentációt</span>",
"Documentation": "Dokumentáció",
@ -214,7 +215,11 @@
"SeeDocs": "Lásd: Dokumentumok",
"None": "Egyik sem",
"Application": "Alkalmazás",
"ApplicationExplanation": "Teljesen rétegzett megoldást hoz létre a tartományvezérelt tervezési gyakorlatok alapján. Olyan hosszú távú projektekhez ajánlott, amelyek karbantartható és bővíthető kódbázist igényelnek.",
"ApplicationNoLayer": "Alkalmazás (egyrétegű)",
"ApplicationNoLayerExplanation": "Egyrétegű webalkalmazást hoz létre. Egyszerűbb és könnyen érthető architektúrájú alkalmazás készítéséhez ajánlott.",
"Module": "Modul",
"ModuleExplanation": "Újrafelhasználható, teljesen rétegzett alkalmazásmodul-megoldást hoz létre. Ezzel a lehetőséggel modulokat hozhat létre a moduláris alkalmazásához.",
"PackageName": "Csomag név",
"LicenseURL": "Licenc URL",
"License": "Engedély",
@ -273,6 +278,120 @@
"SubscribeToNewsletter": "Iratkozzon fel a hírlevélre, hogy tájékozódjon az ABP.IO Platform eseményeiről, például új kiadásokról, cikkekről, ajánlatokról stb.",
"FirstEdition": "Első kiadás",
"ThankYou": "Köszönöm!",
"CheckboxMandatory": "Ezt ellenőriznie kell a folytatáshoz!"
"CheckboxMandatory": "Ezt ellenőriznie kell a folytatáshoz!",
"UserInterface": "Felhasználói felület",
"APIGateway": "API átjáró",
"Database": "Adatbázis",
"Saas": "Saas",
"OpenSourceWebApp": "Nyílt <span class=\"forever\">forráskódú</span><br/> webalkalmazás",
"Framework": "Keretrendszer",
"AuditLoggingExplanation": "Automatikusan nyomon követheti az összes műveletet és adatváltozást a rendszerben.",
"AbpNewCommandExplanation": "Új megoldásokat hoz létre az ABP indítási sablonjaival.",
"AbpAddModuleCommandExplanation": "Előre elkészített alkalmazásmodulokat telepít a megoldásra",
"AbpUpdateCommandExplanation": "Automatikusan frissíti az összes ABP-vel kapcsolatos NuGet és NPM csomagot a megoldásban.",
"ExploreAllCLICommands": "Fedezze fel az összes CLI-parancsot",
"ExploreDocumentationAndGuides": "Fedezze fel az átfogó dokumentációt és útmutatókat.",
"Documentations": "Dokumentáció",
"Views": "Nézetek",
"EnterYouEmailToGetNews": "Adja meg e-mail címét, hogy megkapja a legfrissebb híreket az ABP-keretrendszerrel kapcsolatban",
"Tiered": "Többszintű",
"SeparateIdentityServer": "Külön identitásszerver",
"ProgressiveWebApplication": "Progresszív webes alkalmazás",
"Preview": "Előnézet",
"CreateANewSolution": "Hozzon létre egy új megoldást",
"ABPFrameworkFeatures": "Az ABP keretrendszer <span class=\"gradient-framework\">jellemzői</span>",
"Commercial": "Kereskedelmi",
"ThirdPartyTools": "Harmadik féltől származó eszközök",
"Back": "Vissza",
"Community": "Közösség",
"SeeMore": "Többet látni",
"DetailsOfTheEBook": "Az E-könyv részletei",
"JoinOurMarketingNewsletter": "Csatlakozzon marketing hírlevelünkhöz",
"FrameworkNewsletterConfirmationMessage": "Elfogadom az <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">Általános Szerződési Feltételeket</a> és az <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">Adatvédelmi szabályzatot</a> .",
"GetYourFreeEBook": "Szerezze meg <span class=\"gradient-framework d-block\">ingyenes DDD e-könyvét</span>",
"EverythingYouNeedToKnow": "Minden, amit tudnia kell.",
"PreOrderNow": "Előrendelés most",
"UITheming": "UI témák",
"UIThemingExplanation": "Hozzon létre újrafelhasználható felhasználói felület-témákat és elrendezéseket, vagy használja valamelyik előre elkészített felhasználói felület-témát.",
"DataFilteringExplanation2": "Automatikusan szűrje le az adatbázisból származó lekérdezéseket, hogy könnyen megvalósíthassa az olyan mintákat, mint a soft-delete és a multi-tenancy.",
"NeedHelp": "Kell segítség?",
"GiveYourProjectAName": "Adjon nevet a projektjének",
"SelectProjectType": "Válassza ki a Projekt típusát",
"SelectUIFramework": "Válassza a UI-keretrendszert",
"SelectDatabaseProvider": "Válassza az Adatbázis-szolgáltató lehetőséget",
"SelectDatabaseManagementSystem": "Válassza az Adatbázis-kezelő rendszer lehetőséget",
"InstallingTheABPCLI": "Az ABP CLI telepítése",
"CreateYourProjectNow": "Hozza létre projektjét most",
"OrderOn": "Rendelés itt: {0}",
"DownloadFreeDDDBook": "Ingyenes DDD könyv letöltése",
"WhatIsABPFramework": "Mi az az ABP-keretrendszer?",
"TenantDatabase": "Bérlői {0} adatbázis",
"SharedDatabase": "Megosztott adatbázis",
"ConnectionResolver": "Kapcsolatfeloldó",
"TenantBasedDataFilter": "Bérlő alapú adatszűrő",
"ApplicationCode": "Alkalmazási kód",
"TenantResolution": "Bérlői állásfoglalás",
"TenantUser": "Bérlő {0} felhasználó",
"CardTitle": "Kártya címe",
"View": "Nézet",
"Model": "Modell",
"Email": "Email",
"Password": "Jelszó",
"Address": "Cím",
"Gender": "Nem",
"Male": "Férfi",
"Female": "Nő",
"Submit": "Beküldés",
"Unspecified": "Meg nem határozott",
"StaticFileMiddleware": "Statikus fájl köztes-szoftver",
"RazorViewEngine": "Razor View Engine",
"PhysicalFiles": "Fizikai fájlok (wwwroot)",
"EmbeddedFiles": "Beágyazott fájlok (DLL)",
"DynamicFiles": "Dinamikus fájlok (memória)",
"BuildSolutionsWithAbp": "Építsen karbantartható .NET-megoldásokat az ABP használatával bevált szoftverfejlesztési gyakorlatok követésével.",
"BuyOnAmazon": "Vásároljon az Amazonon",
"BuyOnPackt": "Vásároljon Packt-en",
"Discounted": "Kedvezményes",
"MasteringAbpFramework_Book_KeyFeatures": "Főbb jellemzők",
"MasteringAbpFramework_Book_Key_Features_Description_1": "Építsen robusztus, karbantartható, moduláris és méretezhető szoftvermegoldásokat az ABP Framework segítségével.",
"MasteringAbpFramework_Book_Key_Features_Description_2": "Ismerje meg, hogyan valósíthatja meg a SOLID elveket és a tartományvezérelt tervezést webalkalmazásaiban.",
"MasteringAbpFramework_Book_Key_Features_Description_3": "Fedezze fel, hogyan gyorsítja fel az ABP Framework a fejlesztési ciklust az ismétlődő feladatok automatizálásával.",
"MasteringAbpFramework_Book_Description": "Könyv leírása",
"MasteringAbpFramework_Book_Description_Details_1": "Az ABP Framework egy komplett infrastruktúra modern webalkalmazások létrehozásához a szoftverfejlesztési bevált gyakorlatok és konvenciók követésével. Az ABP magas szintű keretrendszerével és ökoszisztémájával megvalósíthatja a Ne ismételje meg magát (DRY) elvet, és az üzleti kódjára összpontosítson.",
"MasteringAbpFramework_Book_Description_Details_2": "Az ABP Framework megalkotója által írt könyv segít a keretrendszer és a modern webalkalmazás-fejlesztési technikák teljes megértésében. Az alapvető fogalmak lépésről lépésre történő magyarázatával és gyakorlati példákkal megismerheti a modern webes megoldások követelményeit, és megértheti, hogy az ABP Framework hogyan teszi élvezetessé saját megoldásainak fejlesztését. Felfedezi a vállalati webalkalmazás-fejlesztés általános követelményeit, és felfedezheti az ABP által biztosított infrastruktúrát. A könyv során megismerkedhet a szoftverfejlesztés bevált gyakorlataival a karbantartható és moduláris webes megoldások létrehozásához.",
"MasteringAbpFramework_Book_Description_Details_3": "A könyv végére képes lesz egy komplett webes megoldás létrehozására, amely könnyen fejleszthető, karbantartható és tesztelhető.",
"MasteringAbpFramework_Book_WhatYouWillLearn": "Mit fog tanulni",
"MasteringAbpFramework_Book_What_You_Will_Learn_1": "Állítsa be a fejlesztői környezetet, és kezdje el az ABP Framework használatát.",
"MasteringAbpFramework_Book_What_You_Will_Learn_2": "Az Entity Framework Core és a MongoDB segítségével fejlesztheti adathozzáférési rétegét.",
"MasteringAbpFramework_Book_What_You_Will_Learn_3": "Ismerje meg a több területet érintő aggályokat és azt, hogy az ABP hogyan automatizálja az ismétlődő feladatokat.",
"MasteringAbpFramework_Book_What_You_Will_Learn_4": "Ismerkedjen meg a tartományvezérelt tervezés megvalósításával az ABP Framework segítségével.",
"MasteringAbpFramework_Book_What_You_Will_Learn_5": "Hozzon létre felhasználói felület oldalakat és összetevőket az ASP.NET Core MVC (Razor Pages) és a Blazor segítségével.",
"MasteringAbpFramework_Book_What_You_Will_Learn_6": "Moduláris webalkalmazások létrehozásához dolgozzon több bérléssel.",
"MasteringAbpFramework_Book_What_You_Will_Learn_7": "Ismerje meg a modularitást, és hozzon létre újrafelhasználható alkalmazásmodulokat.",
"MasteringAbpFramework_Book_What_You_Will_Learn_8": "Írjon egység-, integrációs és UI-teszteket az ABP-keretrendszer használatával.",
"MasteringAbpFramework_Book_WhoIsThisBookFor": "Kinek szól ez a könyv",
"MasteringAbpFramework_Book_WhoIsThisBookFor_Description": "Ez a könyv azoknak a webfejlesztőknek szól, akik szoftverarchitektúrákat és bevált gyakorlatokat szeretnének megtanulni karbantartható webalapú megoldások Microsoft technológiáit és ABP-keretrendszert használó felépítéséhez. A könyv használatának megkezdéséhez alapszintű C# és ASP.NET Core ismerete szükséges.",
"ComputersAndTechnology": "Számítógépek és technológia",
"BuildingMicroserviceSolutions": "Mikroszolgáltatási megoldások építése",
"MicroserviceBookPracticalGuide": "Ez a könyv egy referencia útmutató a mikroszolgáltatás alapú alkalmazások fejlesztéséhez és kezeléséhez az ABP Framework segítségével. Hivatkozik a <strong>.NET Microservice Sample Reference Application</strong> : eShopOnContainers alkalmazásra, és tárgyalja az ABP-keretrendszert használó tervezési és megvalósítási megközelítéseket. A könyv végére megtudhatja, hogyan közelíti meg az ABP az olyan általános mikroszolgáltatási bonyolultságokat, mint az engedélyezés, az elosztott tranzakciók, a mikroszolgáltatások közötti kommunikáció, a telepítés stb.",
"IntroducingTheSolution": "Az eShopOnAbp megoldás bemutatása",
"RunningTheSolution": "A megoldás futtatása",
"UnderstandingTheAuthenticationSystem": "A hitelesítési rendszer megértése",
"ExploringTheApplications": "Az alkalmazások felfedezése",
"UnderstandingTheAPIGateways": "Az API-átjárók megértése",
"DevelopingTheMicroservices": "Mikroszolgáltatások fejlesztése",
"UnderstandingTheInfrastructure": "Az infrastruktúra megértése",
"DiggingInTheUseCases": "feltérképezni a használati eseteket",
"DeployingTheSolution": "A megoldás telepítése",
"ThisBookIsInDraftStageAndIsNotCompletedYet": "Ez a könyv tervezet stádiumban van, és még nem készült el.",
"Authors": "Szerzői",
"MicroserviceEBook": "Mikroszolgáltatás e-könyv",
"SelectUITheme": "Válassza ki a felhasználói felület témáját",
"LeptonXLiteTheme": "LeptonX Lite téma",
"BasicTheme": "Alap téma",
"LeptonXLiteThemeInfo": "Modern és stílusos Bootstrap UI téma. Ideális, ha gyártásra kész felhasználói felület témát szeretne. Ez a legújabb téma, és az alapértelmezett.",
"BasicThemeInfo": "Minimalista felhasználói felület téma egyszerű Bootstrap színekkel és stílusokkal. Ideális, ha saját felhasználói felület témát készít.",
"SeeDocumentation": "Lásd a <a href='{0}' target='_blank'>dokumentációt</a> .",
"SeeFullScreen": "<a href='{0}' target='_blank'>🖼️ Nézze meg a képernyőképet</a>"
}
}

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

@ -280,6 +280,99 @@
"FirstEdition": "İlk Baskı",
"ThankYou": "Teşekkürler!",
"CheckboxMandatory": "Devam etmek için bunu kontrol etmeniz gerekiyor!",
"UserInterface": "Kullanıcı Arayüzü",
"APIGateway": "API Ağ Geçidi",
"Database": "Veritabanı",
"Saas": "Saas",
"OpenSourceWebApp": " Açık <span class=\"forever\">kaynak </span> <br/> web uygulaması",
"Framework": "Çerçeve",
"AuditLoggingExplanation": "Sisteminizdeki tüm işlemleri ve veri değişikliklerini otomatik olarak izleyin.",
"AbpNewCommandExplanation": "ABP başlangıç şablonlarını kullanarak yeni çözümler oluşturur.",
"AbpAddModuleCommandExplanation": "Çözümünüze önceden oluşturulmuş uygulama modülleri yükler",
"ExploreAllCLICommands": "Tüm CLI komutlarını keşfedin",
"ExploreDocumentationAndGuides": "Kapsamlı belge ve kılavuzları keşfedin.",
"Documentations": "Belgeler",
"Views": "Görünümler",
"ReadMore": "Daha fazla oku",
"EnterYouEmailToGetNews": "ABP Çerçevesi hakkında en son haberleri almak için e-postanızı girin",
"Tiered": "Katmanlı",
"SeparateIdentityServer": "Ayrı Kimlik Sunucusu",
"Preview": "Önizleme",
"CreateANewSolution": "Yeni bir çözüm oluşturun",
"ABPFrameworkFeatures": "ABP Çerçevesi <span class=\"gradient-framework\">Özellikleri</span>",
"Commercial": "Ticari",
"ThirdPartyTools": "Üçüncü taraf araçlar",
"Back": "Geri",
"Community": "Topluluk",
"SeeMore": "Daha fazla göster",
"DetailsOfTheEBook": "E-kitap detayları",
"JoinOurMarketingNewsletter": "Pazarlama bültenimize katılın",
"FrameworkNewsletterConfirmationMessage": "<a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/TermsConditions\">Şartlar ve Koşulları</a> ve <a class=\"text-white fw-6 text-decoration-underline opacity-50\" href=\"https://commercial.abp.io/Privacy\">Gizlilik Politikasını</a> kabul ediyorum.",
"GetYourFreeEBook": "<span class=\"gradient-framework d-block\">Ücretsiz DDD E-kitabınızı</span> Alın ",
"EverythingYouNeedToKnow": "Bilmeniz gereken her şey",
"PreOrderNow": "Şimdi Ön sipariş verin",
"UITheming": "Arayüz Teması",
"UIThemingExplanation": "Yeniden kullanılabilir UI temaları ve düzenleri oluşturun veya önceden oluşturulmuş UI temalarından birini kullanın.",
"DataFilteringExplanation2": "Soft-delete ve çoklu kiracılık gibi modelleri kolayca uygulamak için veritabanından sorgulama yaparken otomatik olarak filtreleme yapın.",
"AbpUpdateCommandExplanation": "Çözümünüzdeki ABP ile ilgili tüm NuGet ve NPM paketlerini otomatik olarak günceller.",
"NeedHelp": "Yardıma ihtiyacınız var mı?",
"GiveYourProjectAName": "Projenize bir isim verin",
"SelectProjectType": "Proje türünü seçin",
"SelectUIFramework": "Arayüz çerçevesini seçin",
"SelectDatabaseProvider": "Veritabanı sağlayıcısını seçin",
"SelectDatabaseManagementSystem": "Veritabanı yönetim sisteminizi seçin",
"InstallingTheABPCLI": "ABP CLI yükleniyor",
"CreateYourProjectNow": "Projenizi şimdi oluşturun",
"OrderOn": "{0} numaralı sipariş",
"DownloadFreeDDDBook": "DDD E-kitabını Ücretsiz İndirin",
"WhatIsABPFramework": "ABP Çerçevesi nedir?",
"TenantDatabase": "Kiracı {0} Veritabanı",
"SharedDatabase": "Paylaşımlı Veritabanı",
"ConnectionResolver": "Bağlantı Çözücü",
"TenantBasedDataFilter": "Kiracı Tabanlı Veri Filtresi",
"ApplicationCode": "Uygulama Kodu",
"TenantResolution": "Kiracı Çözümü",
"TenantUser": "Kiracı {0} Kullanıcı",
"CardTitle": "Kart Başlığı",
"View": "Görünüm",
"Model": "Model",
"Email": "E-posta",
"Password": "Şifre",
"Address": "Adres",
"Gender": "Cinsiyet",
"Male": "Erkek",
"Female": "Kadın",
"Submit": "Gönder",
"Unspecified": "Belirtilmemiş",
"StaticFileMiddleware": "Statik Dosya Ara Yazılımı",
"RazorViewEngine": "Razor Görünüm Motoru",
"PhysicalFiles": "Fiziksel Dosyalar (wwwroot)",
"EmbeddedFiles": "Gömülü Dosyalar (DLL)",
"DynamicFiles": "Dinamik Dosyalar (Bellek)",
"BuildSolutionsWithAbp": "ABP kullanarak en iyi yazılım geliştirme uygulamalarını takip ederek sürdürülebilir .NET çözümleri oluşturun.",
"BuyOnAmazon": "Amazon'dan satın alın",
"BuyOnPackt": "Packt'ten satın alın",
"Discounted": "İndirimli",
"MasteringAbpFramework_Book_KeyFeatures": "Anahtar Özellikler",
"MasteringAbpFramework_Book_Key_Features_Description_1": "ABP Çerçevesini kullanarak sağlam, sürdürülebilir, modüler ve ölçeklenebilir yazılım çözümleri oluşturun.",
"MasteringAbpFramework_Book_Key_Features_Description_2": "Web uygulamalarınızda SOLID ilkelerini ve etki alanı odaklı tasarımı nasıl uygulayacağınızı öğrenin.",
"MasteringAbpFramework_Book_Key_Features_Description_3": "ABP Çerçevesinin tekrar eden görevleri otomatikleştirerek geliştirme döngünüzü nasıl hızlandırdığını keşfedin.",
"MasteringAbpFramework_Book_Description": "Kitap Açıklaması",
"MasteringAbpFramework_Book_Description_Details_1": "ABP Çerçevesi, yazılım geliştirme en iyi uygulamalarını ve kurallarını izleyerek modern web uygulamaları oluşturmak \n için eksiksiz bir altyapıdır. ABP'nin üst düzey çerçevesi ve ekosistemi ile Kendinizi Tekrar Etmeyin (DRY) ilkesini uygulayabilir ve iş kodunuza odaklanabilirsiniz.",
"MasteringAbpFramework_Book_Description_Details_2": "ABP Çerçevesinin yaratıcısı tarafından yazılan bu kitap,çerçevesini ve modern web uygulaması geliştirme\n tekniklerini tam olarak anlamanıza yardımcı olacaktır. Temel kavramların adım adım açıklamaları ve\n pratik örneklerle, modern bir web çözümünün gereksinimlerini ve ABP Çerçevesinin kendi çözümlerinizi\n geliştirmeyi nasıl keyifli hale getirdiğini anlayacaksınız. Kurumsal web uygulaması geliştirmenin ortak gereksinimlerini\n keşfedecek ve ABP tarafından sağlanan altyapıyı keşfedeceksiniz. Kitap boyunca, sürdürülebilir ve\n modüler web çözümleri oluşturmak için en iyi yazılım geliştirme uygulamalarını öğreneceksiniz.",
"MasteringAbpFramework_Book_Description_Details_3": "Bu kitabın sonunda, geliştirilmesi, bakımı ve test edilmesi kolay eksiksiz bir web çözümü\n oluşturabileceksiniz.",
"MasteringAbpFramework_Book_WhatYouWillLearn": "Ne Öğreneceksiniz",
"MasteringAbpFramework_Book_What_You_Will_Learn_1": "Geliştirme ortamını kurun ve ABP Çerçevesi ile çalışmaya başlayın.",
"MasteringAbpFramework_Book_What_You_Will_Learn_2": "Veri erişim katmanınızı geliştirmek için Entity Framework Core ve MongoDB ile çalışın.",
"MasteringAbpFramework_Book_What_You_Will_Learn_3": "Birbiriyle kesişen endişeleri ve ABP'nin tekrarlayan görevleri nasıl otomatikleştirdiğini anlayın.",
"MasteringAbpFramework_Book_What_You_Will_Learn_4": "ABP Çerçevesi ile etki alanı odaklı tasarımın uygulanmasını öğrenin.",
"MasteringAbpFramework_Book_What_You_Will_Learn_5": "ASP.NET Core MVC (Razor Pages) ve Blazor ile UI sayfaları ve bileşenleri oluşturun.",
"MasteringAbpFramework_Book_What_You_Will_Learn_6": "Modüler web uygulamaları oluşturmak için çoklu kiracılık ile çalışın.",
"MasteringAbpFramework_Book_What_You_Will_Learn_7": "Modülerliği anlayın ve yeniden kullanılabilir uygulama modülleri oluşturun.",
"MasteringAbpFramework_Book_What_You_Will_Learn_8": "ABP Çerçevesini kullanarak birim, entegrasyon ve UI testleri yazın.",
"MasteringAbpFramework_Book_WhoIsThisBookFor": "Bu kitap kimler için?",
"MasteringAbpFramework_Book_WhoIsThisBookFor_Description": "Bu kitap, Microsoft teknolojilerini ve ABP Çerçevesini kullanarak sürdürülebilir web tabanlı çözümler\n oluşturmak için yazılım mimarilerini ve en iyi uygulamaları öğrenmek isteyen web geliştiricileri içindir.\n Bu kitaba başlamak için temel C# ve ASP.NET Core bilgisi gereklidir.",
"ComputersAndTechnology": "Bilgisayar ve Teknoloji",
"ThisBookIsInDraftStageAndIsNotCompletedYet": "Bu kitap taslak aşamasındadır ve henüz tamamlanmamıştır."
}
}

2
build/build-all.ps1

@ -6,6 +6,8 @@ $full = $args[0]
Write-Host $solutionPaths
dotnet workload install wasm-tools
foreach ($solutionPath in $solutionPaths) {
$solutionAbsPath = (Join-Path $rootFolder $solutionPath)
Set-Location $solutionAbsPath

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")

151
cSpell.json

@ -0,0 +1,151 @@
{
"version": "0.2",
"language": "en",
"words": [
"ABP's",
"abpframework",
"Antiforgery",
"appsettings",
"aspnet",
"aspnetcore",
"Autofac",
"automagically",
"Blazor",
"CQRS",
"crossfade",
"Dapr",
"Datagrid's",
"Datatable",
"datepicker",
"dismissable",
"dockerized",
"entrypoints",
"findability",
"hoverable",
"Iddict",
"IntelliCode",
"Keysize",
"Linq",
"Microservices",
"middlewares",
"Minifier",
"multitenancy",
"multitenant",
"Navs",
"Newtonsoft",
"Npgsql",
"oidc",
"overridable",
"Parameterless",
"Passwordless",
"PKCE",
"preconfigured",
"proxying",
"redirections",
"scrollbars",
"signin",
"Templating",
"textboxes",
"toolset",
"unsubscription",
"Xunit"
],
"ignoreWords": [
"Aliyun",
"Allibone",
"Blazorise",
"Boutwell",
"Cmskit",
"connectionstrings",
"Devart",
"Formik",
"Halil",
"Hanselman",
"hikalkan",
"Ibrahim",
"İbrahim",
"Kalkan",
"Kirti",
"Kommunity",
"Kulkarni",
"Luxon",
"malihu",
"Malik",
"Masis",
"Minio",
"NGXS",
"NSWAG",
"Scriban",
"Serilog",
"Shoudly",
"Shouldly",
"Sweetalert",
"Syncfusion",
"Telerik",
"Timeago",
"Toastr",
"Volo",
"Volosoft",
"Xeevis"
],
"patterns": [
{
"name": "Markdown links",
"pattern": "\\((.*)\\)",
"description": ""
},
{
"name": "Markdown code blocks",
"pattern": "/^(\\s*`{3,}).*[\\s\\S]*?^\\1/gmx",
"description": "Taken from the cSpell example at https://cspell.org/configuration/patterns/#verbose-regular-expressions"
},
{
"name": "Inline code blocks",
"pattern": "\\`([^\\`\\r\\n]+?)\\`",
"description": "https://stackoverflow.com/questions/41274241/how-to-capture-inline-markdown-code-but-not-a-markdown-code-fence-with-regex"
},
{
"name": "Link contents",
"pattern": "\\<a(.*)\\>",
"description": ""
},
{
"name": "Snippet references",
"pattern": "-- snippet:(.*)",
"description": ""
},
{
"name": "Snippet references 2",
"pattern": "\\<\\[sample:(.*)",
"description": "another kind of snippet reference"
},
{
"name": "Multi-line code blocks",
"pattern": "/^\\s*```[\\s\\S]*?^\\s*```/gm"
},
{
"name": "HTML Tags",
"pattern": "<[^>]*>",
"description": "Reference: https://stackoverflow.com/questions/11229831/regular-expression-to-remove-html-tags-from-a-string"
},
{
"name": "Markdown Image",
"pattern": "!\\[(.*)\\]\\((.*)\\)"
}
],
"ignoreRegExpList": [
"Markdown links",
"Markdown code blocks",
"Inline code blocks",
"Link contents",
"Snippet references",
"Snippet references 2",
"Multi-line code blocks",
"HTML Tags",
"Markdown Image"
],
"ignorePaths": [
"**/*Release/Post.md",
"**/*Preview/POST.md"
]
}

50
docs/en/API/Static-CSharp-API-Clients.md

@ -36,6 +36,12 @@ public interface IBookAppService : IApplicationService
Implement this class in your service application. You can use [auto API controller system](Auto-API-Controllers.md) to expose the service as a REST API endpoint.
## With Contracts or Without Contracts
`Without Contracts` depending on target service's `application.contracts` package, so they can reuse the DTOs and other related classes. However, that can be a problem when we want to create fully independently developed and deployed microservices. We want to use the static proxy generation even without depending target service's application.contracts package.
`With Contracts` generate all the `classes/enums/other` types in the client side (including application service interfaces) , This is also the default behavior of the `generate-proxy` command.
## Client Proxy Generation
First, add [Volo.Abp.Http.Client](https://www.nuget.org/packages/Volo.Abp.Http.Client) nuget package to your client project:
@ -53,7 +59,27 @@ public class MyClientAppModule : AbpModule
}
````
Now, it's ready to configure the application for the static client proxy generation. Example:
Now, it's ready to configure the application for the static client proxy generation.
### With Contracts Example
````csharp
[DependsOn(
typeof(AbpHttpClientModule) //used to create client proxies
)]
public class MyClientAppModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
// Prepare for static client proxy generation
context.Services.AddStaticHttpClientProxies(
typeof(MyClientAppModule).Assembly
);
}
}
````
### Without Contracts Example
````csharp
[DependsOn(
@ -98,6 +124,8 @@ Server side must be up and running while generating the client proxy code. So, r
Open a command-line terminal in the root folder of your client project (`.csproj`) and type the following command:
#### With Contracts
````bash
abp generate-proxy -t csharp -u http://localhost:53929/
````
@ -106,9 +134,25 @@ abp generate-proxy -t csharp -u http://localhost:53929/
This command should generate the following files under the `ClientProxies` folder:
![generated-static-client-proxies](../images/generated-static-client-proxies.png)
![generated-static-client-proxies](../images/generated-static-client-proxies-with-contracts.png)
* `BookClientProxy.Generated.cs` is the actual generated proxy class in this example. `BookClientProxy` is a `partial` class * where you can write your custom code (ABP won't override it).
* `IBookAppService.cs` is the app service.
* `BookDto.cs` is the Dto class which uses by app service.
* `app-generate-proxy.json` contains information about the remote HTTP endpoint, so ABP can properly perform HTTP requests.
#### Without Contracts
````bash
abp generate-proxy -t csharp -u http://localhost:53929/ --without-contracts
````
This command should generate the following files under the `ClientProxies` folder:
![generated-static-client-proxies](../images/generated-static-client-proxies-without-contracts.png)
`BookClientProxy.Generated.cs` is the actual generated proxy class in this example. `BookClientProxy` is a `partial` class where you can write your custom code (ABP won't override it). `app-generate-proxy.json` contains information about the remote HTTP endpoint, so ABP can properly perform HTTP requests.
* `BookClientProxy.Generated.cs` is the actual generated proxy class in this example. `BookClientProxy` is a `partial` class where you can write your custom code (ABP won't override it).
* `app-generate-proxy.json` contains information about the remote HTTP endpoint, so ABP can properly perform HTTP requests.
> `generate-proxy` command generates proxies for only the APIs you've defined in your application. If you are developing a modular application, you can specify the `-m` (or `--module`) parameter to specify the module you want to generate proxies. See the *generate-proxy* section in the [ABP CLI](../CLI.md) documentation for other options.

1
docs/en/Audit-Logging.md

@ -41,6 +41,7 @@ Here, a list of the options you can configure:
* `IsEnabledForAnonymousUsers` (default: `true`): If you want to write audit logs only for the authenticated users, set this to `false`. If you save audit logs for anonymous users, you will see `null` for `UserId` values for these users.
* `AlwaysLogOnException` (default: `true`): If you set to true, it always saves the audit log on an exception/error case without checking other options (except `IsEnabled`, which completely disables the audit logging).
* `IsEnabledForGetRequests` (default: `false`): HTTP GET requests should not make any change in the database normally and audit log system doesn't save audit log objects for GET request. Set this to `true` to enable it also for the GET requests.
* `DisableLogActionInfo` (default: `false`):If you set to true, Will no longer log `AuditLogActionInfo`.
* `ApplicationName`: If multiple applications saving audit logs into a single database, set this property to your application name, so you can distinguish the logs of different applications.
* `IgnoredTypes`: A list of `Type`s to be ignored for audit logging. If this is an entity type, changes for this type of entities will not be saved. This list is also used while serializing the action parameters.
* `EntityHistorySelectors`: A list of selectors those are used to determine if an entity type is selected for saving the entity change. See the section below for details.

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.

2
docs/en/Blob-Storing-Aws.md

@ -59,7 +59,7 @@ Configure<AbpBlobStoringOptions>(options =>
* **ProfilesLocation** (string): The path to the aws credentials file to look at.
* **Region** (string): The system name of the service.
* **Policy** (string): An IAM policy in JSON format that you want to use as an inline session policy.
* **DurationSeconds** (int): Validity period(s) of a temporary access certificate,minimum is 900 and the maximum is 3600. **note**: Using subaccounts operated OSS,if the value is 0.
* **DurationSeconds** (int): Validity period(s) of a temporary access certificate,minimum is 900 and the maximum is 3600. **note**: Using sub-accounts operated OSS,if the value is 0.
* **ContainerName** (string): You can specify the container name in Aws. If this is not specified, it uses the name of the BLOB container defined with the `BlobContainerName` attribute (see the [BLOB storing document](Blob-Storing.md)). Please note that Aws has some **rules for naming containers**. A container name must be a valid DNS name, conforming to the [following naming rules](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html):
* Bucket names must be between **3** and **63** characters long.
* Bucket names can consist only of **lowercase** letters, numbers, dots (.), and hyphens (-).

2
docs/en/Blog-Posts/2022-01-11 v5_1_Release_Stable/POST.md

@ -107,7 +107,7 @@ Here are some other notable changes that come with this release:
* Developers should control `EnableLegacyTimestampBehavior` when using PostgreSQL. [#11371](https://github.com/abpframework/abp/pull/11371) [#65](https://github.com/abpframework/eShopOnAbp/pull/65)
All issues & PRs in [5.1 milesone](https://github.com/abpframework/abp/milestone/60?closed=1).
All issues & PRs in [5.1 milestone](https://github.com/abpframework/abp/milestone/60?closed=1).
### About ABP Commercial

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

@ -10,16 +10,16 @@ Try this version and provide feedback for the stable ABP v6.0! Thank you to all.
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:
1) **Upgrade** the ABP CLI to version `6.0.0-rc.5` using a command line terminal:
````bash
dotnet tool update Volo.Abp.Cli -g --version 6.0.0-rc.1
dotnet tool update Volo.Abp.Cli -g --version 6.0.0-rc.5
````
**or install** it if you haven't before:
````bash
dotnet tool install Volo.Abp.Cli -g --version 6.0.0-rc.1
dotnet tool install Volo.Abp.Cli -g --version 6.0.0-rc.5
````
2) Create a **new application** with the `--preview` option:
@ -199,7 +199,7 @@ The following improvements have been made on [eShopOnAbp project](https://github
* 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.
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.5), which contains a list of all the issues and pull requests closed in this version.

76
docs/en/Blog-Posts/2022-09-21 v6_0_Release_Stable/POST.md

@ -0,0 +1,76 @@
# ABP.IO Platform 6.0 Final Has Been Released!
[ABP Framework](https://abp.io/) and [ABP Commercial](https://commercial.abp.io/) 6.0 versions have been released today.
## What's New With 6.0?
Since all the new features are already explained in details with the [6.0 RC Announcement Post](https://blog.abp.io/abp/ABP.IO-Platform-6.0-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-6.0-RC-Has-Been-Published) for all the features and enhancements.
## Getting Started with 6.0
### Creating New Solutions
You can create a new solution with the ABP Framework version 6.0 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.3 that are upgrading to version 6.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)
## Community News
### New ABP Community Posts
Here are some of the recent posts added to the [ABP Community](https://community.abp.io/):
* [Halil Ibrahim Kalkan](https://twitter.com/hibrahimkalkan) has created two new community articles:
* [Consuming gRPC Services from Blazor WebAssembly Application Using gRPC-Web](https://community.abp.io/posts/consuming-grpc-services-from-blazor-webassembly-application-using-grpcweb-dqjry3rv)
* [Using gRPC with the ABP Framework](https://community.abp.io/posts/using-grpc-with-the-abp-framework-2dgaxzw3)
* [Malik Masis](https://twitter.com/malikmasis) also has created two new community articles:
* [Consuming HTTP APIs from a .NET Client Using ABP's Client Proxy System](https://community.abp.io/posts/consuming-http-apis-from-a-.net-client-using-abps-client-proxy-system-xriqarrm)
* [Using MassTransit via eShopOnAbp](https://community.abp.io/posts/using-masstransit-via-eshoponabp-8amok6h8)
* [Xeevis](https://community.abp.io/members/Xeevis) has created her/his first community article, that shows [Prerendering in Blazor WASM applications](https://community.abp.io/posts/prerendering-blazor-wasm-application-with-abp-6.x-2v8590g3).
* [Don Boutwell](https://community.abp.io/members/dboutwell) has created two new community articles:
* [Logging to Datadog from ABP framework](https://community.abp.io/posts/logging-to-datadog-from-abp-framework-fm4ozds4)
* [Configuring Multiple DbContexts in an ABP Framework Project](https://community.abp.io/posts/configuring-multiple-dbcontexts-in-an-abp-framework-project-uoz5is3o)
* [Kirti Kulkarni](https://twitter.com/kirtimkulkarni) has created a new community article: [Deploying ABP angular application to Azure and App Insights integration](https://community.abp.io/posts/deploying-abp-angular-application-to-azure-and-app-insights-integration-4jrhtp01)
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 7.0. It is planned to release the 7.0 RC (Release Candidate) on November 15 and the final version on December 13, 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.

10
docs/en/CLI.md

@ -129,8 +129,8 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `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).
* `leptonx-lite`: [LeptonX Lite Theme](Themes/LeptonXLite/AspNetCore.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).
@ -144,8 +144,8 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `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).
* `leptonx-lite`: [LeptonX Lite Theme](Themes/LeptonXLite/AspNetCore.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.
@ -365,6 +365,7 @@ abp generate-proxy -t csharp -url https://localhost:44302/
* `--module` or `-m`: Specifies the name of the backend module you wish to generate proxies for. Default value: `app`.
* `--working-directory` or `-wd`: Execution directory. For `csharp` and `js` client types.
* `--url` or `-u`: API definition URL from.
* `--service-type` or `-st`: Specifies the service type to generate. `application`, `integration` and `all`, Default value: `all` for C#, `application` for JavaScript / Angular.
> See the [Angular Service Proxies document](UI/Angular/Service-Proxies.md) for more.
@ -505,6 +506,7 @@ abp login <username> # Allows you to enter your
abp login <username> -p <password> # Specify the password as a parameter (password is visible)
abp login <username> --organization <organization> # If you have multiple organizations, you need set your active organization
abp login <username> -p <password> -o <organization> # You can enter both your password and organization in the same command
abp login <username> --device # Use device login flow
```
> When using the -p parameter, be careful as your password will be visible. It's useful for CI/CD automation pipelines.

2
docs/en/Community-Articles/2020-04-19-Customize-the-SignIn-Manager/POST.md

@ -8,7 +8,7 @@ This document explains how to customize the SignIn Manager for your own applicat
## Create a CustomSignInManager
Create a new class inheriting the [SignInMager](https://github.com/dotnet/aspnetcore/blob/master/src/Identity/Core/src/SignInManager.cs) of Microsoft Identity package.
Create a new class inheriting the [SignInManager](https://github.com/dotnet/aspnetcore/blob/master/src/Identity/Core/src/SignInManager.cs) of Microsoft Identity package.
````csharp
public class CustomSignInManager : Microsoft.AspNetCore.Identity.SignInManager<Volo.Abp.Identity.IdentityUser>

4
docs/en/Community-Articles/2020-04-27-Use-Azure-Active-Directory-Authentication-for-MVC-Razor-Page-Applications/POST.md

@ -12,7 +12,7 @@ Two different **alternative approaches** for AzureAD integration will be demonst
> There is **no difference** in functionality between these approaches. AddAzureAD is an abstracted way of OpenIdConnection ([source](https://github.com/dotnet/aspnetcore/blob/c56aa320c32ee5429d60647782c91d53ac765865/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADAuthenticationBuilderExtensions.cs#L122)) with predefined cookie settings.
>
> However there are key differences in integration to ABP applications because of default configurated signin schemes which will be explained below.
> However there are key differences in integration to ABP applications because of default configured signin schemes which will be explained below.
## 1. AddOpenIdConnect
@ -211,7 +211,7 @@ You can find the source code of the completed example [here](https://github.com/
to your openid configuration.
* Help! I keep getting ***AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application*** error!
* Help! I keep getting `AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application` error!
* If you set your **CallbackPath** in appsettings as:

2
docs/en/Community-Articles/2020-05-29-Real-Time-Messaging-In-A-Distributed-Architecture-Using-Abp-Framework-SingalR-RabbitMQ/POST.md

@ -1,4 +1,4 @@
# Real Time Messaging In A Distributed Architecture Using Abp Framework, SingalR & RabbitMQ
# Real Time Messaging In A Distributed Architecture Using Abp Framework, SignalR & RabbitMQ
In this article, we will build a basic real time messaging application in a distributed architecture. We will use [Abp Framework](https://abp.io) for infrastructure and tiered startup template, [SignalR](https://dotnet.microsoft.com/apps/aspnet/signalr) for real time server-client communication and [RabbitMQ](https://www.rabbitmq.com/) as the distributed event bus.

6
docs/en/Community-Articles/2020-07-21-File-Upload-Download-With-BLOB-Storage-System-in-ASPNET-Core-ABP-Framework/POST.md

@ -46,11 +46,11 @@ Open a command prompt (terminal) in the folder containing your solution (.sln) f
`abp add-module Volo.Abp.BlobStoring.Database`
This action will add the module depencies and also module migration. After this action, run `FileActionsDemo.DbMigrator` to update the database.
This action will add the module dependencies and also module migration. After this action, run `FileActionsDemo.DbMigrator` to update the database.
### Setting up Blob Storaging
### Setting up Blob Storage
BLOB Strorage system works with `Containers`. Before the using blob storage, we need to create our blob container.
BLOB Storage system works with `Containers`. Before the using blob storage, we need to create our blob container.
Create a class that name `MyFileContainer` at the `FileActionsDemo.Domain` project.

2
docs/en/Community-Articles/2020-09-16-How-to-Setup-Azure-Active-Directory-and-Integrate-Abp-Angular-Application/POST.md

@ -107,7 +107,7 @@ Next time you hit login, you should be seeing login screen enabled Azure AD like
* But I don't want my users to see default login screen. I want my users to login **only** from AzureAD.
* You can **mimic** this behaviour by customizing the login page and instantly trigger Azure AD provider click. For more info, you can check [this article](https://community.abp.io/articles/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd).
* You can **mimic** this behavior by customizing the login page and instantly trigger Azure AD provider click. For more info, you can check [this article](https://community.abp.io/articles/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd).
# May 2021 Update

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,12 +1,12 @@
# 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).
> **Note:** If your application is greater than version 4.3.3, please follow [this article](https://community.abp.io/posts/how-to-add-custom-properties-to-the-user-entity-rixchoha).
## 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).
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](https://community.abp.io/posts/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd).
You can see the screenshots below which we will reach at the end of the article.

4
docs/en/Community-Articles/2021-03-12-Simple-SignalR-Notification/POST.md

@ -85,7 +85,7 @@ Add [Microsoft.SignalR](https://www.npmjs.com/package/@microsoft/signalr) JavaSc
You can install the latest version (3.1.13 will be old)
```
"@microsoft/signalr": "^3.1.13"
````
```
![Add SignalR package](signalr-package.jpg)
@ -93,7 +93,7 @@ You can install the latest version (3.1.13 will be old)
We added SignalR to the `package.json` but it comes into your `node_modules` folder. We need to copy the related files to `wwwroot/libs` folder. To do this copy the content of the following file to your `abp.resourcemappings.js` file. It's in your root directory of Web folder. After you do this, go to your web directory and run `abp install-libs` command. By doing this, it'll copy the related files into your `wwwroot/libs` folder.
[abp.resourcemappings.js](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-abp-resourcemapping-js)
[`abp.resourcemappings.js`](https://gist.github.com/ebicoglu/f7dc22cca2d353f8bf7f68a03e3395b8#file-abp-resourcemapping-js)
![Resource mappings](resource-mappings.jpg)

4
docs/en/Community-Articles/2022-02-22-Integrating-MAUI-Client-via-using-OpenID-Connect/README.md

@ -595,7 +595,7 @@ In this step we have to store access token & refresh token for future requests.
## Recap
The purpose of this arcitle is connecting to ABP backend with access token and it's working properly.
The purpose of this article is connecting to ABP backend with access token and it's working properly.
I'm planning to integrate HttpApi.Client library of backend project instead of making requests manually as a second part of this article. I'll get inspired by [hikalkan/maui-abp-playing](https://github.com/hikalkan/maui-abp-playing) repo to achive that.
I'm planning to integrate HttpApi.Client library of backend project instead of making requests manually as a second part of this article. I'll get inspired by [hikalkan/maui-abp-playing](https://github.com/hikalkan/maui-abp-playing) repo to achieve that.

4
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

@ -1,12 +1,12 @@
# 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).
> **Note:** If your application is less than version 4.4.x, please follow [this article](https://community.abp.io/posts/how-to-add-custom-property-to-the-user-entity-6ggxiddr).
## 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).
> **Note:** This article is not about customizing the `Login` page. If you have such a need, please follow [this article](https://community.abp.io/posts/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd).
You can see the screenshots below which we will reach at the end of the article.

242
docs/en/Community-Articles/2022-09-15-Grpc-Demo/POST.md

@ -0,0 +1,242 @@
# Using gRPC with the ABP Framework
[gRPC](https://grpc.io/) defines itself as an open source, language agnostic, universal, high-performance **Remote Procedure Call (RPC)** framework.
In this article, I will show you how to create a gRPC service and consume it from a console application with the ABP Framework. While the client application is console in this article, it can easily be a service consuming another service in a microservice system.
> **This article will be a step by step tutorial.** I wrote the article based on Microsoft's [Code-first gRPC services and clients with .NET](https://docs.microsoft.com/en-us/aspnet/core/grpc/code-first) document. You can read that document for more details about gRPC and the code-first approach.
## Creating the Application
Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't installed it yet:
````bash
dotnet tool install -g Volo.Abp.Cli
````
or update to the latest version if you've already installed an old version:
````bash
dotnet tool update Volo.Abp.Cli -g
````
Create an empty folder, open a command-line terminal and type the following command in the terminal window to create a new ABP solution using the ABP CLI:
````bash
abp new ProductManagement -u blazor -t app --preview
````
I've created an application with the Blazor UI, but the UI is not important for this tutorial, you can select your favorite UI option.
## Open the Solution
Open the solution in your favorite IDE. I like [Rider](https://www.jetbrains.com/rider/), but Visual Studio, VS Code or any other IDE perfectly works. The following figure shows the solution structure in Rider:
![solution](solution.png)
Run the `ProductManagement.DbMigrator` project (a console application) to create the database and seed the initial data.
## Defining the Service Contract
We are starting by defining the service contract and DTO classes that will be shared between the server and the client applications.
Create a `Products` folder in the `ProductManagement.Application.Contracts` project and add a new interface named `IProductAppService`:
````csharp
using System.Collections.Generic;
using System.ServiceModel;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
namespace ProductManagement.Products;
[ServiceContract]
public interface IProductAppService : IApplicationService
{
Task<List<ProductDto>> GetListAsync();
}
````
Your IDE will complain about the `[ServiceContract]` attribute, but it is necessary for the contract-first gRPC library we will be using later. So, add the [System.ServiceModel.Primitives](https://www.nuget.org/packages/System.ServiceModel.Primitives) NuGet package to the `ProductManagement.Application.Contracts` project, and it should be fixed. You can simply edit the `ProductManagement.Application.Contracts.csproj` file and add the following line in an `ItemGroup` tag:
````xml
<PackageReference Include="System.ServiceModel.Primitives" Version="4.7.0" />
````
Or you can use your IDE to find and add that NuGet package, it is up to you.
I've also used the `ProductDto` class, but haven't defined it yet. Create a new class in the same folder with the `IProductAppService` file:
````csharp
using System;
using System.Runtime.Serialization;
namespace ProductManagement.Products;
[DataContract]
public class ProductDto
{
[DataMember(Order = 1)]
public Guid Id { get; set; }
[DataMember(Order = 2)]
public string Name { get; set; }
}
````
The `[DataContract]` and `[DataMember]` properties are needed for serialization. In gRPC, property serialization orders are important, because property names are not transferred to the target application, to keep the serialized data small.
After adding these classes, the `ProductManagement.Application.Contracts` project should look as in the following figure:
![contracts](contracts.png)
The contracts part is over. We actually didn't have any dependency to gRPC at that point. Our service and DTOs are pretty plain classes, except a few standard attributes, which are already defined in the .NET Core framework. Now, we can implement the `IProductAppService`.
## Implementing the Service
We are implementing the application services in the `ProductManagement.Application` project. So, add a new `Products` folder to that project and define a `ProductAppService` class inside it:
````csharp
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace ProductManagement.Products;
public class ProductAppService : ProductManagementAppService, IProductAppService
{
public async Task<List<ProductDto>> GetListAsync()
{
return new List<ProductDto>
{
new ProductDto { Id = Guid.NewGuid(), Name = "Product 1" },
new ProductDto { Id = Guid.NewGuid(), Name = "Product 2" },
};
}
}
````
This is a pretty standard, plain [application service ](https://docs.abp.io/en/abp/latest/Application-Services)class. All the ABP application service features (validation, audit logging, unit of work, etc.) are available. You can inject [repositories](https://docs.abp.io/en/abp/latest/Repositories) and perform database queries. To keep this article simple, I am returning hard-coded data from here.
> `ProductManagementAppService` is a base class coming in the ABP startup template. While you don't have to inherit from it, it provides useful base properties and methods you typically need in an application service.
The application service part is over. Again, we didn't write any gRPC specific code. Don't worry, we will write in the next section.
## Configuring the gRPC Server
In this solution, `ProductManagement.HttpApi.Host` is the project that configures and runs the server-side application. So, we will make changes in that project.
First, add the [protobuf-net.Grpc.AspNetCore](https://www.nuget.org/packages/protobuf-net.Grpc.AspNetCore) NuGet package to the `ProductManagement.HttpApi.Host` project:
````xml
<PackageReference Include="protobuf-net.Grpc.AspNetCore" Version="1.0.177" />
````
Then open the `ProductManagementHttpApiHostModule.cs` file, find the `ConfigureServices` method and add the following line into this method:
````csharp
context.Services.AddCodeFirstGrpc();
````
This will register code-first gRPC services to the [dependency injection](https://docs.abp.io/en/abp/latest/Dependency-Injection) system. Then find the `app.UseConfiguredEndpoints()` line in the `OnApplicationInitialization` method and change it as shown below:
````csharp
app.UseConfiguredEndpoints(endpoints =>
{
endpoints.MapGrpcService<IProductAppService>();
});
````
We've configured the `IProductAppService` to handle gRPC requests to that service. The following figure shows the whole change done in the `ProductManagementHttpApiHostModule` class:
![host-changes-1](host-changes-1.png)
gRPC handles requests with the HTTP/2 protocol and should listen an endpoint other than the default HTTP endpoint used by the application. We can easily configure the Kestrel server to listen two endpoints, one for our HTTP APIs, the other one for gRPC services. Add the following configuration inside the `appsettings.json` file of the `ProductManagement.HttpApi.Host` project:
````json
"Kestrel": {
"Endpoints": {
"Https": {
"Url": "https://localhost:44388",
"Protocols": "Http1AndHttp2"
},
"gRPC": {
"Url": "https://localhost:10042",
"Protocols": "Http2"
}
}
}
````
Note that `https://localhost:44388` may be different for your case, since ABP CLI assignes a random port while you're creating a new solution. You can check your port by running the `ProductManagement.HttpApi.Host` project and looking at the address bar on your browser.
The server-side configuration is done. It is ready to receive gRPC requests. Now, we can change the client to consume the gRPC service we've created.
## Implementing the Client Side
The ABP startup solution template comes with a console application to test consuming your HTTP APIs. For this example, the project is named as `ProductManagement.HttpApi.Client.ConsoleTestApp` and located under the `test` folder in the solution.
First, add the [Grpc.Net.Client](https://www.nuget.org/packages/Grpc.Net.Client) and the [protobuf-net.Grpc](https://www.nuget.org/packages/protobuf-net.Grpc) NuGet packages to the `ProductManagement.HttpApi.Client.ConsoleTestApp` project.
````xml
<PackageReference Include="Grpc.Net.Client" Version="2.49.0-pre1" />
<PackageReference Include="protobuf-net.Grpc" Version="1.0.177" />
````
Now, open the `ClientDemoService.cs` file under the `ProductManagement.HttpApi.Client.ConsoleTestApp` project and change its contents with the following code block:
````csharp
using System;
using System.Threading.Tasks;
using Grpc.Net.Client;
using ProductManagement.Products;
using ProtoBuf.Grpc.Client;
using Volo.Abp.DependencyInjection;
namespace ProductManagement.HttpApi.Client.ConsoleTestApp;
public class ClientDemoService : ITransientDependency
{
public async Task RunAsync()
{
using (var channel = GrpcChannel.ForAddress("https://localhost:10042"))
{
var productAppService = channel.CreateGrpcService<IProductAppService>();
var productDtos = await productAppService.GetListAsync();
foreach (var productDto in productDtos)
{
Console.WriteLine($"[Product] Id = {productDto.Id}, Name = {productDto.Name}");
}
}
}
}
````
We are simply creating a gRPC channel, then creating a client proxy for the `IProductAppService` service. Then we can call its method just like local method calls. You can run the applications to test it.
## Run the Applications
First run the `ProductManagement.HttpApi.Host` application. It should show a Swagger UI as shown below:
![swagger](swagger.png)
If you see that page, it means your server-side is up and running. Now, you can run the `ProductManagement.HttpApi.Client.ConsoleTestApp` console application to call the gRPC service defined on the server.
The test console application should produce an output as shown below:
![client-application](client-application.png)
As you see, products are returned from the server. That's all, you've done it!
## Conclusion
In this article, I've used the [code-first approach](https://docs.microsoft.com/en-us/aspnet/core/grpc/code-first) to implement a gRPC server and consume it in a client application. Code-first approach is very practical if both of your client and server applications are built with .NET. By the help of ABP's layered solution structure, we even didn't add any gRPC dependency into our server-side and contracts. We've just configured gRPC in the hosting side, with a small amount of code.
gRPC on .NET has different approaches, features, configurations and more details. I suggest you to read [Microsoft's documentation](https://docs.microsoft.com/en-us/aspnet/core/grpc) to learn more about it. All the approaches can work with the ABP Framework. Enjoy coding!
## The Source Code
* You can find the completed source code here: https://github.com/abpframework/abp-samples/tree/master/GrpcDemo2
* You can also see all the changes I've done in this article here: https://github.com/abpframework/abp-samples/pull/200/files

BIN
docs/en/Community-Articles/2022-09-15-Grpc-Demo/client-application.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
docs/en/Community-Articles/2022-09-15-Grpc-Demo/contracts.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
docs/en/Community-Articles/2022-09-15-Grpc-Demo/host-changes-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

BIN
docs/en/Community-Articles/2022-09-15-Grpc-Demo/solution.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
docs/en/Community-Articles/2022-09-15-Grpc-Demo/swagger.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

121
docs/en/Community-Articles/2022-09-18-Grpc-Demo-Part-2/POST.md

@ -0,0 +1,121 @@
# Consuming gRPC Services from Blazor WebAssembly Application Using gRPC-Web
> **WARNING: I've demonstrated [Using gRPC with the ABP Framework](https://community.abp.io/posts/using-grpc-with-the-abp-framework-2dgaxzw3) in my latest post. If you haven't seen it, you should read it before this article, since this is a continuation of that article.**
In this second part, I will show how to consume the gRPC service from the Blazor WebAssembly application, using the gRPC-Web technology.
This will be a short article, based on Microsoft's [gRPC-Web in ASP.NET Core gRPC apps](https://learn.microsoft.com/en-us/aspnet/core/grpc/grpcweb) and [Code-first gRPC services and clients with .NET](https://learn.microsoft.com/en-us/aspnet/core/grpc/code-first) documents. For more information, I suggest to check these documents. Let's get started...
## Configuring the Server Side
First of all, the server-side should support gRPC-Web. Follow the steps below to enable it:
### Add Grpc.AspNetCore.Web Package
Add [Grpc.AspNetCore.Web](https://www.nuget.org/packages/Grpc.AspNetCore.Web) NuGet package to the `ProductManagement.HttpApi.Host` project.
### Add GrpcWeb Middleware
Add the following line just before the `app.UseConfiguredEndpoints(...)` line to add the GrpcWeb middleware to your ASP.NET Core request pipeline:
````csharp
app.UseGrpcWeb(new GrpcWebOptions { DefaultEnabled = true });
````
### Configure Cors
ABP's startup template already configures Cors when you create a new solution. However, we need to allow some extra headers in our Cors configuration.
Add the following line just after the `.WithAbpExposedHeaders()` line in the `OnApplicationInitialization` method of the `ProductManagementHttpApiHostModule` class:
````csharp
.WithExposedHeaders("Grpc-Status", "Grpc-Message", "Grpc-Encoding", "Grpc-Accept-Encoding")
````
Finally, call `RequireCors` extension method just after the `MapGrpcService` calls:
````csharp
app.UseConfiguredEndpoints(endpoints =>
{
endpoints
.MapGrpcService<IProductAppService>()
.RequireCors("__DefaultCorsPolicy"); // Configure Cors for the product service
});
````
`__DefaultCorsPolicy` may seem a magic string here. Let me explain it: ABP startup template configures the default Cors policy with the `context.Services.AddCors(...)` method (you can see it in the source code). If we define a named policy, we should use the same name here. However, when we don't specify, ASP.NET Core uses `__DefaultCorsPolicy` as the policy name by default. If you don't want to use the magic string, you can resolve the `IOptions<CorsOptions>` service and get the `DefaultPolicyName` from the `CorsOption` object.
Anyway, that's all on the server-side. We can work on he client now.
## Configuring the Client Side
`ProductManagement.Blazor` is the Blazor WebAssembly application in the solution I'd created in the [first article](https://community.abp.io/posts/using-grpc-with-the-abp-framework-2dgaxzw3). We will configure that project to be able to consume the server-side gRPC services from our Blazor application.
### Add Client-side Nuget Packages
Add [Grpc.Net.Client](https://www.nuget.org/packages/Grpc.Net.Client), [Grpc.Net.Client.Web](https://www.nuget.org/packages/Grpc.Net.Client.Web) and [protobuf-net.Grpc](https://www.nuget.org/packages/protobuf-net.Grpc) NuGet packages to the `ProductManagement.Blazor` project. We are ready to consume the gRPC services.
### Consume the Product Service
Change the `Pages/Index.razor.cs` file's content with the following code block:
````csharp
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
using Grpc.Net.Client;
using Grpc.Net.Client.Web;
using ProductManagement.Products;
using ProtoBuf.Grpc.Client;
namespace ProductManagement.Blazor.Pages;
public partial class Index
{
private List<ProductDto> Products { get; set; } = new();
protected override async Task OnInitializedAsync()
{
var channel = GrpcChannel.ForAddress("https://localhost:10042", new GrpcChannelOptions
{
HttpHandler = new GrpcWebHandler(new HttpClientHandler())
});
var productAppService = channel.CreateGrpcService<IProductAppService>();
Products = await productAppService.GetListAsync();
}
}
````
* We've created a gRPC channel for the server-side endpoint (surely, you get the address from a configuration) with channel options by specifying that we will use the `GrpcWebHandler`.
* We've created a service proxy object using the `CreateGrpcService` extension method that is defined by the [protobuf-net.Grpc](https://www.nuget.org/packages/protobuf-net.Grpc) NuGet package.
* We've used the service proxy object, `productAppService`, to consume remote endpoint just like a local service.
That's all. If we want to show the products on the page, we can add the following markup into the `Pages/Index.razor` view:
````xml
<h2>A list of products:</h2>
<ul class="list-group">
@foreach(var product in Products)
{
<li class="list-group-item">
@product.Name <br/>
<small>@product.Id.ToString()</small>
</li>
}
</ul>
````
Run the applications (first run the `ProductManagement.HttpApi.Host` project, then run the `ProductManagement.Blazor` project in the solution) to see it in action:
![blazor-product-list](blazor-product-list.png)
## Conclusion
In the first part of this article, I'd demonstrated how to implement a gRPC service and consume it in a client application, using the [code-first approach](https://docs.microsoft.com/en-us/aspnet/core/grpc/code-first). In this article, I've demonstrated how to consume the same gRPC service from a Blazor WebAssembly application, using the [gRPC-Web](https://learn.microsoft.com/en-us/aspnet/core/grpc/grpcweb) technology. As you see in these two articles, using gRPC with the ABP Framework is straightforward.
## The Source Code
- You can find the completed source code here: https://github.com/abpframework/abp-samples/tree/master/GrpcDemo2
- You can also see all the changes I've done in this article here: https://github.com/abpframework/abp-samples/pull/201/files

BIN
docs/en/Community-Articles/2022-09-18-Grpc-Demo-Part-2/blazor-product-list.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

265
docs/en/Community-Articles/2022-10-27-Dotnet7-Upgrade/Upgrade-Your-Existing-Projects-to-Dotnet7.md

@ -0,0 +1,265 @@
# Upgrade Your Existing Projects to .NET7
A new .NET version has come. As open-source contributors, we are tracking the latest libraries and adopting them to our existing projects. In this sense, we completed our .NET 7 upgrade in our repositories for ABP Framework and ABP Commercial. In this article, I'll share the experiences we faced while upgrading to the new .NET version 👉 .NET 7.
When I wrote this article, the latest .NET version was `7.0.0-rc.2`. So some of the version statements I wrote below must be changed due to the stable version release.
**To see the latest and greatest stuff, let's see how to upgrade our existing projects to .NET 7!**
## Install .NET7 SDK
If you are on your development computer, then you need to install the .NET7 SDK `7.x.x`. For the production servers, you need to install the .NET 7 runtimes. Download link for the .NET7 SDK and runtimes is:
* https://dotnet.microsoft.com/en-us/download/dotnet/7.0
## Update Your *.csproj Files
First, you need to update all your `*.csproj` files to support .NET7. Find and replace all your `<TargetFramework>*</TargetFramework>` in the `*.csproj` files to support .NET 7:
```xml
<TargetFramework>net7.0</TargetFramework>
```
We already did this in ABP Framework, see this commit as an example [github.com/abpframework/abp/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.csproj](https://github.com/abpframework/abp/blob/dev/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyCompanyName.MyProjectName.Mvc.csproj#L4).
### Microsoft Package Updates
You must be using Microsoft packages as well; then you need to update them to the latest .NET 7 version.
At the time, I wrote this article, the latest version was `7.0.0-rc.2.22476.2`, so I'll update them to this version including minor version changes.
Here's the list of all package reference updates I did:
```xml
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Components" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Authentication" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.0-rc.2.*">
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.0-rc.2.*">
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Composite" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.Http" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0-rc.2.*" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0-rc.2.*" />
<PackageReference Include="System.Text.Encodings.Web" Version="7.0.0-rc.2.*" />
<PackageReference Include="System.Text.Json" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="7.0.0-rc.2.*" />
<PackageReference Include="System.Collections.Immutable" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="7.0.0-rc.2.*" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="7.0.0-rc.2.*" />
```
---
## Entity Framework Core Updates
If you use EF Core as your data access library, you should update your `dotnet-ef` CLI tool. Here's the terminal command to update it:
```bash
dotnet tool update dotnet-ef --global --prerelease
```
We already did the the EF Core package reference update in the *Microsoft Package Updates* section.
### Breaking Change: OrderBy
This release makes a breaking change in an EF Core query running behavior. We faced this issue in some of our queries that were missing `OrderBy` statement. It throws an exception and does not run the query. Here's the explanation of a EF Core team member for this issue: [github.com/dotnet/efcore/issues/21202#issuecomment-913206415](https://github.com/dotnet/efcore/issues/21202#issuecomment-913206415).
The following exception is being thrown:
> InvalidOperationException: The query uses 'Skip' without specifying ordering and uses split query mode. This generates incorrect results. Either provide ordering or run query in single query mode using AsSingleQuery(). See https://go.microsoft.com/fwlink/?linkid=2196526 for more information
If you don't want to add `OrderBy` statement to solve the issue, you can also use `AsSingleQuery()`.
![AsSingleQuery](https://raw.githubusercontent.com/abpframework/abp/dev/docs/en/Community-Articles/2022-10-27-Dotnet7-Upgrade/./as-single-query.jpg)
### EF Core - SQL Client Connection String Update
With this version, the behavior of the SQL connection has been changed. There is a keyword in the SQL connection string called `TrustServerCertificate`. This keyword indicates whether the channel will be encrypted while bypassing walking the certificate chain to validate trust.
> When `TrustServerCertificate` is set to `True`, the transport layer will use SSL to encrypt the channel and bypass walking the certificate chain to validate trust. If `TrustServerCertificate` is set to `true` and encryption is turned on, the encryption level specified on the server will be used even if `Encrypt` is set to `false`. The connection will fail otherwise.
After the .NET7 update, it just started to throw the following exception:
> A connection was successfully established with the server, but then an error occurred during the login process.
We fixed this problem by adding the `TrustServerCertificate=true` to your connection string. Here's an example connection string that supports,
````sql
Server=localhost; Database=MyProjectName; Trusted_Connection=True; TrustServerCertificate=True
````
See our commit for this fix:
* [github.com/abpframework/abp/commit/96f17e67918eb87edd2baf876d4a7598281fe608](https://github.com/abpframework/abp/commit/96f17e67918eb87edd2baf876d4a7598281fe608)
Related docs:
* [learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/breaking-changes#encrypt-true](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/breaking-changes#encrypt-true)
* [stackoverflow.com/questions/34430550/a-connection-was-successfully-established-with-the-server-but-then-an-error-occ](https://stackoverflow.com/questions/34430550/a-connection-was-successfully-established-with-the-server-but-then-an-error-occ)
---
## Blazor Update
Ensure that you have updated your Blazor project's csproj to support .NET7:
```xml
<TargetFramework>net7.0</TargetFramework>
```
### Install Blazor Workloads
#### .NET Web Assembly build tools
If you have a Blazor-WASM project, install the workloads by running the following in a command shell:
```bash
dotnet workload install wasm-tools
```
**OR** you can update your workloads by running the following command in your Blazor project directory:
```bash
dotnet workload restore
```
---
## .NET MAUI Update
Ensure that you have updated your Blazor project's csproj to support .NET7:
```xml
<TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net7.0-windows10.0.19041.0</TargetFrameworks>
```
### Install MAUI Workloads
If you have .NET MAUI project, then you also need to update your `TargetFramework` as below:
If you have a .NET MAUI project, after installing the .NET 7 SDK, install the latest workloads with the following command:
```bash
dotnet workload install maui
```
**OR** run the following command in your existing .NET MAUI project directory
```bash
dotnet workload restore
```
Further information, check out https://github.com/dotnet/maui/wiki/.NET-7-and-.NET-MAUI
---
#### Dotnet Maui Check Tool
Alternatively, there's a 3rd party tool for .NET MAUI to install the required workloads. This tool installs the missing SDK packs. You can reach the tool's repository at [github.com/Redth/dotnet-maui-check](https://github.com/Redth/dotnet-maui-check).
Installation:
```bash
dotnet tool install -g Redth.Net.Maui.Check
```
Run:
```bash
maui-check
```
---
## Docker Image Update
If you are using Docker to automate the deployment of applications, you also need to update your images. We were using `aspnet:6.0.0-bullseye-slim` base and after the .NET 7 update, we started using `aspnet:7.0-bullseye-slim` in our Docker files.
```
FROM mcr.microsoft.com/dotnet/aspnet:7.0-bullseye-slim AS base
```
For this update, you can check out the following commit as an example:
* [github.com/abpframework/abp/commit/2d07b9bd00152bef4658c48ff9b2cbee5788d308](https://github.com/abpframework/abp/commit/2d07b9bd00152bef4658c48ff9b2cbee5788d308)
## ABP Framework .NET 7 Update
In [ABP Framework repository](https://github.com/abpframework/abp), we pdated all our dependencies from .NET 6 to .NET 7.
Not all the changes are here, but you can check out the following PR of the .NET 7 update:
* [github.com/abpframework/abp/pull/13626/files](https://github.com/abpframework/abp/pull/13626/files)
...
Happy coding with .NET 7 🤗
...

BIN
docs/en/Community-Articles/2022-10-27-Dotnet7-Upgrade/as-single-query.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
docs/en/Community-Articles/2022-10-27-Dotnet7-Upgrade/cover-image.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

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

@ -11,7 +11,7 @@
- Abp CLI https://docs.abp.io/en/abp/latest/cli
- A code editor
Note: This arcticle prepare Windows OS. You may change the path type of your OS. an Example
Note: This article prepare Windows OS. You may change the path type of your OS. an Example
Windows: `templates\app\aspnet-core\src\MyCompanyName.MyProjectName.DbMigrator\appsettings.json`
@ -22,11 +22,15 @@ 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
```cmd
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
```cmd
docker run -p 6379:6379 -d redis
```
Then we are ready to download and execute the code.

469
docs/en/Dapr/Index.md

@ -0,0 +1,469 @@
# ABP Dapr Integration
> This document assumes that you are already familiar with [Dapr](https://dapr.io/) and you want to use it in your ABP based applications.
[Dapr](https://dapr.io/) (Distributed Application Runtime) provides APIs that simplify microservice connectivity. It is an open source project that is mainly backed by Microsoft. It is also a CNCF (Cloud Native Computing Foundation) project and trusted by the community.
ABP and Dapr have some intersecting features like service-to-service communication, distributed message bus and distributed locking. However their purposes are totally different. ABP's goal is to provide an end-to-end developer experience by offering an opinionated architecture and providing the necessary infrastructure libraries, reusable modules and tools to implement that architecture properly. Dapr's purpose, on the other hand, is to provide a runtime to decouple common microservice communication patterns from your application logic.
ABP and Dapr can perfectly work together in the same application. ABP offers some packages to provide better integration where Dapr features intersect with ABP. You can use other Dapr features with no ABP integration packages based on [its own documentation](https://docs.dapr.io/).
## ABP Dapr Integration Packages
ABP provides the following NuGet packages for the Dapr integration:
* [Volo.Abp.Dapr](https://www.nuget.org/packages/Volo.Abp.Dapr): The main Dapr integration package. All other packages depend on this package.
* [Volo.Abp.Http.Client.Dapr](https://www.nuget.org/packages/Volo.Abp.Http.Client.Dapr): Integration package for ABP's [dynamic](../API/Dynamic-CSharp-API-Clients.md) and [static](../API/Static-CSharp-API-Clients.md) C# API Client Proxies systems with Dapr's [service invocation](https://docs.dapr.io/developing-applications/building-blocks/service-invocation/service-invocation-overview/) building block.
* [Volo.Abp.EventBus.Dapr](https://www.nuget.org/packages/Volo.Abp.EventBus.Dapr): Implements ABP's distributed event bus with Dapr's [publish & subscribe](https://docs.dapr.io/developing-applications/building-blocks/pubsub/) building block. With this package, you can send events, but can not receive.
* [Volo.Abp.AspNetCore.Mvc.Dapr.EventBus](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus): Provides the endpoints to receive events from Dapr's [publish & subscribe](https://docs.dapr.io/developing-applications/building-blocks/pubsub/) building block. Use this package to send and receive events.
* [Volo.Abp.DistributedLocking.Dapr](https://www.nuget.org/packages/Volo.Abp.DistributedLocking.Dapr): Uses Dapr's [distributed lock](https://docs.dapr.io/developing-applications/building-blocks/distributed-lock/) building block for [distributed locking](../Distributed-Locking.md) service of the ABP Framework.
In the following sections, we will see how to use these packages to use Dapr in your ABP based solutions.
## Basics
### Installation
> This section explains how to add [Volo.Abp.Dapr](https://www.nuget.org/packages/Volo.Abp.Dapr), the core Dapr integration package to your project. If you are using one of the other Dapr integration packages, you can skip this section since this package will be indirectly added.
Use the ABP CLI to add the [Volo.Abp.Dapr](https://www.nuget.org/packages/Volo.Abp.Dapr) NuGet package to your project:
* Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't installed it before.
* Open a command line (terminal) in the directory of the `.csproj` file you want to add the `Volo.Abp.Dapr` package.
* Run the `abp add-package Volo.Abp.Dapr` command.
If you want to do it manually, install the [Volo.Abp.Dapr](https://www.nuget.org/packages/Volo.Abp.Dapr) NuGet package to your project and add `[DependsOn(typeof(AbpDaprModule))]` to the [ABP module](../Module-Development-Basics.md) class inside your project.
### AbpDaprOptions
`AbpDaprOptions` is the main [options class](../Options.md) that you can configure the global Dapr settings with. **All settings are optional and you mostly don't need to configure them.** If you need, you can configure it in the `ConfigureServices` method of your [module class](../Module-Development-Basics.md):
````csharp
Configure<AbpDaprOptions>(options =>
{
// ...
});
````
Available properties of the `AbpDaprOptions` class:
* `HttpEndpoint` (optional): HTTP endpoint that is used while creating a `DaprClient` object. If you don't specify, the default value is used.
* `GrpcEndpoint` (optional): The gRPC endpoint that is used while creating a `DaprClient` object. If you don't specify, the default value is used.
* `DaprApiToken` (optional): The [Dapr API token](https://docs.dapr.io/operations/security/api-token/) that is used while sending requests from the application to Dapr. It is filled from the `DAPR_API_TOKEN` environment variable by default (which is set by Dapr once it is configured). See the *Security* section in this document for details.
* `AppApiToken` (optional): The [App API token](https://docs.dapr.io/operations/security/app-api-token/) that is used to validate requests coming from Dapr. It is filled from the `APP_API_TOKEN` environment variable by default (which is set by Dapr once it is configured). See the *Security* section in this document for details.
Alternatively, you can configure the options in the `Dapr` section of your `appsettings.json` file. Example:
````csharp
"Dapr": {
"HttpEndpoint": "http://localhost:3500/"
}
````
### Injecting DaprClient
ABP registers the `DaprClient` class to the [dependency injection](../Dependency-Injection.md) system. So, you can inject and use it whenever you need:
````csharp
public class MyService : ITransientDependency
{
private readonly DaprClient _daprClient;
public MyService(DaprClient daprClient)
{
_daprClient = daprClient;
}
public async Task DoItAsync()
{
// TODO: Use the injected _daprClient object
}
}
````
Injecting `DaprClient` is the recommended way of using it in your application code. When you inject it, the `IAbpDaprClientFactory` service is used to create it, which is explained in the next section.
### IAbpDaprClientFactory
`IAbpDaprClientFactory` can be used to create `DaprClient` or `HttpClient` objects to perform operations on Dapr. It uses `AbpDaprOptions`, so you can configure the settings in a central place.
**Example usages:**
````csharp
public class MyService : ITransientDependency
{
private readonly IAbpDaprClientFactory _daprClientFactory;
public MyService(IAbpDaprClientFactory daprClientFactory)
{
_daprClientFactory = daprClientFactory;
}
public async Task DoItAsync()
{
// Create a DaprClient object with default options
DaprClient daprClient = await _daprClientFactory.CreateAsync();
/* Create a DaprClient object with configuring
* the DaprClientBuilder object */
DaprClient daprClient2 = await _daprClientFactory
.CreateAsync(builder =>
{
builder.UseDaprApiToken("...");
});
// Create an HttpClient object
HttpClient httpClient = await _daprClientFactory
.CreateHttpClientAsync("target-app-id");
}
}
````
`CreateHttpClientAsync` method also gets optional `daprEndpoint` and `daprApiToken` parameters.
> ABP uses `IAbpDaprClientFactory` when it needs to create a Dapr client. You can also use Dapr API to create client objects in your application. Using `IAbpDaprClientFactory` is recommended, but not required.
## C# API Client Proxies Integration
ABP can [dynamically](../API/Dynamic-CSharp-API-Clients.md) or [statically](../API/Static-CSharp-API-Clients.md) generate proxy classes to invoke your HTTP APIs from a Dotnet client application. It makes perfect sense to consume HTTP APIs in a distributed system. The [Volo.Abp.Http.Client.Dapr](https://www.nuget.org/packages/Volo.Abp.Http.Client.Dapr) package configures the client-side proxies system, so it uses Dapr's service invocation building block for the communication between your applications.
### Installation
Use the ABP CLI to add the [Volo.Abp.Http.Client.Dapr](https://www.nuget.org/packages/Volo.Abp.Http.Client.Dapr) NuGet package to your project (to the client side):
* Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't installed before.
* Open a command line (terminal) in the directory of the `.csproj` file you want to add the `Volo.Abp.Http.Client.Dapr` package to.
* Run the `abp add-package Volo.Abp.Http.Client.Dapr` command.
If you want to do it manually, install the [Volo.Abp.Http.Client.Dapr](https://www.nuget.org/packages/Volo.Abp.Http.Client.Dapr) NuGet package to your project and add `[DependsOn(typeof(AbpHttpClientDaprModule))]` to the [ABP module](../Module-Development-Basics.md) class inside your project.
### Configuration
Once you install the [Volo.Abp.Http.Client.Dapr](https://www.nuget.org/packages/Volo.Abp.Http.Client.Dapr) NuGet package, all you need to do is to configure ABP's remote services option either in `appsettings.json` or using the `AbpRemoteServiceOptions` [options class](../Options.md).
**Example:**
````csharp
{
"RemoteServices": {
"Default": {
"BaseUrl": "http://dapr-httpapi/"
}
}
}
````
`dapr-httpapi` in this example is the application id of the server application in your Dapr configuration.
The remote service name (`Default` in this example) should match the remote service name specified in the `AddHttpClientProxies` call for dynamic client proxies or the `AddStaticHttpClientProxies` call for static client proxies. Using `Default` is fine if your client communicates to a single server. However, if your client uses multiple servers, you typically have multiple keys in the `RemoteServices` configuration. Once you configure the remote service endpoints as Dapr application ids, it will automatically work and make the HTTP calls through Dapr when you use ABP's client proxy system.
> See the [dynamic](../API/Dynamic-CSharp-API-Clients.md) and [static](../API/Static-CSharp-API-Clients.md) client proxy documents for details about the ABP's client proxy system.
## Distributed Event Bus Integration
[ABP's distributed event bus](../Distributed-Event-Bus.md) system provides a convenient abstraction to allow applications to communicate asynchronously via events. ABP has integration packages with various distributed messaging systems, like RabbitMQ, Kafka, and Azure. Dapr also has a [publish & subscribe building block](https://docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-overview/) for the same purpose: distributed messaging / events.
ABP's [Volo.Abp.EventBus.Dapr](https://www.nuget.org/packages/Volo.Abp.EventBus.Dapr) and [Volo.Abp.AspNetCore.Mvc.Dapr.EventBus](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus) packages make it possible to use the Dapr infrastructure for ABP's distributed event bus.
The [Volo.Abp.EventBus.Dapr](https://www.nuget.org/packages/Volo.Abp.EventBus.Dapr) package can be used by any type of application (e.g., a Console or ASP.NET Core application) to publish events through Dapr. To be able to receive messages (by subscribing to events), you need to have the [Volo.Abp.AspNetCore.Mvc.Dapr.EventBus](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus) package installed, and your application should be an ASP.NET Core application.
### Installation
If your application is an ASP.NET Core application and you want to send and receive events, you need to install the [Volo.Abp.AspNetCore.Mvc.Dapr.EventBus](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus) package as described below:
* Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't installed it before.
* Open a command line (terminal) in the directory of the `.csproj` file you want to add the `Volo.Abp.AspNetCore.Mvc.Dapr.EventBus` package to.
* Run the `abp add-package Volo.Abp.AspNetCore.Mvc.Dapr.EventBus` command.
If you want to do it manually, install the [Volo.Abp.AspNetCore.Mvc.Dapr.EventBus](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus) NuGet package to your project and add `[DependsOn(typeof(AbpAspNetCoreMvcDaprEventBusModule))]` to the [ABP module](../Module-Development-Basics.md) class inside your project.
> **If you install the [Volo.Abp.AspNetCore.Mvc.Dapr.EventBus](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus) package, you don't need to install the [Volo.Abp.EventBus.Dapr](https://www.nuget.org/packages/Volo.Abp.EventBus.Dapr) package, because the first one already has a reference to the latter one.**
If your application is not an ASP.NET Core application, you can't receive events from Dapr, at least with ABP's integration packages (see [Dapr's document](https://docs.dapr.io/developing-applications/building-blocks/pubsub/howto-publish-subscribe/) if you want to receive events in a different type of application). However, you can still publish messages using the [Volo.Abp.EventBus.Dapr](https://www.nuget.org/packages/Volo.Abp.EventBus.Dapr) package. In this case, follow the steps below to install that package to your project:
* Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't installed it before.
* Open a command line (terminal) in the directory of the `.csproj` file you want to add the `Volo.Abp.EventBus.Dapr` package to.
* Run the `abp add-package Volo.Abp.EventBus.Dapr` command.
If you want to do it manually, install the [Volo.Abp.EventBus.Dapr](https://www.nuget.org/packages/Volo.Abp.EventBus.Dapr) NuGet package to your project and add `[DependsOn(typeof(AbpEventBusDaprModule))]` to the [ABP module](../Module-Development-Basics.md) class inside your project.
### Configuration
You can configure the `AbpDaprEventBusOptions` [options class](../Options.md) for Dapr configuration:
````csharp
Configure<AbpDaprEventBusOptions>(options =>
{
options.PubSubName = "pubsub";
});
````
Available properties of the `AbpDaprEventBusOptions` class:
* `PubSubName` (optional): The `pubsubName` parameter while publishing messages through the `DaprClient.PublishEventAsync` method. Default value: `pubsub`.
### The ABP Subscription Endpoints
ABP provides the following endpoints to receive events from Dapr:
* `dapr/subscribe`: Dapr uses this endpoint to get a list of subscriptions from the application. ABP automatically returns all the subscriptions for your distributed event handler classes and custom controller actions with the `Topic` attribute.
* `api/abp/dapr/event`: The unified endpoint to receive all the events from Dapr. ABP dispatches the events to your event handlers based on the topic name.
> **Since ABP provides the standard `dapr/subscribe` endpoint, you should not manually call the `app.MapSubscribeHandler()` method of Dapr.** You can use the `app.UseCloudEvents()` middleware in your ASP.NET Core pipeline if you want to support the [CloudEvents](https://cloudevents.io/) standard.
### Usage
#### The ABP Way
You can follow [ABP's distributed event bus documentation](../Distributed-Event-Bus.md) to learn how to publish and subscribe to events in the ABP way. No change required in your application code to use Dapr pub-sub. ABP will automatically subscribe to Dapr for your event handler classes (that implement the `IDistributedEventHandler` interface).
ABP provides `api/abp/dapr/event`
**Example: Publish an event using the `IDistributedEventBus` service**
````csharp
public class MyService : ITransientDependency
{
private readonly IDistributedEventBus _distributedEventBus;
public MyService(IDistributedEventBus distributedEventBus)
{
_distributedEventBus = distributedEventBus;
}
public async Task DoItAsync()
{
await _distributedEventBus.PublishAsync(new StockCountChangedEto
{
ProductCode = "AT837234",
NewStockCount = 42
});
}
}
````
**Example: Subscribe to an event by implementing the `IDistributedEventHandler` interface**
````csharp
public class MyHandler :
IDistributedEventHandler<StockCountChangedEto>,
ITransientDependency
{
public async Task HandleEventAsync(StockCountChangedEto eventData)
{
var productCode = eventData.ProductCode;
// ...
}
}
````
See [ABP's distributed event bus documentation](../Distributed-Event-Bus.md) to learn the details.
#### Using the Dapr API
In addition to ABP's standard distributed event bus system, you can also use Dapr's API to publish events.
> If you directly use the Dapr API to publish events, you may not benefit from ABP's standard distributed event bus features, like the outbox/inbox pattern implementation.
**Example: Publish an event using `DaprClient`**
````csharp
public class MyService : ITransientDependency
{
private readonly DaprClient _daprClient;
public MyService(DaprClient daprClient)
{
_daprClient = daprClient;
}
public async Task DoItAsync()
{
await _daprClient.PublishEventAsync(
"pubsub", // pubsub name
"StockChanged", // topic name
new StockCountChangedEto // event data
{
ProductCode = "AT837234",
NewStockCount = 42
}
);
}
}
````
**Example: Subscribe to an event by creating an ASP.NET Core controller**
````csharp
public class MyController : AbpController
{
[HttpPost("/stock-changed")]
[Topic("pubsub", "StockChanged")]
public async Task<IActionResult> TestRouteAsync(
[FromBody] StockCountChangedEto model)
{
HttpContext.ValidateDaprAppApiToken();
// Do something with the event
return Ok();
}
}
````
`HttpContext.ValidateDaprAppApiToken()` extension method is provided by ABP to check if the request is coming from Dapr. This is optional. You should configure Dapr to send the App API token to your application if you want to enable the validation. If not configured, `ValidateDaprAppApiToken()` does nothing. See [Dapr's App API Token document](https://docs.dapr.io/operations/security/app-api-token/) for more information. Also see the *AbpDaprOptions* and *Security* sections in this document.
See the [Dapr documentation](https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/publish-subscribe) to learn the details of sending & receiving events with the Dapr API.
## Distributed Lock
> Dapr's distributed lock feature is currently in the Alpha stage and may not be stable yet. It is not suggested to replace ABP's distributed lock with Dapr in that point.
ABP provides a [Distributed Locking](../Distributed-Locking.md) abstraction to control access to a shared resource by multiple applications. Dapr also has a [distributed lock building block](https://docs.dapr.io/developing-applications/building-blocks/distributed-lock/). The [Volo.Abp.DistributedLocking.Dapr](https://www.nuget.org/packages/Volo.Abp.DistributedLocking.Dapr) package makes ABP use Dapr's distributed locking system.
### Installation
Use the ABP CLI to add the [Volo.Abp.DistributedLocking.Dapr](https://www.nuget.org/packages/Volo.Abp.DistributedLocking.Dapr) NuGet package to your project (to the client side):
* Install the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) if you haven't installed it before.
* Open a command line (terminal) in the directory of the `.csproj` file you want to add the `Volo.Abp.DistributedLocking.Dapr` package to.
* Run the `abp add-package Volo.Abp.DistributedLocking.Dapr` command.
If you want to do it manually, install the [Volo.Abp.DistributedLocking.Dapr](https://www.nuget.org/packages/Volo.Abp.DistributedLocking.Dapr) NuGet package to your project and add `[DependsOn(typeof(AbpDistributedLockingDaprModule))]` to the [ABP module](../Module-Development-Basics.md) class inside your project.
### Configuration
You can use the `AbpDistributedLockDaprOptions` options class in the `ConfigureServices` method of [your module](../Module-Development-Basics.md) to configure the Dapr distributed lock:
````csharp
Configure<AbpDistributedLockDaprOptions>(options =>
{
options.StoreName = "mystore";
});
````
The following options are available:
* **`StoreName`** (required): The store name used by Dapr. Lock key names are scoped in the same store. That means different applications can acquire the same lock name in different stores. Use the same store name for the same resources you want to control the access of.
* `Owner` (optional): The `owner` value used by the `DaprClient.Lock` method. If you don't specify, ABP uses a random value, which is fine in general.
* `DefaultExpirationTimeout` (optional): Default value of the time after which the lock gets expired. Default value: 2 minutes.
### Usage
You can inject and use the `IAbpDistributedLock` service, just like explained in the [Distributed Locking document](../Distributed-Locking.md).
**Example:**
````csharp
public class MyService : ITransientDependency
{
private readonly IAbpDistributedLock _distributedLock;
public MyService(IAbpDistributedLock distributedLock)
{
_distributedLock = distributedLock;
}
public async Task MyMethodAsync()
{
await using (var handle =
await _distributedLock.TryAcquireAsync("MyLockName"))
{
if (handle != null)
{
// your code that access the shared resource
}
}
}
}
````
There are two points we should mention about the `TryAcquireAsync` method, as different from ABP's standard usage:
* The `timeout` parameter is currently not used (even if you specify it), because Dapr doesn't support waiting to obtain the lock.
* Dapr uses the expiration timeout system (that means the lock is automatically released after that timeout even if you don't release the lock by disposing the handler). However, ABP's `TryAcquireAsync` method has no such a parameter. Currently, you can set `AbpDistributedLockDaprOptions.DefaultExpirationTimeout` as a global value in your application.
As mentioned first, Dapr's distributed lock feature is currently in the Alpha stage and its API is a candidate to change. You should use it as is if you want, but be ready for the changes in the future. For now, we are recommending to use the [DistributedLock](https://github.com/madelson/DistributedLock) library as explained in ABP's [Distributed Locking document](../Distributed-Locking.md).
## Security
If you are using Dapr, most or all the incoming and outgoing requests in your application pass through Dapr. Dapr uses two kinds of API tokens to secure the communication between your application and Dapr.
### Dapr API Token
> This token is automatically set by default and generally you don't care about it.
The [Enable API token authentication in Dapr](https://docs.dapr.io/operations/security/api-token/) document describes what the Dapr API token is and how it is configured. Please read that document if you want to enable it for your application.
If you enable the Dapr API token, you should send that token in every request to Dapr from your application. `AbpDaprOptions` defines a `DaprApiToken` property as a central point to configure the Dapr API token in your application.
The default value of the `DaprApiToken` property is set from the `DAPR_API_TOKEN` environment variable and that environment variable is set by Dapr when it runs. So, most of the time, you don't need to configure `AbpDaprOptions.DaprApiToken` in your application. However, if you need to configure (or override) it, you can do in the `ConfigureServices` method of your module class as shown in the following code block:
````csharp
Configure<AbpDaprOptions>(options =>
{
options.DaprApiToken = "...";
});
````
Or you can set it in your `appsettings.json` file:
````json
"Dapr": {
"DaprApiToken": "..."
}
````
Once you set it, it is used when you inject `DaprClient` or use `IAbpDaprClientFactory`. If you need that value in your application, you can inject `IDaprApiTokenProvider` and use its `GetDaprApiToken()` method.
### App API Token
> Enabling App API token validation is strongly recommended. Otherwise, for example, any client can directly call your event subscription endpoint, and your application acts like an event has occurred (if there is no other security policy in your event subscription endpoint).
The [Authenticate requests from Dapr using token authentication](https://docs.dapr.io/operations/security/app-api-token/) document describes what the App API token is and how it is configured. Please read that document if you want to enable it for your application.
If you enable the App API token, you can validate it to ensure that the request is coming from Dapr. ABP provides useful shortcuts to validate it.
**Example: Validate the App API token in an event handling HTTP API**
````csharp
public class MyController : AbpController
{
[HttpPost("/stock-changed")]
[Topic("pubsub", "StockChanged")]
public async Task<IActionResult> TestRouteAsync(
[FromBody] StockCountChangedEto model)
{
// Validate the App API token!
HttpContext.ValidateDaprAppApiToken();
// Do something with the event
return Ok();
}
}
````
`HttpContext.ValidateDaprAppApiToken()` is an extension method provided by the ABP Framework. It throws an `AbpAuthorizationException` if the token was missing or wrong in the HTTP header (the header name is `dapr-api-token`). You can also inject `IDaprAppApiTokenValidator` and use its methods to validate the token in any service (not only in a controller class).
You can configure `AbpDaprOptions.AppApiToken` if you want to set (or override) the App API token value. The default value is set by the `APP_API_TOKEN` environment variable. You can change it in the `ConfigureServices` method of your module class as shown in the following code block:
````csharp
Configure<AbpDaprOptions>(options =>
{
options.AppApiToken = "...";
});
````
Or you can set it in your `appsettings.json` file:
````json
"Dapr": {
"AppApiToken": "..."
}
````
If you need that value in your application, you can inject `IDaprApiTokenProvider` and use its `GetAppApiToken()` method.
## See Also
* [Dapr for .NET Developers](https://docs.microsoft.com/en-us/dotnet/architecture/dapr-for-net-developers/)
* [The Official Dapr Documentation](https://docs.dapr.io/)

12
docs/en/Data-Seeding.md

@ -131,6 +131,16 @@ Then the data seed contributors can access to these properties via the `DataSeed
If a module needs to a parameter, it should be declared on the [module documentation](Modules/Index.md). For example, the [Identity Module](Modules/Identity.md) can use `AdminEmail` and `AdminPassword` parameters if you provide (otherwise uses the default values).
### Separate Unit Of Works
The default seed will be in a unit of work and may use transactions. If there are multiple `IDataSeedContributor` or too much data written, it may cause a database timeout error.
We provide an extension method of `SeedInSeparateUowAsync` for the `IDataSeeder` service to create a separate unit of work for each `IDataSeedContributor`.
````csharp
public static Task SeedInSeparateUowAsync(this IDataSeeder seeder, Guid? tenantId = null, AbpUnitOfWorkOptions options = null, bool requiresNew = false)
````
### Where & How to Seed Data?
It is important to understand where & how to execute the `IDataSeeder.SeedAsync()`?
@ -163,4 +173,4 @@ We suggest the same way on development. Run the DbMigrator console application w
You probably want to seed the data also for automated [testing](Testing.md), so want to use the `IDataSeeder.SeedAsync()`. In the [application startup template](Startup-Templates/Application.md), it is done in the [OnApplicationInitialization](Module-Development-Basics.md) method of the *YourProjectName*TestBaseModule class of the TestBase project.
In addition to the standard seed data (that is also used on production), you may want to seed additional data unique to the automated tests. If so, you can create a new data seed contributor in the test project to have more data to work on.
In addition to the standard seed data (that is also used on production), you may want to seed additional data unique to the automated tests. If so, you can create a new data seed contributor in the test project to have more data to work on.

2
docs/en/Dependency-Injection.md

@ -6,7 +6,7 @@ ABP's Dependency Injection system is developed based on Microsoft's [dependency
## Modularity
Since ABP is a modular framework, every module defines it's own services and registers via dependency injection in it's own seperate [module class](Module-Development-Basics.md). Example:
Since ABP is a modular framework, every module defines it's own services and registers via dependency injection in it's own separate [module class](Module-Development-Basics.md). Example:
````C#
public class BlogModule : AbpModule

12
docs/en/Deployment/Clustered-Environment.md

@ -84,6 +84,16 @@ ABP provides a distributed locking abstraction with an implementation made with
However, the distributed lock system works in-process by default. That means it is not distributed actually, unless you configure a distributed lock provider. So, please follow the [distributed lock](../Distributed-Locking.md) document to configure a provider for your application, if it is not already configured.
## Configuring SignalR
ABP provides [SignalR](../SignalR-Integration.md) integration packages to simplify integration and usage. SignalR can be used whenever you need to add real-time web functionality (real-time messaging, real-time notification etc.) into your application.
SignalR requires that all HTTP requests for a specific connection be handled (needs to keep track of all its connections) by the same server process. So, when SignalR is running on a clustered environment (with multiple servers) **"sticky sessions"** must be used.
If you are considering [scaling out](https://learn.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-6.0#scale-out) your servers and don't want to have inconsistency with the active socket connections, you can use [Azure SignalR Service](https://learn.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-6.0#azure-signalr-service) or [Redis backplane](https://learn.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-6.0#redis-backplane).
> To learn more about how to host and scale SignalR in a clustered environment, please check the [ASP.NET Core SignalR hosting and scaling](https://learn.microsoft.com/en-us/aspnet/core/signalr/scale?view=aspnetcore-6.0).
## Implementing Background Workers
ASP.NET Core provides [hosted services](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services) and ABP provides [background workers](../Background-Workers.md) to perform tasks in background threads in your application.
@ -96,4 +106,4 @@ We suggest you to use one of the following approaches to overcome the problem:
* 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.
* 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.

4
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**
@ -152,4 +152,4 @@ Configure<AbpRabbitMqEventBusOptions>(options =>
});
````
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-Rebus-Integration.md

@ -18,7 +18,7 @@ You can configure using the standard [configuration system](Configuration.md), l
### The Options Classes
`AbpRebusEventBusOptions` classe can be used to configure the event bus options for the Rebus.
`AbpRebusEventBusOptions` class can be used to configure the event bus options for the Rebus.
You can configure this options inside the `PreConfigureServices` of your [module](Module-Development-Basics.md).

19
docs/en/Distributed-Locking.md

@ -101,6 +101,25 @@ namespace AbpDemo
* `timeout` (`TimeSpan`): A timeout value to wait to obtain the lock. Default value is `TimeSpan.Zero`, which means it doesn't wait if the lock is already owned by another application.
* `cancellationToken`: A cancellation token that can be triggered later to cancel the operation.
### Configuration
#### AbpDistributedLockOptions
`AbpDistributedLockOptions` is the main options class to configure the distributed locking.
**Example: Set the distributed lock key prefix for the application**
Configure<AbpDistributedLockOptions>(options =>
{
options.KeyPrefix = "MyApp1";
});
> Write that code inside the `ConfigureServices` method of your [module class](Module-Development-Basics.md).
##### Available Options
* KeyPrefix (string, default: null): Specify the lock name prefix.
### Using DistributedLock Library's API
ABP's `IAbpDistributedLock` service is very limited and mainly designed to be internally used by the ABP Framework. For your own applications, you can use the DistributedLock library's own API. See its [own documentation](https://github.com/madelson/DistributedLock) for details.

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

4
docs/en/Entity-Framework-Core-Oracle.md

@ -6,7 +6,7 @@ This document explains how to switch to the **Oracle** database provider for **[
ABP Framework provides integrations for two different Oracle packages. See one of the following documents based on your provider decision:
* **[Volo.Abp.EntityFrameworkCore.Oracle](Entity-Framework-Core-Oracle-Official.md)** package uses the official & free oracle driver.
* **[Volo.Abp.EntityFrameworkCore.Oracle.Devart](Entity-Framework-Core-Oracle-Devart.md)** package uses the commercial (paid) driver of [Devart](https://www.devart.com/) company.
* **[`Volo.Abp.EntityFrameworkCore.Oracle`](Entity-Framework-Core-Oracle-Official.md)** package uses the official & free oracle driver.
* **[`Volo.Abp.EntityFrameworkCore.Oracle.Devart`](Entity-Framework-Core-Oracle-Devart.md)** package uses the commercial (paid) driver of [Devart](https://www.devart.com/) company.
> You can choose one of the package you want. If you don't know the differences of the packages, please search for it. ABP Framework only provides integrations it doesn't provide support for such 3rd-party libraries.

2
docs/en/Getting-Started-React-Native.md

@ -15,7 +15,7 @@ ABP platform provide basic [React Native](https://reactnative.dev/) startup temp
Please follow the steps below to prepare your development environment for React Native.
1. **Install Node.js:** Please visit [Node.js downloads page](https://nodejs.org/en/download/) and download proper Node.js v12 or v14 installer for your OS. An alternative is to install [NVM](https://github.com/nvm-sh/nvm) and use it to have multiple versions of Node.js in your operating system.
1. **Install Node.js:** Please visit [Node.js downloads page](https://nodejs.org/en/download/) and download proper Node.js v16 or v18 installer for your OS. An alternative is to install [NVM](https://github.com/nvm-sh/nvm) and use it to have multiple versions of Node.js in your operating system.
2. **[Optional] Install Yarn:** You may install Yarn v1 (not v2) following the instructions on [the installation page](https://classic.yarnpkg.com/en/docs/install). Yarn v1 delivers an arguably better developer experience compared to npm v6 and below. You may skip this step and work with npm, which is built-in in Node.js, instead.
3. **[Optional] Install VS Code:** [VS Code](https://code.visualstudio.com/) is a free, open-source IDE which works seamlessly with TypeScript. Although you can use any IDE including Visual Studio or Rider, VS Code will most likely deliver the best developer experience when it comes to React Native projects.
4. **Install an Emulator:** React Native applications need an Android emulator or an iOS simulator to run on your OS. See the [Android Studio Emulator](https://docs.expo.io/workflow/android-simulator/) or [iOS Simulator](https://docs.expo.io/workflow/ios-simulator/) on expo.io documentation to learn how to set up an emulator.

2
docs/en/Getting-Started-Setup-Environment.md

@ -21,7 +21,7 @@ The following tools should be installed on your development machine:
* An IDE (e.g. [Visual Studio](https://visualstudio.microsoft.com/vs/)) that supports [.NET 6.0+](https://dotnet.microsoft.com/download/dotnet) development.
{{ if UI != "Blazor" }}
* [Node v12 or v14](https://nodejs.org/)
* [Node v16 or v18](https://nodejs.org/)
* [Yarn v1.20+ (not v2)](https://classic.yarnpkg.com/en/docs/install) <sup id="a-yarn">[1](#f-yarn)</sup> or npm v6+ (already installed with Node)
{{ end }}
{{ if Tiered == "Yes" }}

24
docs/en/JSON.md

@ -4,7 +4,7 @@ The ABP Framework provides an abstraction to work with JSON. Having such an abst
* You can write library independent code. Therefore, you can change the underlying library with the minimum effort and code change.
* You can use the predefined converters defined in the ABP without worrying about the underlying library's internal details.
> The JSON serialization system is implemented with the [Volo.Abp.Json](https://www.nuget.org/packages/Volo.Abp.Json) NuGet package. Most of the time, you don't need to manually [install it](https://abp.io/package-detail/Volo.Abp.Json) since it comes pre-installed with the [application startup template](Startup-Templates/Application.md).
> The JSON serialization system is implemented with the [Volo.Abp.Json](https://www.nuget.org/packages/Volo.Abp.Json) NuGet package([Volo.Abp.Json.SystemTextJson](https://www.nuget.org/packages/Volo.Abp.Json.SystemTextJson) is the default implementation). Most of the time, you don't need to manually [install it](https://abp.io/package-detail/Volo.Abp.Json) since it comes pre-installed with the [application startup template](Startup-Templates/Application.md).
## IJsonSerializer
@ -45,16 +45,24 @@ public class ProductManager
`AbpJsonOptions` type provides options for the JSON operations in the ABP Framework.
Properties:
* **DefaultDateTimeFormat(`string`)**: Default `DateTime` format.
* **UseHybridSerializer(`bool`)**: True by default. Boolean field indicating whether the ABP Framework uses the hybrid approach or not. If the field is true, it will try to use `System.Json.Text` to handle JSON if it can otherwise use the `Newtonsoft.Json.`
* **Providers(`ITypeList<IJsonSerializerProvider>`)**: List of JSON serializer providers implementing the `IJsonSerializerProvider` interface. You can create and add custom serializers to the list, and the ABP Framework uses them automatically. When the `Serialize` or `Deserialize` method is called on the `IJsonSerializer` interface, the ABP Framework calls the `CanHandle` methods of the given providers in reverse order and uses the first provider that returns `true` to do the JSON operation.
* **InputDateTimeFormats(`List<string>`)**: Formats of input JSON date, Empty string means default format. You can provide multiple formats to parse the date.
* **OutputDateTimeFormat(`string`)**: Format of output json date, Null or empty string means default format.
## System Text Json
### AbpSystemTextJsonSerializerOptions
`AbpSystemTextJsonSerializerOptions` provides options for `System.Text.Json` usage.
- **JsonSerializerOptions(`System.Text.Json.JsonSerializerOptions`)**: Global options for System.Text.Json library operations. See [here](https://docs.microsoft.com/en-us/dotnet/api/system.text.json.jsonserializeroptions) for reference.
Properties:
### AbpSystemTextJsonSerializerModifiersOptions
- **JsonSerializerOptions(`System.Text.Json.JsonSerializerOptions`)**: Global options for System.Text.Json library operations. See [here](https://docs.microsoft.com/en-us/dotnet/api/system.text.json.jsonserializeroptions) for reference.
- **UnsupportedTypes(`ITypeList`)**: List of the unsupported types. You can add types of the unsupported types to the list and, the hybrid JSON serializer automatically uses the `Newtonsoft.Json` library instead of `System.Text.Json`.
- **Modifiers(`List<Action<JsonTypeInfo>>`)**: Configure `Modifiers` of `DefaultJsonTypeInfoResolver`. See [here](https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-preview-6/#json-contract-customization) for reference.
## Newtonsoft
Add [Volo.Abp.Json.Newtonsoft](https://www.nuget.org/packages/Volo.Abp.Json.Newtonsoft) packge and depends on `AbpJsonNewtonsoftModule` to replace the `System Text Json`.
#### AbpNewtonsoftJsonSerializerOptions
- **JsonSerializerSettings(`Newtonsoft.Json.JsonSerializerSettings`)**: Global options for Newtonsoft library operations. See [here](https://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_JsonSerializerSettings.htm) for reference.

2
docs/en/Migration-Guides/Abp-4_0-Blazor.md

@ -9,7 +9,7 @@ These changes are required to manually applied in your own solution. It would be
* Add `<BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData>` to the `PropertyGroup` section of your project (`.csproj`) file.
* Update the `Blazorise.*` packages to the latest version (to the latest RC for the ABP 4.0 preview).
### wwwroot/index.html
### `wwwroot/index.html`
There are some changes made in the index.html file;

2
docs/en/Migration-Guides/Abp-5_2.md

@ -15,7 +15,7 @@ We've upgraded to Blazorise 1.0 stable version. So there is some breaking change
Also You can review that pull request [#11649 - Blazorise 1.0 Migration](https://github.com/abpframework/abp/pull/11649)
- `NumericEdit` is now made around the native `input type="number"` so a lot of its formating features are moved to the new `NumericPicker` component. Replace NumericEdit with NumericPicker.
- `NumericEdit` is now made around the native `input type="number"` so a lot of its formatting features are moved to the new `NumericPicker` component. Replace NumericEdit with NumericPicker.
- Rename `DecimalsSeparator` to `DecimalSeparator` on the `DataGridColumn` and `NumericPicker`.
- Rename `MaxMessageSize` to `MaxChunkSize`.
- Remove `Fullscreen` parameter on `<ModalContent>` and replace it with `Size="ModalSize.Fullscreen"` parameter.

8
docs/en/Migration-Guides/Abp-6_0.md

@ -2,13 +2,13 @@
This document is a guide for upgrading ABP v5.3 solutions to ABP v6.0. There is a change in this version that may affect your applications, please read it carefully and apply the necessary changes to your application.
## Added IsActive property
## The IsActive property is Added
`IsActive` property is added to `IUserData`. This property is set to **true** by default. **Cmskit** and **Blog** modules are affected by this change. You need to add new migration to your existing application if you are using any of these modules. Please see [#11417](https://github.com/abpframework/abp/pull/11417) for more info.
`IsActive` property is added to `IUserData`. This property is set to **true** by default. **Cmskit** and **Blog** modules are affected by this change. You need to add a new migration to your existing application if you are using any of these modules. Please see [#11417](https://github.com/abpframework/abp/pull/11417) for more info.
## Default behavior change in MultiTenancyMiddlewareErrorPageBuilder
If you have customized the `MultiTenancyMiddlewareErrorPageBuilder` of `AbpMultiTenancyOptions`, the pipeline now returns **true** to stop the pipeline as the default behavior. See [AbpMultiTenancyOptions: Handle inactive and non-existent tenants](https://github.com/abpframework/abp/blob/dev/docs/en/Multi-Tenancy.md#abpmultitenancyoptions-handle-inactive-and-non-existent-tenants) for more info.
If you have customized the `MultiTenancyMiddlewareErrorPageBuilder` of the `AbpMultiTenancyOptions`, the pipeline now returns **true** to stop the pipeline as the default behavior. See [AbpMultiTenancyOptions: Handle inactive and non-existent tenants](https://github.com/abpframework/abp/blob/dev/docs/en/Multi-Tenancy.md#abpmultitenancyoptions-handle-inactive-and-non-existent-tenants) for more info.
## Migrating to LeptonX Lite
@ -22,7 +22,7 @@ LeptonX Lite is now being introduced and you can follow the guides below to migr
After the [announcement of plan to replace the IdentityServer](https://github.com/abpframework/abp/issues/11989), we have successfully implemented [Openiddict](https://github.com/openiddict/openiddict-core) as a replacement for IdentityServer4 as an OpenID-Provider.
You can follow the [IdentityServer to OpenIddict Step by Step Guide](OpenIddict-Step-by-Step.md) for migrating your existing application in detail with a sample projects.
You can follow the [IdentityServer to OpenIddict Step by Step Guide](OpenIddict-Step-by-Step.md) for migrating your existing application in detail with a sample project.
## See Also

36
docs/en/Migration-Guides/Abp-7_0.md

@ -0,0 +1,36 @@
# ABP Version 7.0 Migration Guide
This document is a guide for upgrading ABP v6.0 solutions to ABP v7.0. There is a change in this version that may affect your applications, please read it carefully and apply the necessary changes to your application.
## Hybrid JSON was removed.
Since [System.Text.Json](https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/overview) library supports more custom features in NET 7, ABP no longer need the hybrid Json feature.
### Previous Behavior
There is a `Volo.Abp.Json` package which contains the `AbpJsonModule` module.
`Serialization/deserialization` features of [System.Text.Json](https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/overview) and [Nettonsoft](https://www.newtonsoft.com/json/help/html/SerializingJSON.htm) are implemented in this module.
We use [System.Text.Json](https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/overview) first, More custom cases can be handled with [Nettonsoft](https://www.newtonsoft.com/json/help/html/SerializingJSON.htm) by configuring `UnsupportedTypes` of `AbpSystemTextJsonSerializerOptions`.
### New Behavior
We created `Volo.Abp.Json.SystemTextJson` and `Volo.Abp.Json.Newtonsoft` as separate packages, which means you can only use one of them in your project. The default is to use `SystemTextJson`. If you want `Newtonsoft`, please also use `Volo.Abp.AspNetCore.Mvc.NewtonsoftJson` in your web project.
* Volo.Abp.Json.Abstractions
* Volo.Abp.Json.Newtonsoft
* Volo.Abp.Json.SystemTextJson
* Volo.Abp.Json (Depends on `Volo.Abp.Json.SystemTextJson` by default to prevent breaking)
* Volo.Abp.AspNetCore.Mvc.NewtonsoftJson
The `AbpJsonOptions` now has only two properties, which are
* `InputDateTimeFormats(List<string>)`: Formats of input JSON date, Empty string means default format. You can provide multiple formats to parse the date.
* `OutputDateTimeFormat(string)`: Format of output json date, Null or empty string means default format.
Please remove all `UnsupportedTypes` add custom `Modifiers` to control serialization/deserialization behavior.
Check the docs to see the more info: https://github.com/abpframework/abp/blob/dev/docs/en/JSON.md#configuration
Check the docs to see how to customize a JSON contract: https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/custom-contracts

4
docs/en/Migration-Guides/IdentityServer_To_OpenIddict.md

@ -72,7 +72,7 @@ private void ConfigureAuthentication(ServiceConfigurationContext context)
## Source code of samples and module
* [Open source tiered & separate auth server application migrate Identity Server to OpenIddct](https://github.com/abpframework/abp-samples/tree/master/Ids2OpenId)
* [Commercial tiered & separate auth server application migrate Identity Server to OpenIddct](https://abp.io/Account/Login?returnUrl=/api/download/samples/Ids2OpenId)
* [Open source tiered & separate auth server application migrate Identity Server to OpenIddict](https://github.com/abpframework/abp-samples/tree/master/Ids2OpenId)
* [Commercial tiered & separate auth server application migrate Identity Server to OpenIddict](https://abp.io/Account/Login?returnUrl=/api/download/samples/Ids2OpenId)
* [OpenIddict module document](https://docs.abp.io/en/abp/6.0/Modules/OpenIddict)
* [OpenIddict module source code](https://github.com/abpframework/abp/tree/rel-6.0/modules/openiddict)

10
docs/en/Migration-Guides/OpenIddict-Angular.md

@ -16,14 +16,14 @@
- In **MyApplication.HttpApi.Host.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.*" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In the **MyApplicationHttpApiHostModule.cs** replace usings and **module dependencies**:
@ -117,13 +117,13 @@ This project is renamed to **AuthServer** after v6.0.0-rc1. You can also refacto
- In **MyApplication.IdentityServer.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In the **MyApplicationIdentityServerModule.cs** replace usings and **module dependencies**:

10
docs/en/Migration-Guides/OpenIddict-Blazor-Server.md

@ -5,14 +5,14 @@
- In the **MyApplication.Blazor.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.*" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In the **MyApplicationBlazorModule.cs** replace usings and **module dependencies**:
@ -108,13 +108,13 @@ This project is renamed to **AuthServer** after v6.0.0-rc1. You can also refacto
- In **MyApplication.IdentityServer.csproj** replace **project references**:
```csharp
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />
```
with
```csharp
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.0-rc.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
```
- In **MyApplicationIdentityServerModule.cs** replace usings and **module dependencies**:

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

Loading…
Cancel
Save