Browse Source

Merge branch 'dev' into pr/9180

pull/9180/head
maliming 5 years ago
parent
commit
3f6a20f184
  1. 16
      .github/workflows/auto-pr.yml
  2. 3
      .gitignore
  3. 6
      abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/it.json
  4. 14
      abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/sk.json
  5. 15
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en-GB.json
  6. 28
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
  7. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/fi.json
  8. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/fr.json
  9. 10
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/hi.json
  10. 138
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/it.json
  11. 282
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/sk.json
  12. 28
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json
  13. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en-GB.json
  14. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json
  15. 4
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/hi.json
  16. 9
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/it.json
  17. 37
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/sk.json
  18. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/tr.json
  19. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json
  20. 15
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
  21. 28
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fi.json
  22. 24
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/fr.json
  23. 74
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/hi.json
  24. 159
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/it.json
  25. 296
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/sk.json
  26. 3
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
  27. 42
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/fi.json
  28. 30
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/fr.json
  29. 32
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/hi.json
  30. 70
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/it.json
  31. 147
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/sk.json
  32. 6
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en-GB.json
  33. 12
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en.json
  34. 24
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/fi.json
  35. 14
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/fr.json
  36. 26
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/hi.json
  37. 158
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/it.json
  38. 202
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/sk.json
  39. 6
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/tr.json
  40. 1
      build/common.ps1
  41. 2
      common.props
  42. 10
      docs/en/Apps/VoloDocs.md
  43. 3
      docs/en/Best-Practices/Domain-Services.md
  44. 3
      docs/en/Best-Practices/Index.md
  45. 4
      docs/en/Blog-Posts/2021-04-05 CmsKit/POST.md
  46. 69
      docs/en/Blog-Posts/2021-05-24-LeptonX/POST.md
  47. BIN
      docs/en/Blog-Posts/2021-05-24-LeptonX/default-layout.png
  48. BIN
      docs/en/Blog-Posts/2021-05-24-LeptonX/leptonx-intro-cover-image.png
  49. BIN
      docs/en/Blog-Posts/2021-05-24-LeptonX/mobiles.png
  50. BIN
      docs/en/Blog-Posts/2021-05-24-LeptonX/tablets.png
  51. BIN
      docs/en/Blog-Posts/2021-05-24-LeptonX/top-menu-layout.png
  52. 174
      docs/en/Blog-Posts/2021-06-28 v4_4 Preview/POST.md
  53. BIN
      docs/en/Blog-Posts/2021-06-28 v4_4 Preview/abp-44-cover.png
  54. BIN
      docs/en/Blog-Posts/2021-06-28 v4_4 Preview/ddd-book.png
  55. BIN
      docs/en/Blog-Posts/2021-06-28 v4_4 Preview/dotnetfoundation-sponsor-volosoft.png
  56. BIN
      docs/en/Blog-Posts/2021-06-28 v4_4 Preview/elsa-overview.gif
  57. BIN
      docs/en/Blog-Posts/2021-06-28 v4_4 Preview/leptonx.png
  58. BIN
      docs/en/Blog-Posts/2021-06-28 v4_4 Preview/menu-items-admin.png
  59. BIN
      docs/en/Blog-Posts/2021-06-28 v4_4 Preview/menu-items-public.png
  60. 52
      docs/en/Blog-Posts/2021-07-08 Introducing_the_eShopOnAbp/POST.md
  61. BIN
      docs/en/Blog-Posts/2021-07-08 Introducing_the_eShopOnAbp/overall-solution.png
  62. 8
      docs/en/CLI-New-Command-Samples.md
  63. 22
      docs/en/CLI.md
  64. BIN
      docs/en/Community-Articles/2020-08-12-Patch-Chrome-Login-Issue-For-IdentityServer4/Block-Third-Party-Cookies.png
  65. 4
      docs/en/Community-Articles/2020-08-12-Patch-Chrome-Login-Issue-For-IdentityServer4/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. BIN
      docs/en/Community-Articles/2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/initial-project.png
  68. 457
      docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md
  69. BIN
      docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/elsa-demo-result.gif
  70. BIN
      docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/elsa-overview.gif
  71. BIN
      docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/hello-world-http.jpg
  72. BIN
      docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/hello-world-workflow.jpg
  73. 2
      docs/en/Connection-Strings.md
  74. 6
      docs/en/Customizing-Application-Modules-Extending-Entities.md
  75. 3
      docs/en/Customizing-Application-Modules-Guide.md
  76. 6
      docs/en/Dependency-Injection.md
  77. 53
      docs/en/Distributed-Event-Bus.md
  78. 1981
      docs/en/Domain-Driven-Design-Implementation-Guide.md
  79. 4
      docs/en/Domain-Driven-Design.md
  80. 834
      docs/en/Entity-Framework-Core-Migrations.md
  81. 6
      docs/en/Entity-Framework-Core-MySQL.md
  82. 14
      docs/en/Entity-Framework-Core-Oracle-Devart.md
  83. 12
      docs/en/Entity-Framework-Core-Oracle-Official.md
  84. 26
      docs/en/Entity-Framework-Core-Other-DBMS.md
  85. 6
      docs/en/Entity-Framework-Core-PostgreSQL.md
  86. 6
      docs/en/Entity-Framework-Core-SQLite.md
  87. 72
      docs/en/Entity-Framework-Core.md
  88. 2
      docs/en/Global-Features.md
  89. 11
      docs/en/Index.md
  90. 48
      docs/en/Local-Event-Bus.md
  91. 52
      docs/en/Modules/Account.md
  92. 57
      docs/en/Modules/Audit-Logging.md
  93. 54
      docs/en/Modules/Background-Jobs.md
  94. 48
      docs/en/Modules/Docs.md
  95. 105
      docs/en/Modules/Feature-Management.md
  96. 311
      docs/en/Modules/Identity.md
  97. 172
      docs/en/Modules/IdentityServer.md
  98. 2
      docs/en/Modules/Index.md
  99. 108
      docs/en/Modules/Permission-Management.md
  100. 34
      docs/en/Modules/Setting-Management.md

16
.github/workflows/auto-pr.yml

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

3
.gitignore

@ -315,3 +315,6 @@ tempkey.jwk
# ABP Analyzing files
*.abppkg.analyze.json
# appsettings.secrets.json
appsettings.secrets.json

6
abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/it.json

@ -2,13 +2,13 @@
"culture": "it",
"texts": {
"Account": "Account ABP - Accesso e registrazione | ABP.IO",
"Welcome": "benvenuto",
"Welcome": "Benvenuto",
"UseOneOfTheFollowingLinksToContinue": "Usa uno dei seguenti link per continuare",
"FrameworkHomePage": "Home page del framework",
"FrameworkDocumentation": "Documentazione del framework",
"OfficialBlog": "Blog ufficiale",
"CommercialHomePage": "Home page commerciale",
"CommercialSupportWebSite": "Sito web di supporto commerciale",
"CommercialHomePage": "Home page di Commercial",
"CommercialSupportWebSite": "Sito web supporto di Commercial",
"CommunityWebSite": "Sito web della comunità ABP"
}
}

14
abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/sk.json

@ -0,0 +1,14 @@
{
"culture": "sk",
"texts": {
"Account": "Účet ABP - Prihlásenie a registrácia | ABP.IO",
"Welcome": "Vitajte",
"UseOneOfTheFollowingLinksToContinue": "Ak chcete pokračovať, použite jeden z nasledujúcich odkazov",
"FrameworkHomePage": "Domovská stránka frameworku",
"FrameworkDocumentation": "Dokumentácia k frameworku",
"OfficialBlog": "Oficiálny blog",
"CommercialHomePage": "Komerčná domovská stránka",
"CommercialSupportWebSite": "Webová stránka komerčnej podpory",
"CommunityWebSite": "Webová stránka ABP komunity"
}
}

15
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en-GB.json

@ -197,6 +197,19 @@
"RemoveCache": "Remove Cache",
"Language": "Language",
"Optional": "Optional",
"CreateArticleLanguageInfo": "The language in which the article is written"
"CreateArticleLanguageInfo": "The language in which the article is written",
"Menu:Quotation": "Quotation",
"Menu:Invoice": "Invoice",
"Menu:PaymentRequests": "Payment Requests",
"Permission:PaymentRequests": "Payment Requests",
"PaymentRequests": "Payment Requests",
"Creator": "Creator",
"ExtraProperties": "Extra Properties",
"Organization": "Organization",
"Waiting": "Waiting",
"Completed": "Completed",
"Failed": "Failed",
"PaymentRequestDeletionWarningMessage": "This payment request will be deleted. Do you confirm that?",
"Payment": "Payment"
}
}

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

@ -277,6 +277,32 @@
"ThisExtensionIsNotAllowed": "This extension is not allowed.",
"TheFileIsTooLarge": "The file is too large!",
"ArticleDeletionConfirmationMessage": "Are you sure you want to hard delete this article?",
"ChooseCoverImage": "Choose a cover image..."
"ChooseCoverImage": "Choose a cover image...",
"Menu:Quotation": "Quotation",
"Menu:Invoice": "Invoice",
"Menu:PaymentRequests": "Payment Requests",
"Permission:PaymentRequests": "Payment Requests",
"PaymentRequests": "Payment Requests",
"Creator": "Creator",
"ExtraProperties": "Extra Properties",
"Organization": "Organization",
"Waiting": "Waiting",
"Completed": "Completed",
"Failed": "Failed",
"PaymentRequestDeletionWarningMessage": "This payment request will be deleted. Do you confirm that?",
"Payment": "Payment",
"AddPayment": "Add Payment",
"Enum:PurchaseType:1": "New License",
"Enum:PurchaseType:2": "License Extend",
"Enum:PurchaseType:3": "License Upgrade",
"Enum:PurchaseType:4": "Additional Developer",
"LicenceType": "License Type",
"PurchaseType": "Purchase Type",
"ReceiptNo": "Receipt No",
"PaymentTime": "Payment Time",
"ProductPrice": "Product Price",
"AdditionalDeveloper": "Additional developer",
"ThisPaymentHasBeenAlreadyUsed": "This payment has been already used",
"PaymentTimeCannotBeFutureTime": "Payment time cannot be future time"
}
}

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

@ -108,12 +108,12 @@
"LicenseStartDate": "Lisenssin aloituspäivä",
"LicenseEndDate": "Lisenssin päättymispäivä",
"OrganizationNamePlaceholder": "Organisaation nimi...",
"TotalQuestionCountPlaceholder": "Kysymysten kokonaismäärä ...",
"RemainingQuestionCountPlaceholder": "Jäljellä oleva kysymysten määrä ...",
"TotalQuestionCountPlaceholder": "Kysymysten kokonaismäärä...",
"RemainingQuestionCountPlaceholder": "Jäljellä oleva kysymysten määrä...",
"LicenseTypePlaceholder": "Lisenssi-tyyppi...",
"CreationDatePlaceholder": "Luomispäivä...",
"LicenseStartDatePlaceholder": "Lisenssin aloituspäivä ...",
"LicenseEndDatePlaceholder": "Lisenssin päättymispäivä ...",
"LicenseStartDatePlaceholder": "Lisenssin aloituspäivä...",
"LicenseEndDatePlaceholder": "Lisenssin päättymispäivä...",
"UsernameOrEmail": "Käyttäjätunnus tai sähköpostiosoite",
"UsernameOrEmailPlaceholder": "Käyttäjätunnus tai sähköpostiosoite...",
"Member": "Jäsen",
@ -277,6 +277,6 @@
"ThisExtensionIsNotAllowed": "Tätä laajennusta ei sallita.",
"TheFileIsTooLarge": "Tiedosto on liian suuri!",
"ArticleDeletionConfirmationMessage": "Haluatko varmasti poistaa tämän artikkelin vaikeasti?",
"ChooseCoverImage": "Valitse kansikuva ..."
"ChooseCoverImage": "Valitse kansikuva..."
}
}

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

@ -108,12 +108,12 @@
"LicenseStartDate": "Date de début de la licence",
"LicenseEndDate": "Date de fin de licence",
"OrganizationNamePlaceholder": "Nom de l'organisation...",
"TotalQuestionCountPlaceholder": "Nombre total de questions ...",
"RemainingQuestionCountPlaceholder": "Nombre de questions restantes ...",
"TotalQuestionCountPlaceholder": "Nombre total de questions...",
"RemainingQuestionCountPlaceholder": "Nombre de questions restantes...",
"LicenseTypePlaceholder": "Type de licence...",
"CreationDatePlaceholder": "Date de création...",
"LicenseStartDatePlaceholder": "Date de début de la licence ...",
"LicenseEndDatePlaceholder": "Date de fin de licence ...",
"LicenseStartDatePlaceholder": "Date de début de la licence...",
"LicenseEndDatePlaceholder": "Date de fin de licence...",
"UsernameOrEmail": "Nom d'utilisateur ou email",
"UsernameOrEmailPlaceholder": "Nom d'utilisateur ou email...",
"Member": "Membre",
@ -277,6 +277,6 @@
"ThisExtensionIsNotAllowed": "Cette extension n'est pas autorisée.",
"TheFileIsTooLarge": "Le fichier est trop volumineux!",
"ArticleDeletionConfirmationMessage": "Voulez-vous vraiment supprimer définitivement cet article?",
"ChooseCoverImage": "Choisissez une image de couverture ..."
"ChooseCoverImage": "Choisissez une image de couverture..."
}
}

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

@ -108,12 +108,12 @@
"LicenseStartDate": "लाइसेंस शुरू होने की तारीख",
"LicenseEndDate": "लाइसेंस की अंतिम तिथि",
"OrganizationNamePlaceholder": "संगठन का नाम...",
"TotalQuestionCountPlaceholder": "कुल प्रश्न संख्या ...",
"RemainingQuestionCountPlaceholder": "शेष प्रश्न गणना ...",
"TotalQuestionCountPlaceholder": "कुल प्रश्न संख्या...",
"RemainingQuestionCountPlaceholder": "शेष प्रश्न गणना...",
"LicenseTypePlaceholder": "लाइसेंस के प्रकार...",
"CreationDatePlaceholder": "निर्माण तिथि...",
"LicenseStartDatePlaceholder": "लाइसेंस शुरू होने की तारीख ...",
"LicenseEndDatePlaceholder": "लाइसेंस की अंतिम तिथि ...",
"LicenseStartDatePlaceholder": "लाइसेंस शुरू होने की तारीख...",
"LicenseEndDatePlaceholder": "लाइसेंस की अंतिम तिथि...",
"UsernameOrEmail": "उपयोगकर्ता का नाम या ईमेल",
"UsernameOrEmailPlaceholder": "उपयोगकर्ता का नाम या ईमेल...",
"Member": "सदस्य",
@ -277,6 +277,6 @@
"ThisExtensionIsNotAllowed": "इस एक्सटेंशन की अनुमति नहीं है।",
"TheFileIsTooLarge": "फ़ाइल बहुत बड़ी है!",
"ArticleDeletionConfirmationMessage": "क्या आप वाकई इस लेख को हटाना चाहते हैं?",
"ChooseCoverImage": "कवर छवि चुनें ..."
"ChooseCoverImage": "कवर छवि चुनें..."
}
}

138
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/it.json

@ -5,20 +5,20 @@
"Permission:Manage": "Gestisci organizzazioni",
"Permission:DiscountRequests": "Richieste di sconto",
"Permission:DiscountManage": "Gestisci le richieste di sconto",
"Permission:Disable": "disattivare",
"Permission:Enable": "Abilitare",
"Permission:Disable": "Disattiva",
"Permission:Enable": "Abilita",
"Permission:EnableSendEmail": "Abilita Invia e-mail",
"Permission:SendEmail": "Invia una email",
"Permission:NpmPackages": "Pacchetti NPM",
"Permission:NugetPackages": "Pacchetti Nuget",
"Permission:Maintenance": "Manutenzione",
"Permission:Maintain": "Mantenere",
"Permission:ClearCaches": "Cancella cache",
"Permission:Maintain": "Mantieni",
"Permission:ClearCaches": "Pulisci cache",
"Permission:Modules": "Moduli",
"Permission:Packages": "Pacchi",
"Permission:Edit": "modificare",
"Permission:Edit": "Modifica",
"Permission:Delete": "Elimina",
"Permission:Create": "Creare",
"Permission:Create": "Crea",
"Permission:Accounting": "Contabilità",
"Permission:Accounting:Quotation": "Quotazione",
"Permission:Accounting:Invoice": "Fattura",
@ -30,31 +30,31 @@
"NugetPackageDeletionWarningMessage": "Questo pacchetto Nuget verrà eliminato. Lo confermi?",
"ModuleDeletionWarningMessage": "Questo modulo verrà eliminato. Lo confermi?",
"Name": "Nome",
"DisplayName": "Nome da visualizzare",
"DisplayName": "Nome visualizzato",
"ShortDescription": "Breve descrizione",
"NameFilter": "Nome",
"CreationTime": "Tempo di creazione",
"CreationTime": "Orario di creazione",
"IsPro": "È pro",
"IsFreeToActiveLicenseOwners": "Gratuito per i proprietari di licenze",
"ShowOnModuleList": "Mostra nell'elenco dei moduli",
"EfCoreConfigureMethodName": "Configurare il nome del metodo",
"IsProFilter": "È pro",
"ApplicationType": "Tipo di applicazione",
"Target": "Bersaglio",
"TargetFilter": "Bersaglio",
"Target": "Obiettivo",
"TargetFilter": "Obiettivo",
"ModuleClass": "Classe del modulo",
"NugetPackageTarget.DomainShared": "Dominio condiviso",
"NugetPackageTarget.Domain": "Dominio",
"NugetPackageTarget.Application": "Applicazione",
"NugetPackageTarget.ApplicationContracts": "Contratti applicativi",
"NugetPackageTarget.ApplicationContracts": "Contratti Applicazione",
"NugetPackageTarget.HttpApi": "Http Api",
"NugetPackageTarget.HttpApiClient": "Client API HTTP",
"NugetPackageTarget.Web": "ragnatela",
"NugetPackageTarget.HttpApiClient": "Http Api Client",
"NugetPackageTarget.Web": "Web",
"NugetPackageTarget.EntityFrameworkCore": "DeleteAllEntityFramework Core",
"NugetPackageTarget.MongoDB": "MongoDB",
"Edit": "modificare",
"Edit": "Modifica",
"Delete": "Elimina",
"Refresh": "ricaricare",
"Refresh": "Ricarica",
"NpmPackages": "Pacchetti NPM",
"NugetPackages": "Pacchetti Nuget",
"NpmPackageCount": "Conteggio pacchetti NPM",
@ -64,10 +64,10 @@
"CreateANpmPackage": "Crea un pacchetto NPM",
"CreateAModule": "Crea un modulo",
"CreateANugetPackage": "Crea un pacchetto Nuget",
"AddNew": "Aggiungere nuova",
"PackageAlreadyExist{0}": "Il pacchetto \"{0}\" è già aggiunto.",
"ModuleAlreadyExist{0}": "Il modulo \"{0}\" è già aggiunto.",
"ClearCache": "Cancella cache",
"AddNew": "Aggiungi nuova",
"PackageAlreadyExist{0}": "Il pacchetto \"{0}\" è già stato aggiunto.",
"ModuleAlreadyExist{0}": "Il modulo \"{0}\" è già stato aggiunto.",
"ClearCache": "Pulisci cache",
"SuccessfullyCleared": "Cancellato con successo",
"Menu:NpmPackages": "Pacchetti NPM",
"Menu:Modules": "Moduli",
@ -75,19 +75,19 @@
"Menu:NugetPackages": "Pacchetti Nuget",
"CreateAnOrganization": "Crea un'organizzazione",
"Organizations": "Organizzazioni",
"LongName": "Nome lungo",
"LongName": "Nome esteso",
"LicenseType": "Tipo di licenza",
"MissingLicenseTypeField": "Il campo del tipo di licenza è obbligatorio!",
"LicenseStartTime": "Ora di inizio della licenza",
"LicenseEndTime": "Ora di fine della licenza",
"AllowedDeveloperCount": "Conteggio sviluppatori consentito",
"UserNameOrEmailAddress": "Username o Indirizzo Email",
"UserNameOrEmailAddress": "Username o indirizzo Email",
"AddOwner": "Aggiungi proprietario",
"UserName": "Nome utente",
"Email": "E-mail",
"Developers": "Sviluppatori",
"AddDeveloper": "Aggiungi sviluppatore",
"Create": "Creare",
"Create": "Crea",
"UserNotFound": "Utente non trovato",
"{0}WillBeRemovedFromDevelopers": "{0} Verrà rimosso dagli sviluppatori, confermi?",
"{0}WillBeRemovedFromOwners": "{0} Verrà rimosso dai proprietari, confermi?",
@ -95,7 +95,7 @@
"Computers": "Computer",
"UniqueComputerId": "ID computer univoco",
"LastSeenDate": "Data dell'ultimo accesso",
"{0}Computer{1}WillBeRemovedFromRecords": "Il computer di {0} ({1}) verrà rimosso dai record",
"{0}Computer{1}WillBeRemovedFromRecords": "Il computer di {0} ({1}) verrà rimosso da quelli registrati",
"OrganizationDeletionWarningMessage": "L'organizzazione verrà eliminata",
"DeletingLastOwnerWarningMessage": "Un'organizzazione deve avere almeno un proprietario! Pertanto non puoi rimuovere questo proprietario",
"This{0}AlreadyExistInThisOrganization": "Questo {0} esiste già in questa organizzazione",
@ -108,12 +108,12 @@
"LicenseStartDate": "Data di inizio della licenza",
"LicenseEndDate": "Data di fine della licenza",
"OrganizationNamePlaceholder": "Nome dell'organizzazione...",
"TotalQuestionCountPlaceholder": "Conteggio totale delle domande ...",
"RemainingQuestionCountPlaceholder": "Numero di domande rimanenti ...",
"TotalQuestionCountPlaceholder": "Conteggio totale delle domande...",
"RemainingQuestionCountPlaceholder": "Numero di domande rimanenti...",
"LicenseTypePlaceholder": "Tipo di licenza...",
"CreationDatePlaceholder": "Data di creazione...",
"LicenseStartDatePlaceholder": "Data di inizio della licenza ...",
"LicenseEndDatePlaceholder": "Data di fine della licenza ...",
"LicenseStartDatePlaceholder": "Data di inizio della licenza...",
"LicenseEndDatePlaceholder": "Data di fine della licenza...",
"UsernameOrEmail": "Nome utente o email",
"UsernameOrEmailPlaceholder": "Nome utente o email...",
"Member": "Membro",
@ -126,8 +126,8 @@
"DiscountQuantity": "Quantità di sconto",
"DiscountPrice": "Prezzo scontato",
"Quotation": "Quotazione",
"ExtraText": "Testo extra",
"ExtraAmount": "Importo extra",
"ExtraText": "Testo ulteriore",
"ExtraAmount": "Importo ulteriore",
"DownloadQuotation": "Scarica preventivo",
"Invoice": "Fattura",
"TaxNumber": "Codice fiscale",
@ -138,22 +138,22 @@
"AddProduct": "Aggiungi prodotto",
"AddProductWarning": "Devi aggiungere il prodotto!",
"TotalPrice": "Prezzo totale",
"Generate": "creare",
"Generate": "Genera",
"MissingQuantityField": "Il campo della quantità è obbligatorio!",
"MissingPriceField": "Il campo Prezzo è obbligatorio!",
"CodeUsageStatus": "Stato",
"Country": "Nazione",
"DeveloperCount": "Conteggio sviluppatori",
"RequestCode": "Codice richiesto",
"RequestCode": "Codice richiesta",
"WebSite": "Sito web",
"GithubUsername": "Nome utente GitHub",
"PhoneNumber": "Numero di telefono",
"ProjectDescription": "descrizione del progetto",
"Referrer": "Referrer",
"Referrer": "Referente",
"DiscountRequests": "Richiesta di sconto",
"Copylink": "Copia link",
"Disable": "disattivare",
"Enable": "Abilitare",
"Disable": "Disabilita",
"Enable": "Abilita",
"EnableSendEmail": "Abilita Invia e-mail",
"SendEmail": "Invia una email",
"SuccessfullyDisabled": "Disabilitato con successo",
@ -162,7 +162,7 @@
"SuccessfullySent": "Inviato con successo",
"SuccessfullyDeleted": "Eliminato con successo",
"DiscountRequestDeletionWarningMessage": "La richiesta di sconto verrà eliminata",
"BusinessType": "tipo di affari",
"BusinessType": "Tipo di affari",
"TotalQuestionCount": "Conteggio totale delle domande",
"RemainingQuestionCount": "Numero di domande rimanenti",
"TotalQuestionMustBeGreaterWarningMessage": "TotalQuestionCount deve essere maggiore di RemainingQuestionCount!",
@ -171,16 +171,16 @@
"Notes": "Appunti",
"Menu:Community": "Comunità",
"Menu:Articles": "Articoli",
"Wait": "Aspettare",
"Wait": "Attendere",
"Approve": "Approvare",
"Reject": "Rifiutare",
"Details": "Dettagli",
"Url": "Url",
"Title": "Titolo",
"ContentSource": "Fonte di contenuto",
"ContentSource": "Fonte del contenuto",
"Status": "Stato",
"ReadArticle": "Leggi l'articolo",
"ArticleHasBeenWaiting": "L'articolo è stato in attesa",
"ArticleHasBeenWaiting": "L'articolo è in attesa",
"ArticleHasBeenApproved": "L'articolo è stato approvato",
"ArticleHasBeenRejected": "L'articolo è stato respinto",
"Permission:Community": "Comunità",
@ -197,10 +197,10 @@
"RemoveCacheConfirmationMessage": "Sei sicuro di aver rimosso la cache per l'articolo \"{0}\"?",
"SuccessfullyRemoved": "Cancellato con successo",
"RemoveCache": "Rimuovi cache",
"Language": "linguaggio",
"Language": "Lingua",
"Optional": "Opzionale",
"CreateArticleLanguageInfo": "La lingua in cui è scritto il post",
"Enum:ContentSource:2": "Post video",
"Enum:ContentSource:2": "Pubblica video",
"VideoPreview": "Anteprima video",
"VideoPreviewErrorMessage": "Impossibile recuperare l'URL del video da Youtube. Ciò può essere causato dal fatto che il video è privato o l'URL fornito non è disponibile.",
"DeleteCoverImage": "Elimina immagine di copertina",
@ -214,19 +214,19 @@
"Currency": "Moneta",
"Gateway": "Gateway",
"State": "Stato",
"FailReason": "Motivo fallito",
"FailReason": "Motivo fallimento",
"ReIndexAllPosts": "Reindicizza tutti i post",
"ReIndexAllPostsConfirmationMessage": "Sei sicuro di voler reindicizzare tutti i post?",
"SuccessfullyReIndexAllPosts": "Tutti i post sono stati reindicizzati con successo.",
"Permission:FullSearch": "Ricerca nel testo completo",
"Permission:FullSearch": "Ricerca in tutto il testo",
"Menu:CliAnalytics": "Cli Analytics",
"TemplateName": "Nome modello",
"TemplateVersion": "Versione modello",
"DatabaseProvider": "Provider di database",
"IsTiered": "È a livelli",
"DatabaseProvider": "Provider del database",
"IsTiered": "Multi livello",
"ProjectName": "Nome del progetto",
"Username": "Nome utente",
"Tool": "Attrezzo",
"Tool": "Strumento",
"Command": "Comando",
"UiFramework": "Framework dell'interfaccia utente",
"Options": "Opzioni",
@ -234,10 +234,10 @@
"Permission:CliAnalyticses": "Cli Analyticses",
"Permission:CliAnalytics": "Cli Analytics",
"Search": "Ricerca",
"ClearFilter": "Filtro pulito",
"LicensePrivateKey": "Chiave privata della licenza",
"LicensePublicKey": "Licenza chiave pubblica",
"ApiKey": "Chiave API NuGet",
"ClearFilter": "Pulisci filtro",
"LicensePrivateKey": "Chiave privata licenza",
"LicensePublicKey": "Chiave pubblica licenza",
"ApiKey": "NuGet API key",
"ShowInvoiceRequestsOfOrganization": "Richieste di fattura",
"ShowQuestionsOfOrganization": "Domande",
"Question": "Domanda",
@ -245,7 +245,7 @@
"Questions": "Domande",
"InvoiceRequests": "Richieste di fattura",
"Address": "Indirizzo",
"TaxNo": "No fiscale",
"TaxNo": "Partiva IVA",
"Permission:InvoiceRequest": "Richiesta di fattura",
"Permission:Question": "Domanda",
"AddNoteSuccessMessage": "Nota aggiunta con successo",
@ -258,8 +258,8 @@
"Enum:EntityChangeType:0": "Creato",
"Enum:EntityChangeType:1": "Aggiornato",
"Enum:EntityChangeType:2": "Eliminato",
"TenantId": "ID inquilino",
"ChangeTime": "Cambia il tempo",
"TenantId": "ID tenant",
"ChangeTime": "Cambia orario",
"EntityTypeFullName": "Nome completo del tipo di entità",
"AuditLogsFor{0}Organization": "Log di controllo per l'organizzazione \"{0}\"",
"Permission:EntityChange": "Modifica entità",
@ -269,14 +269,40 @@
"EmailSendDate": "Data di invio dell'e-mail",
"PaymentRequestsFor{0}Organization": "Richieste di pagamento per l'organizzazione \"{0}\"",
"PaymentDetails": "Dettagli di pagamento",
"PaymentProduct": "Prodotto di pagamento",
"ProductName": "nome del prodotto",
"PaymentProduct": "Prodotti pagamento",
"ProductName": "Nome del prodotto",
"Code": "Codice",
"GenerateInvoice": "Genera fattura",
"ExportOrganizationsToExcel": "esportare in Excel",
"ExportOrganizationsToExcel": "Esporta in Excel",
"ThisExtensionIsNotAllowed": "Questa estensione non è consentita.",
"TheFileIsTooLarge": "Il file è troppo grande!",
"ArticleDeletionConfirmationMessage": "Sei sicuro di voler eliminare definitivamente questo articolo?",
"ChooseCoverImage": "Scegli un'immagine di copertina ..."
"ChooseCoverImage": "Scegli un'immagine di copertina...",
"Menu:Quotation": "Quotation",
"Menu:Invoice": "Fattura",
"Menu:PaymentRequests": "Richieste Pagamento",
"Permission:PaymentRequests": "Richieste Pagamento",
"PaymentRequests": "Richieste Pagamento",
"Creator": "Creatore",
"ExtraProperties": "Proprietà Extra",
"Organization": "Organizzazione",
"Waiting": "In attesa",
"Completed": "Completato",
"Failed": "Fallito",
"PaymentRequestDeletionWarningMessage": "Questa richiesta pagamento sarà cancellata. Confermi?",
"Payment": "Pagamento",
"AddPayment": "Aggiungi Pagamento",
"Enum:PurchaseType:1": "Nuova Licenza",
"Enum:PurchaseType:2": "Estendi Licenza",
"Enum:PurchaseType:3": "Aggiornamento Licenza",
"Enum:PurchaseType:4": "Sviluppatore Aggiuntivo",
"LicenceType": "Tipo Licenza",
"PurchaseType": "Tipo Acquisto",
"ReceiptNo": "Ricevuta n.",
"PaymentTime": "Tipo Pagamento",
"ProductPrice": "Prezzo Prodotto",
"AdditionalDeveloper": "Sviluppatore aggiuntivo",
"ThisPaymentHasBeenAlreadyUsed": "Questo pagamento è già stato utilizzato",
"PaymentTimeCannotBeFutureTime": "Orario di pagamento non può essere nel futuro"
}
}

282
abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/sk.json

@ -0,0 +1,282 @@
{
"culture": "sk",
"texts": {
"Permission:Organizations": "Organizácie",
"Permission:Manage": "Správa organizácií",
"Permission:DiscountRequests": "Žiadosti o zľavu",
"Permission:DiscountManage": "Správa žiadostí o zľavu",
"Permission:Disable": "Zakázať",
"Permission:Enable": "Povoliť",
"Permission:EnableSendEmail": "Povoliť odosielanie emailov",
"Permission:SendEmail": "Odoslať e-mail",
"Permission:NpmPackages": "Balíky NPM",
"Permission:NugetPackages": "Balíky Nuget",
"Permission:Maintenance": "Údržba",
"Permission:Maintain": "Spustiť údržbu",
"Permission:ClearCaches": "Vymazať vyrovnávaciu pamäť",
"Permission:Modules": "Moduly",
"Permission:Packages": "Balíky",
"Permission:Edit": "Upraviť",
"Permission:Delete": "Zmazať",
"Permission:Create": "Vytvoriť",
"Permission:Accounting": "Účtovníctvo",
"Permission:Accounting:Quotation": "Ponuka",
"Permission:Accounting:Invoice": "Faktúra",
"Menu:Organizations": "Organizácie",
"Menu:Accounting": "Účtovníctvo",
"Menu:Packages": "Balíky",
"Menu:DiscountRequests": "Žiadosti o zľavu",
"NpmPackageDeletionWarningMessage": "Tento balík NPM bude zmazaný. Chcete operáciu potvrdiť?",
"NugetPackageDeletionWarningMessage": "Tento balík Nuget bude zmazaný. Chcete operáciu potvrdiť?",
"ModuleDeletionWarningMessage": "Tento modul bude zmazaný. Chcete operáciu potvrdiť?",
"Name": "Názov",
"DisplayName": "Zobrazený názov",
"ShortDescription": "Krátky popis",
"NameFilter": "Názov",
"CreationTime": "Čas vytvorenia",
"IsPro": "Je pro",
"IsFreeToActiveLicenseOwners": "Zadarmo pre majiteľov licencií",
"ShowOnModuleList": "Zobraziť v zozname modulov",
"EfCoreConfigureMethodName": "Konfigurovať názov metódy",
"IsProFilter": "Je pro",
"ApplicationType": "Typ aplikácie",
"Target": "Cieľ",
"TargetFilter": "Cieľ",
"ModuleClass": "Trieda modulu",
"NugetPackageTarget.DomainShared": "Domain Shared",
"NugetPackageTarget.Domain": "Domain",
"NugetPackageTarget.Application": "Application",
"NugetPackageTarget.ApplicationContracts": "Application Contracts",
"NugetPackageTarget.HttpApi": "Http Api",
"NugetPackageTarget.HttpApiClient": "Http Api Client",
"NugetPackageTarget.Web": "Web",
"NugetPackageTarget.EntityFrameworkCore": "DeleteAllEntityFramework Core",
"NugetPackageTarget.MongoDB": "MongoDB",
"Edit": "Upraviť",
"Delete": "Zmazať",
"Refresh": "Obnoviť",
"NpmPackages": "Balíky NPM",
"NugetPackages": "Balíky Nuget",
"NpmPackageCount": "Počet NPM balíkov ",
"NugetPackageCount": "Počet Nuget balíkov",
"Module": "Moduly",
"ModuleInfo": "Informácie o module",
"CreateANpmPackage": "Vytvoriť NPM balík",
"CreateAModule": "Vytvoriť modul",
"CreateANugetPackage": "Vytvoriť Nuget balík",
"AddNew": "Pridať nový",
"PackageAlreadyExist{0}": "Balík \"{0}\" je už pridaný.",
"ModuleAlreadyExist{0}": "Modul \"{0}\" je už pridaný.",
"ClearCache": "Vyčistiť vyrovnávaciu pamäť",
"SuccessfullyCleared": "Úspešne vyčistené",
"Menu:NpmPackages": "NPM balíky",
"Menu:Modules": "Moduly",
"Menu:Maintenance": "Údržba",
"Menu:NugetPackages": "Nuget balíky",
"CreateAnOrganization": "Vytvoriť organizáciu",
"Organizations": "Organizácie",
"LongName": "Dlhý názov",
"LicenseType": "Typ licencie",
"MissingLicenseTypeField": "Pole Typ licencie je povinné!",
"LicenseStartTime": "Čas začiatku platnosti licencie",
"LicenseEndTime": "Čas ukončenia platnosti licencie",
"AllowedDeveloperCount": "Povolený počet vývojárov",
"UserNameOrEmailAddress": "Používateľské meno alebo e-mailová adresa",
"AddOwner": "Pridať vlastníka",
"UserName": "Používateľské meno",
"Email": "Email",
"Developers": "Vývojári",
"AddDeveloper": "Pridať vývojára",
"Create": "Vytvoriť",
"UserNotFound": "Používateľ nebol nájdený",
"{0}WillBeRemovedFromDevelopers": "{0} bude odstranený z vývojárov, chcete akciu potvrdiť?",
"{0}WillBeRemovedFromOwners": "{0} bude odstranený z vlastníkov, chcete akciu potvrdiť?",
"{0}WillBeRemovedFromMembers": "{0} bude odstranený z členov, chcete akciu potvrdiť?",
"Computers": "Počítače",
"UniqueComputerId": "Jedinečný identifikátor počítača",
"LastSeenDate": "Dátum posledného zobrazenia",
"{0}Computer{1}WillBeRemovedFromRecords": "Počítač používateľa {0} ({1}) bude zo záznamov odstránený",
"OrganizationDeletionWarningMessage": "Organizácia bude vymazaná",
"DeletingLastOwnerWarningMessage": "Organizácia musí mať aspoň jedného vlastníka! Z tohto dôvodu nie je možné vlastníka odstrániť",
"This{0}AlreadyExistInThisOrganization": "Tento {0} už v tejto organizácii existuje",
"AreYouSureYouWantToDeleteAllComputers": "Ste si istí, že chcete zmazať všetky počítače?",
"DeleteAll": "Zmazať všetko",
"DoYouWantToCreateNewUser": "Chcete vytvoriť nového používateľa?",
"MasterModules": "Hlavné moduly",
"OrganizationName": "Názov organizácie",
"CreationDate": "Dátum vytvorenia",
"LicenseStartDate": "Dátum začiatku platnosti licencie",
"LicenseEndDate": "Dátum ukončenia platnosti licencie",
"OrganizationNamePlaceholder": "Názov organizácie...",
"TotalQuestionCountPlaceholder": "Celkový počet otázok...",
"RemainingQuestionCountPlaceholder": "Počet zostávajúcich otázok...",
"LicenseTypePlaceholder": "Typ licencie...",
"CreationDatePlaceholder": "Dátum vytvorenia...",
"LicenseStartDatePlaceholder": "Dátum začiatku platnosti licencie...",
"LicenseEndDatePlaceholder": "Dátum ukončenia platnosti licencie...",
"UsernameOrEmail": "Používateľské meno alebo email",
"UsernameOrEmailPlaceholder": "Používateľské meno alebo email...",
"Member": "Člen",
"PurchaseOrderNo": "Nákupná objednávka č.",
"QuotationDate": "Dátum cenovej ponuky",
"CompanyName": "Názov spoločnosti",
"CompanyAddress": "Adresa spoločnosti",
"Price": "Cena",
"DiscountText": "Text zľavy",
"DiscountQuantity": "Zľavnené množstvo",
"DiscountPrice": "Zľavová cena",
"Quotation": "Ponuka",
"ExtraText": "Extra text",
"ExtraAmount": "Dodatočná suma",
"DownloadQuotation": "Stiahnuť ponuku",
"Invoice": "Faktúra",
"TaxNumber": "DIČ",
"InvoiceNumber": "Číslo faktúry",
"InvoiceDate": "Dátum faktúry",
"InvoiceNote": "Poznámka k faktúre",
"Quantity": "Množstvo",
"AddProduct": "Pridať produkt",
"AddProductWarning": "Musíte pridať produkt!",
"TotalPrice": "Celková cena",
"Generate": "Generovať",
"MissingQuantityField": "Pole Množstvo je povinné!",
"MissingPriceField": "Pole Cena je povinné!",
"CodeUsageStatus": "Stav",
"Country": "Krajina",
"DeveloperCount": "Počet vývojárov",
"RequestCode": "Kód žiadosti",
"WebSite": "Internetová stránka",
"GithubUsername": "Github používateľské meno",
"PhoneNumber": "Telefónne číslo",
"ProjectDescription": "Popis projektu",
"Referrer": "Sprostredkovateľ",
"DiscountRequests": "Žiadosť o zľavu",
"Copylink": "Kopírovať odkaz",
"Disable": "Zakázať",
"Enable": "Povoliť",
"EnableSendEmail": "Povoliť odoslanie e-mailu",
"SendEmail": "Odošli e-mail",
"SuccessfullyDisabled": "Úspešne zakázané",
"SuccessfullyEnabled": "Úspešne povolené",
"EmailSent": "Email bol odoslaný",
"SuccessfullySent": "Úspešne odoslané",
"SuccessfullyDeleted": "Úspešne zmazané",
"DiscountRequestDeletionWarningMessage": "Žiadosť o zľavu bude vymazaná",
"BusinessType": "Typ podnikania",
"TotalQuestionCount": "Celkový počet otázok",
"RemainingQuestionCount": "Zostávajúci počet otázok",
"TotalQuestionMustBeGreaterWarningMessage": "Celkový počet otázok musí byť väčší ako zostávajúci počet otázok !",
"QuestionCountsMustBeGreaterThanZero": "Celkový počet otázok a zostávajúci počet otázok sa musí rovnať alebo byť väčší ako nula!",
"UnlimitedQuestionCount": "Neobmedzený počet otázok",
"Notes": "Poznámky",
"Menu:Community": "Komunita",
"Menu:Articles": "Články",
"Wait": "Čakať",
"Approve": "Schváliť",
"Reject": "Zamietnuť",
"Details": "Podrobnosti",
"Url": "Url",
"Title": "Nadpis",
"ContentSource": "Zdroj obsahu",
"Status": "Stav",
"ReadArticle": "Prečítať článok",
"ArticleHasBeenWaiting": "Článok čakal",
"ArticleHasBeenApproved": "Článok bol schválený",
"ArticleHasBeenRejected": "Článok bol zamietnutý",
"Permission:Community": "Komunita",
"Permission:CommunityArticle": "Článok",
"Link": "Odkaz",
"Enum:ContentSource:0": "Github",
"Enum:ContentSource:1": "Externý",
"Enum:Status:0": "Čaká",
"Enum:Status:1": "Zamietný",
"Enum:Status:2": "Schválený",
"Summary": "Zhrnutie",
"AuthorName": "Meno autora",
"CoverImage": "Titulný obrázok",
"RemoveCacheConfirmationMessage": "Naozaj chcete odstrániť vyrovnávaciu pamäť pre článok \"{0}\"?",
"SuccessfullyRemoved": "Úspešne vyčistené",
"RemoveCache": "Odstrániť vyrovnávaciu pamäť",
"Language": "Jazyk",
"Optional": "Voliteľné",
"CreateArticleLanguageInfo": "Jazyk, v ktorom je príspevok napísaný",
"Enum:ContentSource:2": "Video príspevok",
"VideoPreview": "Náhľad videa",
"VideoPreviewErrorMessage": "Poskytnutú url videa sa z Youtube nepodarilo načítať. Video môže byť súkromné alebo adresa URL nie je dostupná.",
"DeleteCoverImage": "Odstránenie titulného obrázku",
"DeleteCoverImageConfirmationMessage": "Ste si istý, že chcete zmazať titulný obrázok pre \"{0}\"?",
"DeleteCoverImageSuccessMessage": "Titulný obrázok úspešne zmazaný",
"PaymentsOf": "Platby",
"ShowPaymentsOfOrganization": "Platby",
"Date": "Dátum",
"Products": "Produkty",
"TotalAmount": "Celková suma",
"Currency": "Mena",
"Gateway": "Brána",
"State": "Štát",
"FailReason": "Dôvod zlyhania",
"ReIndexAllPosts": "Reindexovanie všetkých príspevkov",
"ReIndexAllPostsConfirmationMessage": "Ste si istý, že chcete reindexovať všetky príspevky?",
"SuccessfullyReIndexAllPosts": "Všetky príspevky boli úspešne reindexované.",
"Permission:FullSearch": "Vyhľadávanie v celom texte",
"Menu:CliAnalytics": "Cli analytiky",
"TemplateName": "Názov šablóny",
"TemplateVersion": "Verzia šablóny",
"DatabaseProvider": "Poskytovateľ databázy",
"IsTiered": "Je viacúrovňový",
"ProjectName": "Názov projektu",
"Username": "Meno používateľa",
"Tool": "Nástroj",
"Command": "Príkaz",
"UiFramework": "UI frameworku",
"Options": "Možnosti",
"CliAnalytics": "Cli analytiky",
"Permission:CliAnalyticses": "Cli analytiky",
"Permission:CliAnalytics": "Cli analytiky",
"Search": "Hľadať",
"ClearFilter": "Vyčistiť filter",
"LicensePrivateKey": "Privátny kľúč licencie",
"LicensePublicKey": "Verejný kľúč licencie",
"ApiKey": "NuGet API kľúč ",
"ShowInvoiceRequestsOfOrganization": "Žiadosti o faktúru",
"ShowQuestionsOfOrganization": "Otázky",
"Question": "Otázka",
"Open": "Otvoriť",
"Questions": "Otázky",
"InvoiceRequests": "Žiadosti o faktúru",
"Address": "Adresa",
"TaxNo": "DIČ",
"Permission:InvoiceRequest": "Žiadosť o faktúru",
"Permission:Question": "Otázka",
"AddNoteSuccessMessage": "Poznámka úspešne pridaná",
"NameSurname": "Meno Priezvisko",
"Note": "Poznámka",
"Add": "Pridať",
"ProjectDownloads": "Stiahnutia projektu",
"ShowProjectDownloadsOfOrganization": "Stiahnutia projektu",
"ShowAuditLogsOfOrganization": "Audit logy",
"Enum:EntityChangeType:0": "Vytvorené",
"Enum:EntityChangeType:1": "Aktualizované",
"Enum:EntityChangeType:2": "Zmazané",
"TenantId": "ID tenanta",
"ChangeTime": "Čas zmeny",
"EntityTypeFullName": "Úplný názov typu entity",
"AuditLogsFor{0}Organization": "Audit logy pre organizáciu \"{0}\"",
"Permission:EntityChange": "Zmena entity",
"Permission:ProjectDownload": "Stiahnutie projektu",
"Permission:PaymentRequest": "Žiadosť o platbu",
"CreatorEmailAddress": "Emailová adresa autora",
"EmailSendDate": "Dátum odoslania emailu",
"PaymentRequestsFor{0}Organization": "Žiadosti o platbu pre organizáciu \"{0}\"",
"PaymentDetails": "Podrobnosti o platbe",
"PaymentProduct": "Platobný produkt",
"ProductName": "Názov produktu",
"Code": "Kód",
"GenerateInvoice": "Generovať faktúru",
"ExportOrganizationsToExcel": "Export do Excelu",
"ThisExtensionIsNotAllowed": "Táto prípona nie je povolená.",
"TheFileIsTooLarge": "Súbor je príliš veľký!",
"ArticleDeletionConfirmationMessage": "Ste si istí, že chcete tento článok úplne vymazať?",
"ChooseCoverImage": "Vybrať titulný obrázok..."
}
}

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

@ -227,6 +227,32 @@
"TheFileIsTooLarge": "Dosya çok büyük.",
"ArticleDeletionConfirmationMessage": "Bu makaleyi kalıcı olarak silmek istediğinizden emin misiniz?",
"ChooseCoverImage": "Bir kapak resmi seçin...",
"CoverImage": "Kapak Resmi"
"CoverImage": "Kapak Resmi",
"Menu:Quotation": "Fiyatlandırma",
"Menu:Invoice": "Fatura",
"Menu:PaymentRequests": "Ödeme İstekleri",
"Permission:PaymentRequests": "Ödeme İstekleri",
"PaymentRequests": "Ödeme İstekleri",
"Creator": "Oluşturan",
"ExtraProperties": "Ekstra Özellikler",
"Organization": "Organizasyon",
"Waiting": "Bekliyor",
"Completed": "Tamamlandı",
"Failed": "Başarısız Oldu",
"PaymentRequestDeletionWarningMessage": "Bu ödeme isteği silinecek. Bunu onaylıyor musun?",
"Payment": "Ödeme",
"AddPayment": "Ödeme Ekle",
"Enum:PurchaseType:1": "Yeni Lisans",
"Enum:PurchaseType:2": "Lisans Uzatma",
"Enum:PurchaseType:3": "Lisans Yükseltmesi",
"Enum:PurchaseType:4": "Ek Geliştirici",
"LicenceType": "Lisans Türü",
"PurchaseType": "Satın Alma Türü",
"ReceiptNo": "Fiş No",
"PaymentTime": "Ödeme Zamanı",
"ProductPrice": "Ürün Fiyatı",
"AdditionalDeveloper": "Ek geliştirici",
"ThisPaymentHasBeenAlreadyUsed": "Bu ödeme zaten kullanılmış",
"PaymentTimeCannotBeFutureTime": "Ödeme zamanı gelecek zaman olamaz"
}
}

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

@ -32,6 +32,7 @@
"SeeDocuments": "See Documents",
"Samples": "Samples",
"FreeDDDBook": "Free DDD E-book",
"New": "New"
"New": "New",
"Volo.AbpIo.Domain:020005": "License extend year can not be lower than {MinExtendLicenseYear} year and greater than {MaxExtendLicenseYear} years "
}
}

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

@ -34,6 +34,7 @@
"Framework": "Framework",
"Support": "Support",
"FreeDDDBook": "Free DDD E-book",
"New": "New"
"New": "New",
"Volo.AbpIo.Domain:020005": "License extend year can not be lower than {MinExtendLicenseYear} year and greater than {MaxExtendLicenseYear} years "
}
}

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

@ -11,8 +11,8 @@
"Volo.AbpIo.Domain:010011": "व्यक्तिगत लाइसेंस में 1 से अधिक डेवलपर नहीं हो सकते हैं!",
"Volo.AbpIo.Domain:010012": "लाइसेंस की अवधि समाप्त होने के एक महीने बाद तक लाइसेंस नहीं बढ़ाया जा सकता है!",
"Volo.AbpIo.Domain:020001": "इस NPM पैकेज को नहीं हटाया जा सका क्योंकि \"{NugetPackages}\" नुगेट पैकेज इस पैकेज पर निर्भर हैं।",
"Volo.AbpIo.Domain:020002": "यह NPM पैकेज नहीं हटा सका क्योंकि \"{मॉड्यूल}\" मॉड्यूल इस पैकेज का उपयोग कर रहे हैं।",
"Volo.AbpIo.Domain:020003": "इस NPM पैकेज को नहीं हटाया जा सका क्योंकि \"{मॉड्यूल}\" मॉड्यूल इस पैकेज का उपयोग कर रहे हैं और \"{NugetPackages}\" नुगेट पैकेज इस पैकेज पर निर्भर हैं।",
"Volo.AbpIo.Domain:020002": "यह NPM पैकेज नहीं हटा सका क्योंकि \"{Modules}\" मॉड्यूल इस पैकेज का उपयोग कर रहे हैं।",
"Volo.AbpIo.Domain:020003": "इस NPM पैकेज को नहीं हटाया जा सका क्योंकि \"{Modules}\" मॉड्यूल इस पैकेज का उपयोग कर रहे हैं और \"{NugetPackages}\" नुगेट पैकेज इस पैकेज पर निर्भर हैं।",
"Volo.AbpIo.Domain:020004": "इस Nuget पैकेज को हटाया नहीं जा सका क्योंकि \"{Modules}\" मॉड्यूल इस पैकेज का उपयोग कर रहे हैं।",
"WantToLearn?": "सीखना चाहते है?",
"ReadyToGetStarted?": "आरंभ करने के लिए तैयार हैं?",

9
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/it.json

@ -19,7 +19,7 @@
"JoinOurCommunity": "Unisciti alla nostra community",
"GetStartedUpper": "INIZIARE",
"ForkMeOnGitHub": "Fork me su GitHub",
"Features": "Caratteristiche",
"Features": "Funzionalità",
"GetStarted": "Iniziare",
"Documents": "Documenti",
"Community": "Comunità",
@ -31,7 +31,10 @@
"Permission:UserInfo": "Informazioni utente",
"SeeDocuments": "Vedi Documenti",
"Samples": "Campioni",
"Framework": "Struttura",
"Support": "Supporto"
"Framework": "Framework",
"Support": "Supporto",
"FreeDDDBook": "DDD E-Book Gratuito",
"New": "Nuovo",
"Volo.AbpIo.Domain:020005": "Estensione Licenza non può essere inferiore a {MinExtendLicenseYear} anno e maggiore di {MaxExtendLicenseYear} anni "
}
}

37
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/sk.json

@ -0,0 +1,37 @@
{
"culture": "sk",
"texts": {
"Volo.AbpIo.Domain:010004": "Dosiahnutý maximálny počet členov!",
"Volo.AbpIo.Domain:010005": "Dosiahnutý maximálny počet majiteľov!",
"Volo.AbpIo.Domain:010006": "Tento používateľ je už vlastníkom v tejto organizácii!",
"Volo.AbpIo.Domain:010007": "Tento používateľ je už vývojárom v tejto organizácii!",
"Volo.AbpIo.Domain:010008": "Povolený počet vývojárov nemôže byť menší ako aktuálny počet vývojárov!",
"Volo.AbpIo.Domain:010009": "Povolený počet vývojárov nemôže byť menší ako 0!",
"Volo.AbpIo.Domain:010010": "Maximálny počet mac adries je prekročený!",
"Volo.AbpIo.Domain:010011": "Osobná licencia nemôže mať viac ako 1 vývojára!",
"Volo.AbpIo.Domain:010012": "Licenciu nie je možné predĺžiť mesiac po jej vypršaní!",
"Volo.AbpIo.Domain:020001": "NPM balík sa nepodarilo zmazať, pretože Nuget balíky \"{NugetPackages}\" sú závislé na tomto balíku.",
"Volo.AbpIo.Domain:020002": "NPM balík sa nepodarilo zmazať, pretože tento balík používajú moduly \"{Modules}\".",
"Volo.AbpIo.Domain:020003": "NPM balík sa nepodarilo zmazať, pretože tento balík používajú moduly \"{Modules}\" a Nuget balíky \"{NugetPackages}\" sú závislé na tomto balíku.",
"Volo.AbpIo.Domain:020004": "Nuget balík sa nepodarilo zmazať, pretože tento balík používajú moduly \"{Modules}\".",
"WantToLearn?": "Chcete sa učiť?",
"ReadyToGetStarted?": "Ste pripravený začať?",
"JoinOurCommunity": "Pripojte sa k našej komunite",
"GetStartedUpper": "ZAČAŤ",
"ForkMeOnGitHub": "Fork me on GitHub",
"Features": "Funkcie",
"GetStarted": "Začať",
"Documents": "Dokumenty",
"Community": "Komunita",
"ContributionGuide": "Sprievodca prispievaním",
"Blog": "Blog",
"Commercial": "Commercial",
"MyAccount": "Moje konto",
"Permission:License": "Licencia",
"Permission:UserInfo": "Informácie o používateľovi",
"SeeDocuments": "Pozrieť dokumenty",
"Samples": "Ukážky",
"Framework": "Framework",
"Support": "Podpora"
}
}

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

@ -28,6 +28,7 @@
"Commercial": "Ticari",
"SeeDocuments": "Dokümanlara Göz Atın",
"FreeDDDBook": "Ücretsiz DDD Kitabı",
"New": "Yeni"
"New": "Yeni",
"Volo.AbpIo.Domain:020005": "Lisans uzatma yılı {MinExtendLicenseYear} yıldan az {MaxExtendLicenseYear} yıldan fazla olamaz."
}
}

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

@ -100,6 +100,7 @@
"VolosoftSharingInformationMessage": "I would like Volosoft to share my information with select partners so I can receive relevant information about their products and services.",
"WeWillSendYouADownloadLink": "We've sent the file to {0}.",
"InvalidFormInputs": "Please, type the valid information specified on the form.",
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>."
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>.",
"FreeDDDEBook": "Free DDD E-Book"
}
}

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

@ -45,7 +45,7 @@
"IndexPageHeroSection": "<span class=\"first-line\">A complete</span><span class=\"second-line\"> web development platform</span><span class=\"third-line\">built-on <img src=\"{0}\" width=\"110\" class=\"ml-1\" /> framework</span>",
"AbpCommercialShortDescription": "ABP Commercial provides pre-built application modules, rapid application development tooling, professional UI themes, premium support and more.",
"LiveDemo": "Live Demo",
"GetLicence" :"Get a Licence",
"GetLicence": "Get a Licence",
"Application": "Application",
"StartupTemplates": "Startup Templates",
"Startup": "Startup",
@ -174,8 +174,8 @@
"HowManyProductsExplanation": "There is no limit to create an ABP project. You can create as many project as you want, develop and upload them to different servers.",
"HowManyDevelopers": "How many developers can work on the ABP Commercial?",
"HowManyDevelopersExplanation": "ABP Commercial licenses are per developer. Different license types have different developer limits. However, you can add more developers to any license type whenever you need. See <a href=\"{0}\">the prices</a> page for license types, developer limits and additional developer costs.",
"ChangingLicenseType": "Can I change my license type in the future?",
"ChangingLicenseTypeExplanation": "You can always add new developers in your same license type. See also \"How many developers can work on the ABP Commercial?\". You can also upgrade to a higher license by paying the calculated price difference. When you upgrade to a higher license plan, you get the benefits of the new plan, but the license upgrade does not change the license expiry date.",
"ChangingLicenseType": "Can I upgrade my license type later?",
"ChangingLicenseTypeExplanation": "You can upgrade to a higher license by paying the difference within your active license period. When you upgrade to a higher license plan, you get the benefits of the new plan, but the license upgrade does not change the license expiry date. Besides, you can also add new developer seats to your existing license, see \"How many developers can work on the ABP Commercial?\"",
"LicenseExtendUpgradeDiff": "What is the difference between license extend and upgrade?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development.<hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. See the <a href=\"/pricing\">license comparison table</a> to check the differences between the license plans.<strong>On the other hand, when you upgrade, your license expiry date will not change!</strong>To extend your license end date, you need to extend your license.",
"LicenseRenewalCost": "What is the license renewal cost after 1 year?",
@ -196,14 +196,14 @@
"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 renew your subscription if you want to continue to get these benefits. There is a 20% discount when you renew your subscription.",
"WhatHappensWhenLicenseEndsExplanation7": "You can renew your subscription if you want to continue to get these benefits. If you renew your subscription within 1 month after your license expires, a 20% discount is applied.",
"WhenShouldIRenewMyLicense": "When should I renew my license?",
"WhenShouldIRenewMyLicenseExplanation1": "If you renew your license within <strong>1 month</strong> after your license expires, %20 discount will be applied to total license price.",
"WhenShouldIRenewMyLicenseExplanation1": "If you renew your license within <strong>1 month</strong> after your license expires, a %20 discount is be applied.",
"WhenShouldIRenewMyLicenseExplanation2": "If you renew your license after 1 month from your license expire date, the renew price will be same as license purchase price and there will be no discount for your renewal.",
"TrialPlan": "Do you have a trial plan?",
"TrialPlanExplanation": "For now, ABP Commercial doesn't have a trial plan. For the Team licenses we provide 30 days money back guarantee. You can just request a refund in the first 30 days. For the Business and Enterprise licenses, we provide 60% refund in 30 days. This is because Business and Enterprise licenses include the full source code of all the modules and the themes.",
"DoYouAcceptBankWireTransfer": "Do you accept bank wire transfer?",
"DoYouAcceptBankWireTransferExplanation": "Yes, we accept bank wire transfer.<br />After sending the license amount via bank wire transfer, send us your receipt and the requested license type via e-mail.<br />Our international bank account information:",
"DoYouAcceptBankWireTransferExplanation": "Yes, we accept bank wire transfer.<br />After sending the license fee via bank transfer, email us at info@abp.io your receipt and the type of license requested. Our international bank account information:",
"HowToUpgrade": "How to upgrade existing applications when a new version is available?",
"HowToUpgradeExplanation1": "When you create a new application using ABP Commercial, all the modules and the theme are used as NuGet and NPM packages. So, you can easily upgrade the packages when a new version is available.",
"HowToUpgradeExplanation2": "In addition to the standard NuGet/NPM upgrades, <a href=\"{0}\">ABP CLI</a> provides an update command that automatically finds and upgrades all ABP related packages in your solution.",
@ -357,6 +357,7 @@
"VolosoftSharingInformationMessage": "I would like Volosoft to share my information with select partners so I can receive relevant information about their products and services.",
"WeWillSendYouADownloadLink": "A link to download the e-book has been sent to {0}.<br/> Check your inbox / junk / spam boxes!",
"InvalidFormInputs": "Please, type the valid information specified on the form.",
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>."
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>.",
"FreeDDDEBook": "Free DDD E-Book"
}
}

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

@ -42,7 +42,7 @@
"NotOrganizationMember": "Et ole minkään organisaation jäsen.",
"UnsubscribeLicenseExpirationEmailSuccessTitle": "Tilauksen peruutus onnistui",
"UnsubscribeLicenseExpirationEmailSuccessMessage": "Et enää saa muistutuksia lisenssin vanhentumispäivästä.",
"IndexPageHeroSection": "<span class = \"first-line\"> Täydellinen </span> <span class = \"second-line\"> verkkokehitysympäristö </span> <span class = \"third-line\"> sisäänrakennettu <img src = \"{0}\" width = \"110\" class = \"ml-1\" /> kehys </span>",
"IndexPageHeroSection": "<span class=\"first-line\"> Täydellinen </span><span class=\"second-line\"> verkkokehitysympäristö </span><span class=\"third-line\"> sisäänrakennettu <img src=\"{0}\" width = \"110\" class=\"ml-1\" /> kehys </span>",
"AbpCommercialShortDescription": "ABP Commercial tarjoaa valmiita sovellusmoduuleja, nopean sovelluskehitystyökalun, ammattimaiset käyttöliittymäteemat, ensiluokkaisen tuen ja paljon muuta.",
"LiveDemo": "Live-esittely",
"GetLicence": "Hanki lisenssi",
@ -63,7 +63,7 @@
"AdditionalServices": "Lisäpalvelut",
"WhatIsABPFramework": "MIKÄ ON ABP-KEHYS?",
"OpenSourceBaseFramework": "Avoimen lähdekoodin peruskehys",
"ABPFrameworkExplanation": "<p class = \"lead\"> ABP Commercial perustuu ABP Frameworkiin, avoimen lähdekoodin ja yhteisövetoiseen verkkosovelluskehykseen ASP.NET Core -sovellukselle. </p> <p> ABP Framework tarjoaa erinomaisen infrastruktuurin ylläpitettävien, laajennettavien tiedostojen kirjoittamiseen. ja testattava koodi parhailla käytänteillä. </p> <p> Rakennettu ja integroitu jo tunnettujen suosittujen työkalujen kanssa. Matala oppimiskäyrä, helppo sopeutuminen, mukava kehitys. </p>",
"ABPFrameworkExplanation": "<p class=\"lead\"> ABP Commercial perustuu ABP Frameworkiin, avoimen lähdekoodin ja yhteisövetoiseen verkkosovelluskehykseen ASP.NET Core -sovellukselle.</p><p> ABP Framework tarjoaa erinomaisen infrastruktuurin ylläpitettävien, laajennettavien tiedostojen kirjoittamiseen. ja testattava koodi parhailla käytänteillä.</p><p> Rakennettu ja integroitu jo tunnettujen suosittujen työkalujen kanssa. Matala oppimiskäyrä, helppo sopeutuminen, mukava kehitys.</p>",
"Modular": "Modulaarinen",
"MicroserviceCompatible": "Mikropalvelu yhteensopiva",
"DomainDrivenDesignInfrastructure": "Toimialueohjattu suunnittelun infrastruktuuri",
@ -78,7 +78,7 @@
"ManyMore": "Monta lisää",
"ExploreTheABPFramework": "Tutustu ABP-kehykseen",
"WhyUseTheABPCommercial": "Miksi käyttää ABP-mainosta?",
"WhyUseTheABPCommercialExplanation": "<p class = \"lead mt- 5\"> Yritysluokan verkkosovellusten rakentaminen voi olla monimutkaista ja aikaa vievää. </p> <p> ABP Commercial tarjoaa täydellisen perusinfrastruktuurin, joka tarvitaan kaikille nykyaikaisille yritystason ASP.NET-ytimille perustuvat ratkaisut. ABP: n sisäänrakennetut ominaisuudet ja moduulit tukevat koko suunnittelusykliä suunnittelusta käyttöönottoon asti. </p>",
"WhyUseTheABPCommercialExplanation": "<p class=\"lead mt-5\"> Yritysluokan verkkosovellusten rakentaminen voi olla monimutkaista ja aikaa vievää.</p><p> ABP Commercial tarjoaa täydellisen perusinfrastruktuurin, joka tarvitaan kaikille nykyaikaisille yritystason ASP.NET-ytimille perustuvat ratkaisut. ABP: n sisäänrakennetut ominaisuudet ja moduulit tukevat koko suunnittelusykliä suunnittelusta käyttöönottoon asti.</p>",
"StartupTemplatesShortDescription": "Käynnistysmallien avulla voit aloittaa projektisi muutamassa sekunnissa.",
"UIFrameworksOptions": "Käyttöliittymäkehysvaihtoehdot;",
"DatabaseProviderOptions": "Tietokannan tarjoajan vaihtoehdot;",
@ -145,25 +145,25 @@
"DeveloperGuide": "Kehittäjän opas",
"ModuleTemplate": "Moduulimalli",
"ModuleTemplateExplanation1": "Haluatko luoda moduulin ja käyttää sitä uudelleen eri sovelluksissa? Tämä käynnistysmalli valmistaa kaiken aloittamaan uudelleenkäytettävän <strong> sovellusmoduulin </strong> tai <strong> mikropalvelun </strong> luomisen.",
"ModuleTemplateExplanation2": "<p> Voit tukea yhtä tai useampaa käyttöliittymäkehystä, yhtä tai useampaa tietokantapalvelua yhdelle moduulille. Käynnistysmalli on määritetty suorittamaan ja <strong> testaamaan moduulia </strong> pienimmässä sovelluksessa yksikön ja integraatiotestiinfrastruktuurin lisäksi. </p> <p> Katso teknistä tietoa mallista kehittäjän oppaasta. </p>",
"ModuleTemplateExplanation2": "<p> Voit tukea yhtä tai useampaa käyttöliittymäkehystä, yhtä tai useampaa tietokantapalvelua yhdelle moduulille. Käynnistysmalli on määritetty suorittamaan ja <strong> testaamaan moduulia </strong> pienimmässä sovelluksessa yksikön ja integraatiotestiinfrastruktuurin lisäksi.</p><p> Katso teknistä tietoa mallista kehittäjän oppaasta.</p>",
"WithAllStyleOptions": "kaikilla tyylivaihtoehdoilla",
"Demo": "Demo",
"SeeAllModules": "Katso kaikki moduulit",
"ABPCLIExplanation": "ABP CLI (Command Line Interface) on komentorivityökalu joidenkin yleisten toimintojen suorittamiseen ABP-pohjaisiin ratkaisuihin.",
"ABPSuiteEasilyCURD": "ABP Suite on työkalu, jonka avulla voit helposti luoda CRUD-sivuja",
"WeAreHereToHelp": "<Span class = \"zero-text\"> Apua </span> olemme täällä",
"WeAreHereToHelp": "<span class=\"zero-text\">Apua</span> olemme täällä",
"BrowseOrAskQuestion": "Voit selata ohjeaiheitamme tai etsiä usein kysyttyjä kysymyksiä tai voit esittää meille kysymyksiä <a href=\"{0}\" class=\"text-success\"> yhteydenottolomakkeella </a>.",
"SearchQuestionPlaceholder": "Hae usein kysyttyjä kysymyksiä",
"WhatIsTheABPCommercial": "Mikä on ABP-kauppa?",
"WhatAreDifferencesThanAbpFramework": "Mitä eroja on avoimen lähdekoodin ABP Frameworkilla ja ABP Commercialilla?",
"ABPCommercialExplanation": "ABP Commercial on joukko ensiluokkaisia moduuleja, työkaluja, teemoja ja palveluja, jotka on rakennettu avoimen lähdekoodin <a target=\"_blank\" href=\"{0}\"> ABP-kehyksen </a> päälle. ABP Commercial kehittää ja tukee samaa tiimiä ABP-kehyksen takana.",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> <a target=\"_blank\" href=\"{0}\"> ABP-kehys </a> on modulaarinen, teemoitettava, mikropalvelujen kanssa yhteensopiva sovelluskehys ASP.NET Core -sovellukselle. Se tarjoaa täydellisen arkkitehtuurin ja vahvan infrastruktuurin, joka saa sinut keskittymään omaan yrityskoodiin sen sijaan, että toistat itsesi jokaisessa uudessa projektissa. Se perustuu ohjelmistokehityksen parhaisiin käytäntöihin ja jo tiedettyihin suosittuihin työkaluihin. </p> <p> ABP-kehykset ovat täysin ilmaisia, avoimen lähdekoodin ja yhteisölähtöisiä. Se tarjoaa myös ilmaisen teeman ja joitain valmiita moduuleja (esim. Henkilöllisyyden hallinta ja vuokralaisten hallinta). </p>",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p><a target=\"_blank\" href=\"{0}\"> ABP-kehys </a> on modulaarinen, teemoitettava, mikropalvelujen kanssa yhteensopiva sovelluskehys ASP.NET Core -sovellukselle. Se tarjoaa täydellisen arkkitehtuurin ja vahvan infrastruktuurin, joka saa sinut keskittymään omaan yrityskoodiin sen sijaan, että toistat itsesi jokaisessa uudessa projektissa. Se perustuu ohjelmistokehityksen parhaisiin käytäntöihin ja jo tiedettyihin suosittuihin työkaluihin.</p><p> ABP-kehykset ovat täysin ilmaisia, avoimen lähdekoodin ja yhteisölähtöisiä. Se tarjoaa myös ilmaisen teeman ja joitain valmiita moduuleja (esim. Henkilöllisyyden hallinta ja vuokralaisten hallinta).</p>",
"VisitTheFrameworkVSCommercialDocument": "Vieraile seuraavalla linkillä saadaksesi lisätietoja <a href=\"{0}\" target=\"_blank\"> {1} </a>",
"ABPCommercialFollowingBenefits": "ABP Commercial lisää seuraavat edut ABP-kehyksen päälle;",
"Professional": "Ammattilainen",
"UIThemes": "Käyttöliittymän teemat",
"EnterpriseModules": "Yrityskäyttöiset, monipuoliset, valmiit <a href=\"{0}\"> sovellusmoduulit </a> (esim. Identity Server -hallinta, SaaS-hallinta, kielen hallinta)",
"ToolingToSupport": "Työkalut, jotka tukevat kehitystesi tuottavuutta (esim. <a href=\"{0}\"> ABP Suite </a>)",
"ToolingToSupport": "Työkalut, jotka tukevat kehitystesi tuottavuutta (esim.<a href=\"{0}\"> ABP Suite </a>)",
"PremiumSupportLink": "Ensiluokkainen <a href=\"{0}\" target=\"_blank\"> tuki </a>",
"WhatDoIDownloadABPCommercial": "Mitä lataan ostaessani ABP Commercial -palvelua?",
"CreateUnlimitedSolutions": "Kun olet ostanut ABP Commercial -lisenssin, voit luoda rajoittamattomia ratkaisuja, kuten <a href=\"{0}\"> Aloittaminen </a> -asiakirjassa kuvataan.",
@ -177,7 +177,7 @@
"ChangingLicenseType": "Voinko muuttaa lisenssityyppiäni tulevaisuudessa?",
"ChangingLicenseTypeExplanation": "Voit aina lisätä uusia kehittäjiä samaan lisenssityyppiin. Katso myös \"Kuinka monta kehittäjää voi työskennellä ABP Commercialilla?\". Voit myös päivittää korkeampaan lisenssiin maksamalla lasketun hintaeron. Kun päivität korkeampaan lisenssisuunnitelmaan, saat uuden suunnitelman edut, mutta lisenssin päivitys ei muuta lisenssin voimassaolon päättymispäivää.",
"LicenseExtendUpgradeDiff": "Mitä eroa on lisenssin laajennuksella ja päivityksellä?",
"LicenseExtendUpgradeDiffExplanation": "<strong> Laajentaminen: </strong> Laajentamalla / uusimalla käyttöoikeutta saat jatkossakin ensiluokkaista tukea ja saat tärkeitä päivityksiä moduuleille ja teemoille. Lisäksi voit jatkaa uusien projektien luomista. Ja voit silti käyttää ABP Suitea, joka vauhdittaa kehitystäsi. <Hr /> <strong> Päivittäminen: </strong> Päivittämällä lisenssisi edistyt korkeampaan lisenssisuunnitelmaan, jonka avulla voit saada lisäetuja . Katso lisenssisuunnitelmien väliset erot <a href=\"/pricing\"> lisenssien vertailutaulukosta </a>. <strong> Toisaalta, kun päivität, lisenssin vanhentumispäivä ei muutu! </ Strong > Lisenssin päättymispäivän jatkamiseksi sinun on jatkettava käyttöoikeutta.",
"LicenseExtendUpgradeDiffExplanation": "<strong> Extension: </strong> en prolongeant/renouvelant votre licence, vous continuerez à bénéficier d'une assistance premium et à des mises à jour majeures pour les modules et les thèmes. De plus, vous pourrez continuer à créer de nouveaux projets. Et vous pourrez toujours utiliser ABP Suite, ce qui accélère votre développement.<hr/><strong> Mise à niveau: </strong> En mettant à jour votre licence, vous passerez à un plan de licence supérieur qui vous permettra d’obtenir des avantages supplémentaires . Consultez le <a href=\"/pricing\"> tableau de comparaison des licences </a> pour vérifier les différences entre les plans de licence.<strong> En revanche, lors de la mise à niveau, la date d'expiration de votre licence ne changera pas! </strong> Pour prolonger la date de fin de votre licence, vous devez prolonger votre licence.",
"LicenseRenewalCost": "Mitkä ovat lisenssin uusimiskustannukset vuoden kuluttua?",
"LicenseRenewalCostExplanation": "Kaikkien ABP Commercial perpetual -lisenssien uusimis- (laajennus) hinta on {0} lisenssiluettelohinnasta. Tavallisen tiimilisenssin uusimishinta on $ {1}, tavallinen yrityslisenssi on $ {2} ja tavallinen yrityslisenssi on $ {3}. Jos olet jo asiakas, <a href='{4}' target='_blank'> kirjaudu tilillesi </a> ja tarkista käytettävissä oleva uusimishinta.",
"HowDoIRenewMyLicense": "Kuinka uusin lisenssin?",
@ -186,13 +186,13 @@
"IsSourceCodeIncludedExplanation1": "Riippuu ostamastasi lisenssityypistä:",
"IsSourceCodeIncludedExplanation2": "<strong> Tiimi </strong>: Ratkaisusi käyttää moduuleja ja teemoja NuGet- ja NPM-paketteina. Se ei sisällä heidän lähdekoodiaan. Tällä tavoin voit helposti päivittää nämä moduulit ja teemat aina, kun uusi versio on saatavana. Et kuitenkaan voi saada moduulien ja teemojen lähdekoodia.",
"IsSourceCodeIncludedExplanation3": "<strong> Yritys / yritys </strong>: Tiimilisenssin lisäksi voit ladata minkä tahansa tarvitsemasi moduulin tai teeman lähdekoodin. Voit jopa poistaa tietyn moduulin NuGet / NPM-pakettiviitteet ja lisätä sen lähdekoodin suoraan ratkaisuusi sen muuttamiseksi kokonaan.",
"IsSourceCodeIncludedExplanation4": "<p> Moduulin lähdekoodin sisällyttäminen ratkaisuun antaa sinulle maksimaalisen vapauden mukauttaa moduulia. Tällöin moduulia ei voida päivittää automaattisesti, kun uusi versio julkaistaan. </p> <p> Mikään lisensseistä ei sisällä ABP Suiten lähdekoodia, joka on ulkoinen työkalu, joka tuottaa koodia sinulle ja auttaa kehitykseen. </p> <p> Katso muita lisenssityyppien eroja <a href=\"{0}\"> hinnoittelusivulta </a>. </p>",
"IsSourceCodeIncludedExplanation4": "<p> Moduulin lähdekoodin sisällyttäminen ratkaisuun antaa sinulle maksimaalisen vapauden mukauttaa moduulia. Tällöin moduulia ei voida päivittää automaattisesti, kun uusi versio julkaistaan.</p><p> Mikään lisensseistä ei sisällä ABP Suiten lähdekoodia, joka on ulkoinen työkalu, joka tuottaa koodia sinulle ja auttaa kehitykseen.</p><p> Katso muita lisenssityyppien eroja <a href=\"{0}\"> hinnoittelusivulta </a>.</p>",
"ChangingDevelopers": "Voinko muuttaa organisaationi rekisteröityneitä kehittäjiä tulevaisuudessa?",
"ChangingDevelopersExplanation": "Uusien kehittäjien lisäämisen lisenssiin lisäksi voit myös muuttaa olemassa olevia kehittäjiä (voit poistaa kehittäjän ja lisätä uuden samalle paikalle) ilman lisäkustannuksia.",
"WhatHappensWhenLicenseEnds": "Mitä tapahtuu, kun lisenssikauteni päättyy?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP Commercial -lisenssityyppi on <a href=\"{0}\" target=\"_blank\"> jatkuva lisenssi </a>. Kun lisenssi vanhenee, voit jatkaa projektisi kehittämistä. Ja sinun ei tarvitse uudistaa lisenssiäsi. Lisenssisi mukana toimitetaan yhden vuoden päivitys- ja tukisuunnitelma. Jos haluat edelleen saada uusia ominaisuuksia, suorituskyvyn parannuksia, virhekorjauksia, tukea ja jatkaa ABP Suite -sovelluksen käyttöä, muista uusia suunnitelma joka vuosi. Kun lisenssi vanhenee, et voi saada enemmän seuraavista eduista;",
"WhatHappensWhenLicenseEndsExplanation2": "Et voi luoda uusia ratkaisuja ABP Commercial -sovelluksella, mutta voit jatkaa olemassa olevien sovellusten kehittämistä ikuisesti.",
"WhatHappensWhenLicenseEndsExplanation3": "Voit saada päivityksiä moduuleista ja teemoista MAJOR-versiostasi. Esimerkiksi; jos käytät moduulin v3.2.0-versiota, voit silti saada päivityksiä kyseisen moduulin versiolle v3.x.x (v3.3.0, v3.5.2 ... jne.). Mutta et voi saada päivityksiä seuraavaan pääversioon (kuten v4.x, v5.x)",
"WhatHappensWhenLicenseEndsExplanation3": "Voit saada päivityksiä moduuleista ja teemoista MAJOR-versiostasi. Esimerkiksi; jos käytät moduulin v3.2.0-versiota, voit silti saada päivityksiä kyseisen moduulin versiolle v3.x.x (v3.3.0, v3.5.2... jne.). Mutta et voi saada päivityksiä seuraavaan pääversioon (kuten v4.x, v5.x)",
"WhatHappensWhenLicenseEndsExplanation4": "Et voi asentaa uusia moduuleja ja teemoja, jotka on lisätty ABP Commercial -alustalle käyttöoikeuden päättymisen jälkeen.",
"WhatHappensWhenLicenseEndsExplanation5": "Et voi käyttää ABP Suitea.",
"WhatHappensWhenLicenseEndsExplanation6": "Et voi enää saada <a href=\"{0}\"> premium-tukea </a>.",
@ -203,7 +203,7 @@
"TrialPlan": "Onko sinulla kokeilusuunnitelma?",
"TrialPlanExplanation": "Toistaiseksi ABP Commercialilla ei ole kokeilusuunnitelmaa. Joukkueen lisensseille tarjoamme 30 päivän rahanpalautustakuun. Voit vain pyytää hyvitystä 30 ensimmäisen päivän aikana. Yritys- ja yrityslisensseille hyvitämme 60% 30 päivässä. Tämä johtuu siitä, että yritys- ja yrityslisenssit sisältävät kaikkien moduulien ja teemojen täydellisen lähdekoodin.",
"DoYouAcceptBankWireTransfer": "Hyväksytkö pankkisiirron?",
"DoYouAcceptBankWireTransferExplanation": "Kyllä, hyväksymme pankkisiirron. <br /> Kun olet lähettänyt lisenssimäärän pankkisiirrolla, lähetä meille kuitti ja pyydetty lisenssityyppi sähköpostitse. <br /> Kansainväliset pankkitilitiedot:",
"DoYouAcceptBankWireTransferExplanation": "Kyllä, hyväksymme pankkisiirron.<br/> Kun olet lähettänyt lisenssimäärän pankkisiirrolla, lähetä meille kuitti ja pyydetty lisenssityyppi sähköpostitse.<br/> Kansainväliset pankkitilitiedot:",
"HowToUpgrade": "Kuinka päivittää olemassa olevia sovelluksia, kun uusi versio on saatavilla?",
"HowToUpgradeExplanation1": "Kun luot uuden sovelluksen ABP Commercial -sovelluksella, kaikkia moduuleja ja teemaa käytetään NuGet- ja NPM-paketteina. Joten voit päivittää paketit helposti, kun uusi versio on saatavilla.",
"HowToUpgradeExplanation2": "Normaalien NuGet / NPM-päivitysten lisäksi <a href=\"{0}\"> ABP CLI </a> tarjoaa päivityskomennon, joka etsii ja päivittää kaikki ratkaisusi ABP-paketit.",
@ -227,10 +227,10 @@
"RefundPolicyExplanation": "Voit pyytää hyvitystä <strong> 30 päivän </strong> kuluessa lisenssiostoksestasi. Yritys- ja yrityslisenssityypeillä on lähdekoodin latausvaihtoehto, joten hyvityksiä ei ole saatavana yrityksille ja yrityksille (eikä lisensseille, jotka sisältävät oikeuden saada lähdekoodia). Lisäksi uusimista ja toisen lisenssin ostoja ei hyvitetä.",
"HowCanIRefundVat": "Kuinka voin palauttaa arvonlisäveron?",
"HowCanIRefundVatExplanation1": "Jos suoritit maksun käyttämällä 2Checkoutia, voit palauttaa arvonlisäveron 2Checkout-tilisi kautta:",
"HowCanIRefundVatExplanation2": "Kirjaudu sisään <a href=\"https://secure.2checkout.com/cpanel/login.php\" target=\"_blank\"> 2Tarkista </a> -tiliisi.",
"HowCanIRefundVatExplanation2": "Kirjaudu sisään <a href=\"https://secure.2checkout.com/cpanel/login.php\" target=\"_blank\"> 2Checkout </a> -tiliisi.",
"HowCanIRefundVatExplanation3": "Etsi sopiva tilaus ja paina \"Hyvitä myöhässä oleva alv\" (kirjoita ALV-tunnuksesi)",
"HowCanIGetMyInvoice": "Kuinka saan laskuni?",
"HowCanIGetMyInvoiceExplanation": "Lisenssin ostamiseen on 2 maksuyhdyskäytävää: PayU ja 2Checkout. Jos ostat lisenssin 2Checkout gatewayn kautta, se lähettää PDF-laskun sähköpostiosoitteeseesi, katso <a href = \"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do -laskut-työ \"> 2Tarkista laskutus. </a> Jos ostat PayU-yhdyskäytävän kautta tai pankkisiirrolla, valmistelemme ja lähetämme laskusi. Voit pyytää laskua <a href=\"{0}\"> organisaation hallintasivulta </a>",
"HowCanIGetMyInvoiceExplanation": "Lisenssin ostamiseen on 2 maksuyhdyskäytävää: PayU ja 2Checkout. Jos ostat lisenssin 2Checkout gatewayn kautta, se lähettää PDF-laskun sähköpostiosoitteeseesi, katso <a href=\"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do-invoices-work\"> 2Checkout laskutus.</a> Jos ostat PayU-yhdyskäytävän kautta tai pankkisiirrolla, valmistelemme ja lähetämme laskusi. Voit pyytää laskua <a href=\"{0}\"> organisaation hallintasivulta </a>",
"Forum": "Foorumi",
"SupportExplanation": "ABP Commercial -lisenssit tarjoavat ensiluokkaisen foorumituen ABP-kehyksen asiantuntijoista koostuvalle tiimille.",
"PrivateTicket": "Yksityinen lippu",
@ -240,7 +240,7 @@
"FastEasy": "Nopea ja helppo",
"AbpSuiteExplanation3": "ABP Suiten avulla voit luoda helposti CRUD-sivuja. Sinun tarvitsee vain määritellä entiteetti ja sen ominaisuudet, antaa loput ABP Suiten puolestasi! ABP Suite luo kaikki tarvittavat koodit CRUD-sivullesi muutamassa sekunnissa. Se tukee Angular-, MVC- ja Blazor-käyttöliittymiä.",
"RichOptions": "Monipuoliset vaihtoehdot",
"AbpSuiteExplanation4": "ABP Suite tukee useita käyttöliittymävaihtoehtoja, kuten <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\"> Razor Pages </a> ja <a href = \"https: / /angular.io\">Kulma </a> .Se tukee myös useita tietokantoja, kuten <a href=\"https://www.mongodb.com\"> MongoDB </a> ja kaikkia <strong> EntityFramework Core <: n tukemia tietokantoja. / strong> (MS SQL Server, Oracle, MySql, PostgreSQL ja <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli\"> lisää </a>).",
"AbpSuiteExplanation4": "ABP Suite supports multiple UI options like <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\">Razor Pages</a> and <a href=\"https://angular.io\">Angular</a>.It also supports multiple databases like <a href=\"https://www.mongodb.com\">MongoDB</a> and all databases supported by <strong>EntityFramework Core</strong> (MS SQL Server, Oracle, MySql, PostgreSQL and <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli\">more</a>).",
"AbpSuiteExplanation5": "Hyvä asia on, että sinun ei tarvitse huolehtia näistä vaihtoehdoista. ABP Suite ymmärtää projektisi tyypin ja luo koodin projektillesi ja sijoittaa luodun koodin oikeaan paikkaan projektissasi.",
"SourceCode": "Lähdekoodi",
"AbpSuiteExplanation6": "ABP Suite luo lähdekoodin sinulle! Se ei luo taikuustiedostoja verkkosivun luomiseksi. ABP Suite luo lähdekoodin <strong> Entity, Repository, Application Service, Code First Migration, JavaScript / TypeScript ja CSHTML / HTML </strong> sekä tarvittavat liitännät. ABP Suite tuottaa koodin myös ohjelmistokehityksen <strong> parhaiden käytäntöjen </strong> mukaisesti, joten sinun ei tarvitse huolehtia luodun koodin laadusta.",

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

@ -42,7 +42,7 @@
"NotOrganizationMember": "Vous n'êtes membre d'aucune organisation.",
"UnsubscribeLicenseExpirationEmailSuccessTitle": "Désabonnement réussi",
"UnsubscribeLicenseExpirationEmailSuccessMessage": "Vous ne recevrez plus d'e-mails de rappel de la date d'expiration de la licence.",
"IndexPageHeroSection": "<span class = \"first-line\">Une plate-forme de développement Web</span><span class = \"second-line\"> complète </span> <span class = \"third-line\"> intégrée <img src = \"{0}\" width = \"110\" class = \"ml-1\" /> cadre </span>",
"IndexPageHeroSection": "<span class=\"first-line\">Une plate-forme de développement Web</span><span class=\"second-line\"> complète </span><span class=\"third-line\"> intégrée <img src=\"{0}\" width = \"110\" class=\"ml-1\" /> cadre </span>",
"AbpCommercialShortDescription": "ABP Commercial fournit des modules d'application prédéfinis, des outils de développement rapide d'applications, des thèmes d'interface utilisateur professionnels, un support premium et plus encore.",
"LiveDemo": "Démo en direct",
"GetLicence": "Obtenez une licence",
@ -63,7 +63,7 @@
"AdditionalServices": "Des services supplémentaires",
"WhatIsABPFramework": "QU'EST-CE QUE LE FRAMEWORK ABP?",
"OpenSourceBaseFramework": "Framework de base Open Source",
"ABPFrameworkExplanation": "<p class = \"lead\"> ABP Commercial est basé sur ABP Framework, un framework d'applications Web open source et communautaire pour ASP.NET Core. </p> <p> ABP Framework fournit une excellente infrastructure pour écrire maintenable et extensible et du code testable avec les meilleures pratiques. </p> <p> Construit et intégré à des outils populaires que vous connaissez déjà. Faible courbe d'apprentissage, adaptation facile, développement confortable. </p>",
"ABPFrameworkExplanation": "<p class=\"lead\"> ABP Commercial est basé sur ABP Framework, un framework d'applications Web open source et communautaire pour ASP.NET Core.</p><p> ABP Framework fournit une excellente infrastructure pour écrire maintenable et extensible et du code testable avec les meilleures pratiques.</p><p> Construit et intégré à des outils populaires que vous connaissez déjà. Faible courbe d'apprentissage, adaptation facile, développement confortable.</p>",
"Modular": "Modulaire",
"MicroserviceCompatible": "Compatible avec les microservices",
"DomainDrivenDesignInfrastructure": "Infrastructure de conception pilotée par domaine",
@ -78,7 +78,7 @@
"ManyMore": "Beaucoup plus",
"ExploreTheABPFramework": "Explorez le Framework ABP",
"WhyUseTheABPCommercial": "Pourquoi utiliser ABP Commercial?",
"WhyUseTheABPCommercialExplanation": "<p class = \"lead mt- 5\"> La création d'applications Web de niveau entreprise peut être complexe et prendre du temps. </p> <p> ABP Commercial offre l'infrastructure de base parfaite nécessaire pour tous les ASP.NET Core modernes de niveau entreprise solutions basées. De la conception au déploiement, l'ensemble du cycle de développement est optimisé par les fonctionnalités et modules intégrés d'ABP. </p>",
"WhyUseTheABPCommercialExplanation": "<p class=\"lead mt-5\"> La création d'applications Web de niveau entreprise peut être complexe et prendre du temps.</p><p> ABP Commercial offre l'infrastructure de base parfaite nécessaire pour tous les ASP.NET Core modernes de niveau entreprise solutions basées. De la conception au déploiement, l'ensemble du cycle de développement est optimisé par les fonctionnalités et modules intégrés d'ABP.</p>",
"StartupTemplatesShortDescription": "Les modèles de démarrage vous permettent de démarrer votre projet en quelques secondes.",
"UIFrameworksOptions": "Options de frameworks d'interface utilisateur;",
"DatabaseProviderOptions": "Options du fournisseur de base de données;",
@ -145,19 +145,19 @@
"DeveloperGuide": "Guide du développeur",
"ModuleTemplate": "Modèle de module",
"ModuleTemplateExplanation1": "Vous souhaitez créer un module et le réutiliser dans différentes applications? Ce modèle de démarrage prépare tout pour commencer à créer un <strong> module d'application </strong> réutilisable ou un <strong> microservice </strong>.",
"ModuleTemplateExplanation2": "<p> Vous pouvez prendre en charge un ou plusieurs frameworks d'interface utilisateur, un ou plusieurs fournisseurs de bases de données pour un seul module. Le modèle de démarrage est configuré pour exécuter et <strong> tester votre module </strong> dans une application minimale en plus de l'infrastructure de test d'unité et d'intégration. </p> <p> Consultez le guide du développeur pour obtenir des informations techniques sur ce modèle. </p>",
"ModuleTemplateExplanation2": "<p> Vous pouvez prendre en charge un ou plusieurs frameworks d'interface utilisateur, un ou plusieurs fournisseurs de bases de données pour un seul module. Le modèle de démarrage est configuré pour exécuter et <strong> tester votre module </strong> dans une application minimale en plus de l'infrastructure de test d'unité et d'intégration.</p><p> Consultez le guide du développeur pour obtenir des informations techniques sur ce modèle.</p>",
"WithAllStyleOptions": "avec toutes les options de style",
"Demo": "Démo",
"SeeAllModules": "Voir tous les modules",
"ABPCLIExplanation": "ABP CLI (Command Line Interface) est un outil de ligne de commande pour effectuer certaines opérations courantes pour les solutions basées sur ABP.",
"ABPSuiteEasilyCURD": "ABP Suite est un outil qui vous permet de créer facilement des pages CRUD",
"WeAreHereToHelp": "Nous sommes ici pour <span class = \"zero-text\"> Aide </span>",
"WeAreHereToHelp": "Nous sommes ici pour <span class=\"zero-text\"> Aide </span>",
"BrowseOrAskQuestion": "Vous pouvez parcourir nos rubriques d'aide ou rechercher dans les questions fréquemment posées, ou vous pouvez nous poser une question en utilisant le <a href=\"{0}\" class=\"text-success\"> formulaire de contact </a>.",
"SearchQuestionPlaceholder": "Rechercher dans les questions fréquemment posées",
"WhatIsTheABPCommercial": "Qu'est-ce que la publicité ABP?",
"WhatAreDifferencesThanAbpFramework": "Quelles sont les différences entre le Framework ABP open source et le ABP Commercial?",
"ABPCommercialExplanation": "ABP Commercial est un ensemble de modules, d'outils, de thèmes et de services premium basés sur le <a target=\"_blank\" href=\"{0}\"> framework ABP </a> open source. ABP Commercial est développé et soutenu par la même équipe derrière le cadre ABP.",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> <a target=\"_blank\" href=\"{0}\"> Framework ABP </a> est un framework de développement d'applications modulaire, thématique et compatible avec les micro-services pour ASP.NET Core. Il fournit une architecture complète et une infrastructure solide pour vous permettre de vous concentrer sur votre propre code métier plutôt que de vous répéter à chaque nouveau projet. Il est basé sur les meilleures pratiques de développement logiciel et les outils populaires que vous connaissez déjà. </p> <p> Le framework ABP est entièrement gratuit, open source et géré par la communauté. Il fournit également un thème gratuit et des modules prédéfinis (par exemple, la gestion des identités et la gestion des locataires). </p>",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p><a target=\"_blank\" href=\"{0}\"> Framework ABP </a> est un framework de développement d'applications modulaire, thématique et compatible avec les micro-services pour ASP.NET Core. Il fournit une architecture complète et une infrastructure solide pour vous permettre de vous concentrer sur votre propre code métier plutôt que de vous répéter à chaque nouveau projet. Il est basé sur les meilleures pratiques de développement logiciel et les outils populaires que vous connaissez déjà.</p><p> Le framework ABP est entièrement gratuit, open source et géré par la communauté. Il fournit également un thème gratuit et des modules prédéfinis (par exemple, la gestion des identités et la gestion des locataires).</p>",
"VisitTheFrameworkVSCommercialDocument": "Pour plus d'informations, consultez le lien suivant: <a href=\"{0}\" target=\"_blank\"> {1} </a>",
"ABPCommercialFollowingBenefits": "ABP Commercial ajoute les avantages suivants en plus du cadre ABP;",
"Professional": "Professionnel",
@ -177,7 +177,7 @@
"ChangingLicenseType": "Puis-je changer mon type de licence à l'avenir?",
"ChangingLicenseTypeExplanation": "Vous pouvez toujours ajouter de nouveaux développeurs dans votre même type de licence. Voir aussi \"Combien de développeurs peuvent travailler sur l'ABP Commercial?\". Vous pouvez également passer à une licence supérieure en payant la différence de prix calculée. Lorsque vous passez à un plan de licence supérieur, vous bénéficiez des avantages du nouveau plan, mais la mise à niveau de la licence ne modifie pas la date d'expiration de la licence.",
"LicenseExtendUpgradeDiff": "Quelle est la différence entre l'extension de licence et la mise à niveau?",
"LicenseExtendUpgradeDiffExplanation": "<strong> Extension: </strong> en prolongeant / renouvelant votre licence, vous continuerez à bénéficier d'une assistance premium et à des mises à jour majeures pour les modules et les thèmes. De plus, vous pourrez continuer à créer de nouveaux projets. Et vous pourrez toujours utiliser ABP Suite, ce qui accélère votre développement. <Hr /> <strong> Mise à niveau: </strong> En mettant à jour votre licence, vous passerez à un plan de licence supérieur qui vous permettra d’obtenir des avantages supplémentaires . Consultez le <a href=\"/pricing\"> tableau de comparaison des licences </a> pour vérifier les différences entre les plans de licence. <strong> En revanche, lors de la mise à niveau, la date d'expiration de votre licence ne changera pas! </ Strong > Pour prolonger la date de fin de votre licence, vous devez prolonger votre licence.",
"LicenseExtendUpgradeDiffExplanation": "<strong> Extension: </strong> en prolongeant/renouvelant votre licence, vous continuerez à bénéficier d'une assistance premium et à des mises à jour majeures pour les modules et les thèmes. De plus, vous pourrez continuer à créer de nouveaux projets. Et vous pourrez toujours utiliser ABP Suite, ce qui accélère votre développement.<hr/><strong> Mise à niveau: </strong> En mettant à jour votre licence, vous passerez à un plan de licence supérieur qui vous permettra d’obtenir des avantages supplémentaires . Consultez le <a href=\"/pricing\"> tableau de comparaison des licences </a> pour vérifier les différences entre les plans de licence.<strong> En revanche, lors de la mise à niveau, la date d'expiration de votre licence ne changera pas! </strong> Pour prolonger la date de fin de votre licence, vous devez prolonger votre licence.",
"LicenseRenewalCost": "Quel est le coût du renouvellement de la licence après 1 an?",
"LicenseRenewalCostExplanation": "Le taux de renouvellement (extension) de toutes les licences perpétuelles ABP Commercial correspond à {0} du prix catalogue de la licence. Le prix de renouvellement de la licence d'équipe standard est de {1} $, la licence professionnelle standard de {2} $ et la licence d'entreprise standard de {3} $. Si vous êtes déjà client, <a href='{4}' target='_blank'> connectez-vous à votre compte </a> pour consulter les tarifs de renouvellement disponibles.",
"HowDoIRenewMyLicense": "Comment renouveler ma licence?",
@ -186,13 +186,13 @@
"IsSourceCodeIncludedExplanation1": "Dépend du type de licence que vous avez acheté:",
"IsSourceCodeIncludedExplanation2": "<strong> Équipe </strong>: votre solution utilise les modules et les thèmes en tant que packages NuGet et NPM. Il n'inclut pas leur code source. De cette façon, vous pouvez facilement mettre à niveau ces modules et thèmes chaque fois qu'une nouvelle version est disponible. Cependant, vous ne pouvez pas obtenir le code source des modules et des thèmes.",
"IsSourceCodeIncludedExplanation3": "<strong> Entreprise / Entreprise </strong>: en plus de la licence Team, vous pouvez télécharger le code source de tout module ou thème dont vous avez besoin. Vous pouvez même supprimer les références de package NuGet / NPM pour un module particulier et ajouter son code source directement à votre solution pour le modifier complètement.",
"IsSourceCodeIncludedExplanation4": "<p> L'inclusion du code source d'un module dans votre solution vous donne le maximum de liberté pour personnaliser ce module. Cependant, il ne sera pas possible de mettre à jour automatiquement le module lorsqu'une nouvelle version est publiée. </p> <p> Aucune des licences n'inclut le code source d'ABP Suite, qui est un outil externe qui génère du code pour vous et vous aide à votre développement. </p> <p> Consultez la <a href=\"{0}\"> page de tarification </a> pour connaître les autres différences entre les types de licence. </p>",
"IsSourceCodeIncludedExplanation4": "<p> L'inclusion du code source d'un module dans votre solution vous donne le maximum de liberté pour personnaliser ce module. Cependant, il ne sera pas possible de mettre à jour automatiquement le module lorsqu'une nouvelle version est publiée.</p><p> Aucune des licences n'inclut le code source d'ABP Suite, qui est un outil externe qui génère du code pour vous et vous aide à votre développement.</p><p> Consultez la <a href=\"{0}\"> page de tarification </a> pour connaître les autres différences entre les types de licence.</p>",
"ChangingDevelopers": "Puis-je changer les développeurs enregistrés de mon organisation à l'avenir?",
"ChangingDevelopersExplanation": "En plus d'ajouter de nouveaux développeurs à votre licence, vous pouvez également modifier les développeurs existants (vous pouvez supprimer un développeur et en ajouter un nouveau sur le même siège) sans aucun coût supplémentaire.",
"WhatHappensWhenLicenseEnds": "Que se passe-t-il à la fin de ma période de licence?",
"WhatHappensWhenLicenseEndsExplanation1": "Le type de licence commerciale ABP est <a href=\"{0}\" target=\"_blank\"> licence perpétuelle </a>. Une fois votre licence expirée, vous pouvez continuer à développer votre projet. Et vous n'êtes pas obligé de renouveler votre licence. Votre licence est livrée avec un plan de mise à jour et de support d'un an prêt à l'emploi. Pour continuer à recevoir de nouvelles fonctionnalités, des améliorations de performances, des corrections de bogues, une assistance et continuer à utiliser ABP Suite, assurez-vous de renouveler votre plan chaque année. Lorsque votre licence expirera, vous ne pourrez plus bénéficier des avantages suivants;",
"WhatHappensWhenLicenseEndsExplanation2": "Vous ne pouvez pas créer de nouvelles solutions en utilisant ABP Commercial, mais vous pouvez continuer à développer vos applications existantes pour toujours.",
"WhatHappensWhenLicenseEndsExplanation3": "Vous pourrez obtenir des mises à jour pour les modules et les thèmes de votre version MAJEURE. Par example; si vous utilisez la v3.2.0 d'un module, vous pouvez toujours obtenir des mises à jour pour la v3.x.x (v3.3.0, v3.5.2 ... etc.) de ce module. Mais vous ne pouvez pas obtenir de mises à jour pour la prochaine version majeure (comme v4.x, v5.x)",
"WhatHappensWhenLicenseEndsExplanation3": "Vous pourrez obtenir des mises à jour pour les modules et les thèmes de votre version MAJEURE. Par example; si vous utilisez la v3.2.0 d'un module, vous pouvez toujours obtenir des mises à jour pour la v3.x.x (v3.3.0, v3.5.2... etc.) de ce module. Mais vous ne pouvez pas obtenir de mises à jour pour la prochaine version majeure (comme v4.x, v5.x)",
"WhatHappensWhenLicenseEndsExplanation4": "Vous ne pouvez pas installer de nouveaux modules et thèmes ajoutés à la plate-forme ABP Commercial après la fin de votre licence.",
"WhatHappensWhenLicenseEndsExplanation5": "Vous ne pouvez pas utiliser ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Vous ne pouvez plus bénéficier de l '<a href=\"{0}\"> assistance premium </a>.",
@ -203,7 +203,7 @@
"TrialPlan": "Avez-vous un plan d'essai?",
"TrialPlanExplanation": "Pour l'instant, ABP Commercial n'a pas de plan d'essai. Pour les licences Team, nous offrons une garantie de remboursement de 30 jours. Vous pouvez simplement demander un remboursement dans les 30 premiers jours. Pour les licences Business et Enterprise, nous fournissons un remboursement de 60% en 30 jours. En effet, les licences Business et Enterprise incluent le code source complet de tous les modules et thèmes.",
"DoYouAcceptBankWireTransfer": "Acceptez-vous les virements bancaires?",
"DoYouAcceptBankWireTransferExplanation": "Oui, nous acceptons les virements bancaires. <br /> Après avoir envoyé le montant de la licence par virement bancaire, envoyez-nous votre reçu et le type de licence demandé par e-mail. <br /> Nos coordonnées bancaires internationales:",
"DoYouAcceptBankWireTransferExplanation": "Oui, nous acceptons les virements bancaires.<br/> Après avoir envoyé le montant de la licence par virement bancaire, envoyez-nous votre reçu et le type de licence demandé par e-mail.<br/> Nos coordonnées bancaires internationales:",
"HowToUpgrade": "Comment mettre à niveau des applications existantes lorsqu'une nouvelle version est disponible?",
"HowToUpgradeExplanation1": "Lorsque vous créez une nouvelle application à l'aide d'ABP Commercial, tous les modules et le thème sont utilisés en tant que packages NuGet et NPM. Ainsi, vous pouvez facilement mettre à jour les packages lorsqu'une nouvelle version est disponible.",
"HowToUpgradeExplanation2": "Outre les mises à niveau standard de NuGet / NPM, <a href=\"{0}\"> ABP CLI </a> fournit une commande de mise à jour qui recherche et met automatiquement à niveau tous les packages associés à ABP dans votre solution.",
@ -230,7 +230,7 @@
"HowCanIRefundVatExplanation2": "Connectez-vous à votre compte <a href=\"https://secure.2checkout.com/cpanel/login.php\" target=\"_blank\"> 2Checkout </a>",
"HowCanIRefundVatExplanation3": "Trouvez la commande appropriée et appuyez sur \"Rembourser la TVA tardive\" (entrez votre numéro de TVA)",
"HowCanIGetMyInvoice": "Comment puis-je obtenir ma facture?",
"HowCanIGetMyInvoiceExplanation": "Il existe 2 passerelles de paiement pour l'achat d'une licence: PayU et 2Checkout. Si vous achetez votre licence via la passerelle 2Checkout, elle envoie la facture PDF à votre adresse e-mail, voir <a href = \"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do -invoices-work \"> Facturation 2Checkout. </a> Si vous achetez via la passerelle PayU ou par virement bancaire, nous préparerons et vous enverrons votre facture. Vous pouvez demander votre facture sur la <a href=\"{0}\"> page de gestion de l'organisation. </a>",
"HowCanIGetMyInvoiceExplanation": "Il existe 2 passerelles de paiement pour l'achat d'une licence: PayU et 2Checkout. Si vous achetez votre licence via la passerelle 2Checkout, elle envoie la facture PDF à votre adresse e-mail, voir <a href=\"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do-invoices-work\"> Facturation 2Checkout.</a> Si vous achetez via la passerelle PayU ou par virement bancaire, nous préparerons et vous enverrons votre facture. Vous pouvez demander votre facture sur la <a href=\"{0}\"> page de gestion de l'organisation.</a>",
"Forum": "Forum",
"SupportExplanation": "ABP Commercial Licences fournit un support de forum premium par une équipe composée d'experts ABP Framework.",
"PrivateTicket": "Billet privé",
@ -240,7 +240,7 @@
"FastEasy": "Rapide et facile",
"AbpSuiteExplanation3": "ABP Suite vous permet de créer facilement des pages CRUD. Il vous suffit de définir votre entité et ses propriétés, laissez le reste à ABP Suite pour vous! ABP Suite génère tout le code nécessaire pour votre page CRUD en quelques secondes. Il prend en charge les interfaces utilisateur Angular, MVC et Blazor.",
"RichOptions": "Options riches",
"AbpSuiteExplanation4": "ABP Suite prend en charge plusieurs options d'interface utilisateur telles que <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\"> Razor Pages </a> et <a href = \"https: / /angular.io\">Angular </a>. Il prend également en charge plusieurs bases de données telles que <a href=\"https://www.mongodb.com\"> MongoDB </a> et toutes les bases de données prises en charge par <strong> EntityFramework Core < / strong> (MS SQL Server, Oracle, MySql, PostgreSQL et <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli\"> plus </a>).",
"AbpSuiteExplanation4": "ABP Suite prend en charge plusieurs options d'interface utilisateur telles que <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\"> Razor Pages </a> et <a href=\"https://angular.io\">Angular </a>. Il prend également en charge plusieurs bases de données telles que <a href=\"https://www.mongodb.com\"> MongoDB </a> et toutes les bases de données prises en charge par <strong> EntityFramework Core < / strong> (MS SQL Server, Oracle, MySql, PostgreSQL et <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli\"> plus </a>).",
"AbpSuiteExplanation5": "La bonne chose est que vous n'avez pas à vous soucier de ces options. ABP Suite comprend votre type de projet et génère le code de votre projet et place le code généré au bon endroit dans votre projet.",
"SourceCode": "Code source",
"AbpSuiteExplanation6": "ABP Suite génère le code source pour vous! Il ne génère pas de fichiers magiques pour générer la page Web. ABP Suite génère le code source pour <strong> Entity, Repository, Application Service, Code First Migration, JavaScript / TypeScript et CSHTML / HTML </strong> ainsi que les interfaces nécessaires. ABP Suite génère également le code selon les <strong> meilleures pratiques </strong> de développement logiciel, vous n'avez donc pas à vous soucier de la qualité du code généré.",

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

@ -42,7 +42,7 @@
"NotOrganizationMember": "आप किसी संगठन के सदस्य नहीं हैं।",
"UnsubscribeLicenseExpirationEmailSuccessTitle": "सफलतापूर्वक सदस्यता समाप्त कर दी गई",
"UnsubscribeLicenseExpirationEmailSuccessMessage": "अब आपको लाइसेंस समाप्ति तिथि अनुस्मारक ईमेल प्राप्त नहीं होंगे।",
"IndexPageHeroSection": "<span class = \"first-line\"> एक पूर्ण </ span> <span class = \"दूसरी-पंक्ति\"> वेब विकास मंच </ span> <span class = \"third-line\"> अंतर्निहित <img src = \"{0}\" चौड़ाई = \"110\" वर्ग = \"एमएल -1\" /> ढांचा </ span>",
"IndexPageHeroSection": "<span class=\"first-line\">एक पूर्ण</span><span class=\"second-line\"> वेब डेवलपमेंट प्लेटफॉर्म</span><span class=\"third-line\">बिल्ट-ऑन <img src=\"{0}\" width=\"110\" class=\"ml-1\" /> Framework</span>",
"AbpCommercialShortDescription": "एबीपी कमर्शियल प्री-बिल्ट एप्लिकेशन मॉड्यूल, रैपिड एप्लिकेशन डेवलपमेंट टूलिंग, पेशेवर यूआई थीम, प्रीमियम सपोर्ट आदि प्रदान करता है।",
"LiveDemo": "लाइव डेमो",
"GetLicence": "एक लाइसेंस प्राप्त करें",
@ -63,7 +63,7 @@
"AdditionalServices": "अतिरिक्त सेवाएं",
"WhatIsABPFramework": "ABP फ्रेमवर्क क्या है?",
"OpenSourceBaseFramework": "ओपन सोर्स बेस फ्रेमवर्क",
"ABPFrameworkExplanation": "<p class = \"lead\"> ABP कमर्शियल ASP.NET Core पर एक खुला स्रोत और समुदाय संचालित वेब एप्लीकेशन फ्रेमवर्क है। और सर्वोत्तम प्रथाओं के साथ परीक्षण योग्य कोड। </ p> <p> आप पहले से ही जानते हैं कि लोकप्रिय उपकरणों पर निर्मित और एकीकृत। कम सीखने की अवस्था, आसान अनुकूलन, आरामदायक विकास। </ p>",
"ABPFrameworkExplanation": "<p class=\"lead\"> ABP कमर्शियल ASP.NET Core पर एक खुला स्रोत और समुदाय संचालित वेब एप्लीकेशन फ्रेमवर्क है। और सर्वोत्तम प्रथाओं के साथ परीक्षण योग्य कोड। </p><p> आप पहले से ही जानते हैं कि लोकप्रिय उपकरणों पर निर्मित और एकीकृत। कम सीखने की अवस्था, आसान अनुकूलन, आरामदायक विकास। </p>",
"Modular": "मॉड्यूलर",
"MicroserviceCompatible": "माइक्रोसिस्ट सेवा संगत",
"DomainDrivenDesignInfrastructure": "डोमेन संचालित डिज़ाइन इन्फ्रास्ट्रक्चर",
@ -78,7 +78,7 @@
"ManyMore": "बहुत सारी",
"ExploreTheABPFramework": "ABP फ्रेमवर्क का अन्वेषण करें",
"WhyUseTheABPCommercial": "एबीपी कमर्शियल का उपयोग क्यों करें?",
"WhyUseTheABPCommercialExplanation": "<p class = \"lead mt- 5\"> बिल्डिंग एंटरप्राइज-ग्रेड वेब एप्लिकेशन जटिल और समय लेने वाली हो सकती हैं। </ p> <p> ABP कमर्शियल सभी आधुनिक एंटरप्राइज-ग्रेड ASP.NET Core के लिए आवश्यक सही आधारभूत संरचना प्रदान करता है। आधारित समाधान। डिज़ाइन से परिनियोजन तक, संपूर्ण विकास चक्र ABP की अंतर्निहित विशेषताओं और मॉड्यूल द्वारा सशक्त है। </ p",
"WhyUseTheABPCommercialExplanation": "<p class=\"lead mt-5\"> बिल्डिंग एंटरप्राइज-ग्रेड वेब एप्लिकेशन जटिल और समय लेने वाली हो सकती हैं। </p><p> ABP कमर्शियल सभी आधुनिक एंटरप्राइज-ग्रेड ASP.NET Core के लिए आवश्यक सही आधारभूत संरचना प्रदान करता है। आधारित समाधान। डिज़ाइन से परिनियोजन तक, संपूर्ण विकास चक्र ABP की अंतर्निहित विशेषताओं और मॉड्यूल द्वारा सशक्त है। </p>",
"StartupTemplatesShortDescription": "स्टार्टअप टेम्प्लेट आपको कुछ ही सेकंड में अपने प्रोजेक्ट के लिए जंप-स्टार्ट करते हैं।",
"UIFrameworksOptions": "यूआई चौखटे विकल्प;",
"DatabaseProviderOptions": "डेटाबेस प्रदाता विकल्प;",
@ -108,7 +108,7 @@
"ProudToWorkWith": "गर्व के साथ काम करने के लिए",
"OurConsumers": "दुनिया भर में 50 से अधिक देशों के सैकड़ों उद्यम और डेवलपर्स एबीपी कमर्शियल पर निर्भर हैं।",
"JoinOurConsumers": "उनके साथ जुड़ें और तेजी से अद्भुत उत्पादों का निर्माण करें।",
"AdditionalServicesExplanation": "क्या आपको अतिरिक्त या कस्टम सेवाओं की आवश्यकता है? <strong> हम और हमारे साथी प्रदान कर सकते हैं; </ strong>",
"AdditionalServicesExplanation": "क्या आपको अतिरिक्त या कस्टम सेवाओं की आवश्यकता है? <strong> हम और हमारे साथी प्रदान कर सकते हैं; </strong>",
"CustomProjectDevelopment": "कस्टम परियोजना विकास",
"CustomProjectDevelopmentExplanation": "अपने कस्टम प्रोजेक्ट्स के लिए समर्पित डेवलपर्स।",
"PortingExistingProjects": "मौजूदा परियोजनाओं को पोर्ट करना",
@ -135,7 +135,7 @@
"GoHome": "घर जाओ",
"CreateLiveDemo": "लाइव डेमो बनाएँ",
"RegisterToTheNewsletter": "ABP.IO के बारे में जानकारी प्राप्त करने के लिए न्यूज़लेटर के लिए रजिस्टर करें, जिसमें नई रिलीज़ आदि शामिल हैं।",
"EnterYourEmailOrLogin": "अपने मौजूदा खाते का उपयोग करके अपना डेमो बनाने के लिए अपना ई-मेल पता दर्ज करें या अपना प्रदर्शन <a href=\"lights0 Ideal\"> लॉगिन </a> करें।",
"EnterYourEmailOrLogin": "अपना डेमो बनाने के लिए अपना ई-मेल पता दर्ज करें या अपने मौजूदा खाते का उपयोग करके <a href=\"{0}\">लॉगिन करें</a>।",
"ApplicationTemplate": "एप्लिकेशन टेम्पलेट",
"ApplicationTemplateExplanation": "एप्लिकेशन स्टार्टअप टेम्पलेट का उपयोग एक नया वेब एप्लिकेशन बनाने के लिए किया जाता है।",
"EfCoreProvider": "इकाई ढाँचा (SQL सर्वर, MySQL, PostgreSQL, Oracle <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/\"> और अन्य </a> का समर्थन करता है)",
@ -144,58 +144,58 @@
"SeeTheGuideOrGoToTheLiveDemo": "इस टेम्पलेट के बारे में तकनीकी जानकारी के लिए डेवलपर गाइड देखें या लाइव डेमो पर जाएं।",
"DeveloperGuide": "डेवलपर गाइड",
"ModuleTemplate": "मॉड्यूल टेम्पलेट",
"ModuleTemplateExplanation1": "आप एक मॉड्यूल बनाना और विभिन्न अनुप्रयोगों में पुन: उपयोग करना चाहते हैं? यह स्टार्टअप टेम्पलेट एक पुन: प्रयोज्य <strong> अनुप्रयोग मॉड्यूल </ strong> या <strong> microservice </ strong> बनाने के लिए शुरू करने के लिए सब कुछ तैयार करता है।",
"ModuleTemplateExplanation2": "<p> आप एकल मॉड्यूल के लिए एकल या एकाधिक UI फ्रेमवर्क, एकल या एकाधिक डेटाबेस प्रदाता का समर्थन कर सकते हैं। स्टार्टअप टेम्प्लेट को चलाने के लिए कॉन्फ़िगर किया गया है और <strong> अपने मॉड्यूल का परीक्षण करें </ strong> यूनिट और एकीकरण परीक्षण के बुनियादी ढांचे के अलावा न्यूनतम आवेदन में। </ p> <p> इस टेम्पलेट के बारे में तकनीकी जानकारी के लिए डेवलपर गाइड देखें। </ p>",
"ModuleTemplateExplanation1": "आप एक मॉड्यूल बनाना और विभिन्न अनुप्रयोगों में पुन: उपयोग करना चाहते हैं? यह स्टार्टअप टेम्पलेट एक पुन: प्रयोज्य <strong> अनुप्रयोग मॉड्यूल </strong> या <strong> microservice </strong> बनाने के लिए शुरू करने के लिए सब कुछ तैयार करता है।",
"ModuleTemplateExplanation2": "<p> आप एकल मॉड्यूल के लिए एकल या एकाधिक UI फ्रेमवर्क, एकल या एकाधिक डेटाबेस प्रदाता का समर्थन कर सकते हैं। स्टार्टअप टेम्प्लेट को चलाने के लिए कॉन्फ़िगर किया गया है और <strong> अपने मॉड्यूल का परीक्षण करें </strong> यूनिट और एकीकरण परीक्षण के बुनियादी ढांचे के अलावा न्यूनतम आवेदन में। </p><p> इस टेम्पलेट के बारे में तकनीकी जानकारी के लिए डेवलपर गाइड देखें। </p>",
"WithAllStyleOptions": "सभी शैली विकल्पों के साथ",
"Demo": "डेमो",
"SeeAllModules": "सभी मॉड्यूल देखें",
"ABPCLIExplanation": "ABP CLI (कमांड लाइन इंटरफेस) ABP आधारित समाधानों के लिए कुछ सामान्य ऑपरेशन करने के लिए एक कमांड लाइन टूल है।",
"ABPSuiteEasilyCURD": "एबीपी सूट एक उपकरण है जो आपको आसानी से CRUD पेज बनाने की अनुमति देता है",
"WeAreHereToHelp": "हम यहाँ हैं <span class = \"zero-text\"> मदद </ span>",
"BrowseOrAskQuestion": "आप हमारे सहायता विषयों को ब्राउज़ कर सकते हैं या अक्सर पूछे जाने वाले प्रश्नों में खोज कर सकते हैं, या आप <a href=\" जटिलताओं0arios\" class=\"text-success\"> संपर्क फ़ॉर्म </a> का उपयोग करके हमसे एक प्रश्न पूछ सकते हैं।",
"WeAreHereToHelp": "हम यहाँ हैं <span class=\"zero-text\"> मदद </span>",
"BrowseOrAskQuestion": "आप हमारे सहायता विषयों को ब्राउज़ कर सकते हैं या अक्सर पूछे जाने वाले प्रश्नों में खोज कर सकते हैं, या आप <a href=\"{0}\" class=\"text-success\">संपर्क फ़ॉर्म</a> का उपयोग करके हमसे एक प्रश्न पूछ सकते हैं।",
"SearchQuestionPlaceholder": "अक्सर पूछे जाने वाले प्रश्नों में खोजें",
"WhatIsTheABPCommercial": "ABP कमर्शियल क्या है?",
"WhatAreDifferencesThanAbpFramework": "ओपन सोर्स ABP फ्रेमवर्क और ABP कमर्शियल के बीच क्या अंतर हैं?",
"ABPCommercialExplanation": "एबीपी कमर्शियल, खुले स्रोत के शीर्ष पर बनाए गए प्रीमियम मॉड्यूल, टूल, थीम और सेवाओं का एक सेट है जो <a target=\"_blank\" href=\"ministr0arios\"> ABP फ्रेमवर्क </a> है। एबीपी कमर्शियल को एबीपी फ्रेमवर्क के पीछे उसी टीम द्वारा विकसित और समर्थित किया जा रहा है।",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> <a target=\"_blank\" href=\"lights0 Ideal\"> ABP फ्रेमवर्क </a> ASP.NET Core के लिए एक मॉड्यूलर, थीमेबल, माइक्रो-सर्विस संगत एप्लिकेशन डेवलपमेंट फ्रेमवर्क है। यह आपको हर नई परियोजना के लिए खुद को दोहराने के बजाय अपने खुद के व्यवसाय कोड पर ध्यान केंद्रित करने के लिए एक पूर्ण वास्तुकला और एक मजबूत बुनियादी ढांचा प्रदान करता है। यह सॉफ्टवेयर विकास सर्वोत्तम प्रथाओं और लोकप्रिय उपकरणों पर आधारित है जिन्हें आप पहले से जानते हैं। </ p> <p> एबीपी फ्रेमवर्क पूरी तरह से मुक्त, खुला स्रोत और समुदाय-संचालित है। यह एक मुफ्त थीम और कुछ पूर्व-निर्मित मॉड्यूल (जैसे पहचान प्रबंधन और किरायेदार प्रबंधन) प्रदान करता है। </ p>",
"VisitTheFrameworkVSCommercialDocument": "अधिक जानकारी के लिए, निम्न लिंक पर जाएं <a href=\"ministr0arios\" target=\"_blank\"> {1} </a>",
"ABPCommercialExplanation": "एबीपी कमर्शियल ओपन सोर्स <a target=\"_blank\" href=\"{0}\">ABP फ्रेमवर्क</a> के शीर्ष पर निर्मित प्रीमियम मॉड्यूल, टूल, थीम और सेवाओं का एक सेट है। एबीपी कमर्शियल को एबीपी ढांचे के पीछे उसी टीम द्वारा विकसित और समर्थित किया जा रहा है।",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p><a target=\"_blank\" href=\"{0}\">ABP फ्रेमवर्क</a> ASP.NET कोर के लिए एक मॉड्यूलर, थीम योग्य, माइक्रो-सर्विस संगत एप्लिकेशन डेवलपमेंट फ्रेमवर्क है। यह आपको हर नई परियोजना के लिए खुद को दोहराने के बजाय अपने स्वयं के व्यवसाय कोड पर ध्यान केंद्रित करने के लिए एक पूर्ण वास्तुकला और एक मजबूत बुनियादी ढांचा प्रदान करता है। यह सॉफ्टवेयर विकास सर्वोत्तम प्रथाओं और लोकप्रिय टूल पर आधारित है जिन्हें आप पहले से जानते हैं। </p><p> एबीपी ढांचा पूरी तरह से मुक्त, खुला स्रोत और समुदाय संचालित है। यह एक मुफ्त थीम और कुछ पूर्व-निर्मित मॉड्यूल (जैसे पहचान प्रबंधन और किरायेदार प्रबंधन) भी प्रदान करता है।</p>",
"VisitTheFrameworkVSCommercialDocument": "अधिक जानकारी के लिए, निम्न लिंक पर जाएँ <a href=\"{0}\" target=\"_blank\"> {1} </a>",
"ABPCommercialFollowingBenefits": "एबीपी वाणिज्यिक एबीपी ढांचे के शीर्ष पर निम्नलिखित लाभ जोड़ता है;",
"Professional": "पेशेवर",
"UIThemes": "यूआई थीम",
"EnterpriseModules": "एंटरप्राइज रेडी, फीचर से भरपूर, पहले से निर्मित <a href=\"lights0 Ideal\"> एप्लिकेशन मॉड्यूल </a> (जैसे पहचान सर्वर प्रबंधन, सास प्रबंधन, भाषा प्रबंधन)",
"ToolingToSupport": "अपनी विकास उत्पादकता का समर्थन करने का टूल",
"PremiumSupportLink": "प्रीमियम <a href=\"ministr0arios\" target=\"_blank\"> समर्थन </a>",
"EnterpriseModules": "एंटरप्राइज़ तैयार, सुविधा संपन्न, पूर्व-निर्मित <a href=\"{0}\">एप्लिकेशन मॉड्यूल</a> (उदा. पहचान सर्वर प्रबंधन, SaaS प्रबंधन, भाषा प्रबंधन)",
"ToolingToSupport": "आपकी विकास उत्पादकता का समर्थन करने के लिए टूलिंग (उदा.<a href=\"{0}\">ABP Suite</a>)",
"PremiumSupportLink": "प्रीमियम <a href=\"{0}\" target=\"_blank\">समर्थन</a>",
"WhatDoIDownloadABPCommercial": "जब मैं एबीपी कमर्शियल खरीदता हूं तो क्या डाउनलोड करता हूं?",
"CreateUnlimitedSolutions": "एक बार जब आप एक एबीपी कमर्शियल लाइसेंस खरीदते हैं, तो आप असीमित समाधान बना पाएंगे, जैसे कि <a href=\"find0 Ideal\"> Get Started </a> दस्तावेज़ में वर्णित है।",
"CreateUnlimitedSolutions": "एक बार जब आप एबीपी वाणिज्यिक लाइसेंस खरीद लेते हैं, तो आप असीमित समाधान बनाने में सक्षम होंगे जैसा कि <a href=\"{0}\">आरंभ करना</a> दस्तावेज़ में वर्णित है।",
"ABPCommercialSolutionExplanation": "जब आप एक नया एप्लिकेशन बनाते हैं, तो आपको अपनी प्राथमिकताओं के आधार पर एक विज़ुअल स्टूडियो समाधान (एक स्टार्टअप टेम्प्लेट) मिलता है। डाउनलोड किए गए समाधान में आपके लिए पहले से इंस्टॉल और कॉन्फ़िगर किए गए वाणिज्यिक मॉड्यूल और थीम हैं। यदि आप चाहें तो आप पहले से स्थापित मॉड्यूल को हटा सकते हैं या किसी अन्य मॉड्यूल को जोड़ सकते हैं। सभी मॉड्यूल और थीम डिफ़ॉल्ट रूप से एक NuGet / NPM पैकेज का उपयोग किया जाता है।",
"StartDevelopWithTutorials": "डाउनलोड किया गया समाधान अच्छी तरह से वास्तुकला और दस्तावेज है। आप अपने स्वयं के व्यवसाय कोड को इस आधार पर विकसित करना शुरू कर सकते हैं कि वह <a href=\"directory0 Ideal\"> ट्यूटोरियल्स </a> का अनुसरण कर सकता है",
"TryTheCommercialDemo": "ABP कमर्शियल स्टार्टअप टेम्प्लेट का उपयोग करके बनाए गए एक नमूना अनुप्रयोग को देखने के लिए आप <a href=\" जटिलताओं0 Ideal\"> डेमो </a> का प्रयास कर सकते हैं।",
"StartDevelopWithTutorials": "डाउनलोड किया गया समाधान अच्छी तरह से संरचित और प्रलेखित है। आप <a href=\"{0}\">ट्यूटोरियल</a> . का अनुसरण करके इसके आधार पर अपना खुद का व्यवसाय कोड विकसित करना शुरू कर सकते हैं",
"TryTheCommercialDemo": "ABP कमर्शियल स्टार्टअप टेम्प्लेट का उपयोग करके बनाए गए एक नमूना एप्लिकेशन को देखने के लिए आप <a href=\"{0}\">डेमो</a> आज़मा सकते हैं।",
"HowManyProducts": "ABP वाणिज्यिक का उपयोग करके मैं कितने विभिन्न उत्पाद / समाधान बना सकता हूं?",
"HowManyProductsExplanation": "ABP प्रोजेक्ट बनाने की कोई सीमा नहीं है। आप जितने चाहें उतने प्रोजेक्ट बना सकते हैं, उन्हें विकसित कर सकते हैं और उन्हें विभिन्न सर्वरों पर अपलोड कर सकते हैं।",
"HowManyDevelopers": "एबीपी कमर्शियल पर कितने डेवलपर काम कर सकते हैं?",
"HowManyDevelopersExplanation": "एबीपी वाणिज्यिक लाइसेंस प्रति डेवलपर हैं। विभिन्न लाइसेंस प्रकारों में अलग-अलग डेवलपर सीमाएँ होती हैं। हालाँकि, जब भी आपको आवश्यकता हो, आप किसी भी प्रकार के लाइसेंस में अधिक डेवलपर्स जोड़ सकते हैं। लाइसेंस प्रकार, डेवलपर सीमा और अतिरिक्त डेवलपर लागतों के लिए <a href=\" जटिलताओं0 Ideal\"> कीमतें </a> पृष्ठ देखें।",
"HowManyDevelopersExplanation": "एबीपी वाणिज्यिक लाइसेंस प्रति डेवलपर हैं। विभिन्न लाइसेंस प्रकारों की अलग-अलग डेवलपर सीमाएँ होती हैं। हालांकि, जब भी आपको आवश्यकता हो, आप किसी भी प्रकार के लाइसेंस में अधिक डेवलपर जोड़ सकते हैं। लाइसेंस प्रकारों, डेवलपर सीमाओं और अतिरिक्त डेवलपर लागतों के लिए <a href=\"{0}\">कीमतें</a> पृष्ठ देखें।",
"ChangingLicenseType": "क्या मैं भविष्य में अपना लाइसेंस प्रकार बदल सकता हूं?",
"ChangingLicenseTypeExplanation": "आप अपने समान लाइसेंस प्रकार में हमेशा नए डेवलपर्स को जोड़ सकते हैं। यह भी देखें \"एबीपी कमर्शियल पर कितने डेवलपर काम कर सकते हैं?\"। आप गणना मूल्य अंतर का भुगतान करके एक उच्च लाइसेंस के लिए भी अपग्रेड कर सकते हैं। जब आप उच्च लाइसेंस योजना में अपग्रेड करते हैं, तो आपको नई योजना का लाभ मिलता है, लेकिन लाइसेंस अपग्रेड लाइसेंस की समाप्ति की तारीख को नहीं बदलता है।",
"LicenseExtendUpgradeDiff": "लाइसेंस विस्तार और उन्नयन के बीच क्या अंतर है?",
"LicenseExtendUpgradeDiffExplanation": "<strong> विस्तार: </ strong> अपने लाइसेंस का विस्तार / नवीनीकरण करके, आप प्रीमियम समर्थन प्राप्त करना और मॉड्यूल और थीम के लिए प्रमुख अपडेट प्राप्त करना जारी रखेंगे। इसके अलावा, आप नई परियोजनाओं को जारी रखने में सक्षम होंगे। और आप अभी भी एबीपी सूट का उपयोग कर पाएंगे जो आपके विकास को गति देता है। <hr /> <strong> उन्नयन: </ strong> अपने लाइसेंस को अपग्रेड करके, आप एक उच्च लाइसेंस योजना को बढ़ावा देंगे जिससे आप अतिरिक्त लाभ प्राप्त कर सकेंगे। । लाइसेंस योजनाओं के बीच अंतर की जांच करने के लिए <a href=\"/pricing\"> लाइसेंस तुलना तालिका </a> देखें। <strong> दूसरी ओर, जब आप अपग्रेड करते हैं, तो आपकी लाइसेंस की समाप्ति तिथि नहीं बदलेगी! </ Strong> > अपनी लाइसेंस की अंतिम तिथि बढ़ाने के लिए, आपको अपने लाइसेंस का विस्तार करना होगा।",
"LicenseExtendUpgradeDiffExplanation": "<strong>Extending:</strong> By extending/renewing your license, you will continue to get premium support and get major updates for the modules and themes. Besides, you will be able to continue creating new projects. And you will still be able to use ABP Suite which speeds up your development.<hr/><strong>Upgrading:</strong> By upgrading your license, you will promote to a higher license plan which will allow you to get additional benefits. See the <a href=\"/pricing\">license comparison table</a> to check the differences between the license plans.<strong>On the other hand, when you upgrade, your license expiry date will not change!</strong>To extend your license end date, you need to extend your license.",
"LicenseRenewalCost": "1 वर्ष के बाद लाइसेंस नवीनीकरण लागत क्या है?",
"LicenseRenewalCostExplanation": "सभी एबीपी वाणिज्यिक स्थायी लाइसेंसों का नवीकरण (विस्तार) दर लाइसेंस सूची मूल्य का {0} है। मानक टीम लाइसेंस का नवीनीकरण मूल्य $ {1} है, मानक व्यवसाय लाइसेंस $ {2} है और मानक एंटरप्राइज़ लाइसेंस $ {3} है। यदि आप पहले से ही ग्राहक हैं, तो उपलब्ध नवीनीकरण मूल्य निर्धारण की समीक्षा करने के लिए <a href='ministr4 Ideal' target='_blank'> अपने खाते में लॉग इन करें </a>।",
"LicenseRenewalCostExplanation": "सभी एबीपी वाणिज्यिक स्थायी लाइसेंसों की नवीनीकरण (विस्तार) दर लाइसेंस सूची मूल्य का {0} है। मानक टीम लाइसेंस का नवीनीकरण मूल्य ${1} है, मानक व्यवसाय लाइसेंस ${2} है और मानक एंटरप्राइज़ लाइसेंस ${3} है। यदि आप पहले से ही ग्राहक हैं, तो उपलब्ध नवीनीकरण मूल्य-निर्धारण की समीक्षा के लिए <a href='{4}' target='_blank'>अपने खाते में लॉग इन करें</a>।",
"HowDoIRenewMyLicense": "मैं अपने लाइसेंस का नवीनीकरण कैसे करूँ?",
"HowDoIRenewMyLicenseExplanation": "आप अपने लाइसेंस को <a href='elling0 Ideal' target='_blank'> संगठन प्रबंधन पृष्ठ </a> पर नेविगेट करके नवीनीकृत कर सकते हैं। हमारी रियायती अर्ली रिन्यूअल दरों का लाभ उठाने के लिए, सुनिश्चित करें कि आप अपने लाइसेंस की समय सीमा समाप्त होने से पहले नवीनीकरण करें। हालाँकि, जब आपका प्रारंभिक नवीनीकरण अवसर बंद हो जाता है, तो यह जानने की चिंता न करें। आपकी सदस्यता समाप्त होने से पहले आपको 2 अनुस्मारक ई-मेल प्राप्त होंगे। हम उन्हें 30 दिन, समाप्ति से 7 दिन पहले भेज देंगे।",
"HowDoIRenewMyLicenseExplanation": "आप <a href='{0}' target='_blank'>संगठन प्रबंधन पृष्ठ</a> पर नेविगेट करके अपने लाइसेंस का नवीनीकरण कर सकते हैं। हमारी रियायती प्रारंभिक नवीनीकरण दरों का लाभ उठाने के लिए, अपने लाइसेंस की समय सीमा समाप्त होने से पहले नवीनीकरण करना सुनिश्चित करें। हालाँकि, यह जानने की चिंता न करें कि आपका प्रारंभिक नवीनीकरण अवसर कब बंद होगा। आपकी सदस्यता समाप्त होने से पहले आपको 2 अनुस्मारक ई-मेल प्राप्त होंगे। हम उन्हें समाप्ति से ७ दिन पहले, ३० दिनों में भेजेंगे।",
"IsSourceCodeIncluded": "क्या मेरे लाइसेंस में वाणिज्यिक मॉड्यूल और थीम का स्रोत कोड शामिल है?",
"IsSourceCodeIncludedExplanation1": "आपके द्वारा खरीदे गए लाइसेंस प्रकार पर निर्भर करता है:",
"IsSourceCodeIncludedExplanation2": "<strong> टीम </ strong>: आपका समाधान मॉड्यूल और थीम को NuGet और NPM पैकेज के रूप में उपयोग करता है। इसमें उनका स्रोत कोड शामिल नहीं है। इस तरह, जब भी कोई नया संस्करण उपलब्ध हो, आप इन मॉड्यूल और थीम को आसानी से अपग्रेड कर सकते हैं। हालाँकि, आप मॉड्यूल और थीम के स्रोत कोड प्राप्त नहीं कर सकते।",
"IsSourceCodeIncludedExplanation3": "<strong> व्यवसाय / उद्यम </ strong>: टीम लाइसेंस के अतिरिक्त, आप किसी भी मॉड्यूल या थीम की आवश्यकता के स्रोत कोड को डाउनलोड करने में सक्षम हैं। तुम भी एक विशेष मॉड्यूल के लिए NuGet / NPM पैकेज संदर्भ निकाल सकते हैं और इसे पूरी तरह से बदलने के लिए अपने समाधान के लिए अपने स्रोत कोड को सीधे जोड़ सकते हैं।",
"IsSourceCodeIncludedExplanation4": "<p> एक मॉड्यूल के स्रोत कोड को आपके समाधान में शामिल करना आपको उस मॉड्यूल को अनुकूलित करने की अधिकतम स्वतंत्रता देता है। हालाँकि, तब नया संस्करण जारी होने पर मॉड्यूल को स्वचालित रूप से अपग्रेड करना संभव नहीं होगा। </ p> <p> किसी भी लाइसेंस में ABP सुइट स्रोत कोड शामिल नहीं है, जो एक बाहरी उपकरण है जो आपके लिए कोड बनाता है और सहायता करता है आपके विकास के लिए। </ p> <p> लाइसेंस प्रकारों के अन्य अंतरों के लिए <a href=\"lights0 Ideal\"> मूल्य निर्धारण </a> पृष्ठ देखें। </ p>",
"IsSourceCodeIncludedExplanation4": "<p>अपने समाधान में मॉड्यूल के स्रोत कोड को शामिल करने से आपको उस मॉड्यूल को अनुकूलित करने की अधिकतम स्वतंत्रता मिलती है। हालांकि, नया संस्करण जारी होने पर मॉड्यूल को स्वचालित रूप से अपग्रेड करना संभव नहीं होगा।</p><p>किसी भी लाइसेंस में एबीपी सूट स्रोत कोड शामिल नहीं है, जो एक बाहरी उपकरण है जो आपके लिए कोड उत्पन्न करता है और सहायता करता है। आपके विकास के लिए।</p><p>लाइसेंस प्रकारों के बीच अन्य अंतरों के लिए <a href=\"{0}\">मूल्य निर्धारण</a> पृष्ठ देखें।</p>",
"ChangingDevelopers": "क्या मैं भविष्य में अपने संगठन के पंजीकृत डेवलपर्स को बदल सकता हूं?",
"ChangingDevelopersExplanation": "अपने लाइसेंस में नए डेवलपर्स को जोड़ने के अलावा, आप मौजूदा डेवलपर्स को भी बदल सकते हैं (आप एक डेवलपर को हटा सकते हैं और एक ही सीट पर एक नया जोड़ सकते हैं) बिना किसी अतिरिक्त लागत के।",
"WhatHappensWhenLicenseEnds": "मेरे लाइसेंस की अवधि समाप्त होने पर क्या होता है?",
"WhatHappensWhenLicenseEndsExplanation1": "ABP कमर्शियल लाइसेंस का प्रकार <a href=\" जटिलताओं0arios\" target=\"_blank\"> स्थायी लाइसेंस </a> है। आपके लाइसेंस की समय सीमा समाप्त होने के बाद, आप अपना प्रोजेक्ट विकसित करना जारी रख सकते हैं। और आप अपने लाइसेंस को नवीनीकृत करने के लिए बाध्य नहीं हैं। आपका लाइसेंस एक वर्ष के अपडेट और समर्थन योजना के साथ आता है। नई सुविधाओं को प्राप्त करने के लिए, प्रदर्शन में वृद्धि, बग फिक्स, समर्थन और एबीपी सूट का उपयोग करना जारी रखें, प्रत्येक वर्ष अपनी योजना को नवीनीकृत करना सुनिश्चित करें। जब आपका लाइसेंस समाप्त हो जाता है, तो आप निम्नलिखित लाभ प्राप्त नहीं कर पाएंगे;",
"WhatHappensWhenLicenseEndsExplanation1": "ABP वाणिज्यिक लाइसेंस प्रकार <a href=\"{0}\" target=\"_blank\">स्थायी लाइसेंस</a> है। आपके लाइसेंस की समय सीमा समाप्त होने के बाद, आप अपने प्रोजेक्ट को विकसित करना जारी रख सकते हैं। और आप अपने लाइसेंस को नवीनीकृत करने के लिए बाध्य नहीं हैं। आपका लाइसेंस बॉक्स से बाहर एक साल के अपडेट और समर्थन योजना के साथ आता है। नई सुविधाओं, प्रदर्शन में सुधार, बग फिक्स, समर्थन प्राप्त करना जारी रखने और एबीपी सूट का उपयोग जारी रखने के लिए, हर साल अपनी योजना को नवीनीकृत करना सुनिश्चित करें। जब आपका लाइसेंस समाप्त हो जाता है, तो आप निम्नलिखित में से अधिक लाभ प्राप्त नहीं कर पाएंगे;",
"WhatHappensWhenLicenseEndsExplanation2": "आप एबीपी कमर्शियल का उपयोग करके नए समाधान नहीं बना सकते हैं, लेकिन आप अपने मौजूदा अनुप्रयोगों को हमेशा के लिए विकसित कर सकते हैं।",
"WhatHappensWhenLicenseEndsExplanation3": "आप अपने मुख्य संस्करण के भीतर मॉड्यूल और विषयों के लिए अद्यतन प्राप्त करने में सक्षम होंगे। उदाहरण के लिए; यदि आप किसी मॉड्यूल के v3.2.0 का उपयोग कर रहे हैं, तो आप उस मॉड्यूल के v3.x.x (v3.3.0, v3.5.2 ... आदि) के लिए अपडेट प्राप्त कर सकते हैं। लेकिन आपको अगले प्रमुख संस्करण के लिए अपडेट नहीं मिल सकता है (जैसे v4.x, v5.x)",
"WhatHappensWhenLicenseEndsExplanation3": "आप अपने मुख्य संस्करण के भीतर मॉड्यूल और विषयों के लिए अद्यतन प्राप्त करने में सक्षम होंगे। उदाहरण के लिए; यदि आप किसी मॉड्यूल के v3.2.0 का उपयोग कर रहे हैं, तो आप उस मॉड्यूल के v3.x.x (v3.3.0, v3.5.2... आदि) के लिए अपडेट प्राप्त कर सकते हैं। लेकिन आपको अगले प्रमुख संस्करण के लिए अपडेट नहीं मिल सकता है (जैसे v4.x, v5.x)",
"WhatHappensWhenLicenseEndsExplanation4": "आप अपने लाइसेंस समाप्त होने के बाद एबीपी वाणिज्यिक मंच में जोड़े गए नए मॉड्यूल और थीम स्थापित नहीं कर सकते।",
"WhatHappensWhenLicenseEndsExplanation5": "आप एबीपी सूट का उपयोग नहीं कर सकते।",
"WhatHappensWhenLicenseEndsExplanation6": "आपको अब और <a href=\" जटिलताओं0 Ideal\"> प्रीमियम सहायता </a> नहीं मिल सकती है।",
"WhatHappensWhenLicenseEndsExplanation6": "अब आपको <a href=\"{0}\">प्रीमियम सहायता</a> नहीं मिल सकती है।",
"WhatHappensWhenLicenseEndsExplanation7": "यदि आप इन लाभों को प्राप्त करना जारी रखना चाहते हैं तो आप अपनी सदस्यता को नवीनीकृत कर सकते हैं। जब आप अपनी सदस्यता को नवीनीकृत करते हैं तो 20% छूट मिलती है।",
"WhenShouldIRenewMyLicense": "मुझे अपना लाइसेंस कब नवीनीकृत करना चाहिए?",
"WhenShouldIRenewMyLicenseExplanation1": "यदि आप अपना लाइसेंस समाप्त होने के बाद अपने लाइसेंस का नवीनीकरण <strong> 1 महीने </ strong> के भीतर करते हैं, तो कुल लाइसेंस मूल्य पर% 20 छूट लागू होगी।",
@ -203,24 +203,24 @@
"TrialPlan": "क्या आपके पास एक परीक्षण योजना है?",
"TrialPlanExplanation": "अभी के लिए, एबीपी कमर्शियल में ट्रायल प्लान नहीं है। टीम लाइसेंस के लिए हम 30 दिन की मनी बैक गारंटी प्रदान करते हैं। आप पहले 30 दिनों में धनवापसी का अनुरोध कर सकते हैं। बिजनेस और एंटरप्राइज लाइसेंस के लिए, हम 30 दिनों में 60% रिफंड प्रदान करते हैं। ऐसा इसलिए है क्योंकि व्यवसाय और एंटरप्राइज़ लाइसेंस में सभी मॉड्यूल और थीम का पूर्ण स्रोत कोड शामिल है।",
"DoYouAcceptBankWireTransfer": "क्या आप बैंक वायर ट्रांसफर स्वीकार करते हैं?",
"DoYouAcceptBankWireTransferExplanation": "हां, हम बैंक वायर ट्रांसफर स्वीकार करते हैं। <br /> बैंक वायर ट्रांसफर के माध्यम से लाइसेंस राशि भेजने के बाद, हमें अपनी रसीद और अनुरोधित लाइसेंस प्रकार ई-मेल के माध्यम से भेजें। <br /> हमारे अंतरराष्ट्रीय बैंक खाते की जानकारी:",
"DoYouAcceptBankWireTransferExplanation": "हां, हम बैंक वायर ट्रांसफर स्वीकार करते हैं। <br/> बैंक वायर ट्रांसफर के माध्यम से लाइसेंस राशि भेजने के बाद, हमें अपनी रसीद और अनुरोधित लाइसेंस प्रकार ई-मेल के माध्यम से भेजें। <br/> हमारे अंतरराष्ट्रीय बैंक खाते की जानकारी:",
"HowToUpgrade": "नया संस्करण उपलब्ध होने पर मौजूदा एप्लिकेशन को कैसे अपग्रेड किया जाए?",
"HowToUpgradeExplanation1": "जब आप ABP कमर्शियल का उपयोग करके एक नया एप्लिकेशन बनाते हैं, तो सभी मॉड्यूल और थीम को NuGet और NPM पैकेज के रूप में उपयोग किया जाता है। इसलिए, नया संस्करण उपलब्ध होने पर आप आसानी से संकुल को अपग्रेड कर सकते हैं।",
"HowToUpgradeExplanation2": "मानक NuGet / NPM अपग्रेड के अलावा, <a href=\"lights0arios\"> ABP CLI </a> एक अपडेट कमांड प्रदान करता है जो आपके समाधान में सभी एबीपी से संबंधित पैकेजों को स्वचालित रूप से ढूंढता है और उन्हें अपग्रेड करता है।",
"HowToUpgradeExplanation2": "मानक NuGet/NPM अपग्रेड के अलावा, <a href=\"{0}\">ABP CLI</a> एक अपडेट कमांड प्रदान करता है जो आपके समाधान में सभी ABP संबंधित पैकेजों को स्वचालित रूप से ढूंढता और अपग्रेड करता है।",
"DatabaseSupport": "कौन से डेटाबेस सिस्टम समर्थित हैं?",
"DatabaseSupportExplanation": "ABP फ्रेमवर्क स्वयं ही डेटाबेस अज्ञेयवादी है और अपनी प्रकृति के अनुसार किसी भी डेटाबेस प्रदाता के साथ काम कर सकता है। वर्तमान में कार्यान्वित प्रदाताओं की सूची के लिए <a href=\" जटिलताओं0arios\" target=\"_blank\"> डेटा एक्सेस दस्तावेज़ </a> देखें।",
"DatabaseSupportExplanation": "एबीपी फ्रेमवर्क अपने आप में डेटाबेस अज्ञेयवादी है और अपनी प्रकृति से किसी भी डेटाबेस प्रदाता के साथ काम कर सकता है। वर्तमान में कार्यान्वित प्रदाताओं की सूची के लिए <a href=\"{0}\" target=\"_blank\">डेटा एक्सेस दस्तावेज़</a> देखें।",
"UISupport": "कौन से UI फ्रेमवर्क समर्थित हैं?",
"Supported": "समर्थित",
"UISupportExplanation": "ABP फ्रेमवर्क स्वयं UI फ्रेमवर्क अज्ञेयवादी है और किसी भी UI फ्रेमवर्क के साथ काम कर सकता है। हालाँकि, सभी UI फ्रेमवर्क के लिए स्टार्टअप टेम्प्लेट, मॉड्यूल UI और थीम लागू नहीं किए गए थे। UI विकल्पों की अप-टू-डेट सूची के लिए <a href=\" जटिलताओं0arios\"> आरंभ किया गया दस्तावेज़ </a> देखें।",
"UISupportExplanation": "एबीपी फ्रेमवर्क अपने आप में यूआई फ्रेमवर्क अज्ञेयवादी है और किसी भी यूआई फ्रेमवर्क के साथ काम कर सकता है। हालांकि, स्टार्टअप टेम्प्लेट, मॉड्यूल UI और थीम सभी UI फ्रेमवर्क के लिए लागू नहीं किए गए थे। UI विकल्पों की अप-टू-डेट सूची के लिए <a href=\"{0}\">आरंभ करने वाला दस्तावेज़</a> देखें।",
"MicroserviceSupport": "क्या यह सूक्ष्म सेवा वास्तुकला का समर्थन करता है?",
"MicroserviceSupportExplanation1": "एबीपी ढांचे का एक प्रमुख लक्ष्य सूक्ष्म सेवा समाधान बनाने के लिए एक सुविधाजनक बुनियादी ढांचा प्रदान करना है। यह समझने के लिए कि यह माइक्रो-सर्विस सिस्टम बनाने में कैसे मदद करता है, यह समझने के लिए <a href=\" जटिलताओं0 Ideal\"> माइक्रो-सर्विस आर्किटेक्चर </a> दस्तावेज़ देखें।",
"MicroserviceSupportExplanation2": "सभी एबीपी कमर्शियल मॉड्यूल्स को <a href=\" जटिलताओं0arios\"> मॉड्यूल डेवलपमेंट बेस्ट प्रैक्टिस </a> दस्तावेज़ का पालन करके माइक्रो-सर्विस परिनियोजन परिदृश्य (अपने एपीआई और डेटाबेस के साथ) का समर्थन करने के लिए डिज़ाइन किया गया है।",
"MicroserviceSupportExplanation3": "हम आपको अपना स्वयं का समाधान बनाने में मदद करने के लिए एक माइक्रो-सेवा वास्तुकला कार्यान्वयन को प्रदर्शित करने वाला एक नमूना <a href=\"ministr0 Ideal\"> माइक्रो-सर्विस डेमो समाधान </a> प्रदान करते हैं।",
"MicroserviceSupportExplanation1": "एबीपी ढांचे के प्रमुख लक्ष्यों में से एक सूक्ष्म सेवा समाधान बनाने के लिए एक सुविधाजनक बुनियादी ढांचा प्रदान करना है। यह समझने के लिए कि यह माइक्रो-सर्विस सिस्टम बनाने में कैसे मदद करता है, <a href=\"{0}\">माइक्रो-सर्विस आर्किटेक्चर</a> दस्तावेज़ देखें।",
"MicroserviceSupportExplanation2": "सभी एबीपी वाणिज्यिक मॉड्यूल <a href=\"{0}\">मॉड्यूल विकास सर्वोत्तम प्रथाओं</a> दस्तावेज़ का पालन करके माइक्रो-सेवा परिनियोजन परिदृश्यों (अपने स्वयं के एपीआई और डेटाबेस के साथ) का समर्थन करने के लिए डिज़ाइन किए गए हैं।",
"MicroserviceSupportExplanation3": "हम एक नमूना <a href=\"{0}\">माइक्रो-सर्विस डेमो सॉल्यूशन</a> प्रदान करते हैं जो आपको अपना समाधान बनाने में मदद करने के लिए एक माइक्रो-सर्विस आर्किटेक्चर कार्यान्वयन दर्शाता है।",
"MicroserviceSupportExplanation4": "तो, संक्षिप्त उत्तर \"<strong> हां है, यह सूक्ष्म सेवा वास्तुकला का समर्थन करता है </ strong>\"।",
"MicroserviceSupportExplanation5": "हालाँकि, एक माइक्रो-सर्विस सिस्टम एक समाधान है और हर समाधान में अलग-अलग आवश्यकताएं, नेटवर्क टोपोलॉजी, संचार परिदृश्य, प्रमाणीकरण संभावनाएं, डेटाबेस पृथक्करण / साझा करने के निर्णय, रनटाइम कॉन्फ़िगरेशन, 3 पार्टी सिस्टम एकीकरण और कई और अधिक होंगे।",
"MicroserviceSupportExplanation6": "ABP फ्रेमवर्क और ABP कमर्शियल आपको अपने स्वयं के समाधान का निर्माण करने में मदद करने के लिए सूक्ष्म सेवा परिदृश्य, सूक्ष्म सेवा संगत मॉड्यूल, नमूने और प्रलेखन के लिए बुनियादी ढाँचा प्रदान करता है। लेकिन अपने सपनों के समाधान को सीधे आपके लिए पहले से डाउनलोड करने की उम्मीद न करें। आपको इसे समझने और अपनी आवश्यकताओं के आधार पर कुछ हिस्सों को एक साथ लाने की आवश्यकता होगी।",
"WhereCanIDownloadSourceCode": "मैं स्रोत-कोड कहां से डाउनलोड कर सकता हूं?",
"WhereCanIDownloadSourceCodeExplanation": "आप एबीपी सूट या एबीपी सीएलआई के माध्यम से सभी एबीपी मॉड्यूल, कोणीय पैकेज और थीम के स्रोत कोड डाउनलोड कर सकते हैं। <a href=\"find0 Ideal\"> स्रोत-कोड डाउनलोड कैसे करें? </a> देखें",
"WhereCanIDownloadSourceCodeExplanation": "आप एबीपी सूट या एबीपी सीएलआई के माध्यम से सभी एबीपी मॉड्यूल, एंगुलर पैकेज और थीम का सोर्स कोड डाउनलोड कर सकते हैं। देखें <a href=\"{0}\">स्रोत-कोड कैसे डाउनलोड करें?</a>",
"ComputerLimitation": "एबीपी विकसित करते समय एक डेवलपर कितने कंप्यूटरों पर लॉगिन कर सकता है?",
"ComputerLimitationExplanation": "हम विशेष रूप से प्रति व्यक्ति / लाइसेंस प्राप्त डेवलपर के लिए <strong> {0} कंप्यूटर </ strong> की अनुमति देते हैं। जब भी किसी तीसरे मशीन पर एबीपी कमर्शियल उत्पादों को विकसित करने के लिए डेवलपर की आवश्यकता होती है, तो स्थिति को समझाते हुए लाइसेंस@abp.io को एक ई-मेल भेजा जाना चाहिए और फिर हम अपने सिस्टम में उचित आवंटन करेंगे।",
"RefundPolicy": "क्या आपके पास धनवापसी नीति है?",
@ -230,17 +230,17 @@
"HowCanIRefundVatExplanation2": "अपने <a href=\"https://secure.2checkout.com/cpanel/login.php\" target=\"_blank\"> 2 चेकआउट </a> खाते में लॉग इन करें",
"HowCanIRefundVatExplanation3": "उपयुक्त आदेश खोजें और \"रिफंड बेल्ड वैट\" दबाएं (अपनी वैट आईडी दर्ज करें)",
"HowCanIGetMyInvoice": "मैं अपना चालान कैसे प्राप्त कर सकता हूं?",
"HowCanIGetMyInvoiceExplanation": "लाइसेंस खरीदने के लिए 2 भुगतान गेटवे हैं: PayU और 2 चेकआउट। यदि आप 2Checkout गेटवे के माध्यम से अपना लाइसेंस खरीदते हैं, तो यह आपके ईमेल पते पर पीडीएफ चालान भेजता है, देखें <a href = \"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do -invoices- काम \"> 2 चेकआउट चालान। </a> यदि आप पेयू गेटवे या बैंक वायर ट्रांसफर के माध्यम से खरीदते हैं, तो हम आपका चालान तैयार करेंगे और भेजेंगे। आप अपने चालान का अनुरोध <a href=\" जटिलताओं0 Ideal\"> संगठन प्रबंधन पृष्ठ </a> से कर सकते हैं",
"HowCanIGetMyInvoiceExplanation": "लाइसेंस खरीदने के लिए 2 भुगतान गेटवे हैं: PayU और 2 चेकआउट। यदि आप 2Checkout गेटवे के माध्यम से अपना लाइसेंस खरीदते हैं, तो यह आपके ईमेल पते पर पीडीएफ चालान भेजता है, देखें <a href=\"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do-invoices-work\"> 2 चेकआउट चालान। </a> यदि आप पेयू गेटवे या बैंक वायर ट्रांसफर के माध्यम से खरीदते हैं, तो हम आपका चालान तैयार करेंगे और भेजेंगे। आप अपने चालान का अनुरोध <a href=\"{0}\"> संगठन प्रबंधन पृष्ठ </a> से कर सकते हैं",
"Forum": "मंच",
"SupportExplanation": "ABP कमर्शियल लाइसेंस एक टीम द्वारा प्रीमियम फ़ोरम सपोर्ट प्रदान करता है जिसमें ABP फ्रेमवर्क विशेषज्ञ होते हैं।",
"PrivateTicket": "निजी टिकट",
"PrivateTicketExplanation": "एंटरप्राइज लाइसेंस में ई-मेल और टिकट प्रणाली के साथ एक निजी सहायता भी शामिल है।",
"AbpSuiteExplanation1": "ABP सुइट आपको कुछ ही मिनटों में वेब पेज बनाने की अनुमति देता है। यह .NET कोर ग्लोबल टूल है जिसे कमांड लाइन से इंस्टॉल किया जा सकता है।",
"AbpSuiteExplanation2": "यह एक नया ABP समाधान बना सकता है, डेटाबेस से फ्रंट-एंड तक CRUD पेज बना सकता है। तकनीकी ओवरव्यू के लिए <a href=\" जटिलताओं0 Ideal\"> दस्तावेज़ </a> देखें",
"AbpSuiteExplanation2": "यह एक नया ABP समाधान बना सकता है, डेटाबेस से फ्रंट-एंड तक CRUD पेज बना सकता है। तकनीकी ओवरव्यू के लिए <a href=\"{0}\"> दस्तावेज़ </a> देखें",
"FastEasy": "तेज और आसान",
"AbpSuiteExplanation3": "ABP सुइट आपको आसानी से CRUD पेज बनाने की अनुमति देता है। आपको बस अपनी इकाई और उसके गुणों को परिभाषित करने की आवश्यकता है, बाकी को आप के लिए एबीपी सूट करने दें! एबीपी सूट कुछ ही सेकंड में आपके सीआरयूडी पृष्ठ के लिए सभी आवश्यक कोड उत्पन्न करता है। यह Angular, MVC और Blazor यूजर इंटरफेस को सपोर्ट करता है।",
"RichOptions": "अमीर विकल्प",
"AbpSuiteExplanation4": "ABP सुइट <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\"> रेजर पेज </a> और <a href = \"https: / जैसे कई UI विकल्पों का समर्थन करता है /angular.io\">Angular </a>। यह <a href=\"https://www.mongodb.com\"> MongoDB </a> जैसे कई डेटाबेस का समर्थन करता है और सभी डेटाबेस <strong> EntityFramework Core <द्वारा समर्थित है / strong> (MS SQL सर्वर, Oracle, MySql, PostgreSQL और <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cii] और </a>)।",
"AbpSuiteExplanation4": "ABP Suite supports multiple UI options like <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\">Razor Pages</a> and <a href=\"https://angular.io\">Angular</a>.It also supports multiple databases like <a href=\"https://www.mongodb.com\">MongoDB</a> and all databases supported by <strong>EntityFramework Core</strong> (MS SQL Server, Oracle, MySql, PostgreSQL and <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli\">more</a>).",
"AbpSuiteExplanation5": "अच्छी बात यह है कि, आपको उन विकल्पों के बारे में चिंता करने की ज़रूरत नहीं है। एबीपी सूट आपके प्रोजेक्ट के प्रकार को समझता है और आपकी परियोजना के लिए कोड बनाता है और उत्पन्न कोड को आपके प्रोजेक्ट में सही जगह पर रखता है।",
"SourceCode": "सोर्स कोड",
"AbpSuiteExplanation6": "ABP स्वीट आपके लिए सोर्स कोड जेनरेट करता है! यह वेब पेज जनरेट करने के लिए मैजिक फाइल्स जेनरेट नहीं करता है। एबीपी सूट <strong> इकाई, रिपोजिटरी, एप्लीकेशन सर्विस, कोड फर्स्ट माइग्रेशन, जावास्क्रिप्ट / टाइपस्क्रिप्ट और सीएसएचटीएमएल / एचटीएमएल </ strong> और आवश्यक इंटरफेस के लिए भी स्रोत कोड उत्पन्न करता है। ABP Suite सॉफ्टवेयर डेवलपमेंट के <strong> बेस्ट प्रैक्टिसेस </ strong> के अनुसार कोड भी तैयार करता है, इसलिए आपको जनरेट किए गए कोड की गुणवत्ता के बारे में चिंता करने की आवश्यकता नहीं है।",

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

@ -42,7 +42,7 @@
"NotOrganizationMember": "Non sei membro di nessuna organizzazione.",
"UnsubscribeLicenseExpirationEmailSuccessTitle": "Iscrizione annullata con successo",
"UnsubscribeLicenseExpirationEmailSuccessMessage": "Non riceverai più email di promemoria della data di scadenza della licenza.",
"IndexPageHeroSection": "<span class = \"first-line\"> Una completa </span> <span class = \"second-line\"> piattaforma di sviluppo web </span> <span class = \"third-line\"> integrata <img src = \"{0}\" width = \"110\" class = \"ml-1\" /> framework </span>",
"IndexPageHeroSection": "<span class=\"first-line\"> Una completa </span><span class=\"second-line\"> piattaforma di sviluppo web </span><span class=\"third-line\"> integrata <img src=\"{0}\" width=\"110\" class=\"ml-1\" /> framework </span>",
"AbpCommercialShortDescription": "ABP Commercial fornisce moduli applicativi predefiniti, strumenti per lo sviluppo rapido di applicazioni, temi dell'interfaccia utente professionale, supporto premium e altro ancora.",
"LiveDemo": "Dimostrazione dal vivo",
"GetLicence": "Ottieni una licenza",
@ -51,56 +51,56 @@
"Startup": "Avviare",
"Templates": "Modelli",
"Developer": "Sviluppatore",
"Tools": "Utensili",
"Tools": "Strumenti",
"Premium": "Premium",
"PremiumSupport": "Supporto premium",
"PremiumForumSupport": "Supporto forum premium",
"UI": "UI",
"PremiumSupport": "Supporto Premium",
"PremiumForumSupport": "Supporto Forum Premium",
"UI": "Interfaccia Utente",
"Themes": "Temi",
"JoinOurNewsletter": "Iscriviti alla nostra newsletter",
"Send": "Spedire",
"Learn": "Imparare",
"AdditionalServices": "Servizi aggiuntivi",
"WhatIsABPFramework": "QUAL È IL QUADRO ABP?",
"WhatIsABPFramework": "COSA E` IL FRAMEWORK ABP?",
"OpenSourceBaseFramework": "Framework di base open source",
"ABPFrameworkExplanation": "<p class = \"lead\"> ABP Commercial si basa su ABP Framework, un framework per applicazioni web open source e guidato dalla comunità per ASP.NET Core. </p> <p> ABP Framework fornisce un'eccellente infrastruttura per la scrittura gestibile ed estensibile e codice testabile con best practice. </p> <p> Costruito e integrato in strumenti popolari che già conosci. Bassa curva di apprendimento, facile adattamento, sviluppo confortevole. </p>",
"ABPFrameworkExplanation": "<p class=\"lead\"> ABP Commercial si basa su ABP Framework, un framework per applicazioni web open source e guidato dalla comunità per ASP.NET Core.</p><p> ABP Framework fornisce un'eccellente infrastruttura per la scrittura gestibile ed estensibile e codice testabile con best practice.</p><p> Costruito e integrato in strumenti popolari che già conosci. Bassa curva di apprendimento, facile adattamento, sviluppo confortevole.</p>",
"Modular": "Modulare",
"MicroserviceCompatible": "Compatibile con microservizi",
"DomainDrivenDesignInfrastructure": "Infrastruttura di progettazione basata sul dominio",
"DomainDrivenDesignInfrastructure": "Infrastruttura Domain Driven Design",
"MultiTenancy": "Multi-Tenancy",
"DistributedMessaging": "Messaggistica distribuita",
"DynamicProxying": "Proxying dinamico",
"BackgroundJobs": "Lavori in background",
"AuditLogging": "Registrazione di audit",
"BackgroundJobs": "Operazioni in background",
"AuditLogging": "Registri di controllo",
"BLOBStoring": "Archiviazione BLOB",
"BundlingMinification": "Raggruppamento e minimizzazione",
"AdvancedLocalization": "Localizzazione avanzata",
"ManyMore": "Molti altri",
"ExploreTheABPFramework": "Esplora il framework ABP",
"WhyUseTheABPCommercial": "Perché utilizzare lo spot pubblicitario ABP?",
"WhyUseTheABPCommercialExplanation": "<p class = \"lead mt- 5\"> La creazione di applicazioni Web di livello aziendale può essere complessa e richiede tempo. </p> <p> ABP Commercial offre l'infrastruttura di base perfetta necessaria per tutti i moderni ASP.NET Core di livello aziendale soluzioni basate. Dalla progettazione all'implementazione, l'intero ciclo di sviluppo è potenziato dalle funzionalità e dai moduli integrati di ABP. </p>",
"WhyUseTheABPCommercial": "Perché utilizzare ABP Commercial?",
"WhyUseTheABPCommercialExplanation": "<p class=\"lead mt-5\"> La creazione di applicazioni Web di livello aziendale può essere complessa e richiede tempo.</p><p> ABP Commercial offre l'infrastruttura di base perfetta necessaria per tutti i moderni ASP.NET Core di livello aziendale soluzioni basate. Dalla progettazione all'implementazione, l'intero ciclo di sviluppo è potenziato dalle funzionalità e dai moduli integrati di ABP.</p>",
"StartupTemplatesShortDescription": "I modelli di avvio ti consentono di avviare rapidamente il tuo progetto in pochi secondi.",
"UIFrameworksOptions": "Opzioni dei framework dell'interfaccia utente;",
"DatabaseProviderOptions": "Opzioni del provider di database;",
"PreBuiltApplicationModules": "Moduli applicativi predefiniti",
"PreBuiltApplicationModulesShortDescription": "I requisiti delle applicazioni più comuni sono già stati sviluppati per te come moduli riutilizzabili.",
"Account": "account",
"Account": "Account",
"Blogging": "Blogging",
"Identity": "Identità",
"IdentityServer": "Identity Server",
"Saas": "Saas",
"LanguageManagement": "Gestione della lingua",
"TextTemplateManagement": "Gestione dei modelli di testo",
"See All Modules": "SeeAllModules",
"See All Modules": "Vedi tutti i moduli",
"ABPSuite": "ABP Suite",
"AbpSuiteShortDescription": "ABP Suite è uno strumento complementare all'ABP Commercial.",
"AbpSuiteExplanation": "Ti consente di creare pagine web in pochi minuti. È uno strumento .NET Core Global che può essere installato dalla riga di comando. Può creare una nuova soluzione ABP, generare pagine CRUD dal database al front-end.",
"Details": "Dettagli",
"LeptonTheme": "Tema Lepton",
"ProfessionalModernUIThemes": "Temi dell'interfaccia utente moderni e professionali",
"LeptonThemeExplanation": "Lepton fornisce una gamma di temi di amministrazione Bootstrap che fungono da solida base per qualsiasi progetto che richieda dashboard di amministrazione.",
"LeptonThemeExplanation": "Lepton fornisce una gamma di temi di amministrazione Bootstrap che fungono da solida base per qualsiasi progetto che richieda cruscotto di amministrazione.",
"DefaultTheme": "Tema predefinito",
"MaterialTheme": "Tema materiale",
"MaterialTheme": "Tema Material",
"Default2Theme": "Tema predefinito 2",
"DarkTheme": "Tema scuro",
"DarkBlueTheme": "Tema blu scuro",
@ -111,13 +111,13 @@
"AdditionalServicesExplanation": "Hai bisogno di servizi aggiuntivi o personalizzati? <strong> Noi e i nostri partner possiamo fornire; </strong>",
"CustomProjectDevelopment": "Sviluppo di progetti personalizzati",
"CustomProjectDevelopmentExplanation": "Sviluppatori dedicati per i tuoi progetti personalizzati.",
"PortingExistingProjects": "Porting di progetti esistenti",
"PortingExistingProjects": "Miigrazione di progetti esistenti",
"PortingExistingProjectsExplanation": "Migrazione dei tuoi progetti legacy alla piattaforma ABP.",
"LiveSupport": "Supporto dal vivo",
"LiveSupportExplanation": "Opzione di supporto remoto dal vivo quando ne hai bisogno.",
"Training": "Formazione",
"TrainingExplanation": "Formazione dedicata per i tuoi sviluppatori.",
"OnBoarding": "Onboarding",
"OnBoarding": "Affiancamento",
"OnBoardingExplanation": "Aiuta a configurare i tuoi ambienti di sviluppo, CI e CD.",
"PrioritizedTechnicalSupport": "Assistenza tecnica prioritaria",
"PremiumSupportExplanation": "Oltre al grande supporto della comunità del framework ABP, il nostro team di supporto risponde alle domande tecniche e ai problemi degli utenti commerciali con alta priorità.",
@ -132,7 +132,7 @@
"SendMessage": "Invia messaggio",
"Success": "Successo",
"WeWillReplyYou": "Abbiamo ricevuto il tuo messaggio e ti contatteremo a breve.",
"GoHome": "Andare a casa",
"GoHome": "Torna all'inizio",
"CreateLiveDemo": "Crea demo live",
"RegisterToTheNewsletter": "Registrati alla newsletter per ricevere informazioni su ABP.IO, comprese le nuove versioni ecc.",
"EnterYourEmailOrLogin": "Inserisci il tuo indirizzo e-mail per creare la tua demo o <a href=\"{0}\"> Accedi </a> utilizzando il tuo account esistente.",
@ -143,28 +143,28 @@
"ApplicationTemplateArchitecture": "Questo modello di applicazione supporta anche un'architettura a più livelli in cui il livello dell'interfaccia utente, il livello API e il servizio di autenticazione sono fisicamente separati.",
"SeeTheGuideOrGoToTheLiveDemo": "Consulta la guida per sviluppatori per informazioni tecniche su questo modello o vai alla demo live.",
"DeveloperGuide": "Guida per sviluppatori",
"ModuleTemplate": "Modello di modulo",
"ModuleTemplate": "Modello per modulo",
"ModuleTemplateExplanation1": "Vuoi creare un modulo e riutilizzarlo in diverse applicazioni? Questo modello di avvio prepara tutto per iniziare a creare un <strong> modulo dell'applicazione </strong> riutilizzabile o un <strong> microservizio </strong>.",
"ModuleTemplateExplanation2": "<p> Puoi supportare uno o più framework UI, uno o più provider di database per un singolo modulo. Il modello di avvio è configurato per eseguire e <strong> testare il modulo </strong> in un'applicazione minima oltre all'unità e all'infrastruttura di test di integrazione. </p> <p> Consulta la guida per sviluppatori per informazioni tecniche su questo modello. </p>",
"ModuleTemplateExplanation2": "<p> Puoi supportare uno o più framework UI, uno o più provider di database per un singolo modulo. Il modello di avvio è configurato per eseguire e <strong> testare il modulo </strong> in un'applicazione minima oltre all'unità e all'infrastruttura di test di integrazione.</p><p> Consulta la guida per sviluppatori per informazioni tecniche su questo modello.</p>",
"WithAllStyleOptions": "con tutte le opzioni di stile",
"Demo": "Demo",
"SeeAllModules": "Vedi tutti i moduli",
"ABPCLIExplanation": "ABP CLI (Command Line Interface) è uno strumento a riga di comando per eseguire alcune operazioni comuni per soluzioni basate su ABP.",
"ABPSuiteEasilyCURD": "ABP Suite è uno strumento che ti permette di creare facilmente pagine CRUD",
"WeAreHereToHelp": "Siamo qui per <span class = \"zero-text\"> Aiuto </span>",
"WeAreHereToHelp": "Siamo qui per <span class=\"zero-text\">Aiutarti</span>",
"BrowseOrAskQuestion": "Puoi sfogliare i nostri argomenti della guida o cercare nelle domande frequenti oppure puoi farci una domanda utilizzando il <a href=\"{0}\" class=\"text-success\"> modulo di contatto </a>.",
"SearchQuestionPlaceholder": "Cerca nelle domande frequenti",
"WhatIsTheABPCommercial": "Cos'è l'ABP Commercial?",
"WhatIsTheABPCommercial": "Cos'è ABP Commercial?",
"WhatAreDifferencesThanAbpFramework": "Quali sono le differenze tra ABP Framework open source e ABP Commercial?",
"ABPCommercialExplanation": "ABP Commercial è un insieme di moduli, strumenti, temi e servizi premium basati sul <a target=\"_blank\" href=\"{0}\"> framework ABP </a> open source. ABP Commercial è sviluppato e supportato dallo stesso team dietro il framework ABP.",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> <a target=\"_blank\" href=\"{0}\"> ABP framework </a> è un framework di sviluppo di applicazioni compatibile con micro-servizi per ASP.NET Core modulare. Fornisce un'architettura completa e una solida infrastruttura per farti concentrare sul tuo codice aziendale piuttosto che ripetere te stesso per ogni nuovo progetto. Si basa sulle migliori pratiche di sviluppo software e su strumenti popolari che già conosci. </p> <p> Il framework ABP è completamente gratuito, open source e guidato dalla comunità. Fornisce inoltre un tema gratuito e alcuni moduli predefiniti (ad es. Gestione delle identità e gestione dei tenant). </p>",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p><a target=\"_blank\" href=\"{0}\"> ABP framework </a> è un framework di sviluppo di applicazioni compatibile con micro-servizi per ASP.NET Core modulare. Fornisce un'architettura completa e una solida infrastruttura per farti concentrare sul tuo codice aziendale piuttosto che ripetere te stesso per ogni nuovo progetto. Si basa sulle migliori pratiche di sviluppo software e su strumenti popolari che già conosci.</p><p> Il framework ABP è completamente gratuito, open source e guidato dalla comunità. Fornisce inoltre un tema gratuito e alcuni moduli predefiniti (ad es. Gestione delle identità e gestione dei tenant).</p>",
"VisitTheFrameworkVSCommercialDocument": "Visita il seguente link, per ulteriori informazioni <a href=\"{0}\" target=\"_blank\"> {1} </a>",
"ABPCommercialFollowingBenefits": "ABP Commercial aggiunge i seguenti vantaggi al framework ABP;",
"Professional": "Professionale",
"UIThemes": "Temi dell'interfaccia utente",
"EnterpriseModules": "<a href=\"{0}\"> moduli applicativi </a> preconfigurati, ricchi di funzionalità (ad es. Gestione di Identity Server, gestione SaaS, gestione della lingua)",
"ToolingToSupport": "Strumenti per supportare la produttività dello sviluppo (ad es. <a href=\"{0}\"> ABP Suite </a>)",
"PremiumSupportLink": "Supporto <a href=\"{0}\" target=\"_blank\"> Premium </a> premium",
"EnterpriseModules": "Pronto per le imprese, <a href=\"{0}\"> moduli applicativi </a> preconfigurati, ricchi di funzionalità (ad es. Gestione di Identity Server, gestione SaaS, gestione della lingua)",
"ToolingToSupport": "Strumenti per supportare la produttività dello sviluppo (ad es.<a href=\"{0}\"> ABP Suite </a>)",
"PremiumSupportLink": "<a href=\"{0}\" target=\"_blank\">Supporto </a> Premium",
"WhatDoIDownloadABPCommercial": "Cosa devo scaricare quando acquisto ABP Commercial?",
"CreateUnlimitedSolutions": "Dopo aver acquistato una licenza commerciale ABP, sarai in grado di creare soluzioni illimitate come descritto nel documento <a href=\"{0}\"> Guida introduttiva </a>.",
"ABPCommercialSolutionExplanation": "Quando crei una nuova applicazione, ottieni una soluzione Visual Studio (un modello di avvio) in base alle tue preferenze. La soluzione scaricata ha moduli e temi commerciali già installati e configurati per te. Puoi rimuovere un modulo preinstallato o aggiungere un altro modulo, se lo desideri. Tutti i moduli e temi vengono usati come pacchetti NuGet / NPM per impostazione predefinita.",
@ -177,7 +177,7 @@
"ChangingLicenseType": "Posso cambiare il mio tipo di licenza in futuro?",
"ChangingLicenseTypeExplanation": "Puoi sempre aggiungere nuovi sviluppatori con lo stesso tipo di licenza. Vedi anche \"Quanti sviluppatori possono lavorare su ABP Commercial?\". Puoi anche passare a una licenza superiore pagando la differenza di prezzo calcolata. Quando esegui l'aggiornamento a un piano di licenza superiore, ottieni i vantaggi del nuovo piano, ma l'aggiornamento della licenza non modifica la data di scadenza della licenza.",
"LicenseExtendUpgradeDiff": "Qual è la differenza tra estensione della licenza e aggiornamento?",
"LicenseExtendUpgradeDiffExplanation": "<strong> Estensione: </strong> estendendo / rinnovando la tua licenza, continuerai a ricevere supporto premium e a ricevere aggiornamenti importanti per moduli e temi. Inoltre, potrai continuare a creare nuovi progetti. E sarai ancora in grado di utilizzare ABP Suite che accelera il tuo sviluppo. <Hr /> <strong> Upgrade: </strong> aggiornando la tua licenza, promuoverai un piano di licenza superiore che ti consentirà di ottenere ulteriori vantaggi . Consulta la <a href=\"/pricing\"> tabella di confronto delle licenze </a> per verificare le differenze tra i piani di licenza. <strong> D'altra parte, quando esegui l'upgrade, la data di scadenza della licenza non cambierà! </ Strong > Per estendere la data di fine della licenza, è necessario estendere la licenza.",
"LicenseExtendUpgradeDiffExplanation": "<strong> Estensione: </strong> estendendo/rinnovando la tua licenza, continuerai a ricevere supporto premium e a ricevere aggiornamenti importanti per moduli e temi. Inoltre, potrai continuare a creare nuovi progetti. E sarai ancora in grado di utilizzare ABP Suite che accelera il tuo sviluppo.<hr/><strong> Upgrade: </strong> aggiornando la tua licenza, promuoverai un piano di licenza superiore che ti consentirà di ottenere ulteriori vantaggi . Consulta la <a href=\"/pricing\"> tabella di confronto delle licenze </a> per verificare le differenze tra i piani di licenza.<strong> D'altra parte, quando esegui l'upgrade, la data di scadenza della licenza non cambierà! </strong> Per estendere la data di fine della licenza, è necessario estendere la licenza.",
"LicenseRenewalCost": "Qual è il costo del rinnovo della licenza dopo 1 anno?",
"LicenseRenewalCostExplanation": "La tariffa di rinnovo (estensione) di tutte le licenze perpetue ABP Commercial è {0} del prezzo di listino della licenza. Il prezzo di rinnovo della licenza Team standard è $ {1}, la licenza Business standard è $ {2} e la licenza Enterprise standard è $ {3}. Se sei già un cliente, <a href='{4}' target='_blank'> accedi al tuo account </a> per esaminare i prezzi di rinnovo disponibili.",
"HowDoIRenewMyLicense": "Come rinnovo la mia licenza?",
@ -185,14 +185,14 @@
"IsSourceCodeIncluded": "La mia licenza include il codice sorgente dei moduli e dei temi commerciali?",
"IsSourceCodeIncludedExplanation1": "Dipende dal tipo di licenza che hai acquistato:",
"IsSourceCodeIncludedExplanation2": "<strong> Team </strong>: la soluzione utilizza i moduli e i temi come pacchetti NuGet e NPM. Non include il loro codice sorgente. In questo modo, puoi aggiornare facilmente questi moduli e temi ogni volta che è disponibile una nuova versione. Tuttavia, non è possibile ottenere il codice sorgente dei moduli e dei temi.",
"IsSourceCodeIncludedExplanation3": "<strong> Business / Enterprise </strong>: oltre alla licenza Team, puoi scaricare il codice sorgente di qualsiasi modulo o tema di cui hai bisogno. È anche possibile rimuovere i riferimenti al pacchetto NuGet / NPM per un particolare modulo e aggiungere il relativo codice sorgente direttamente alla soluzione per modificarlo completamente.",
"IsSourceCodeIncludedExplanation4": "<p> Includere il codice sorgente di un modulo nella tua soluzione ti dà la massima libertà di personalizzare quel modulo. Tuttavia, non sarà possibile aggiornare automaticamente il modulo quando viene rilasciata una nuova versione. </p> <p> Nessuna delle licenze include il codice sorgente di ABP Suite, che è uno strumento esterno che genera codice per te e assiste al tuo sviluppo. </p> <p> Vedi <a href=\"{0}\"> la pagina dei prezzi </a> per altre differenze tra i tipi di licenza. </p>",
"IsSourceCodeIncludedExplanation3": "<strong> Business/Enterprise </strong>: in aggiunta alla licenza Team, puoi scaricare il codice sorgente di qualsiasi modulo o tema di cui hai bisogno. È anche possibile rimuovere i riferimenti al pacchetto NuGet/NPM per un particolare modulo e aggiungere il relativo codice sorgente direttamente alla soluzione per modificarlo completamente.",
"IsSourceCodeIncludedExplanation4": "<p> Includere il codice sorgente di un modulo nella tua soluzione ti dà la massima libertà di personalizzare quel modulo. Tuttavia, non sarà possibile aggiornare automaticamente il modulo quando viene rilasciata una nuova versione.</p><p> Nessuna delle licenze include il codice sorgente di ABP Suite, che è uno strumento esterno che genera codice per te e assiste al tuo sviluppo.</p><p> Vedi <a href=\"{0}\"> la pagina dei prezzi </a> per altre differenze tra i tipi di licenza.</p>",
"ChangingDevelopers": "Posso cambiare gli sviluppatori registrati della mia organizzazione in futuro?",
"ChangingDevelopersExplanation": "Oltre ad aggiungere nuovi sviluppatori alla tua licenza, puoi anche modificare gli sviluppatori esistenti (puoi rimuovere uno sviluppatore e aggiungerne uno nuovo alla stessa postazione) senza alcun costo aggiuntivo.",
"ChangingDevelopersExplanation": "Oltre ad aggiungere nuovi sviluppatori alla tua licenza, puoi anche Modifica gli sviluppatori esistenti (puoi rimuovere uno sviluppatore e aggiungerne uno nuovo alla stessa postazione) senza alcun costo aggiuntivo.",
"WhatHappensWhenLicenseEnds": "Cosa succede al termine del periodo di licenza?",
"WhatHappensWhenLicenseEndsExplanation1": "Il tipo di licenza commerciale ABP è <a href=\"{0}\" target=\"_blank\"> licenza perpetua </a>. Dopo la scadenza della licenza, puoi continuare a sviluppare il tuo progetto. E non sei obbligato a rinnovare la tua licenza. La tua licenza viene fornita con un anno di aggiornamenti e piano di supporto pronto all'uso. Per continuare a ricevere nuove funzionalità, miglioramenti delle prestazioni, correzioni di bug, supporto e continuare a utilizzare ABP Suite, assicurati di rinnovare il tuo piano ogni anno. Quando la tua licenza scade, non sarai in grado di ottenere più dei seguenti vantaggi;",
"WhatHappensWhenLicenseEndsExplanation1": "Il tipo di licenza ABP Commercial è <a href=\"{0}\" target=\"_blank\"> licenza perpetua </a>. Dopo la scadenza della licenza, puoi continuare a sviluppare il tuo progetto. E non sei obbligato a rinnovare la tua licenza. La tua licenza viene fornita con un anno di aggiornamenti e piano di supporto pronto all'uso. Per continuare a ricevere nuove funzionalità, miglioramenti delle prestazioni, correzioni di bug, supporto e continuare a utilizzare ABP Suite, assicurati di rinnovare il tuo piano ogni anno. Quando la tua licenza scade, non sarai in grado di ottenere più dei seguenti vantaggi;",
"WhatHappensWhenLicenseEndsExplanation2": "Non è possibile creare nuove soluzioni utilizzando ABP Commercial, ma è possibile continuare a sviluppare le applicazioni esistenti per sempre.",
"WhatHappensWhenLicenseEndsExplanation3": "Sarai in grado di ottenere aggiornamenti per i moduli e i temi nella tua versione MAJOR. Per esempio; se stai usando la v3.2.0 di un modulo, puoi comunque ottenere gli aggiornamenti per la v3.x.x (v3.3.0, v3.5.2 ... ecc.) di quel modulo. Ma non puoi ottenere aggiornamenti per la prossima versione principale (come v4.x, v5.x)",
"WhatHappensWhenLicenseEndsExplanation3": "Sarai in grado di ottenere aggiornamenti per i moduli e i temi nella tua versione MAJOR. Per esempio; se stai usando la v3.2.0 di un modulo, puoi comunque ottenere gli aggiornamenti per la v3.x.x (v3.3.0, v3.5.2... ecc.) di quel modulo. Ma non puoi ottenere aggiornamenti per la prossima versione principale (come v4.x, v5.x)",
"WhatHappensWhenLicenseEndsExplanation4": "Non è possibile installare nuovi moduli e temi aggiunti alla piattaforma ABP Commercial al termine della licenza.",
"WhatHappensWhenLicenseEndsExplanation5": "Non è possibile utilizzare ABP Suite.",
"WhatHappensWhenLicenseEndsExplanation6": "Non puoi più ottenere l '<a href=\"{0}\"> assistenza premium </a>.",
@ -203,7 +203,7 @@
"TrialPlan": "Hai un piano di prova?",
"TrialPlanExplanation": "Per ora, ABP Commercial non ha un piano di prova. Per le licenze Team forniamo una garanzia di rimborso di 30 giorni. Puoi richiedere un rimborso solo nei primi 30 giorni. Per le licenze Business ed Enterprise, forniamo un rimborso del 60% in 30 giorni. Questo perché le licenze Business ed Enterprise includono il codice sorgente completo di tutti i moduli e i temi.",
"DoYouAcceptBankWireTransfer": "Accettate bonifici bancari?",
"DoYouAcceptBankWireTransferExplanation": "Sì, accettiamo bonifico bancario. <br /> Dopo aver inviato l'importo della licenza tramite bonifico bancario, inviaci la ricevuta e il tipo di licenza richiesto tramite e-mail. <br /> Informazioni sul nostro conto bancario internazionale:",
"DoYouAcceptBankWireTransferExplanation": "Sì, accettiamo bonifico bancario.<br/> Dopo aver inviato l'importo della licenza tramite bonifico bancario, inviaci la ricevuta e il tipo di licenza richiesto tramite e-mail.<br/> Informazioni sul nostro conto bancario internazionale:",
"HowToUpgrade": "Come aggiornare le applicazioni esistenti quando è disponibile una nuova versione?",
"HowToUpgradeExplanation1": "Quando crei una nuova applicazione utilizzando ABP Commercial, tutti i moduli e il tema vengono utilizzati come pacchetti NuGet e NPM. Quindi, puoi facilmente aggiornare i pacchetti quando è disponibile una nuova versione.",
"HowToUpgradeExplanation2": "Oltre agli aggiornamenti NuGet / NPM standard, <a href=\"{0}\"> ABP CLI </a> fornisce un comando di aggiornamento che trova e aggiorna automaticamente tutti i pacchetti relativi a ABP nella soluzione.",
@ -230,24 +230,24 @@
"HowCanIRefundVatExplanation2": "Accedi al tuo account <a href=\"https://secure.2checkout.com/cpanel/login.php\" target=\"_blank\"> 2Checkout </a>",
"HowCanIRefundVatExplanation3": "Trova l'ordine appropriato e premi \"Rimborsa IVA tardiva\" (inserisci il tuo numero di partita IVA)",
"HowCanIGetMyInvoice": "Come posso ricevere la mia fattura?",
"HowCanIGetMyInvoiceExplanation": "Esistono 2 gateway di pagamento per l'acquisto di una licenza: PayU e 2Checkout. Se acquisti la tua licenza tramite il gateway 2Checkout, invia la fattura in PDF al tuo indirizzo e-mail, vedi <a href = \"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do -invoices-work \"> Fatturazione 2Checkout. </a> Se acquisti tramite il gateway PayU o tramite bonifico bancario, prepareremo e invieremo la tua fattura. Puoi richiedere la fattura dalla <a href=\"{0}\"> pagina di gestione dell'organizzazione. </a>",
"HowCanIGetMyInvoiceExplanation": "Esistono 2 gateway di pagamento per l'acquisto di una licenza: PayU e 2Checkout. Se acquisti la tua licenza tramite il gateway 2Checkout, invia la fattura in PDF al tuo indirizzo e-mail, vedi <a href=\"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do-invoices-work\"> Fatturazione 2Checkout.</a> Se acquisti tramite il gateway PayU o tramite bonifico bancario, prepareremo e invieremo la tua fattura. Puoi richiedere la fattura dalla <a href=\"{0}\"> pagina di gestione dell'organizzazione.</a>",
"Forum": "Forum",
"SupportExplanation": "Le licenze commerciali di ABP forniscono un supporto forum premium da parte di un team composto dagli esperti di ABP Framework.",
"PrivateTicket": "Biglietto privato",
"PrivateTicket": "Ticket privato",
"PrivateTicketExplanation": "Enterprise License include anche un supporto privato con e-mail e sistema di ticket.",
"AbpSuiteExplanation1": "ABP Suite ti consente di creare pagine web in pochi minuti. È uno strumento .NET Core Global che può essere installato dalla riga di comando.",
"AbpSuiteExplanation2": "Può creare una nuova soluzione ABP, generare pagine CRUD dal database al front-end. Per una panoramica tecnica, vedere <a href=\"{0}\"> il documento </a>",
"FastEasy": "Veloce e facile",
"AbpSuiteExplanation3": "ABP Suite ti consente di creare facilmente pagine CRUD. Devi solo definire la tua entità e le sue proprietà, lascia che il resto sia ABP Suite per te! ABP Suite genera tutto il codice necessario per la tua pagina CRUD in pochi secondi. Supporta le interfacce utente Angular, MVC e Blazor.",
"RichOptions": "Opzioni ricche",
"AbpSuiteExplanation4": "ABP Suite supporta più opzioni dell'interfaccia utente come <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\"> Razor Pages </a> e <a href = \"https: / /angular.io\">Angular </a>. Supporta anche più database come <a href=\"https://www.mongodb.com\"> MongoDB </a> e tutti i database supportati da <strong> EntityFramework Core < / strong> (MS SQL Server, Oracle, MySql, PostgreSQL e <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli\"> altro </a>).",
"AbpSuiteExplanation4": "ABP Suite supporta più opzioni dell'interfaccia utente come <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\"> Razor Pages </a> e <a href=\"https://angular.io\">Angular </a>. Supporta anche più database come <a href=\"https://www.mongodb.com\"> MongoDB </a> e tutti i database supportati da <strong> EntityFramework Core < / strong> (MS SQL Server, Oracle, MySql, PostgreSQL e <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli\"> altro </a>).",
"AbpSuiteExplanation5": "La cosa buona è che non devi preoccuparti di quelle opzioni. ABP Suite comprende il tipo di progetto e genera il codice per il progetto e inserisce il codice generato nella posizione corretta nel progetto.",
"SourceCode": "Codice sorgente",
"AbpSuiteExplanation6": "ABP Suite genera il codice sorgente per te! Non genera file magici per generare la pagina web. ABP Suite genera il codice sorgente per <strong> Entity, Repository, Application Service, Code First Migration, JavaScript / TypeScript e CSHTML / HTML </strong> e anche le interfacce necessarie. ABP Suite genera anche il codice in base alle <strong> Best Practices </strong> di sviluppo software, quindi non devi preoccuparti della qualità del codice generato.",
"AbpSuiteExplanation7": "Dal momento che hai il codice sorgente dei blocchi costitutivi della pagina CRUD generata nei livelli di applicazione corretti, puoi facilmente modificare il codice sorgente e inserire la tua logica personalizzata / aziendale nel codice generato.",
"AbpSuiteExplanation7": "Dal momento che hai il codice sorgente dei blocchi costitutivi della pagina CRUD generata nei livelli di applicazione corretti, puoi facilmente Modifica il codice sorgente e inserire la tua logica personalizzata/aziendale nel codice generato.",
"CrossPlatform": "Piattaforma multipla",
"AbpSuiteExplanation8": "ABP Suite è costruito con .NET Core ed è multipiattaforma. Funziona come un'applicazione web sul tuo computer locale. Puoi eseguirlo su <strong> Windows </strong>, <strong> Mac </strong> e <strong> Linux </strong>",
"OtherFeatures": "Altre caratteristiche",
"AbpSuiteExplanation8": "ABP Suite è costruito con .NET Core ed è multipiattaforma. E` un'applicazione web sul tuo computer locale. Puoi eseguirlo su <strong>Windows</strong>, <strong> Mac </strong> e <strong>Linux</strong>",
"OtherFeatures": "Altre Funzionalità",
"OtherFeatures1": "Aggiorna facilmente i pacchetti <strong> NuGet </strong> e <strong> NPM </strong> sulla tua soluzione.",
"OtherFeatures2": "Rigenera le pagine già generate da zero.",
"OtherFeatures3": "Crea nuove soluzioni",
@ -255,7 +255,7 @@
"HotToRunSolution": "Come eseguire la tua soluzione?",
"HotToRunSolutionExplanation": "Vedere il documento introduttivo per apprendere come configurare ed eseguire la soluzione.",
"GettingStarted": "Iniziare",
"WebAppDevTutorial": "Tutorial per sviluppatori di app Web",
"WebAppDevTutorial": "Tutorial per sviluppatori di App Web",
"WebAppDevTutorialExplanation": "Vedere il documento tutorial sullo sviluppo di applicazioni Web per un esempio di sviluppo passo passo.",
"Document": "Documento",
"UsingABPSuiteToCURD": "Utilizzo di ABP Suite per la generazione di pagine CRUD e gli strumenti",
@ -264,9 +264,9 @@
"Documentation": "Documentazione",
"SeeModulesDocument": "Vedere il documento dei moduli per un elenco di tutti i moduli commerciali (pro) e dei relativi documenti.",
"Pricing": "Prezzi",
"PricingExplanation": "Scegli le caratteristiche e le funzionalità di cui la tua azienda ha bisogno oggi. Esegui facilmente l'upgrade man mano che la tua attività cresce.",
"Team": "Squadra",
"Business": "Attività commerciale",
"PricingExplanation": "Scegli le Funzionalità e le funzionalità di cui la tua azienda ha bisogno oggi. Esegui facilmente l'upgrade man mano che la tua attività cresce.",
"Team": "Team",
"Business": "Business",
"Enterprise": "Enterprise",
"Custom": "Personalizzato",
"IncludedDeveloperLicenses": "Licenze per sviluppatori incluse",
@ -285,12 +285,79 @@
"UnlimitedServerDeployment": "Distribuzione illimitata del server",
"YearUpgrade": "1 anno di aggiornamento",
"YearPremiumForumSupport": "1 anno di supporto forum premium",
"ForumSupportIncidentCountYear": "Conteggio degli incidenti di supporto del forum / anno",
"ForumSupportIncidentCountYear": "Conteggio delle richieste di supporto del forum/anno",
"PrivateTicketEmailSupport": "Ticket privato e supporto via e-mail",
"BuyNow": "Acquista ora",
"PayViaAmexCard": "Come posso pagare tramite la mia carta AMEX?",
"PayViaAmexCardDescription": "Il gateway di pagamento predefinito \"Iyzico\" potrebbe rifiutare alcune carte di credito AMEX a causa delle misure di sicurezza. In questo caso, puoi pagare tramite il gateway di pagamento alternativo \"2Checkout\".",
"ThankYou": "Grazie",
"InvalidReCaptchaErrorMessage": "Si è verificato un errore durante la verifica di reCAPTCHA. Per favore riprova."
"InvalidReCaptchaErrorMessage": "Si è verificato un errore durante la verifica di reCAPTCHA. Per favore riprova.",
"CompanyName": "Nome Azienda",
"YourCompanyName": "Il nome della tua azienda",
"FirstName": "Nome",
"LastName": "Cognome",
"Optional": "Facoltativo",
"YourFirstName": "Il tuo nome",
"YourLastName": "Il tuo cognome",
"SpecialOffer": "Offerta Speciale",
"SpecialOfferMessage": "Fai presto! I prezzi sono validi per un periodo limitato.",
"DiscountRequest": "Richiesta Sconto",
"DiscountRequestDescribeCustomerQuestion": "Quale delle seguenti ti descrive?",
"DiscountRequestStudentEmailMessage": "L'indirizzo email deve contenere 'edu'.",
"DiscountRequestDeveloperCount": "Quanti sviluppatori ci sono?",
"DiscountRequestDeveloperCountExceedMessage": "Non concediamo sconti per le aziende con più di {0} sviluppatori.",
"DiscountRequestOrganizationName": "Nome Azienda/Organizzazione/Istituto Scolastico",
"Website": "Sito web",
"GithubUsername": "Nome utente GitHub",
"PhoneNumber": "Numero Telefono",
"Country": "Nazione",
"DescribeABPCommercialUsage": "Descrivi il progetto che stai pianificando di sviluppare su ABP Commercial",
"DiscountRequestCertifyInformationMessage": "Dichiaro che tutte le informazioni fornite corrispondono al vero e sono corrette",
"DiscountRequestReceived": "Abbiamo ricevuto la tua richiesta di sconto.",
"DiscountRequestStatusMessage": "Risponderemo dopo aver verificato le informazioni fornite.",
"MVCOrRazorPages": "MVC (Razor Pages)",
"Angular": "Angular",
"Blazor": "Blazor",
"New": "Nuovo",
"MongoDB": "MongoDB",
"EBookDDD": "E-Book Domain Driven Design",
"PracticalGuideForImplementingDDD": "Questo libro è una guida pratica per implementare il Domain Driven Design con ABP Framework.",
"IntroducingDDD": "Introduzione al Domain Driven Design",
"DDDLayersAndCleanArchitecture": "DDD Strati e Architettura Pulita",
"LayeringOfADotnetSolution": "Stratificazione di una Soluzione .NET",
"ImplementingDDDBuildingBlocks": "Implementazione delle Fondamenta del DDD",
"DomainVsApplicationLogic": "Logica di Dominio contro Logica Applicazione",
"SamplesAndDiscussions": "Esempi e Discussioni",
"Free": "Gratuito",
"Download": "Download",
"DDDEBook": "DDD E-book",
"ImplementingDDD": "Implementazione Domain Driven Design",
"DDDBookExplanation": "Una guida pratica per implementare il Domain Driven Design con ABP Framework.",
"Overview": "Panoramica",
"DDDBookPracticalGuide": "Questa a una guida pratica per implementare Domain Driven Design (DDD). Mentre i dettagli per l'implementazione sono basati sull'infrastruttura di ABP Framework, i concetti base, principi e modelli possono essere applicati a qualsiasi soluzione, anche se non è una soluzione .NET.",
"TableOfContents": "Sommario",
"IntroductionToImplementingDDD": "Introduzione all'Implementazione Domain Driven Design",
"WhatIsDDD": "Cos'è il Domain Driven Design?",
"Implementation": "Implementazione",
"TheBigPicture": "Il Quadro Generale",
"TheBuildingBlock": "Le Fondamenta",
"ExampleUseCase": "Esempio d'uso",
"DomainAndApplicationLogic": "Logica di Dominio e Logica Applicazione",
"Author": "Autore",
"PublishedOn": "Pubblicato il",
"Page": "Pagina",
"FreeEBook": "E-Book Gratuito",
"EBookSignInForDownload": "Accedi per scaricare l'e-book",
"SignIn": "Accedi",
"Or": "O",
"TellUsAboutYourself": "Dicci qualcosa di te",
"Surname": "Cognome",
"DoYouAgreePrivacyPolicy": "Acconsento ai <a href=\"/TermsConditions\">Termini e Condizioni<a/> ed alla <a href=\"/Privacy\">Politica Privacy</a>.",
"VolosoftMarketingInformationMessage": "Vorrei informazioni, suggerimenti e offerte sulle Soluzioni per Aziende e Organizzazioni e altri prodotti e servizi Volosoft",
"VolosoftSharingInformationMessage": "Vorrei che Volosoft condividesse le mie informazioni con partner selezionati in modo da poter ricevere informazioni rilevanti sui loro prodotti e servizi",
"WeWillSendYouADownloadLink": "Un link per scaricare il libro e-book è stato spedito a {0}.<br/> Controlla nella posta in arrivo / indesiderata / spam!",
"InvalidFormInputs": "Per favore, digita le informazioni valide specificate nel modulo",
"DDDBookEmailBody": "Grazie. <br /> Per scaricare il tuo libro, <a href=\"{0}\">clicca qui</a>.",
"FreeDDDEBook": "E-Book Gratuito DDD"
}
}

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

@ -0,0 +1,296 @@
{
"culture": "sk",
"texts": {
"OrganizationManagement": "Správa organizácii",
"OrganizationList": "Zoznam organizácií",
"Volo.AbpIo.Commercial:010003": "Nie ste vlastníkom tejto organizácie!",
"OrganizationNotFoundMessage": "Nenašla sa žiadna organizácia!",
"DeveloperCount": "Pridelené / celkový počet vývojárov",
"QuestionCount": "Zostávajúce / všetky otázky",
"Unlimited": "Neobmedzené",
"Owners": "Vlastníci",
"AddMember": "Pridať člena",
"AddOwner": "Pridať vlastníka",
"AddDeveloper": "Pridať vývojára",
"UserName": "Používateľské meno",
"Name": "Názov",
"EmailAddress": "Emailová adresa",
"Developers": "Vývojári",
"LicenseType": "Typ licencie",
"Manage": "Spravovať",
"StartDate": "Dátum začiatku",
"EndDate": "Dátum ukončenia",
"Modules": "Moduly",
"LicenseExtendMessage": "Koniec platnosti vašej licencie je predĺžený do {0}.",
"LicenseUpgradeMessage": "Vaša licencia je aktualizovaná na {0}",
"LicenseAddDeveloperMessage": "{0} vývojári boli pridaní do vašej licencie",
"Volo.AbpIo.Commercial:010004": "Nie je možné nájsť zadaného používateľa! Používateľ musí už byť zaregistrovaný.",
"MyOrganizations": "Moje organizácie",
"ApiKey": "API kľúč",
"UserNameNotFound": "Neexistuje žiadny používateľ s používateľským menom {0}",
"SuccessfullyAddedToNewsletter": "Ďakujeme, že ste sa prihlásili na odber nášho newslettera!",
"MyProfile": "Môj profil",
"EmailNotValid": "Zadajte platnú emailovú adresu.",
"JoinOurMarketingNewsletter": "Prihláste sa na odber reklamného newslettra",
"WouldLikeToReceiveMarketingMaterials": "Chcem dostávať reklamné materiály, ponuky produktov a špeciálne ponuky.",
"StartUsingYourLicenseNow": "Teraz začnite používať svoju licenciu!",
"WelcomePage": "Uvítacia stránka",
"UnsubscriptionExpireEmail": "Odhlásenie z odberu emailov informujúcich o dátume vypršania platnosti licencie",
"UnsubscribeLicenseExpireEmailReminderMessage": "Tento email obsahuje iba pripomenutie dátumu vypršania platnosti vašej licencie.",
"UnsubscribeFromLicenseExpireEmails": "Ak nechcete dostávať emaily o dátume vypršania platnosti vašej licencie, môžete sa kedykoľvek odhlásiť.",
"Unsubscribe": "Odhlásiť",
"NotOrganizationMember": "Nie ste členom žiadnej organizácie.",
"UnsubscribeLicenseExpirationEmailSuccessTitle": "Úspešne odhlásené",
"UnsubscribeLicenseExpirationEmailSuccessMessage": "Už nebudete dostávať emaily s upozornením na dátum vypršania platnosti licencie.",
"IndexPageHeroSection": "<span class=\"first-line\">Kompletná</span><span class=\"second-line\"> web vývojová platforma</span><span class=\"third-line\">postavená na <img src=\"{0}\" width=\"110\" class=\"ml-1\" /> frameworku</span>",
"AbpCommercialShortDescription": "ABP Commercial poskytuje predpripravené aplikačné moduly, nástroje na rýchly vývoj aplikácií, profesionálne témy používateľského rozhrania, prémiovú podporu a ďalšie.",
"LiveDemo": "Live ukážka",
"GetLicence": "Získajte licenciu",
"Application": "Aplikácia",
"StartupTemplates": "Štartovacie šablóny",
"Startup": "Štart",
"Templates": "Šablóny",
"Developer": "Vývojár",
"Tools": "Nástroje",
"Premium": "Premium",
"PremiumSupport": "Prémiová podpora",
"PremiumForumSupport": "Prémiová podpora na fóre",
"UI": "POUŽÍVATEĽSKÉ ROZHRANIE",
"Themes": "Témy",
"JoinOurNewsletter": "Prihláste sa na odber newslettra",
"Send": "Odoslať",
"Learn": "Učiť sa",
"AdditionalServices": "Ďalšie služby",
"WhatIsABPFramework": "ČO JE FRAMEWORK ABP?",
"OpenSourceBaseFramework": "Základný open source framework ",
"ABPFrameworkExplanation": "<p class=\"lead\">ABP Commercial je založené na ABP frameworku, open source a komunitou riadenom frameworku webových aplikácií pre ASP.NET Core.</p><p>ABP Framework poskytuje vynikajúcu infraštruktúru na písanie udržiavateľného, rozšíriteľného a testovateľného kódu s osvedčenými postupmi.</p><p>Je integrovaný a postavený na populárnych nástrojoch, ktoré už poznáte. Nízka krivka učenia, jednoduché prispôsobenie, pohodlný vývoj.</p>",
"Modular": "Modulárny",
"MicroserviceCompatible": "Kompatibilita s mikroslužbami",
"DomainDrivenDesignInfrastructure": "Domain Driven Design infraštruktúra",
"MultiTenancy": "Multitenacia",
"DistributedMessaging": "Distribuované zasielanie správ",
"DynamicProxying": "Dynamický Proxying",
"BackgroundJobs": "Automatické úlohy na pozadí",
"AuditLogging": "Audit logovanie",
"BLOBStoring": "Ukladanie BLOBov",
"BundlingMinification": "Bundling a minifikácia",
"AdvancedLocalization": "Pokročilá lokalizácia",
"ManyMore": "Mnohé ďalšie",
"ExploreTheABPFramework": "Preskúmajte ABP framework",
"WhyUseTheABPCommercial": "Prečo používať ABP Commercial?",
"WhyUseTheABPCommercialExplanation": "<p class=\"lead mt- 5\">Vybudovanie webových aplikácií podnikovej úrovne môže byť zložité a časovo náročné.</p><p>ABP Commercial ponúka dokonalú základnú infraštruktúru potrebnú pre všetky moderné riešenia ASP.NET Core podnikovej úrovne. Celý vývojový cyklus, od návrhu až po nasadenie, umožňujú integrované funkcie a moduly ABP.</p>",
"StartupTemplatesShortDescription": "Štartovacie šablóny vám umožnia spustiť projekt za niekoľko sekúnd.",
"UIFrameworksOptions": "Možnosti používateľského rozhrania frameworku;",
"DatabaseProviderOptions": "Možnosti poskytovateľov databáz;",
"PreBuiltApplicationModules": "Vopred pripravené aplikačné moduly",
"PreBuiltApplicationModulesShortDescription": "Väčšina bežných aplikačných požiadaviek je už pre vás vyvinutá v podobe znovupoužiteľných modulov.",
"Account": "Účet",
"Blogging": "Blogovanie",
"Identity": "Identity",
"IdentityServer": "Identity Server",
"Saas": "Saas",
"LanguageManagement": "Jazykový manažment",
"TextTemplateManagement": "Správa textových šablón",
"See All Modules": "Pozri všetky moduly",
"ABPSuite": "ABP Suite",
"AbpSuiteShortDescription": "ABP Suite je doplnkový nástroj k uABP Commercial.",
"AbpSuiteExplanation": "Umožňuje vytvárať webové stránky v priebehu niekoľkých minút. Je to globálny nástroj .NET Core, ktorý možno nainštalovať z príkazového riadka. Dokáže vytvoriť nové riešenie ABP, generovať CRUD stránky od databázy až po frontend.",
"Details": "Podrobnosti",
"LeptonTheme": "Lepton téma",
"ProfessionalModernUIThemes": "Profesionálne a moderné témy používateľského rozhrania",
"LeptonThemeExplanation": "Lepton poskytuje škálu Bootstrap admin tém, ktoré slúžia ako základ pre akýkoľvek projekt, kde je vyžadovaný administrátorský panel.",
"DefaultTheme": "Predvolená téma",
"MaterialTheme": "Materiál téma",
"Default2Theme": "Predvolená téma 2",
"DarkTheme": "Tmavá téma",
"DarkBlueTheme": "Tmavomodrá téma",
"LightTheme": "Téma Light",
"ProudToWorkWith": "Hrdo spolupracujeme s",
"OurConsumers": "Na ABP Commercial sa spoliehajú stovky podnikov a vývojárov vo viac ako 50 krajinách sveta.",
"JoinOurConsumers": "Pridajte sa k nim a jednoducho vytvorte úžasné produkty.",
"AdditionalServicesExplanation": "Potrebujete ďalšie alebo vlastné služby? <strong>My a naši partneri vám ich môžeme poskytnúť;</strong>",
"CustomProjectDevelopment": "Vývoj projektu na mieru",
"CustomProjectDevelopmentExplanation": "Špecializovaní vývojári pre vaše vlastné projekty.",
"PortingExistingProjects": "Prenos existujúcich projektov",
"PortingExistingProjectsExplanation": "Migrácia starších projektov do ABP frameworku.",
"LiveSupport": "Live podpora",
"LiveSupportExplanation": "V prípade potreby možnosť Live podpory na diaľku.",
"Training": "Školenie",
"TrainingExplanation": "Školenia určené pre vašich vývojárov.",
"OnBoarding": "Rozbehnutie",
"OnBoardingExplanation": "Pomoc pri nastavovaní vývojárskeho prostredia, CI prostredia a CD prostredia.",
"PrioritizedTechnicalSupport": "Prioritná technická podpora",
"PremiumSupportExplanation": "Popri skvelej podpore od komunity ABP frameworku aj náš tím podpory zodpovedá otázky a rieši problémy komerčných zákazníkov s vysokou prioritou.",
"SeeTheSupportOptions": "Pozrite si možnosti podpory",
"Contact": "Kontakt",
"TellUsWhatYouNeed": "Povedzte nám, čo potrebujete.",
"YourMessage": "Vaša správa",
"YourFullName": "Vaše celé meno",
"EmailField": "Emailová adresa",
"YourEmailAddress": "Vaša emailová adresa",
"HowMayWeHelpYou": "Ako vám môžeme pomôcť?",
"SendMessage": "Odoslať správu",
"Success": "Úspech",
"WeWillReplyYou": "Dostali sme vašu správu a čoskoro vás budeme kontaktovať.",
"GoHome": "Prejsť Domov",
"CreateLiveDemo": "Vytvoriť live ukážku",
"RegisterToTheNewsletter": "Zaregistrujte sa na odber noviniek a dostávajte informácie o ABP.IO, vrátane nových verzií atď.",
"EnterYourEmailOrLogin": "Zadajte svoju emailovú adresu a vytvorte si ukážku alebo sa <a href=\"{0}\">prihláste</a> pomocou svojho existujúceho konta.",
"ApplicationTemplate": "Šablóna žiadosti",
"ApplicationTemplateExplanation": "Štartovacia šablóna aplikácie sa používa na vytvorenie novej webovej aplikácie.",
"EfCoreProvider": "Entity Framework (podporuje SQL Server, MySQL, PostgreSQL, Oracle <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/\">a ďalšie</a>)",
"AlreadyIncludedInTemplateModules": "V tejto šablóne sú už zahrnuté a nakonfigurované nasledujúce moduly:",
"ApplicationTemplateArchitecture": "Táto šablóna aplikácie podporuje aj viacúrovňovú architektúru, v ktorej sú fyzicky oddelené vrstva používateľského rozhrania, vrstva API a služba overovania.",
"SeeTheGuideOrGoToTheLiveDemo": "Technické informácie o tejto šablóne nájdete v príručke pre vývojárov alebo v live ukážke.",
"DeveloperGuide": "Príručka pre vývojárov",
"ModuleTemplate": "Šablóna modulu",
"ModuleTemplateExplanation1": "Chcete vytvoriť modul a opätovne ho použiť v iných aplikáciách? Táto štartovacia šablóna pripraví všetko na vytvorenie opakovane použiteľného <strong>aplikačného modulu</strong> alebo <strong>mikroslužby</strong>.",
"ModuleTemplateExplanation2": "<p>Môžete podporovať jeden alebo viacero používateľských rozhraní frameworku, jedného alebo viacerých poskytovateľov databáz pre jeden modul. Štartovacia šablóna je nakonfigurovaná tak, aby okrem infraštruktúry unit a integračných testov spustila a <strong>testovala váš modul</strong> v minimálnej aplikácii. </p> <p>Technické informácie o tejto šablóne nájdete v príručke pre vývojárov.</p>",
"WithAllStyleOptions": "so všetkými možnosťami štýlov",
"Demo": "Ukážka",
"SeeAllModules": "Pozrite si všetky moduly",
"ABPCLIExplanation": "ABP CLI (Command Line Interface) je nástroj v príkazovom riadku na vykonávanie niektorých bežných operácií v riešeniach založených na ABP.",
"ABPSuiteEasilyCURD": "ABP Suite je nástroj, ktorý vám umožňuje jednoducho vytvárať CRUD stránky.",
"WeAreHereToHelp": "Sme tu, aby sme <span class=\"zero-text\">pomohli</span>",
"BrowseOrAskQuestion": "Môžete si prezerať témy našej nápovedy alebo vyhľadávať v často kladených otázkach, prípadne nám môžete položiť otázku pomocou <a href=\"{0}\" class=\"text-success\">kontaktného formulára</a>.",
"SearchQuestionPlaceholder": "Vyhľadávanie v často kladených otázkach",
"WhatIsTheABPCommercial": "Čo je to ABP Commercial?",
"WhatAreDifferencesThanAbpFramework": "Aké sú rozdiely medzi open source ABP Framework a ABP Commercial?",
"ABPCommercialExplanation": "ABP Commercial je súbor prémiových modulov, nástrojov, tém a služieb postavených na open source <a target=\"_blank\" href=\"{0}\">ABP frameworku</a>. ABP Commercial vyvíja a podporuje ten istý tím, ktorý stojí za ABP frameworkom.",
"WhatAreDifferencesThanABPFrameworkExplanation": "<p> <a target=\"_blank\" href=\"{0}\">ABP framework</a> je modulárny, témovo-upraviteľný, s mikroslužbami kompatibilný framework na vývoj aplikácií pre ASP.NET Core. Poskytuje kompletnú architektúru a silnú infraštruktúru, aby ste sa mohli sústrediť na vlastný biznis kód a nemuseli sa opakovať pri každom novom projekte. Je založený na osvedčených postupoch vývoja softvéru a populárnych nástrojoch, ktoré už poznáte. </p> <p> ABP framework je úplne bezplatný, má otvorený zdrojový kód a je poháňaný komunitou. Poskytuje aj bezplatnú tému a niektoré predpripravené moduly (napr. správu identít a správu tenantov).</p>",
"VisitTheFrameworkVSCommercialDocument": "Pre viac informácií navštívte nasledujúci odkaz <a href=\"{0}\" target=\"_blank\"> {1} </a>",
"ABPCommercialFollowingBenefits": "ABP Commercial má oproti ABP systému nasledujúce výhody;",
"Professional": "Profesionálny",
"UIThemes": "Témy používateľského rozhrania",
"EnterpriseModules": "Podnikovo pripravené, funkčne bohaté, predpripravené <a href=\"{0}\">aplikačné moduly</a> (napr. správa Identity Server, správa SaaS, správa jazykov)",
"ToolingToSupport": "Nástroje na podporu produktivity vášho vývoja (napr. <a href=\"{0}\">ABP Suite</a>)",
"PremiumSupportLink": "Prémiová <a href=\"{0}\" target=\"_blank\">podpora</a>",
"WhatDoIDownloadABPCommercial": "Čo si stiahnem, keď si zakúpim ABP Commercial?",
"CreateUnlimitedSolutions": "Po zakúpení licencie ABP Commercial budete môcť vytvárať neobmedzený počet riešení, ako je popísané v dokumente <a href=\"{0}\">Začíname</a>.",
"ABPCommercialSolutionExplanation": "Pri vytváraní novej aplikácie dostanete riešenie vo Visual Studio (štartovaciu šablónu) na základe vašich preferencií. Stiahnuté riešenie má pre vás už nainštalované a nakonfigurované komerčné moduly a témy. Ak budete chcieť, môžete odstrániť predinštalovaný modul alebo pridať iný modul. Všetky predvolené moduly a témy používajú balíky NuGet/NPM.",
"StartDevelopWithTutorials": "Stiahnuté riešenie je dobre navrhnuté a zdokumentované. Môžete na jeho základe začať vyvíjať vlastný biznis kód podľa <a href=\"{0}\">návodov</a>",
"TryTheCommercialDemo": "Môžete vyskúšať <a href=\"{0}\">demo</a> a pozrieť si ukážku aplikácie vytvorenej pomocou štartovacej šablóny ABP Commercial.",
"HowManyProducts": "Koľko rôznych produktov/riešení môžem vytvoriť pomocou ABP Commercial?",
"HowManyProductsExplanation": "Vytvorenie projektu ABP nie je obmedzené. Môžete vytvoriť toľko projektov, koľko chcete, vyvíjať ich a nahrávať na rôzne servery.",
"HowManyDevelopers": "Koľko vývojárov môže pracovať na ABP Commercial?",
"HowManyDevelopersExplanation": "Licencie ABP Commercial sú jednotkové na vývojára. Rôzne typy licencií majú rôzne limity pre vývojárov. Ktorýkoľvek typ licencie však môžete kedykoľvek rozšíriť o ďalších vývojárov. Informácie o typoch licencií, limitoch pre vývojárov a nákladoch na ďalších vývojárov nájdete na stránke <a href=\"{0}\">ceny</a>.",
"ChangingLicenseType": "Môžem v budúcnosti zmeniť typ licencie?",
"ChangingLicenseTypeExplanation": "Vždy je možné pridať nových vývojárov v rovnakom type licencie. Pozrite si tiež časť \"Koľko vývojárov môže pracovať na ABP Commercial?\". Môžete tiež prejsť na vyššiu licenciu zaplatením vypočítaného cenového rozdielu. Pri prechode na vyšší licenčný plán získate výhody nového plánu, ale prechodom na vyšší licenčný plán sa nezmení dátum platnosti licencie.",
"LicenseExtendUpgradeDiff": "Aký je rozdiel medzi rozšírením a aktualizáciou licencie?",
"LicenseExtendUpgradeDiffExplanation": "<strong>Predĺženie:</strong> Predĺžením/obnovením licencie budete naďalej dostávať prémiovú podporu a hlavné aktualizácie modulov a tém. Okrem toho budete môcť pokračovať vo vytváraní nových projektov, naďalej používať balík ABP Suite, ktorý urýchľuje váš vývoj. <hr/><strong>Podpísanie licencie:</strong> Rozšírením licencie postúpite na vyšší licenčný plán, ktorý vám umožní získať ďalšie výhody. Pozrite si <a href=\"/pricing\">tabuľku porovnania licencií</a> a skontrolujte rozdiely medzi licenčnými plánmi.<strong>Na druhej strane, pri upgrade sa dátum skončenia platnosti vašej licencie nezmení!</strong> Ak chcete predĺžiť dátum skončenia platnosti vašej licencie, musíte si licenciu predĺžiť.",
"LicenseRenewalCost": "Aké sú náklady na obnovenie licencie po 1 roku?",
"LicenseRenewalCostExplanation": "Sadzba za obnovenie (predĺženie) všetkých trvalých licencií ABP Commercial je {0} z cenníkovej ceny licencie. Cena za obnovenie štandardnej tímovej licencie je {1} USD, štandardnej obchodnej licencie je {2} USD a štandardnej podnikovej licencie je {3} USD. Ak už ste zákazníkom, <a href='{4}' target='_blank'>prihláste sa do svojho konta</a> a prezrite si dostupné ceny za obnovenie.",
"HowDoIRenewMyLicense": "Ako si môžem obnoviť licenciu?",
"HowDoIRenewMyLicenseExplanation": "Svoju licenciu môžete obnoviť tak, že prejdete na stránku <a href='{0}' target='_blank'> správa organizície</a>. Ak chcete využiť naše zľavnené ceny za predčasné obnovenie, uistite sa, že ste licenciu obnovili pred uplynutím jej platnosti. Netrápte sa však tým, že neviete, kedy sa vaša možnosť predčasného obnovenia skončí. Pred vypršaním platnosti predplatného dostanete 2 e-maily s pripomienkami. Budeme ich posielať o 30 dní, teda 7 dní pred vypršaním platnosti.",
"IsSourceCodeIncluded": "Zahŕňa moja licencia zdrojový kód komerčných modulov a tém?",
"IsSourceCodeIncludedExplanation1": "Závisí od typu zakúpenej licencie:",
"IsSourceCodeIncludedExplanation2": "<strong>Tím</strong>: Vaše riešenie používa moduly a témy ako balíky NuGet a NPM. Neobsahuje ich zdrojový kód. Týmto spôsobom môžete tieto moduly a témy ľahko aktualizovať vždy, keď je k dispozícii nová verzia. Nemôžete však získať zdrojový kód modulov a tém.",
"IsSourceCodeIncludedExplanation3": "<strong>Business/Enterprise</strong>: Okrem tímovej licencie si môžete stiahnuť zdrojový kód akéhokoľvek modulu alebo témy, ktorú potrebujete. Môžete dokonca odstrániť odkazy na balíky NuGet/NPM pre konkrétny modul a pridať jeho zdrojový kód priamo do svojho riešenia a úplne ho zmeniť.",
"IsSourceCodeIncludedExplanation4": "<p>Začlenenie zdrojového kódu modulu do vášho riešenia vám dáva maximálnu slobodu prispôsobenia tohto modulu. Potom však nebude možné automaticky aktualizovať modul pri vydaní novej verzie.</p><p>Žiadna z licencií nezahŕňa zdrojový kód balíka ABP Suite, čo je externý nástroj, ktorý pre vás generuje kód a pomáha pri vývoji.</p><p>Dalšie rozdiely medzi jednotlivými typmi licencií nájdete na <a href=\"{0}\">stránke o cenách</a>.</p>",
"ChangingDevelopers": "Môžem v budúcnosti zmeniť registrovaných vývojárov svojej organizácie?",
"ChangingDevelopersExplanation": "Okrem pridávania nových vývojárov do licencie môžete tiež meniť existujúcich vývojárov (môžete odstrániť vývojára a pridať nového na to isté miesto) bez akýchkoľvek ďalších nákladov.",
"WhatHappensWhenLicenseEnds": "Čo sa stane po skončení platnosti licencie?",
"WhatHappensWhenLicenseEndsExplanation1": "Typ komerčnej licencie ABP je <a href=\"{0}\" target=\"_blank\">trvalá licencia</a>. Po uplynutí platnosti licencie môžete pokračovať vo vývoji svojho projektu. A nie ste povinní obnoviť svoju licenciu. Vaša licencia sa dodáva s ročným plánom aktualizácií a podpory už v balení. Ak chcete aj naďalej dostávať nové funkcie, vylepšenia výkonu, opravy chýb, podporu a pokračovať v používaní balíka ABP Suite, nezabudnite si plán každý rok obnoviť. Po skončení platnosti vašej licencie nebudete môcť získať ďalšie z nasledujúcich výhod;",
"WhatHappensWhenLicenseEndsExplanation2": "Pomocou ABP Commercial nemôžete vytvárať nové riešenia, ale navždy môžete pokračovať vo vývoji existujúcich aplikácií.",
"WhatHappensWhenLicenseEndsExplanation3": "Budete môcť získať aktualizácie modulov a tém v rámci vašej hlavnej verzie. Ak napríklad používate modul vo verzii 3.2.0, stále môžete získať aktualizácie pre verziu 3.x.x (v3.3.0, v3.5.2... atď.) tohto modulu. Nemôžete však získať aktualizácie pre ďalšiu hlavnú verziu (napr. v4.x, v5.x).",
"WhatHappensWhenLicenseEndsExplanation4": "Po skončení platnosti vašej licencie nemôžete inštalovať nové moduly a témy pridané do platformy ABP Commercial.",
"WhatHappensWhenLicenseEndsExplanation5": "Balík ABP Suite nemôžete používať.",
"WhatHappensWhenLicenseEndsExplanation6": "Už nemôžete získať <a href=\"{0}\">prémiovú podporu</a>.",
"WhatHappensWhenLicenseEndsExplanation7": "Ak chcete tieto výhody využívať aj naďalej, môžete si predplatné obnoviť. Pri obnovení predplatného sa poskytuje 20 % zľava.",
"WhenShouldIRenewMyLicense": "Kedy si mám obnoviť licenciu?",
"WhenShouldIRenewMyLicenseExplanation1": "Ak si licenciu obnovíte do <strong>1 mesiaca</strong> po vypršaní platnosti licencie, na celkovú cenu licencie bude uplatnená zľava 20%.",
"WhenShouldIRenewMyLicenseExplanation2": "Ak obnovíte licenciu po uplynutí 1 mesiaca od dátumu vypršania platnosti licencie, cena za obnovenie bude rovnaká ako cena za nákup licencie a na obnovenie nebude poskytnutá žiadna zľava.",
"TrialPlan": "Máte skúšobný plán?",
"TrialPlanExplanation": "Spoločnosť ABP Commercial zatiaľ nemá skúšobný plán. Pre tímové licencie poskytujeme 30-dňovú záruku vrátenia peňazí. Stačí požiadať o vrátenie peňazí počas prvých 30 dní. V prípade licencií Business a Enterprise poskytujeme 60% vrátenie peňazí do 30 dní. Je to preto, že licencie Business a Enterprise obsahujú úplný zdrojový kód všetkých modulov a tém.",
"DoYouAcceptBankWireTransfer": "Prijímate bankový prevod?",
"DoYouAcceptBankWireTransferExplanation": "Áno, akceptujeme bankový prevod.<br />Po zaslaní sumy za licenciu bankovým prevodom nám pošlite potvrdenie a požadovaný typ licencie e-mailom.<br />Naše informácie o medzinárodnom bankovom účte:",
"HowToUpgrade": "Ako aktualizovať existujúce aplikácie, keď je k dispozícii nová verzia?",
"HowToUpgradeExplanation1": "Pri vytváraní novej aplikácie pomocou ABP Commercial sa všetky moduly a téma použijú ako balíky NuGet a NPM. Balíky teda môžete ľahko aktualizovať, keď je k dispozícii nová verzia.",
"HowToUpgradeExplanation2": "Okrem štandardných aktualizácií NuGet/NPM poskytuje <a href=\"{0}\">ABP CLI</a> príkaz update, ktorý automaticky nájde a aktualizuje všetky balíky súvisiace s ABP vo vašom riešení.",
"DatabaseSupport": "Ktoré databázové systémy sú podporované?",
"DatabaseSupportExplanation": "Samotný ABP Framework je databázovo agnostický a môže pracovať s akýmkoľvek poskytovateľom databázy. Zoznam aktuálne implementovaných poskytovateľov nájdete v <a href=\"{0}\" target=\"_blank\">dokumente o prístupe k údajom</a>.",
"UISupport": "Ktoré používateľské rozhrania frameworku sú podporované?",
"Supported": "Podporované",
"UISupportExplanation": "Samotný ABP framework je agnostický a môže pracovať s akýmkoľvek UI frameworkom. Štartovacie šablóny, moduly používateľského rozhrania a témy však neboli implementované pre všetky UI frameworky. Aktuálny zoznam možností používateľského rozhrania nájdete v <a href=\"{0}\">dokumente Začíname</a>.",
"MicroserviceSupport": "Podporuje architektúru mikroslužieb?",
"MicroserviceSupportExplanation1": "Jedným z hlavných cieľov ABP frameworku je poskytnúť vhodnú infraštruktúru na vytváranie riešení mikroslužieb. Na lepšie pochopenie si pozrite dokument <a href=\"{0}\">architektúra mikroslužieb</a>.",
"MicroserviceSupportExplanation2": "Všetky komerčné moduly ABP sú navrhnuté tak, aby podporovali scenáre nasadenia mikroslužieb (s vlastnou API a databázou) podľa dokumentu <a href=\"{0}\">Osvedčené postupy vývoja modulov</a>.",
"MicroserviceSupportExplanation3": "Poskytujeme vzorové <a href=\"{0}\">micro-service demo riešenie</a>, ktoré demonštruje implementáciu architektúry mikroslužby a pomôže vám vytvoriť vlastné riešenie.",
"MicroserviceSupportExplanation4": "Krátka odpoveď teda znie \"<strong>áno, podporuje architektúru mikroslužieb</strong>\".",
"MicroserviceSupportExplanation5": "Riešenie je systém mikroslužieb a každé riešenie má iné požiadavky, sieťovú topológiu, komunikačné scenáre, možnosti autentifikácie, databázové rozdelenia/zdieľanie databáz, runtime konfigurácie, integrácie systémov tretích strán a mnohé ďalšie.",
"MicroserviceSupportExplanation6": "ABP Framework a ABP Commercial poskytujú infraštruktúru pre scenáre mikroslužieb, moduly kompatibilné s mikroslužbami, vzorky a dokumentáciu, ktoré vám pomôžu vytvoriť vlastné riešenie. Neočakávajte však, že si priamo stiahnete svoje vysnívané riešenie, ktoré je pre vás vopred zostavené. Budete mu musieť porozumieť a spojiť niektoré časti na základe vašich požiadaviek.",
"WhereCanIDownloadSourceCode": "Kde si môžem stiahnuť zdrojový kód?",
"WhereCanIDownloadSourceCodeExplanation": "Zdrojový kód všetkých modulov ABP, balíkov Angular a tém si môžete stiahnuť prostredníctvom balíka ABP Suite alebo ABP CLI. Pozrite si <a href=\"{0}\">Ako stiahnuť zdrojový kód?</a>",
"ComputerLimitation": "Koľko počítačov môže vývojár prihlásiť pri vývoji ABP?",
"ComputerLimitationExplanation": "Osobitne povoľujeme <strong>{0} počítačov</strong> na jednotlivca/licencovaného vývojára. Vždy, keď je potrebné, aby vývojár vyvíjal komerčné ABP produkty na treťom počítači, je potrebné poslať e-mail na adresu license@abp.io s vysvetlením situácie a my potom vykonáme príslušné pridelenie v našom systéme.",
"RefundPolicy": "Máte podmienky vrátenia peňazí?",
"RefundPolicyExplanation": "O vrátenie peňazí môžete požiadať do <strong>30 dní</strong> od zakúpenia licencie. Typy licencií Business a Enterprise majú možnosť stiahnutia zdrojového kódu, preto nie je možné vrátiť peniaze za licencie Business a Enterprise (a všetky licencie, ktoré zahŕňajú právo na získanie zdrojového kódu). Okrem toho sa nevracajú peniaze za obnovenie a druhý nákup licencie.",
"HowCanIRefundVat": "Ako môžem vrátiť DPH?",
"HowCanIRefundVatExplanation1": "Ak ste platbu uskutočnili prostredníctvom služby 2Checkout, DPH môžete vrátiť prostredníctvom svojho účtu 2Checkout:",
"HowCanIRefundVatExplanation2": "Prihláste sa do svojho účtu <a href=\"https://secure.2checkout.com/cpanel/login.php\" target=\"_blank\">2Checkout</a>",
"HowCanIRefundVatExplanation3": "Vyhľadajte príslušnú objednávku a stlačte tlačidlo \"Vrátiť oneskorenú DPH\" (zadajte svoje IČ DPH).",
"HowCanIGetMyInvoice": "Ako môžem získať faktúru?",
"HowCanIGetMyInvoiceExplanation": "Na zakúpenie licencie sú k dispozícii 2 platobné brány: PayU a 2Checkout. Ak si zakúpite licenciu prostredníctvom brány 2Checkout, odošle vám faktúru vo formáte PDF na vašu e-mailovú adresu, pozrite si <a href=\"https://knowledgecenter.2checkout.com/Documentation/03Billing-and-payments/Payment-operations/How-do-invoices-work\">fakturovanie cez 2Checkout.</a> Ak si zakúpite licenciu prostredníctvom brány PayU alebo bankovým prevodom, pripravíme a pošleme vám faktúru. O faktúru môžete požiadať na stránke <a href=\"{0}\">správy organizácie.</a>",
"Forum": "Fórum",
"SupportExplanation": "Komerčné ABP licencie poskytujú prémiovú podporu fóra zloženú z tímu odborníkov na ABP Framework.",
"PrivateTicket": "Privátny ticket",
"PrivateTicketExplanation": "Licencia Enterprise zahŕňa aj súkromnú podporu e-mailom a ticket systém.",
"AbpSuiteExplanation1": "Sada ABP Suite umožňuje vytvárať webové stránky v priebehu niekoľkých minút. Je to globálny nástroj .NET Core, ktorý možno nainštalovať z príkazového riadka.",
"AbpSuiteExplanation2": "Môže vytvoriť nové riešenie ABP, generovať stránky CRUD z databázy do front-endu. Technický prehľad nájdete v <a href=\"{0}\">dokumente</a>",
"FastEasy": "Rýchlo & jednoducho",
"AbpSuiteExplanation3": "Sada ABP Suite umožňuje jednoducho vytvárať CRUD stránky. Stačí definovať vašu entitu a jej vlastnosti, ostatné nechajte na ABP Suite! Sada ABP Suite vygeneruje všetok potrebný kód pre vašu CRUD stránku za niekoľko sekúnd. Podporuje používateľské rozhrania Angular, MVC a Blazor.",
"RichOptions": "Bohaté možnosti",
"AbpSuiteExplanation4": "ABP Suite podporuje viacero možností používateľského rozhrania, ako napríklad <a href=\"https://docs.microsoft.com/en-us/aspnet/core/razor-pages\">Razor Pages</a> a <a href=\"https://angular.io\">Angular</a>. Podporuje tiež viacero databáz, ako napríklad <a href=\"https://www.mongodb.com\">MongoDB</a> a všetky databázy podporované <strong>EntityFramework Core</strong> (MS SQL Server, Oracle, MySql, PostgreSQL a <a href=\"https://docs.microsoft.com/en-us/ef/core/providers/?tabs=dotnet-core-cli\">ďalšie</a>).",
"AbpSuiteExplanation5": "Dobré je, že sa o tieto možnosti nemusíte starať. ABP Suite rozumie typu vášho projektu a vygeneruje kód pre váš projekt a umiestni vygenerovaný kód na správne miesto vo vašom projekte.",
"SourceCode": "Zdrojový kód",
"AbpSuiteExplanation6": "ABP Suite generuje zdrojový kód za vás! Nevygeneruje magické súbory na generovanie webovej stránky. ABP Suite vygeneruje zdrojový kód pre <strong>Entity, repozitáre, aplication service, Code First Migration, JavaScript/TypeScript a CSHTML/HTML</strong> a tiež potrebné rozhrania. ABP Suite tiež generuje kód podľa <strong>Najlepších postupov</strong> vývoja softvéru, takže sa nemusíte obávať o kvalitu vygenerovaného kódu.",
"AbpSuiteExplanation7": "Pretože máte zdrojový kód stavebných blokov vygenerovanej stránky CRUD v správnych aplikačných vrstvách, môžete zdrojový kód jednoducho upraviť a do vygenerovaného kódu vložiť vlastnú/obslužnú logiku.",
"CrossPlatform": "Naprieč platformami",
"AbpSuiteExplanation8": "ABP Suite je vytvorená pomocou .NET Core a je multiplatformová. Spustí sa ako webová aplikácia na vašom lokálnom počítači. Môžete ju spustiť na <strong>Windowse</strong>, <strong>Macu</strong> a <strong>Linuxe</strong>.",
"OtherFeatures": "Ďalšie funkcie",
"OtherFeatures1": "Ľahko aktualizuje balíky <strong>NuGet</strong> a <strong>NPM</strong> na vašom riešení.",
"OtherFeatures2": "Obnovte už vygenerované stránky od začiatku.",
"OtherFeatures3": "Vytvára nové riešenia",
"ThanksForCreatingProject": "Ďakujeme za vytvorenie projektu!",
"HotToRunSolution": "Ako spustiť vaše riešenie?",
"HotToRunSolutionExplanation": "Pozrite si dokument Začíname a dozviete sa, ako nakonfigurovať a spustiť riešenie.",
"GettingStarted": "Začíname",
"WebAppDevTutorial": "Webová aplikácia Dev Tutorial",
"WebAppDevTutorialExplanation": "Pozrite si dokument s návodom na vývoj webovej aplikácie, kde nájdete ukážku vývoja krok za krokom.",
"Document": "Dokument",
"UsingABPSuiteToCURD": "Použite ABP Suite na generovanie CRUD stránok a nástrojov",
"SeeABPSuiteDocument": "Pozrite si dokument ABP Suite, v ktorom sa dozviete o používaní ABP Suite.",
"AskQuestionsOnSupport": "Otázky môžete klásť na stránke ABP Commercial Support.",
"Documentation": "Dokumentácia",
"SeeModulesDocument": "Zoznam všetkých komerčných (pro) modulov a ich dokumentov nájdete v dokumente Moduly.",
"Pricing": "Cenotvorba",
"PricingExplanation": "Vyberte si funkcie a vlastnosti, ktoré vaša firma potrebuje. V prípade rastu ju môžete ľahko upgradovať.",
"Team": "Tím",
"Business": "Obchod",
"Enterprise": "Podnik",
"Custom": "Vlastné",
"IncludedDeveloperLicenses": "Zahrnuté licencie pre vývojárov",
"CustomLicenceOrAdditionalServices": "Potrebujete vlastnú licenciu alebo ďalšie služby?",
"CustomOrVolumeLicense": "Vlastná alebo objemová licencia",
"LiveTrainingSupport": "Live školenia a podpora",
"AndMore": "a viac",
"AdditionalDeveloperLicense": "Dodatočná licencia pre vývojárov",
"ProjectCount": "Počet projektov",
"AllProModules": "Všetky PRO moduly",
"AllProThemes": "Všetky PRO témy",
"AllProStartupTemplates": "Všetky PRO štartovacie šablóny",
"SourceCodeOfAllModules": "Zdrojový kód všetkých modulov",
"SourceCodeOfAllThemes": "Zdrojový kód všetkých tém",
"PerpetualLicense": "Trvalá licencia",
"UnlimitedServerDeployment": "Neobmedzené nasadenie servera",
"YearUpgrade": "Aktualizácia na 1 rok",
"YearPremiumForumSupport": "1 rok prémiovej podpory fóra",
"ForumSupportIncidentCountYear": "Počet incidentov podpory fóra/rok",
"PrivateTicketEmailSupport": "Súkromné tickety & e-mailová podpora",
"BuyNow": "Kúpiť teraz",
"PayViaAmexCard": "Ako môžem platiť kartou AMEX?",
"PayViaAmexCardDescription": "Predvolená platobná brána \"Iyzico\" môže odmietnuť niektoré kreditné karty AMEX z dôvodu bezpečnostných opatrení. V takom prípade môžete platiť prostredníctvom alternatívnej platobnej brány \"2Checkout\".",
"ThankYou": "Ďakujem",
"InvalidReCaptchaErrorMessage": "Pri overovaní reCAPTCHA došlo k chybe. Skúste to znova prosím."
}
}

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

@ -97,6 +97,7 @@
"VolosoftSharingInformationMessage": "Volosoft'un ürünlerimi seçkin ortaklarla paylaşmasını kabul ediyorum, böylece ilgili ortakların ürünleri ve hizmetleri hakkında ilgili bilgileri alabilirim.",
"WeWillSendYouADownloadLink": "{0} adresine email gönderilmiştir.",
"InvalidFormInputs": "Lütfen formda belirtilen geçerli bilgileri yazınız.",
"DDDBookEmailBody": "Teşekkürler. <br /> Kitabı indirmek için, <a href=\"{0}\">buraya tıklayınız</a>."
"DDDBookEmailBody": "Teşekkürler. <br /> Kitabı indirmek için, <a href=\"{0}\">buraya tıklayınız</a>.",
"FreeDDDEBook": "Ücretsiz DDD E-Kitap"
}
}

42
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/fi.json

@ -29,14 +29,14 @@
"ContributionGuide": "Contribution Guide",
"BugReport": "Virhe raportti",
"SeeAllArticles": "Katso kaikki viestit",
"WelcomeToABPCommunity!": "Tervetuloa ABP-yhteisöön!",
"WelcomeToABPCommunity!": "Tervetuloa ABP Community!",
"MyProfile": "Profiilini",
"MyOrganizations": "Omat organisaatiot",
"EmailNotValid": "Ole hyvä ja syötä toimiva sähköpostiosoite.",
"FeatureRequest": "Ominaisuuspyyntö",
"CreateArticleTitleInfo": "Viestiluettelossa näytettävän viestin nimi.",
"CreateArticleSummaryInfo": "Lyhyt yhteenveto viestistä, joka näytetään postituslistalla.",
"CreateArticleCoverInfo": "Lisää tehokkaan artikkelin luomiseksi kansikuva. Lataa 16: 9-kuvasuhteen kuvat parhaan näkymän saamiseksi. Tiedoston enimmäiskoko: 1 Mt.",
"CreateArticleCoverInfo": "Lisää tehokkaan artikkelin luomiseksi kansikuva. Lataa 16:9 -kuvasuhteen kuvat parhaan näkymän saamiseksi. Tiedoston enimmäiskoko: 1MB.",
"ThisExtensionIsNotAllowed": "Tätä laajennusta ei sallita.",
"TheFileIsTooLarge": "Tiedosto on liian suuri.",
"GoToTheArticle": "Siirry artikkeliin",
@ -55,18 +55,18 @@
"Asked": "kysyi",
"AllQuestions": "Kaikki kysymykset",
"NextVersion": "Seuraava versio",
"MilestoneErrorMessage": "Nykyisiä virstanpylväitä koskevia tietoja ei saatu Githubilta.",
"MilestoneErrorMessage": "Nykyisiä virstanpylväitä koskevia tietoja ei saatu Github.",
"QuestionItemErrorMessage": "Viimeisimmät kysymystiedot Stackoverflow'sta epäonnistui.",
"Oops": "Oho!",
"CreateArticleSuccessMessage": "Artikkeli on lähetetty onnistuneesti. Se julkaistaan sivuston järjestelmänvalvojan tarkistuksen jälkeen.",
"ChooseCoverImage": "Valitse kansikuva ...",
"ChooseCoverImage": "Valitse kansikuva...",
"CoverImage": "Kansikuva",
"ShareYourExperiencesWithTheABPFramework": "Jaa kokemuksesi ABP-puitteista!",
"Optional": "Valinnainen",
"UpdateUserWebSiteInfo": "Esimerkki: https://johndoe.com",
"UpdateUserTwitterInfo": "Esimerkki: johndoe",
"UpdateUserGithubInfo": "Esimerkki: johndoe",
"UpdateUserLinkedinInfo": "Esimerkki: https: //www.linkedin.com / ...",
"UpdateUserLinkedinInfo": "Esimerkki: https://www.linkedin.com/...",
"UpdateUserCompanyInfo": "Esimerkki: Volosoft",
"UpdateUserJobTitleInfo": "Esimerkki: Ohjelmistokehittäjä",
"UserName": "Käyttäjänimi",
@ -84,7 +84,7 @@
"ProfileImageChange": "Vaihda profiilikuva",
"BlogItemErrorMessage": "Viimeisimpiä blogiviestitietoja ei saatu ABP: ltä.",
"PlannedReleaseDate": "Suunniteltu julkaisupäivä",
"CommunityArticleRequestErrorMessage": "Uusinta artikkelipyyntöä ei saatu Githubilta.",
"CommunityArticleRequestErrorMessage": "Uusinta artikkelipyyntöä ei saatu Github.",
"ArticleRequestFromGithubIssue": "Artikkelipyyntöjä ei ole nyt.",
"LatestArticles": "Uusimmat viestit",
"ArticleRequests": "Artikkelipyynnöt",
@ -115,30 +115,30 @@
"VideoUrl": "Videon URL-osoite",
"GithubArticleUrl": "Github-artikkelien URL-osoite",
"ExternalArticleUrl": "Ulkoisen artikkelin URL-osoite",
"CreatePostCoverInfo": "Lisää kansikuva, jotta voit luoda tehokkaan viestin. Lataa 16: 9-kuvasuhteen kuvat parhaan näkymän saamiseksi. Tiedoston enimmäiskoko: 1 Mt.",
"ThankYouForContribution": "Kiitos osallistumisesta ABP-yhteisöön.",
"CreatePostCoverInfo": "Lisää kansikuva, jotta voit luoda tehokkaan viestin. Lataa 16:9 -kuvasuhteen kuvat parhaan näkymän saamiseksi. Tiedoston enimmäiskoko: 1MB.",
"ThankYouForContribution": "Kiitos osallistumisesta ABP Community.",
"GithubArticle": "Github-artikkeli",
"GithubArticleSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Kirjoita artikkeli mistä tahansa julkisesta GitHub-arkistosta Markdown-muodossa. <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/fi/Community-Articles/2020-12-04-Event-Organizer/Post.md\"> esimerkki </a>",
"GithubArticleSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Lähetä artikkelin URL-osoite lomaketta käyttämällä.",
"GithubArticleSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> Artikkelisi renderöidään tällä verkkosivustolla.",
"GithubArticleSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Kirjoita artikkeli mistä tahansa julkisesta GitHub-arkistosta Markdown-muodossa.<a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\"> esimerkki </a>",
"GithubArticleSubmitStepTwo": "<span class=\"font-weight-bold\"> 2.</span> Lähetä artikkelin URL-osoite lomaketta käyttämällä.",
"GithubArticleSubmitStepThree": "<span class=\"font-weight-bold\"> 3.</span> Artikkelisi renderöidään tällä verkkosivustolla.",
"YoutubeVideo": "Youtube-video",
"YoutubeVideoSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Julkaise videosi YouTubessa.",
"YoutubeVideoSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Lähetä videon URL-osoite lomaketta käyttäen.",
"YoutubeVideoSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> Vierailijat voivat katsella videosisältöäsi suoraan tällä verkkosivustolla.",
"YoutubeVideoSubmitStepOne": "<span class=\"font-weight-bold\"> 1.</span> Julkaise videosi YouTubessa.",
"YoutubeVideoSubmitStepTwo": "<span class=\"font-weight-bold\"> 2.</span> Lähetä videon URL-osoite lomaketta käyttäen.",
"YoutubeVideoSubmitStepThree": "<span class=\"font-weight-bold\"> 3.</span> Vierailijat voivat katsella videosisältöäsi suoraan tällä verkkosivustolla.",
"ExternalContent": "Ulkoinen sisältö",
"ExternalContentSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Luo sisältöä mille tahansa julkiselle alustalle (media, oma blogi tai mihin tahansa haluat).",
"ExternalContentSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Lähetä sisällön URL-osoite lomaketta käyttämällä.",
"ExternalContentSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> Vierailijat ohjataan alkuperäisen verkkosivuston sisältöön.",
"ExternalContentSubmitStepOne": "<span class=\"font-weight-bold\"> 1.</span> Luo sisältöä mille tahansa julkiselle alustalle (media, oma blogi tai mihin tahansa haluat).",
"ExternalContentSubmitStepTwo": "<span class=\"font-weight-bold\"> 2.</span> Lähetä sisällön URL-osoite lomaketta käyttämällä.",
"ExternalContentSubmitStepThree": "<span class=\"font-weight-bold\"> 3.</span> Vierailijat ohjataan alkuperäisen verkkosivuston sisältöön.",
"ChooseYourContentType": "Valitse tapa, jolla haluat lisätä sisältöä.",
"PostContentViaGithub": "Haluan lisätä artikkelini <span class = \"font-weight-bold\"> <i class = \"fa fa-github\"> </i> GitHub </span> -merkintäsääntöjen mukaisesti.",
"PostContentViaYoutube": "Haluan jakaa videoni, jotka ovat käytettävissä <span class = \"font-weight-bold\"> <i class = \"fa fa-youtube\"> </i> Youtube </span> täällä.",
"PostContentViaExternalSource": "Haluan lisätä <span class = \"font-weight-bold\"> toisella alustalla </span> julkaisemani sisällön tähän.",
"PostContentViaGithub": "Haluan lisätä artikkelini <span class=\"font-weight-bold\"><i class=\"fa fa-github\"></i> GitHub </span> -merkintäsääntöjen mukaisesti.",
"PostContentViaYoutube": "Haluan jakaa videoni, jotka ovat käytettävissä <span class=\"font-weight-bold\"><i class=\"fa fa-youtube\"></i> Youtube </span> täällä.",
"PostContentViaExternalSource": "Haluan lisätä <span class=\"font-weight-bold\"> toisella alustalla </span> julkaisemani sisällön tähän.",
"GitHubUserNameValidationMessage": "Github-käyttäjänimesi ei voi sisältää välilyöntiä. Varmista, että Github-käyttäjänimesi on oikea.",
"PersonalSiteUrlValidationMessage": "Henkilökohtaisen sivuston URL-osoite ei voi sisältää välilyöntiä. Varmista, että henkilökohtaisen sivuston URL-osoite on oikea.",
"TwitterUserNameValidationMessage": "Twitter-käyttäjänimesi ei voi sisältää välilyöntiä. Varmista, että Twitter-käyttäjänimesi on oikea.",
"LinkedinUrlValidationMessage": "Linkedin-URL-osoitteesi ei voi sisältää välilyöntiä. Varmista, että Linkedin-URL-osoitteesi on oikea.",
"NoPostsFound": "Viestejä ei löytynyt!",
"SearchInPosts": "Hae viesteistä ...",
"SearchInPosts": "Hae viesteistä...",
"MinimumSearchContent": "Sinun on annettava vähintään 3 merkkiä!"
}
}

30
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/fr.json

@ -59,14 +59,14 @@
"QuestionItemErrorMessage": "Impossible d'obtenir les derniers détails de la question de Stackoverflow.",
"Oops": "Oops!",
"CreateArticleSuccessMessage": "L'article a été soumis avec succès. Il sera publié après un examen de l'administrateur du site.",
"ChooseCoverImage": "Choisissez une image de couverture ...",
"ChooseCoverImage": "Choisissez une image de couverture...",
"CoverImage": "Image de couverture",
"ShareYourExperiencesWithTheABPFramework": "Partagez vos expériences avec le Framework ABP!",
"Optional": "Optionnel",
"UpdateUserWebSiteInfo": "Exemple: https://johndoe.com",
"UpdateUserTwitterInfo": "Exemple: johndoe",
"UpdateUserGithubInfo": "Exemple: johndoe",
"UpdateUserLinkedinInfo": "Exemple: https: //www.linkedin.com / ...",
"UpdateUserLinkedinInfo": "Exemple: https://www.linkedin.com/...",
"UpdateUserCompanyInfo": "Exemple: Volosoft",
"UpdateUserJobTitleInfo": "Exemple: développeur de logiciels",
"UserName": "Nom d'utilisateur",
@ -118,27 +118,27 @@
"CreatePostCoverInfo": "Pour créer un article efficace, ajoutez une photo de couverture. Téléchargez des images au format 16: 9 pour une meilleure vue. Taille maximale du fichier: 1 Mo.",
"ThankYouForContribution": "Merci de contribuer à la communauté ABP.",
"GithubArticle": "Article Github",
"GithubArticleSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Rédigez un article sur n'importe quel référentiel GitHub public au format Markdown. Exemple de <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\"> </a>",
"GithubArticleSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Envoyez l'URL de votre article à l'aide du formulaire.",
"GithubArticleSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> Votre article sera rendu sur ce site Web.",
"GithubArticleSubmitStepOne": "<span class=\"font-weight-bold\"> 1.</span> Rédigez un article sur n'importe quel référentiel GitHub public au format Markdown. Exemple de <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\"></a>",
"GithubArticleSubmitStepTwo": "<span class=\"font-weight-bold\"> 2.</span> Envoyez l'URL de votre article à l'aide du formulaire.",
"GithubArticleSubmitStepThree": "<span class=\"font-weight-bold\"> 3.</span> Votre article sera rendu sur ce site Web.",
"YoutubeVideo": "Vidéo Youtube",
"YoutubeVideoSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Publiez votre vidéo sur YouTube.",
"YoutubeVideoSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Envoyez l'URL de la vidéo à l'aide du formulaire.",
"YoutubeVideoSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> Les visiteurs pourront visionner votre contenu vidéo directement sur ce site Web.",
"YoutubeVideoSubmitStepOne": "<span class=\"font-weight-bold\"> 1.</span> Publiez votre vidéo sur YouTube.",
"YoutubeVideoSubmitStepTwo": "<span class=\"font-weight-bold\"> 2.</span> Envoyez l'URL de la vidéo à l'aide du formulaire.",
"YoutubeVideoSubmitStepThree": "<span class=\"font-weight-bold\"> 3.</span> Les visiteurs pourront visionner votre contenu vidéo directement sur ce site Web.",
"ExternalContent": "Contenu externe",
"ExternalContentSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Créez un contenu sur n'importe quelle plate-forme publique (support, votre propre blog ou partout où vous le souhaitez).",
"ExternalContentSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Envoyez votre URL de contenu à l'aide du formulaire.",
"ExternalContentSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> Les visiteurs sont redirigés vers le contenu du site Web d'origine.",
"ExternalContentSubmitStepOne": "<span class=\"font-weight-bold\"> 1.</span> Créez un contenu sur n'importe quelle plate-forme publique (support, votre propre blog ou partout où vous le souhaitez).",
"ExternalContentSubmitStepTwo": "<span class=\"font-weight-bold\"> 2.</span> Envoyez votre URL de contenu à l'aide du formulaire.",
"ExternalContentSubmitStepThree": "<span class=\"font-weight-bold\"> 3.</span> Les visiteurs sont redirigés vers le contenu du site Web d'origine.",
"ChooseYourContentType": "Veuillez choisir la manière dont vous souhaitez ajouter votre contenu.",
"PostContentViaGithub": "Je souhaite ajouter mon article avec <span class = \"font-weight-bold\"> <i class = \"fa fa-github\"> </i> GitHub </span> conformément aux règles de démarque.",
"PostContentViaYoutube": "Je souhaite partager mes vidéos disponibles sur <span class = \"font-weight-bold\"> <i class = \"fa fa-youtube\"> </i> Youtube </span> ici.",
"PostContentViaExternalSource": "Je souhaite ajouter le contenu que j'ai publié sur <span class = \"font-weight-bold\"> une autre plate-forme </span> ici.",
"PostContentViaGithub": "Je souhaite ajouter mon article avec <span class=\"font-weight-bold\"><i class=\"fa fa-github\"></i> GitHub </span> conformément aux règles de démarque.",
"PostContentViaYoutube": "Je souhaite partager mes vidéos disponibles sur <span class=\"font-weight-bold\"><i class=\"fa fa-youtube\"></i> Youtube </span> ici.",
"PostContentViaExternalSource": "Je souhaite ajouter le contenu que j'ai publié sur <span class=\"font-weight-bold\"> une autre plate-forme </span> ici.",
"GitHubUserNameValidationMessage": "Votre nom d'utilisateur Github ne peut pas inclure d'espaces, veuillez vous assurer que votre nom d'utilisateur Github est correct.",
"PersonalSiteUrlValidationMessage": "L'URL de votre site personnel ne peut pas inclure d'espaces, veuillez vous assurer que l'URL de votre site personnel est correcte.",
"TwitterUserNameValidationMessage": "Votre nom d'utilisateur Twitter ne peut pas inclure d'espaces, veuillez vous assurer que votre nom d'utilisateur Twitter est correct.",
"LinkedinUrlValidationMessage": "Votre URL Linkedin ne peut pas inclure d'espace blanc, veuillez vous assurer que votre URL Linkedin est correcte.",
"NoPostsFound": "Aucun article trouvé!",
"SearchInPosts": "Rechercher dans les messages ...",
"SearchInPosts": "Rechercher dans les messages...",
"MinimumSearchContent": "Vous devez saisir au moins 3 caractères!"
}
}

32
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/hi.json

@ -59,14 +59,14 @@
"QuestionItemErrorMessage": "Stackoverflow से नवीनतम प्रश्न विवरण प्राप्त नहीं कर सका।",
"Oops": "उफ़!",
"CreateArticleSuccessMessage": "अनुच्छेद सफलतापूर्वक प्रस्तुत किया गया है। इसे साइट व्यवस्थापक से समीक्षा के बाद प्रकाशित किया जाएगा।",
"ChooseCoverImage": "कवर छवि चुनें ...",
"ChooseCoverImage": "कवर छवि चुनें...",
"CoverImage": "कवर छवि",
"ShareYourExperiencesWithTheABPFramework": "ABP फ्रेमवर्क के साथ अपने अनुभव साझा करें!",
"Optional": "ऐच्छिक",
"UpdateUserWebSiteInfo": "उदाहरण: https://johndoe.com",
"UpdateUserTwitterInfo": "उदाहरण: जॉन्डो",
"UpdateUserGithubInfo": "उदाहरण: जॉन्डो",
"UpdateUserLinkedinInfo": "उदाहरण: https: //www.linkedin.com / ...",
"UpdateUserLinkedinInfo": "उदाहरण: https://www.linkedin.com/...",
"UpdateUserCompanyInfo": "उदाहरण: वोलोसॉफ्ट",
"UpdateUserJobTitleInfo": "उदाहरण: सॉफ्टवेयर डेवलपर",
"UserName": "उपयोगकर्ता नाम",
@ -96,7 +96,7 @@
"JoinOurArticleNewsletter": "हमारे लेख समाचार पत्र में शामिल हों",
"Community": "समुदाय",
"Marketing": "विपणन",
"CommunityPrivacyPolicyConfirmation": "मैं नियम और शर्तों और <a href=\"https://com Commercial.abp.io/Privacy\"> गोपनीयता नीति </a> से सहमत हूं।",
"CommunityPrivacyPolicyConfirmation": "मैं नियम और शर्तों और <a href=\"https://commercial.abp.io/Privacy\">गोपनीयता नीति</a> से सहमत हूं।",
"ArticleRequestMessageTitle": "GitHub पर एक लेख / ट्यूटोरियल जिसे आप इस वेब साइट पर देखना चाहते हैं, का अनुरोध करने के लिए <a href=\"https://github.com/abpframework/abp/issues/new\"> एक समस्या खोलें </a>।",
"ArticleRequestMessageBody": "यहाँ, समुदाय द्वारा अनुरोधित लेखों की सूची। क्या आप एक अनुरोधित लेख लिखना चाहते हैं? कृपया अनुरोध पर क्लिक करें और चर्चा में शामिल हों।",
"Language": "भाषा: हिन्दी",
@ -118,27 +118,27 @@
"CreatePostCoverInfo": "एक प्रभावी पोस्ट बनाने के लिए, एक कवर फ़ोटो जोड़ें। सर्वश्रेष्ठ दृश्य के लिए 16: 9 पहलू अनुपात चित्र अपलोड करें। अधिकतम फ़ाइल आकार: 1 एमबी।",
"ThankYouForContribution": "ABP समुदाय में योगदान के लिए धन्यवाद।",
"GithubArticle": "गीथब लेख",
"GithubArticleSubmitStepOne": "<span class = \"font-weight-bold\"> 1। </ span> मार्कडाउन प्रारूप के साथ किसी भी सार्वजनिक GitHub रिपॉजिटरी पर एक लेख लिखें। <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Offganizer/Post.md\"> उदाहरण </a>",
"GithubArticleSubmitStepTwo": "<span class = \"font-weight-bold\"> 2। </ span> फ़ॉर्म का उपयोग करके अपना लेख URL सबमिट करें।",
"GithubArticleSubmitStepThree": "<span class = \"font-weight-bold\"> 3। </ span> इस वेब साइट में आपका लेख प्रस्तुत किया जाएगा।",
"GithubArticleSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> मार्कडाउन प्रारूप के साथ किसी भी सार्वजनिक GitHub रिपॉजिटरी पर एक लेख लिखें। <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\">उदाहरण </a>",
"GithubArticleSubmitStepTwo": "<span class=\"font-weight-bold\"> 2। </span> फ़ॉर्म का उपयोग करके अपना लेख URL सबमिट करें।",
"GithubArticleSubmitStepThree": "<span class=\"font-weight-bold\"> 3। </span> इस वेब साइट में आपका लेख प्रस्तुत किया जाएगा।",
"YoutubeVideo": "यूट्यूब वीडियो",
"YoutubeVideoSubmitStepOne": "<span class = \"font-weight-bold\"> 1। </ span> YouTube पर अपना वीडियो प्रकाशित करें।",
"YoutubeVideoSubmitStepTwo": "<span class = \"font-weight-bold\"> 2। </ span> फ़ॉर्म का उपयोग करके वीडियो URL सबमिट करें।",
"YoutubeVideoSubmitStepThree": "<span class = \"font-weight-bold\"> 3। </ span> आगंतुक इस वेबसाइट पर सीधे आपकी वीडियो सामग्री देख सकेंगे।",
"YoutubeVideoSubmitStepOne": "<span class=\"font-weight-bold\"> 1। </span> YouTube पर अपना वीडियो प्रकाशित करें।",
"YoutubeVideoSubmitStepTwo": "<span class=\"font-weight-bold\"> 2। </span> फ़ॉर्म का उपयोग करके वीडियो URL सबमिट करें।",
"YoutubeVideoSubmitStepThree": "<span class=\"font-weight-bold\"> 3। </span> आगंतुक इस वेबसाइट पर सीधे आपकी वीडियो सामग्री देख सकेंगे।",
"ExternalContent": "बाहरी सामग्री",
"ExternalContentSubmitStepOne": "<span class = \"font-weight-bold\"> 1। </ span> किसी भी सार्वजनिक मंच पर एक सामग्री बनाएं (मध्यम, अपना स्वयं का ब्लॉग या कहीं भी आप चाहें)।",
"ExternalContentSubmitStepTwo": "<span class = \"font-weight-bold\"> 2। </ span> फ़ॉर्म का उपयोग करके अपना सामग्री URL सबमिट करें।",
"ExternalContentSubmitStepThree": "<span class = \"font-weight-bold\"> 3। </ span> मूल वेबसाइट पर आगंतुकों को सामग्री पर पुनर्निर्देशित किया गया है।",
"ExternalContentSubmitStepOne": "<span class=\"font-weight-bold\"> 1। </span> किसी भी सार्वजनिक मंच पर एक सामग्री बनाएं (मध्यम, अपना स्वयं का ब्लॉग या कहीं भी आप चाहें)।",
"ExternalContentSubmitStepTwo": "<span class=\"font-weight-bold\"> 2। </span> फ़ॉर्म का उपयोग करके अपना सामग्री URL सबमिट करें।",
"ExternalContentSubmitStepThree": "<span class=\"font-weight-bold\"> 3। </span> मूल वेबसाइट पर आगंतुकों को सामग्री पर पुनर्निर्देशित किया गया है।",
"ChooseYourContentType": "कृपया अपनी सामग्री जोड़ने का तरीका चुनें।",
"PostContentViaGithub": "मैं अपना लेख जोड़ना चाहता हूं <span class = \"font-weight-bold\"> <i class = \"fa fa-github\"> </ i> GitHub </ span> अंकन नियमों के अनुसार।",
"PostContentViaYoutube": "मैं यहां उपलब्ध अपने वीडियो को <span class = \"font-weight-bold\"> <i class = \"fa fa-youtube\"> </ i> Youtube </ span> पर साझा करना चाहता हूं।",
"PostContentViaExternalSource": "मैं यहां <span class = \"font-weight-bold\"> एक अन्य प्लेटफ़ॉर्म </ span> पर प्रकाशित सामग्री जोड़ना चाहता हूं।",
"PostContentViaGithub": "मैं अपना लेख जोड़ना चाहता हूं <span class=\"font-weight-bold\"><i class=\"fa fa-github\"></i> GitHub </span> अंकन नियमों के अनुसार।",
"PostContentViaYoutube": "मैं यहां उपलब्ध अपने वीडियो को <span class=\"font-weight-bold\"><i class=\"fa fa-youtube\"></i> Youtube </span> पर साझा करना चाहता हूं।",
"PostContentViaExternalSource": "मैं यहां <span class=\"font-weight-bold\"> एक अन्य प्लेटफ़ॉर्म </span> पर प्रकाशित सामग्री जोड़ना चाहता हूं।",
"GitHubUserNameValidationMessage": "आपके Github उपयोगकर्ता नाम में व्हॉट्सएप शामिल नहीं हो सकता है, कृपया सुनिश्चित करें कि आपका Github उपयोगकर्ता नाम सही है।",
"PersonalSiteUrlValidationMessage": "आपके व्यक्तिगत साइट URL में व्हॉट्सएप शामिल नहीं हो सकता है, कृपया सुनिश्चित करें कि आपका व्यक्तिगत साइट URL सही है।",
"TwitterUserNameValidationMessage": "आपके ट्विटर उपयोगकर्ता नाम में व्हाट्सएप शामिल नहीं हो सकता है, कृपया सुनिश्चित करें कि आपका ट्विटर उपयोगकर्ता नाम सही है।",
"LinkedinUrlValidationMessage": "आपके लिंक्डइन URL में व्हॉट्सएप शामिल नहीं हो सकता है, कृपया सुनिश्चित करें कि आपका लिंक्डइन URL सही है।",
"NoPostsFound": "कोई प्रकाशन नहीं मिला!",
"SearchInPosts": "पदों में खोजें ...",
"SearchInPosts": "पदों में खोजें...",
"MinimumSearchContent": "आपको कम से कम 3 वर्ण दर्ज करने होंगे!",
"Volo.AbpIo.Domain:060001": "स्रोत URL (\"{ArticleUrl}\") जीथब URL नहीं है",
"Volo.AbpIo.Domain:060002": "लेख सामग्री Github (\"{ArticleUrl}\") संसाधन से उपलब्ध नहीं है।",

70
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/it.json

@ -1,21 +1,21 @@
{
"culture": "it",
"texts": {
"Permission:CommunityArticle": "Articolo comunitario",
"Permission:Edit": "modificare",
"Permission:CommunityArticle": "Articolo della comunità",
"Permission:Edit": "Modifica",
"Waiting": "In attesa",
"Approved": "Approvato",
"Rejected": "Respinto",
"Wait": "Aspettare",
"Approve": "Approvare",
"Reject": "Rifiutare",
"Wait": "Attendere",
"Approve": "Approva",
"Reject": "Rifiuta",
"ReadArticle": "Leggi l'articolo",
"Status": "Stato",
"ContentSource": "Fonte di contenuto",
"ContentSource": "Fonte contenuto",
"Details": "Dettagli",
"Url": "Url",
"Title": "Titolo",
"CreationTime": "Tempo di creazione",
"CreationTime": "Orario di creazione",
"Save": "Salva",
"SameUrlAlreadyExist": "Lo stesso URL esiste già se vuoi aggiungere questo articolo, dovresti cambiare l'URL!",
"UrlIsNotValid": "URL non valido.",
@ -26,8 +26,8 @@
"Latest": "Ultimo",
"ContributeAbpCommunity": "Contribuisci alla comunità ABP",
"SubmitYourArticle": "Invia il tuo post",
"ContributionGuide": "Guida al contributo",
"BugReport": "Riportare un errore",
"ContributionGuide": "Guida per i contributi",
"BugReport": "Segnala un errore",
"SeeAllArticles": "Vedi tutti i post",
"WelcomeToABPCommunity!": "Benvenuto nella comunità ABP!",
"MyProfile": "Il mio profilo",
@ -36,11 +36,11 @@
"FeatureRequest": "Richiesta di funzionalità",
"CreateArticleTitleInfo": "Titolo del post da mostrare nell'elenco dei post.",
"CreateArticleSummaryInfo": "Un breve riassunto del post da mostrare nell'elenco dei post.",
"CreateArticleCoverInfo": "Per creare un articolo efficace, aggiungi una foto di copertina. Carica immagini in formato 16: 9 per una visualizzazione migliore. Dimensione massima del file: 1 MB.",
"CreateArticleCoverInfo": "Per creare un articolo efficace, aggiungi una foto di copertina. Carica immagini in formato 16: 9 per una visualizzazione migliore. Dimensione massima del file: 1MB.",
"ThisExtensionIsNotAllowed": "Questa estensione non è consentita.",
"TheFileIsTooLarge": "Il file è troppo grande.",
"GoToTheArticle": "Vai all'articolo",
"Contribute": "Contribuire",
"Contribute": "Contribuisci",
"OverallProgress": "Progressi generali",
"Done": "Fatto",
"Open": "Aperto",
@ -59,28 +59,28 @@
"QuestionItemErrorMessage": "Impossibile ottenere gli ultimi dettagli della domanda da Stackoverflow.",
"Oops": "Ops!",
"CreateArticleSuccessMessage": "L'articolo è stato inviato con successo. Verrà pubblicato dopo una revisione da parte dell'amministratore del sito.",
"ChooseCoverImage": "Scegli un'immagine di copertina ...",
"ChooseCoverImage": "Scegli un'immagine di copertina...",
"CoverImage": "Immagine di copertina",
"ShareYourExperiencesWithTheABPFramework": "Condividi le tue esperienze con ABP Framework!",
"Optional": "Opzionale",
"UpdateUserWebSiteInfo": "Esempio: https://johndoe.com",
"UpdateUserTwitterInfo": "Esempio: johndoe",
"UpdateUserGithubInfo": "Esempio: johndoe",
"UpdateUserLinkedinInfo": "Esempio: https: //www.linkedin.com / ...",
"UpdateUserLinkedinInfo": "Esempio: https://www.linkedin.com/...",
"UpdateUserCompanyInfo": "Esempio: Volosoft",
"UpdateUserJobTitleInfo": "Esempio: sviluppatore di software",
"UserName": "Nome utente",
"Company": "Azienda",
"PersonalWebsite": "Sito web personale",
"RegistrationDate": "Data di registrazione",
"Social": "Sociale",
"Social": "Social",
"Biography": "Biografia",
"HasNoPublishedArticlesYet": "non ha ancora articoli pubblicati",
"Author": "Autore",
"LatestGithubAnnouncements": "Ultimi annunci su GitHub",
"SeeAllAnnouncements": "Vedi tutti gli annunci",
"LatestBlogPost": "Ultimo post sul blog",
"Edit": "modificare",
"Edit": "Modifica",
"ProfileImageChange": "Cambia l'immagine del profilo",
"BlogItemErrorMessage": "Impossibile ottenere i dettagli più recenti del post del blog da ABP.",
"PlannedReleaseDate": "Data di rilascio prevista",
@ -96,14 +96,14 @@
"JoinOurArticleNewsletter": "Iscriviti alla nostra newsletter articolo",
"Community": "Comunità",
"Marketing": "Marketing",
"CommunityPrivacyPolicyConfirmation": "Accetto i Termini e condizioni e l '<a href=\"https://commercial.abp.io/Privacy\"> Informativa sulla privacy </a>.",
"ArticleRequestMessageTitle": "<a href=\"https://github.com/abpframework/abp/issues/new\"> Apri un numero </a> su GitHub per richiedere un articolo / tutorial che desideri vedere su questo sito web.",
"CommunityPrivacyPolicyConfirmation": "Accetto i Termini e condizioni e l '<a href=\"https://commercial.abp.io/Privacy\">Informativa sulla privacy</a>.",
"ArticleRequestMessageTitle": "<a href=\"https://github.com/abpframework/abp/issues/new\">Apri un numero</a> su GitHub per richiedere un articolo / tutorial che desideri vedere su questo sito web.",
"ArticleRequestMessageBody": "Di seguito l'elenco degli articoli richiesti dalla community. Vuoi scrivere un articolo richiesto? Fare clic sulla richiesta e partecipare alla discussione.",
"Language": "linguaggio",
"Language": "Lingua",
"CreateArticleLanguageInfo": "La lingua per il contenuto del post.",
"VideoPost": "Post video",
"Article": "Articolo",
"Read": "Leggere",
"Read": "Leggi",
"CreateGithubArticleUrlInfo": "URL originale di GitHub dell'articolo.",
"CreateVideoContentUrlInfo": "URL YouTube originale del post.",
"CreateExternalArticleUrlInfo": "URL esterno originale dell'articolo.",
@ -115,33 +115,33 @@
"VideoUrl": "URL video",
"GithubArticleUrl": "URL articolo Github",
"ExternalArticleUrl": "URL articolo esterno",
"CreatePostCoverInfo": "Per creare un post efficace, aggiungi una foto di copertina. Carica immagini in formato 16: 9 per una visualizzazione migliore. Dimensione massima del file: 1 MB.",
"CreatePostCoverInfo": "Per creare un post efficace, aggiungi una foto di copertina. Carica immagini in formato 16: 9 per una visualizzazione migliore. Dimensione massima del file: 1MB.",
"ThankYouForContribution": "Grazie per aver contribuito alla comunità ABP.",
"GithubArticle": "Articolo GitHub",
"GithubArticleSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Scrivi un articolo su qualsiasi repository GitHub pubblico con il formato Markdown. <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\"> esempio </a>",
"GithubArticleSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Invia l'URL del tuo articolo utilizzando il modulo.",
"GithubArticleSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> Il tuo articolo verrà visualizzato in questo sito web.",
"GithubArticleSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Scrivi un articolo su qualsiasi repository GitHub pubblico con il formato Markdown.<a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\">esempio</a>",
"GithubArticleSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> Invia l'URL del tuo articolo utilizzando il modulo.",
"GithubArticleSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> Il tuo articolo verrà visualizzato in questo sito web.",
"YoutubeVideo": "Video Youtube",
"YoutubeVideoSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Pubblica il tuo video su YouTube.",
"YoutubeVideoSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Invia l'URL del video utilizzando il modulo.",
"YoutubeVideoSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> I visitatori potranno guardare i tuoi contenuti video direttamente su questo sito web.",
"YoutubeVideoSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Pubblica il tuo video su YouTube.",
"YoutubeVideoSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> Invia l'URL del video utilizzando il modulo.",
"YoutubeVideoSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> I visitatori potranno guardare i tuoi contenuti video direttamente su questo sito web.",
"ExternalContent": "Contenuto esterno",
"ExternalContentSubmitStepOne": "<span class = \"font-weight-bold\"> 1. </span> Crea un contenuto su qualsiasi piattaforma pubblica (mezzo, il tuo blog o ovunque tu voglia).",
"ExternalContentSubmitStepTwo": "<span class = \"font-weight-bold\"> 2. </span> Invia l'URL dei tuoi contenuti utilizzando il modulo.",
"ExternalContentSubmitStepThree": "<span class = \"font-weight-bold\"> 3. </span> I visitatori vengono reindirizzati al contenuto del sito web originale.",
"ExternalContentSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Crea un contenuto su qualsiasi piattaforma pubblica (mezzo, il tuo blog o ovunque tu voglia).",
"ExternalContentSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> Invia l'URL dei tuoi contenuti utilizzando il modulo.",
"ExternalContentSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> I visitatori vengono reindirizzati al contenuto del sito web originale.",
"ChooseYourContentType": "Scegli il modo in cui desideri aggiungere i tuoi contenuti.",
"PostContentViaGithub": "Voglio aggiungere il mio articolo con <span class = \"font-weight-bold\"> <i class = \"fa fa-github\"> </i> GitHub </span> in conformità con le regole di markdown.",
"PostContentViaYoutube": "Voglio condividere i miei video disponibili su <span class = \"font-weight-bold\"> <i class = \"fa fa-youtube\"> </i> Youtube </span> qui.",
"PostContentViaExternalSource": "Voglio aggiungere qui il contenuto che ho pubblicato su <span class = \"font-weight-bold\"> un'altra piattaforma </span>.",
"PostContentViaGithub": "Voglio aggiungere il mio articolo con <span class=\"font-weight-bold\"><i class=\"fa fa-github\"></i> GitHub</span> in conformità con le regole di markdown.",
"PostContentViaYoutube": "Voglio condividere i miei video disponibili su <span class=\"font-weight-bold\"><i class=\"fa fa-youtube\"></i> Youtube</span> qui.",
"PostContentViaExternalSource": "Voglio aggiungere qui il contenuto che ho pubblicato su <span class=\"font-weight-bold\">un'altra piattaforma</span>.",
"GitHubUserNameValidationMessage": "Il tuo nome utente Github non può includere spazi bianchi, assicurati che il tuo nome utente Github sia corretto.",
"PersonalSiteUrlValidationMessage": "L'URL del tuo sito personale non può includere spazi bianchi, assicurati che l'URL del tuo sito personale sia corretto.",
"TwitterUserNameValidationMessage": "Il tuo nome utente Twitter non può includere spazi bianchi, assicurati che il tuo nome utente Twitter sia corretto.",
"LinkedinUrlValidationMessage": "Il tuo URL di Linkedin non può includere spazi bianchi, assicurati che il tuo URL di Linkedin sia corretto.",
"NoPostsFound": "Nessun post trovato!",
"SearchInPosts": "Cerca nei post ...",
"SearchInPosts": "Cerca nei post...",
"MinimumSearchContent": "Devi inserire almeno 3 caratteri!",
"Volo.AbpIo.Domain:060001": "L'URL di origine (\"{ArticleUrl}\") non è l'URL di GitHub",
"Volo.AbpIo.Domain:060002": "Il contenuto dell'articolo non è disponibile dalla risorsa Github (\"{ArticleUrl}\").",
"Volo.AbpIo.Domain:060001": "Source URL(\"{ArticleUrl}\") non è un URL di GitHub",
"Volo.AbpIo.Domain:060002": "Il contenuto dell'articolo non è disponibile dalla risorsa Github(\"{ArticleUrl}\").",
"Volo.AbpIo.Domain:060003": "Nessun contenuto dell'articolo trovato!"
}
}

147
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/sk.json

@ -0,0 +1,147 @@
{
"culture": "sk",
"texts": {
"Permission:CommunityArticle": "Článok komunity",
"Permission:Edit": "Upraviť",
"Waiting": "Čakajte",
"Approved": "Schválené",
"Rejected": "Zamietnuté",
"Wait": "Čakajte",
"Approve": "Schváliť",
"Reject": "Zamietnuť",
"ReadArticle": "Prečítajte si článok",
"Status": "Stav",
"ContentSource": "Zdroj obsahu",
"Details": "Podrobnosti",
"Url": "URL",
"Title": "Názov",
"CreationTime": "Čas vytvorenia",
"Save": "Uložiť",
"SameUrlAlreadyExist": "Rovnaká URL už existuje, ak chcete pridať tento článok, mali by ste zmeniť URL!",
"UrlIsNotValid": "URL nie je platná.",
"UrlNotFound": "URL adresa nebola nájdená.",
"UrlContentNotFound": "Obsah URL sa nenašiel.",
"Summary": "Zhrnutie",
"MostRead": "Najčastejšie čítané",
"Latest": "Najnovšie",
"ContributeAbpCommunity": "Prispieť do ABPkomunity",
"SubmitYourArticle": "Odoslanie príspevku",
"ContributionGuide": "Sprievodca príspevkami",
"BugReport": "Bug report",
"SeeAllArticles": "Zobraziť všetky príspevky",
"WelcomeToABPCommunity!": "Vitajte v ABP komunite!",
"MyProfile": "Môj profil",
"MyOrganizations": "Moje organizácie",
"EmailNotValid": "Zadajte platnú e-mailovú adresu.",
"FeatureRequest": "Nová funkčnosť",
"CreateArticleTitleInfo": "Názov príspevku, ktorý sa má zobraziť nad zoznamom príspevkov.",
"CreateArticleSummaryInfo": "Krátke zhrnutie príspevku, ktoré sa zobrazí nad zoznamom príspevkov.",
"CreateArticleCoverInfo": "Ak chcete vytvoriť efektívny článok, pridajte titulnú fotografiu. Pre optimálne zobrazenie nahrávajte obrázky s pomerom strán 16:9. Maximálna veľkosť súboru: 1 MB.",
"ThisExtensionIsNotAllowed": "Toto rozšírenie nie je povolené.",
"TheFileIsTooLarge": "Súbor je príliš veľký.",
"GoToTheArticle": "Prejsť na článok",
"Contribute": "Prispieť",
"OverallProgress": "Celkový pokrok",
"Done": "Hotovo",
"Open": "Otvoriť",
"Closed": "Uzavreté",
"LatestQuestionOnThe": "Posledná otázka",
"Stackoverflow": "Pretečenie zásobníka",
"Votes": "hlasy",
"Answer": "Odpoveď",
"Views": "zobrazenia",
"Answered": "Zodpovedané",
"WaitingForYourAnswer": "Čakáme na vašu odpoveď",
"Asked": "Otázka znela",
"AllQuestions": "Všetky otázky",
"NextVersion": "Ďalšia verzia",
"MilestoneErrorMessage": "Nepodarilo sa získať detaily current milestone z Githubu.",
"QuestionItemErrorMessage": "Z dôvodu pretečenia zísobníka nie je možné načítať detaily poslednej otázky.",
"Oops": "Ups!",
"CreateArticleSuccessMessage": "Článok bol úspešne odoslaný. Bude uverejnený po kontrole administrátorom stránky.",
"ChooseCoverImage": "Vyberte si titulný obrázok...",
"CoverImage": "Obrázok obálky",
"ShareYourExperiencesWithTheABPFramework": "Podeľte sa o svoje skúsenosti s ABP frameworkom!",
"Optional": "Voliteľné",
"UpdateUserWebSiteInfo": "Príklad: https://johndoe.com",
"UpdateUserTwitterInfo": "Príklad: johndoe",
"UpdateUserGithubInfo": "Príklad: johndoe",
"UpdateUserLinkedinInfo": "Príklad: https://www.linkedin.com/...",
"UpdateUserCompanyInfo": "Príklad: Volosoft",
"UpdateUserJobTitleInfo": "Príklad: Vývojár softvéru",
"UserName": "Meno používateľa",
"Company": "Spoločnosť",
"PersonalWebsite": "Osobná webová stránka",
"RegistrationDate": "Dátum registrácie",
"Social": "Sociálna sieť",
"Biography": "Životopis",
"HasNoPublishedArticlesYet": "zatiaľ nemá publikované žiadne články",
"Author": "Autor",
"LatestGithubAnnouncements": "Najnovšie oznámenia Githubu",
"SeeAllAnnouncements": "Pozrite si všetky oznámenia",
"LatestBlogPost": "Najnovší príspevok na blogu",
"Edit": "Upraviť",
"ProfileImageChange": "Zmeniť profilový obrázok",
"BlogItemErrorMessage": "Z ABP nie je možné načítať posledné zmeny príspevku na blogu.",
"PlannedReleaseDate": "Plánovaný dátum nového vydania",
"CommunityArticleRequestErrorMessage": "Nepodarilo sa načítať najnovšiu požiadavku na článok z Githubu.",
"ArticleRequestFromGithubIssue": "Nie sú žiadne žiadosti o článok.",
"LatestArticles": "Posledne pridané príspevky",
"ArticleRequests": "Žiadané články",
"AllArticleRequests": "Zobraziť všetky žiadosti o články",
"SubscribeToTheNewsletter": "Prihlásiť sa k odberu noviniek",
"NewsletterEmailDefinition": "Získajte informácie o dianí v ABP, ako sú nové vydania, bezplatné zdroje, články a ďalšie.",
"NoThanks": "Nie, ďakujem",
"MaybeLater": "Možno neskôr",
"JoinOurArticleNewsletter": "Pripojte sa k odberu noviniek",
"Community": "Komunita",
"Marketing": "Marketing",
"CommunityPrivacyPolicyConfirmation": "Súhlasím so zmluvnými podmienkami a <a href=\"https://commercial.abp.io/Privacy\">zásadami ochrany osobných údajov</a>.",
"ArticleRequestMessageTitle": "<a href=\"https://github.com/abpframework/abp/issues/new\">Otvorte problém</a> na GitHube a požiadajte o článok/návod, ktorý chcete vidieť na tejto webovej stránke.",
"ArticleRequestMessageBody": "Tu je zoznam požadovaných článkov komunity. Chcete napísať požadovaný článok? Kliknite na žiadosť a zapojte sa do diskusie.",
"Language": "Jazyk",
"CreateArticleLanguageInfo": "Jazyk pre obsah príspevku.",
"VideoPost": "Video príspevok",
"Article": "Článok",
"Read": "Prečítajte si",
"CreateGithubArticleUrlInfo": "Pôvodná URL adresa GitHub článku.",
"CreateVideoContentUrlInfo": "Pôvodná URL adresa príspevku na Youtube.",
"CreateExternalArticleUrlInfo": "Pôvodná externá URL adresa článku.",
"VideoContentForm": "Odoslanie videa na YouTube",
"GithubPostForm": "Odoslanie článku na GitHub",
"ExternalPostForm": "Odoslanie externého obsahu",
"HowToPost": "Ako zverejňovať príspevky?",
"Posts": "Príspevky",
"VideoUrl": "URL adresa videa",
"GithubArticleUrl": "URL článku na Githube ",
"ExternalArticleUrl": "URL externého článku",
"CreatePostCoverInfo": "Ak chcete vytvoriť efektívny príspevok, pridajte titulnú fotografiu. Pre optimálne zobrazenie nahrávajte obrázky s pomerom strán 16:9. Maximálna veľkosť súboru: 1 MB.",
"ThankYouForContribution": "Ďakujeme, že ste prispeli do ABP komunity.",
"GithubArticle": "Článok na Githube",
"GithubArticleSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Napíšte článok v ľubovoľnom verejnom repozitári GitHub vo formáte Markdown. <a target=\"_blank\" href=\"https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2020-12-04-Event-Organizer/Post.md\">príklad</a>",
"GithubArticleSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> Odoslať URL adresu článku pomocou formulára.",
"GithubArticleSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> Váš článok sa zobrazí na tejto webovej stránke.",
"YoutubeVideo": "Video na YouTube",
"YoutubeVideoSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Uverejnite svoje video na YouTube.",
"YoutubeVideoSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> Odoslať URL adresu videa pomocou formulára.",
"YoutubeVideoSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> Návštevníci budú môcť sledovať váš video obsah priamo na tejto webovej stránke.",
"ExternalContent": "Externý obsah",
"ExternalContentSubmitStepOne": "<span class=\"font-weight-bold\">1.</span> Vytvorte obsah na akejkoľvek verejnej platforme (médium, vlastný blog alebo kdekoľvek chcete).",
"ExternalContentSubmitStepTwo": "<span class=\"font-weight-bold\">2.</span> Pomocou formulára odošlite URL adresu obsahu.",
"ExternalContentSubmitStepThree": "<span class=\"font-weight-bold\">3.</span> Návštevníci sú presmerovaní na obsah pôvodnej webovej stránky.",
"ChooseYourContentType": "Vyberte si spôsob, akým chcete pridať obsah.",
"PostContentViaGithub": "Chcem pridať svoj článok s <span class=\"font-weight-bold\"><i class=\"fa fa-github\"></i> GitHub</span> v súlade s markdown pravidlami.",
"PostContentViaYoutube": "Chcem sa podeliť o svoje videá dostupné na <span class=\"font-weight-bold\"><i class=\"fa fa-youtube\"></i> Youtube</span> tu.",
"PostContentViaExternalSource": "Chcem sem pridať obsah, ktorý som uverejnil na <span class=\"font-weight-bold\">inej platforme</span>.",
"GitHubUserNameValidationMessage": "Vaše používateľské Github meno nesmie obsahovať medzery, uistite sa, že vaše používateľské Github meno je správne.",
"PersonalSiteUrlValidationMessage": "URL adresa vašej osobnej stránky nesmie obsahovať medzery. Uistite sa, že URL adresa vašej osobnej stránky je správna.",
"TwitterUserNameValidationMessage": "Vaše používateľské meno na Twitteri nesmie obsahovať prázdne znaky. Uistite sa, že je vaše používateľské meno na Twitteri správne.",
"LinkedinUrlValidationMessage": "Vaša adresa URL na sieti Linkedin nesmie obsahovať prázdne znaky. Uistite sa, že vaša URL adresa na sieti Linkedin je správna.",
"NoPostsFound": "Nenašli sa žiadne príspevky!",
"SearchInPosts": "Vyhľadávanie v príspevkoch...",
"MinimumSearchContent": "Musíte zadať aspoň 3 znaky!",
"Volo.AbpIo.Domain:060001": "Zdrojová URL(\"{ArticleUrl}\") nie je URL Githubu",
"Volo.AbpIo.Domain:060002": "Obsah článku nie je dostupný v Github zdroji(\"{ArticleUrl}\").",
"Volo.AbpIo.Domain:060003": "Nenašiel sa žiadny obsah článku!"
}
}

6
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/en-GB.json

@ -255,8 +255,6 @@
"Surname": "Surname",
"CompanyName": "Company Name",
"DoYouAgreePrivacyPolicy": "I agree to the Terms & Conditions and <a href=\"https://commercial.abp.io/Privacy\">Privacy Policy</a>.",
"VolosoftMarketingInformationMessage": "I would like information, tips, and offers about Solutions for Businesses and Organizations and other Volosoft products and services.",
"VolosoftSharingInformationMessage": "I would like Volosoft to share my information with select partners so I can receive relevant information about their products and services.",
"Free": "Free",
"DDDEBook": "DDD E-book",
"PracticalGuideForImplementingDDD": "This book is a practical guide for implementing the Domain Driven Design with the ABP Framework.",
@ -270,6 +268,8 @@
"WeWillSendYouADownloadLink": "We've sent the file to {0}.",
"GoHome": "Go Home",
"InvalidFormInputs": "Please, type the valid information specified on the form.",
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>."
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>.",
"SubscribeToNewsletter": "Subscribe to the newsletter to get information about happenings in the ABP.IO Platform, like new releases, articles, offers, and more.",
"FirstEdition": "First Edition"
}
}

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

@ -244,7 +244,7 @@
"ExampleUseCase": "Example Use Case",
"DomainAndApplicationLogic": "Domain Logic & Application Logic",
"Author": "Author",
"Page": "Page",
"Pages": "Pages",
"PublishedOn": "Published on",
"FreeEBook": "Free E-Book",
"Download": "Download",
@ -256,8 +256,6 @@
"Surname": "Surname",
"CompanyName": "Company Name",
"DoYouAgreePrivacyPolicy": "I agree to the <a href=\"https://account.abp.io/Account/TermsConditions\">Terms & Conditions</a> and <a href=\"https://account.abp.io/Account/Privacy\">Privacy Policy</a>.",
"VolosoftMarketingInformationMessage": "I would like information, tips, and offers about Solutions for Businesses and Organizations and other Volosoft products and services.",
"VolosoftSharingInformationMessage": "I would like Volosoft to share my information with select partners so I can receive relevant information about their products and services.",
"Free": "Free",
"DDDEBook": "DDD E-book",
"PracticalGuideForImplementingDDD": "This book is a practical guide for implementing the Domain Driven Design with the ABP Framework.",
@ -268,9 +266,13 @@
"DomainVsApplicationLogic": "Domain Logic vs Application Logic",
"SamplesAndDiscussions": "Samples & Discussions",
"EmailNotValid": "Please enter a valid email address.",
"WeWillSendYouADownloadLink": "A link to download the e-book has been sent to {0}.<br/> Check your inbox / junk / spam boxes!",
"WeWillSendYouADownloadLink": "A link to download the e-book has been sent to {0}. Check your inbox, junk or spam boxes!",
"GoHome": "Go Home",
"InvalidFormInputs": "Please, type the valid information specified on the form.",
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>."
"DDDBookEmailBody": "Thank you. <br /> To download your book, <a href=\"{0}\">click here</a>.",
"SubscribeToNewsletter": "Subscribe to the newsletter to get information about happenings in the ABP.IO Platform, like new releases, articles, offers, and more.",
"FirstEdition": "First Edition",
"ThankYou": "Thank you!",
"CheckboxMandatory": "You need to check this to proceed!"
}
}

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

@ -36,13 +36,13 @@
"BuiltInBundlingMinification": "Sisäänrakennettu niputtaminen ja pienentäminen",
"BuiltInBundlingMinificationExplanation": "Niputtamiseen ja pienentämiseen ei tarvitse käyttää ulkoisia työkaluja. ABP tarjoaa yksinkertaisemman, dynaamisemman, tehokkaamman, modulaarisemman ja sisäänrakennetun tavan!",
"VirtualFileSystem": "Virtuaalinen tiedostojärjestelmä",
"VirtualFileSystemExplanation": "Upota näkymät, komentosarjat, tyylit, kuvat ... paketteihin / kirjastoihin ja käytä niitä uudelleen eri sovelluksissa.",
"VirtualFileSystemExplanation": "Upota näkymät, komentosarjat, tyylit, kuvat... paketteihin / kirjastoihin ja käytä niitä uudelleen eri sovelluksissa.",
"Theming": "Heidät",
"ThemingExplanationShort": "Käytä ja muokkaa bootstrap-pohjaista vakiokäyttöliittymän teemaa tai luo oma.",
"BootstrapTagHelpersDynamicForms": "Bootstrap Tag Helpers ja dynaamiset lomakkeet",
"BootstrapTagHelpersDynamicFormsExplanation": "Sen sijaan, että kirjoittaisit manuaalisesti käynnistysstrap-komponenttien toistuvia yksityiskohtia, käytä ABP: n tag-avustajia yksinkertaistaaksesi sitä ja hyödyntääksesi älykkäitä ominaisuuksia. Rakenna käyttöliittymälomakkeet nopeasti C # -mallin perusteella käyttämällä dynaamista lomaketunnisteen auttajaa.",
"BootstrapTagHelpersDynamicFormsExplanation": "Sen sijaan, että kirjoittaisit manuaalisesti käynnistysstrap-komponenttien toistuvia yksityiskohtia, käytä ABP: n tag-avustajia yksinkertaistaaksesi sitä ja hyödyntääksesi älykkäitä ominaisuuksia. Rakenna käyttöliittymälomakkeet nopeasti C# -mallin perusteella käyttämällä dynaamista lomaketunnisteen auttajaa.",
"HTTPAPIsDynamicProxies": "HTTP-sovellusliittymät ja dynaamiset välityspalvelimet",
"HTTPAPIsDynamicProxiesExplanation": "Altista sovelluspalvelut automaattisesti REST-tyylisiksi HTTP-sovellusliittymiksi ja kuluta niitä dynaamisilla JavaScript- ja C # -välityspalvelimilla.",
"HTTPAPIsDynamicProxiesExplanation": "Altista sovelluspalvelut automaattisesti REST-tyylisiksi HTTP-sovellusliittymiksi ja kuluta niitä dynaamisilla JavaScript- ja C# -välityspalvelimilla.",
"CompleteArchitectureInfo": "Moderni arkkitehtuuri ylläpidettävien ohjelmistoratkaisujen luomiseksi.",
"DomainDrivenDesignBasedLayeringModelExplanation": "Auttaa sinua toteuttamaan DDD-pohjaisen kerrostetun arkkitehtuurin ja rakentamaan ylläpidettävän koodipohjan.",
"DomainDrivenDesignBasedLayeringModelExplanationCont": "Tarjoaa käynnistysmalleja, abstrakteja, perusluokkia, palveluja, dokumentaatiota ja oppaita, joiden avulla voit kehittää sovellustasi DDD-mallien ja -periaatteiden perusteella.",
@ -70,7 +70,7 @@
"ConventionOverConfigurationExplanation": "ABP toteuttaa oletusarvoisesti yleiset sovelluskäytännöt minimaalisella tai nolla-kokoonpanolla.",
"ConventionOverConfigurationExplanationList1": "Auto rekisteröi tunnetut palvelut riippuvuusinjektioon.",
"ConventionOverConfigurationExplanationList2": "Paljastaa sovelluspalvelut HTTP-sovellusliittyminä nimeämällä käytäntöjä.",
"ConventionOverConfigurationExplanationList3": "Luo dynaamiset HTTP-asiakasvälityspalvelimet C #: lle ja JavaScriptille.",
"ConventionOverConfigurationExplanationList3": "Luo dynaamiset HTTP-asiakasvälityspalvelimet C# : lle ja JavaScript.",
"ConventionOverConfigurationExplanationList4": "Tarjoaa oletusvarastoja yhteisöillesi.",
"ConventionOverConfigurationExplanationList5": "Hallitsee työyksikköä verkkopyynnön tai sovelluspalvelumenetelmän mukaan.",
"ConventionOverConfigurationExplanationList6": "Julkaisee luoda, päivittää ja poistaa tapahtumia yhteisöillesi.",
@ -94,7 +94,7 @@
"DynamicForms": "Dynaamiset lomakkeet",
"BundlingMinification": "Niputtaminen ja minimointi",
"BackgroundJobs": "Taustatyöt",
"BackgroundJobsExplanation": "Määritä yksinkertaiset luokat taustalla olevien töiden suorittamiseksi jonossa. Käytä sisäänrakennettua työnhallintaa tai integroi oma. <a href=\"{0}\"> Hangfire </a> ja <a href=\"{1}\"> RabbitMQ </a> -integraatiot ovat jo käytettävissä.",
"BackgroundJobsExplanation": "Määritä yksinkertaiset luokat taustalla olevien töiden suorittamiseksi jonossa. Käytä sisäänrakennettua työnhallintaa tai integroi oma.<a href=\"{0}\"> Hangfire </a> ja <a href=\"{1}\"> RabbitMQ </a> -integraatiot ovat jo käytettävissä.",
"DDDInfrastructure": "DDD-infrastruktuuri",
"DomainDrivenDesignInfrastructure": "Toimialueohjattu suunnittelun infrastruktuuri",
"AutoRESTAPIs": "Auto REST -sovellusliittymät",
@ -121,13 +121,13 @@
"MultiTenancyExplanation3": "Tukee yhtä tietokantaa, tietokantaa vuokralaista kohti ja hybridi-lähestymistapoja.",
"MultiTenancyExplanation4": "Keskity yrityksesi koodiin ja annat kehyksen hoitamaan monivuokrausta puolestasi.",
"BootstrapTagHelpersExplanation": "Sen sijaan, että kirjoittaisit manuaalisesti uudelleenkäynnistyskomponenttien yksityiskohtia, käytä ABP: n tunnisteita yksinkertaistaaksesi sitä ja hyödyntäksesi älykkäitä ominaisuuksia. Voit ehdottomasti käyttää Bootstrapia milloin tahansa.",
"DynamicFormsExplanation": "Dynaamiset lomake- ja syöttötunnisteiden apurit voivat luoda täydellisen lomakkeen mallina C # -luokasta.",
"DynamicFormsExplanation": "Dynaamiset lomake- ja syöttötunnisteiden apurit voivat luoda täydellisen lomakkeen mallina C# -luokasta.",
"AuthenticationAuthorizationExplanation": "ASP.NET Core Identity & IdentityServer4 -palveluun integroidut monipuoliset todennus- ja todennusvaihtoehdot. Tarjoaa laajennettavan ja yksityiskohtaisen lupajärjestelmän.",
"CrossCuttingConcernsExplanation": "Älä toista itseäsi kaikkien näiden yleisten asioiden toteuttamiseksi uudelleen ja uudelleen. Keskity yrityskoodiin ja anna ABP: n automatisoida ne käytäntöjen mukaan.",
"DatabaseConnectionTransactionManagement": "Tietokantayhteys ja tapahtumien hallinta",
"CorrelationIdTracking": "Korrelaatio-Id-seuranta",
"BundlingMinificationExplanation": "ABP tarjoaa yksinkertaisen, dynaamisen, tehokkaan, modulaarisen ja sisäänrakennetun niputus- ja pienentämisjärjestelmän.",
"VirtualFileSystemnExplanation": "Virtuaalinen tiedostojärjestelmä mahdollistaa sellaisten tiedostojen hallinnan, joita ei ole fyysisesti tiedostojärjestelmässä (levyllä). Sitä käytetään pääasiassa upottamaan (js, css, kuva, cshtml ...) tiedostot kokoonpanoiksi ja käyttämään niitä kuin fyysisiä tiedostoja ajon aikana.",
"VirtualFileSystemnExplanation": "Virtuaalinen tiedostojärjestelmä mahdollistaa sellaisten tiedostojen hallinnan, joita ei ole fyysisesti tiedostojärjestelmässä (levyllä). Sitä käytetään pääasiassa upottamaan (js, css, kuva, cshtml...) tiedostot kokoonpanoiksi ja käyttämään niitä kuin fyysisiä tiedostoja ajon aikana.",
"ThemingExplanation": "Theming-järjestelmän avulla voit kehittää sovellus- ja moduuliteemasi itsenäisesti määrittelemällä joukon yhteisiä peruskirjastoja ja asetteluja uusimman Bootstrap-kehyksen perusteella.",
"DomainDrivenDesignInfrastructureExplanation": "Täydellinen infrastruktuuri kerrostettujen sovellusten rakentamiseen, joka perustuu toimialueohjattuihin suunnittelumalleihin ja periaatteisiin;",
"Specification": "Erittely",
@ -138,7 +138,7 @@
"DataTransferObject": "Tiedonsiirtokohde",
"AggregateRootEntity": "Kokonaisjuuri, entiteetti",
"AutoRESTAPIsExplanation": "ABP voi määrittää sovelluspalvelut automaattisesti API-ohjaimiksi sopimuksen mukaan.",
"DynamicClientProxiesExplanation": "Kuluta helposti API: si JavaScript- ja C # -asiakkailta.",
"DynamicClientProxiesExplanation": "Kuluta helposti API: si JavaScript- ja C# -asiakkailta.",
"DistributedEventBusWithRabbitMQIntegrationExplanation": "Julkaise ja kuluta jaettuja tapahtumia helposti käyttämällä sisäänrakennettua hajautettua tapahtumaväylää, jossa on käytettävissä RabbitMQ-integraatio.",
"TestInfrastructureExplanation": "Kehys on kehitetty yksikkö- ja integraatiotestaus ajatellen. Tarjoaa sinulle perusluokkia helpottamaan. Käynnistysmalleissa on valmiiksi konfiguroitu testaus.",
"AuditLoggingEntityHistoriesExplanation": "Sisäänrakennettu tarkastuskirjaus yrityskriittisille sovelluksille. Pyyntö-, palvelu-, menetelmätason tarkastusloki ja entiteettihistoria omaisuuden tason yksityiskohdilla.",
@ -155,7 +155,7 @@
"Code": "Koodi",
"Result": "Tulos",
"SeeTheDocumentForMoreInformation": "Katso lisätietoja <a href=\"{1}\"> {0} asiakirjasta </a>",
"IndexPageHeroSection": "<span class = \"first-line shine\"> <strong> avoin lähdekoodi </strong> </span> <span class = \"second-line text-uppercase\"> verkkosovellus <br /> Framework </span> <span class = \"third-line shine2\"> <strong> asp.net-ytimelle </strong> </span>",
"IndexPageHeroSection": "<span class=\"first-line shine\"><strong> avoin lähdekoodi </strong></span><span class=\"second-line text-uppercase\"> verkkosovellus <br/> Framework </span><span class=\"third-line shine2\"><strong> asp.net-ytimelle </strong></span>",
"UiFramework": "Käyttöliittymäkehys",
"EmailAddress": "Sähköpostiosoite",
"Mobile": "Matkapuhelin",
@ -169,13 +169,13 @@
"JoinTheABPCommunityInfo": "Ole mukana elävässä yhteisössä ja tule osallistujana sivutuotteiden kehykseen!",
"AllArticles": "Kaikki artikkelit",
"SubmitYourArticle": "Lähetä artikkelisi",
"DynamicClientProxyDocument": "Katso dynaamisen asiakkaan välityspalvelimen dokumentaatiot <a href=\"{0}\"> JavaScriptille </a> ja <a href=\"{1}\"> C # </a>.",
"DynamicClientProxyDocument": "Katso dynaamisen asiakkaan välityspalvelimen dokumentaatiot <a href=\"{0}\"> JavaScript </a> ja <a href=\"{1}\">C#</a>.",
"EmailSMSAbstractionsDocument": "Katso lisätietoja <a href=\"{0}\"> sähköpostitse </a> ja <a href=\"{1}\"> tekstiviestien lähettäminen </a> -asiakirjoista.",
"CreateProjectWizard": "Tämä ohjattu toiminto luo uuden projektin käynnistysmallista, joka on määritetty oikein aloittamaan projekti.",
"TieredOption": "Luo porrastetun ratkaisun, jossa Web- ja Http-API-kerrokset erotetaan fyysisesti. Jos sitä ei ole valittu, luodaan kerrostettu ratkaisu, joka on vähemmän monimutkainen ja sopii useimpiin tilanteisiin.",
"SeparateIdentityServerOption": "Erottaa palvelinpuolen kahteen sovellukseen: Ensimmäinen on identiteettipalvelimelle ja toinen palvelinpuolen HTTP-sovellusliittymälle.",
"UseslatestPreVersion": "Käyttää uusinta julkaisua edeltävää versiota",
"ReadTheDocumentation": "<span class = \"text-primary\"> Lue </span> <span class = \"text-success\"> Dokumentaatio </span>",
"ReadTheDocumentation": "<span class=\"text-primary\"> Lue </span><span class=\"text-success\"> Dokumentaatio </span>",
"Documentation": "Dokumentointi",
"GettingStartedTutorial": "Aloitusopas",
"ApplicationDevelopmentTutorial": "Sovelluskehitysopastus",
@ -195,7 +195,7 @@
"MultipleUIOptionsExplanation": "Ydinkehys on suunniteltu käyttöliittymästä riippumattomaksi ja se voi toimia minkä tahansa tyyppisen käyttöliittymäjärjestelmän kanssa, kun taas useita valmiiksi rakennettuja ja integroituja vaihtoehtoja toimitetaan heti.",
"MultipleDBOptionsExplanation": "Kehys voi toimia minkä tahansa tietolähteen kanssa, kun taas seuraavat palveluntarjoajat on virallisesti kehitetty ja tuettu;",
"SelectLanguage": "Valitse kieli",
"LatestArticleOnCommunity": "Viimeisin artikkeli ABP-yhteisöstä",
"LatestArticleOnCommunity": "Viimeisin artikkeli ABP Community",
"Register": "Rekisteröidy",
"IsDownloadable": "On ladattavissa"
}

14
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/fr.json

@ -36,11 +36,11 @@
"BuiltInBundlingMinification": "Regroupement et minification intégrés",
"BuiltInBundlingMinificationExplanation": "Pas besoin d'utiliser des outils externes pour le regroupement et la minimisation. ABP offre un moyen plus simple, dynamique, puissant, modulaire et intégré!",
"VirtualFileSystem": "Système de fichiers virtuel",
"VirtualFileSystemExplanation": "Incorporez des vues, des scripts, des styles, des images ... dans des packages / bibliothèques et réutilisez-les dans différentes applications.",
"VirtualFileSystemExplanation": "Incorporez des vues, des scripts, des styles, des images... dans des packages / bibliothèques et réutilisez-les dans différentes applications.",
"Theming": "Thème",
"ThemingExplanationShort": "Utilisez et personnalisez le thème d'interface utilisateur standard basé sur le bootstrap ou créez le vôtre.",
"BootstrapTagHelpersDynamicForms": "Aide aux balises Bootstrap et formulaires dynamiques",
"BootstrapTagHelpersDynamicFormsExplanation": "Au lieu d'écrire manuellement les détails répétitifs des composants d'amorçage, utilisez les assistants de balises d'ABP pour le simplifier et tirer parti d'intellisense. Créez rapidement des formulaires d'interface utilisateur basés sur un modèle C # à l'aide de l'assistant de balise de formulaire dynamique.",
"BootstrapTagHelpersDynamicFormsExplanation": "Au lieu d'écrire manuellement les détails répétitifs des composants d'amorçage, utilisez les assistants de balises d'ABP pour le simplifier et tirer parti d'intellisense. Créez rapidement des formulaires d'interface utilisateur basés sur un modèle C# à l'aide de l'assistant de balise de formulaire dynamique.",
"HTTPAPIsDynamicProxies": "API HTTP et proxys dynamiques",
"HTTPAPIsDynamicProxiesExplanation": "Exposez automatiquement les services d'application en tant qu'API HTTP de style REST et utilisez-les avec des proxys JavaScript et C# dynamiques.",
"CompleteArchitectureInfo": "Architecture moderne pour créer des solutions logicielles maintenables.",
@ -127,7 +127,7 @@
"DatabaseConnectionTransactionManagement": "Connexion à la base de données et gestion des transactions",
"CorrelationIdTracking": "Suivi des identifiants de corrélation",
"BundlingMinificationExplanation": "ABP offre un système de regroupement et de minification simple, dynamique, puissant, modulaire et intégré.",
"VirtualFileSystemnExplanation": "Le système de fichiers virtuel permet de gérer des fichiers qui n'existent pas physiquement sur le système de fichiers (disque). Il est principalement utilisé pour incorporer des fichiers (js, css, image, cshtml ...) dans des assemblys et les utiliser comme des fichiers physiques lors de l'exécution.",
"VirtualFileSystemnExplanation": "Le système de fichiers virtuel permet de gérer des fichiers qui n'existent pas physiquement sur le système de fichiers (disque). Il est principalement utilisé pour incorporer des fichiers (js, css, image, cshtml...) dans des assemblys et les utiliser comme des fichiers physiques lors de l'exécution.",
"ThemingExplanation": "Le système de thématisation permet de développer votre application et vos modules indépendamment du thème en définissant un ensemble de bibliothèques et de mises en page de base communes, basées sur le dernier framework Bootstrap.",
"DomainDrivenDesignInfrastructureExplanation": "Une infrastructure complète pour créer des applications en couches basées sur les modèles et principes de conception pilotée par domaine;",
"Specification": "spécification",
@ -138,7 +138,7 @@
"DataTransferObject": "Objet de transfert de données",
"AggregateRootEntity": "Racine agrégée, entité",
"AutoRESTAPIsExplanation": "ABP peut configurer automatiquement vos services d'application en tant que contrôleurs d'API par convention.",
"DynamicClientProxiesExplanation": "Utilisez facilement vos API à partir de clients JavaScript et C#.",
"DynamicClientProxiesExplanation": "Utilisez facilement vos API à partir de clients JavaScript et C# .",
"DistributedEventBusWithRabbitMQIntegrationExplanation": "Publiez et consommez facilement des événements distribués à l'aide du bus d'événements distribués intégré avec l'intégration RabbitMQ disponible.",
"TestInfrastructureExplanation": "Le framework a été développé en pensant aux tests unitaires et d'intégration. Vous fournit des classes de base pour vous faciliter la tâche. Les modèles de démarrage sont pré-configurés pour les tests.",
"AuditLoggingEntityHistoriesExplanation": "Journalisation d'audit intégrée pour les applications stratégiques. Requête, service, journalisation d'audit au niveau de la méthode et historiques d'entités avec des détails au niveau de la propriété.",
@ -155,7 +155,7 @@
"Code": "Code",
"Result": "Résultat",
"SeeTheDocumentForMoreInformation": "Consultez le <a href=\"{1}\"> {0} document </a> pour plus d'informations",
"IndexPageHeroSection": "<span class = \"first-line shine\"> <strong> open source </strong> </span> <span class = \"second-line text-uppercase\"> Application Web <br /> Framework </span> <span class = \"troisième ligne shine2\"> <strong> pour asp.net core </strong> </span>",
"IndexPageHeroSection": "<span class=\"first-line shine\"><strong>open source</strong></span><span class=\"second-line text-uppercase\">Web Application<br/>Framework </span><span class=\"third-line shine2\"><strong>for asp.net core</strong></span>",
"UiFramework": "Framework de l'interface utilisateur",
"EmailAddress": "Adresse e-mail",
"Mobile": "Mobile",
@ -169,13 +169,13 @@
"JoinTheABPCommunityInfo": "Impliquez-vous dans une communauté dynamique et devenez un contributeur au cadre ABP!",
"AllArticles": "Tous les articles",
"SubmitYourArticle": "Soumettez votre article",
"DynamicClientProxyDocument": "Consultez les documentations sur le proxy client dynamique pour <a href=\"{0}\"> JavaScript </a> et <a href=\"{1}\"> C # </a>.",
"DynamicClientProxyDocument": "Consultez les documentations sur le proxy client dynamique pour <a href=\"{0}\"> JavaScript </a> et <a href=\"{1}\">C#</a>.",
"EmailSMSAbstractionsDocument": "Consultez les documents <a href=\"{0}\"> e-mail </a> et <a href=\"{1}\"> Envoi de SMS </a> pour plus d'informations.",
"CreateProjectWizard": "Cet assistant crée un nouveau projet à partir du modèle de démarrage qui est correctement configuré pour démarrer rapidement votre projet.",
"TieredOption": "Crée une solution à plusieurs niveaux dans laquelle les couches API Web et Http sont physiquement séparées. Si elle n'est pas cochée, crée une solution en couches qui est moins complexe et adaptée à la plupart des scénarios.",
"SeparateIdentityServerOption": "Sépare le côté serveur en deux applications: la première est pour le serveur d'identité et la seconde pour votre API HTTP côté serveur.",
"UseslatestPreVersion": "Utilise la dernière version préliminaire",
"ReadTheDocumentation": "<span class = \"text-primary\"> Lire </span> <span class = \"text-success\"> La documentation </span>",
"ReadTheDocumentation": "<span class=\"text-primary\"> Lire </span><span class=\"text-success\"> La documentation </span>",
"Documentation": "Documentation",
"GettingStartedTutorial": "Tutoriel de mise en route",
"ApplicationDevelopmentTutorial": "Tutoriel de développement d'applications",

26
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/hi.json

@ -40,9 +40,9 @@
"Theming": "थीम",
"ThemingExplanationShort": "बूटस्ट्रैप-आधारित मानक UI थीम का उपयोग करें और अनुकूलित करें या अपना स्वयं का बनाएं।",
"BootstrapTagHelpersDynamicForms": "बूटस्ट्रैप टैग हेल्पर्स और डायनामिक फॉर्म",
"BootstrapTagHelpersDynamicFormsExplanation": "बूटस्ट्रैप घटकों के दोहराए गए विवरणों को मैन्युअल रूप से लिखने के बजाय, इसे सरल बनाने और अंतरंगता का लाभ उठाने के लिए एबीपी के टैग सहायकों का उपयोग करें। डायनामिक फॉर्म टैग हेल्पर का उपयोग करके C # मॉडल के आधार पर जल्दी से UI फॉर्म का निर्माण करें।",
"BootstrapTagHelpersDynamicFormsExplanation": "बूटस्ट्रैप घटकों के दोहराए गए विवरणों को मैन्युअल रूप से लिखने के बजाय, इसे सरल बनाने और अंतरंगता का लाभ उठाने के लिए एबीपी के टैग सहायकों का उपयोग करें। डायनामिक फॉर्म टैग हेल्पर का उपयोग करके C# मॉडल के आधार पर जल्दी से UI फॉर्म का निर्माण करें।",
"HTTPAPIsDynamicProxies": "HTTP एपीआई और डायनेमिक प्रॉक्सी",
"HTTPAPIsDynamicProxiesExplanation": "REST शैली HTTP API के रूप में एप्लिकेशन सेवाओं को स्वचालित रूप से उजागर करें, और उन्हें गतिशील जावास्क्रिप्ट और C # प्रॉक्सी के साथ उपभोग करें।",
"HTTPAPIsDynamicProxiesExplanation": "REST शैली HTTP API के रूप में एप्लिकेशन सेवाओं को स्वचालित रूप से उजागर करें, और उन्हें गतिशील जावास्क्रिप्ट और C# प्रॉक्सी के साथ उपभोग करें।",
"CompleteArchitectureInfo": "बनाए रखने योग्य सॉफ़्टवेयर समाधान बनाने के लिए आधुनिक वास्तुकला।",
"DomainDrivenDesignBasedLayeringModelExplanation": "डीडीडी आधारित स्तरित वास्तुकला को लागू करने और बनाए रखने योग्य कोड आधार बनाने में आपकी सहायता करता है।",
"DomainDrivenDesignBasedLayeringModelExplanationCont": "DDD पैटर्न और सिद्धांतों के आधार पर आपके एप्लिकेशन को विकसित करने में मदद करने के लिए स्टार्टअप टेम्प्लेट, सार, आधार कक्षाएं, सेवाएं, प्रलेखन और मार्गदर्शिका प्रदान करता है।",
@ -70,7 +70,7 @@
"ConventionOverConfigurationExplanation": "ABP न्यूनतम या शून्य कॉन्फ़िगरेशन के साथ डिफ़ॉल्ट रूप से सामान्य अनुप्रयोग सम्मेलनों को लागू करता है।",
"ConventionOverConfigurationExplanationList1": "ऑटो निर्भरता इंजेक्शन के लिए सेवाओं को पंजीकृत करता है।",
"ConventionOverConfigurationExplanationList2": "नामकरण सम्मेलनों द्वारा HTTP APIs के रूप में अनुप्रयोग सेवाओं का प्रस्ताव है।",
"ConventionOverConfigurationExplanationList3": "C # और JavaScript के लिए गतिशील HTTP क्लाइंट प्रॉक्सी बनाता है।",
"ConventionOverConfigurationExplanationList3": " C# और JavaScript के लिए गतिशील HTTP क्लाइंट प्रॉक्सी बनाता है।",
"ConventionOverConfigurationExplanationList4": "आपकी संस्थाओं के लिए डिफ़ॉल्ट रिपॉजिटरी प्रदान करता है।",
"ConventionOverConfigurationExplanationList5": "वेब अनुरोध या एप्लिकेशन सेवा पद्धति के अनुसार कार्य की इकाई का प्रबंधन।",
"ConventionOverConfigurationExplanationList6": "आपकी संस्थाओं के लिए ईवेंट बनाएं, अपडेट करें और हटाएं।",
@ -94,7 +94,7 @@
"DynamicForms": "गतिशील रूप",
"BundlingMinification": "बंडलिंग और न्यूनतमकरण",
"BackgroundJobs": "बैकग्राउंड जॉब्स",
"BackgroundJobsExplanation": "सरल कक्षाओं को परिभाषित करें ताकि पृष्ठभूमि में नौकरियों को निष्पादित किया जा सके। अंतर्निहित नौकरी प्रबंधक का उपयोग करें या अपने स्वयं के एकीकृत करें। <a href=\" जटिलताओं0 Ideal\"> Hangfire </a> और <a href=\" जटिलताओं1 Ideal\"> RabbitMQ </a> एकीकरण पहले से ही उपलब्ध हैं।",
"BackgroundJobsExplanation": "कतारबद्ध के रूप में पृष्ठभूमि में कार्य निष्पादित करने के लिए सरल वर्गों को परिभाषित करें। बिल्ट-इन जॉब मैनेजर का उपयोग करें या अपना खुद का एकीकृत करें। <a href=\"{0}\">Hangfire</a> और <a href=\"{1}\">RabbitMQ</a> एकीकरण पहले से ही उपलब्ध हैं।",
"DDDInfrastructure": "डीडीडी इन्फ्रास्ट्रक्चर",
"DomainDrivenDesignInfrastructure": "डोमेन संचालित डिज़ाइन इन्फ्रास्ट्रक्चर",
"AutoRESTAPIs": "ऑटो रीस्ट एपीआई",
@ -104,7 +104,7 @@
"TestInfrastructure": "टेस्ट इन्फ्रास्ट्रक्चर",
"AuditLoggingEntityHistories": "ऑडिट लॉगिंग और इकाई इतिहास",
"ObjectToObjectMapping": "ऑब्जेक्ट टू ऑब्जेक्ट मैपिंग",
"ObjectToObjectMappingExplanation": "AutoMapper एकीकरण के साथ अमूर्तता के लिए <a href=\" जटिलताओं0directory\"> ऑब्जेक्ट मैपिंग पर ऑब्जेक्ट </a>।",
"ObjectToObjectMappingExplanation": "ऑटोमैपर एकीकरण के साथ <a href=\"{0}\">ऑब्जेक्ट टू ऑब्जेक्ट मैपिंग</a> एब्स्ट्रैक्शन।",
"EmailSMSAbstractions": "ईमेल और एसएमएस अंश",
"EmailSMSAbstractionsWithTemplatingSupport": "ईमेल और एसएमएस अंशांकन समर्थन के साथ",
"Localization": "स्थानीयकरण",
@ -121,13 +121,13 @@
"MultiTenancyExplanation3": "एकल डेटाबेस, डेटाबेस प्रति किरायेदार और हाइब्रिड दृष्टिकोण का समर्थन करता है।",
"MultiTenancyExplanation4": "आप अपने व्यवसाय कोड पर ध्यान केंद्रित करते हैं और आपकी ओर से मल्टी-टेनेंसी को संभालने की रूपरेखा तैयार करते हैं।",
"BootstrapTagHelpersExplanation": "बूटस्ट्रैप घटकों के दोहराए गए विवरणों को मैन्युअल रूप से लिखने के बजाय, इसे सरल बनाने और अंतरंगता का लाभ उठाने के लिए एबीपी के टैग सहायकों का उपयोग करें। जब भी आपको जरूरत हो आप बूटस्ट्रैप का इस्तेमाल जरूर कर सकते हैं।",
"DynamicFormsExplanation": "डायनामिक फॉर्म और इनपुट टैग हेल्पर्स मॉडल के रूप में C # क्लास से पूरा फॉर्म बना सकते हैं।",
"DynamicFormsExplanation": "डायनामिक फॉर्म और इनपुट टैग हेल्पर्स मॉडल के रूप में C# क्लास से पूरा फॉर्म बना सकते हैं।",
"AuthenticationAuthorizationExplanation": "रिच प्रमाणीकरण और प्राधिकरण विकल्प ASP.NET कोर आइडेंटिटी और आइडेंटिटी सेवर 4 को एकीकृत करता है। एक एक्स्टेंसिबल और विस्तृत अनुमति प्रणाली प्रदान करता है।",
"CrossCuttingConcernsExplanation": "इन सभी सामान्य चीज़ों को बार-बार लागू करने के लिए अपने आप को दोहराएं नहीं। अपने व्यवसाय कोड पर ध्यान दें और एबीपी को उन्हें सम्मेलनों द्वारा स्वचालित करें।",
"DatabaseConnectionTransactionManagement": "डेटाबेस कनेक्शन और लेनदेन प्रबंधन",
"CorrelationIdTracking": "सहसंबंध-आईडी ट्रैकिंग",
"BundlingMinificationExplanation": "ABP एक सरल, गतिशील, शक्तिशाली, मॉड्यूलर और बिल्ट-इन बंडलिंग और मिनिफिकेशन सिस्टम प्रदान करता है।",
"VirtualFileSystemnExplanation": "वर्चुअल फ़ाइल सिस्टम उन फ़ाइलों को प्रबंधित करना संभव बनाता है जो फ़ाइल सिस्टम (डिस्क) पर भौतिक रूप से मौजूद नहीं हैं। यह मुख्य रूप से विधानसभाओं में (js, css, image, cshtml ...) फ़ाइलों को एम्बेड करने और रनटाइम के दौरान भौतिक फ़ाइलों की तरह उपयोग करने के लिए उपयोग किया जाता है।",
"VirtualFileSystemnExplanation": "वर्चुअल फ़ाइल सिस्टम उन फ़ाइलों को प्रबंधित करना संभव बनाता है जो फ़ाइल सिस्टम (डिस्क) पर भौतिक रूप से मौजूद नहीं हैं। यह मुख्य रूप से विधानसभाओं में (js, css, image, cshtml...) फ़ाइलों को एम्बेड करने और रनटाइम के दौरान भौतिक फ़ाइलों की तरह उपयोग करने के लिए उपयोग किया जाता है।",
"ThemingExplanation": "थिमिंग सिस्टम नवीनतम बूटस्ट्रैप ढांचे के आधार पर, सामान्य आधार पुस्तकालयों और लेआउट के एक सेट को परिभाषित करके आपके एप्लिकेशन और मॉड्यूल विषय को विकसित करने की अनुमति देता है।",
"DomainDrivenDesignInfrastructureExplanation": "डोमेन संचालित डिज़ाइन पैटर्न और सिद्धांतों के आधार पर स्तरित अनुप्रयोगों के निर्माण के लिए एक पूर्ण बुनियादी ढांचा;",
"Specification": "विनिर्देश",
@ -154,8 +154,8 @@
"AndMore": "और अधिक...",
"Code": "कोड",
"Result": "परिणाम",
"SeeTheDocumentForMoreInformation": "अधिक जानकारी के लिए <a href=\"find1 Ideal\"> {0} दस्तावेज़ </a> देखें",
"IndexPageHeroSection": "<स्पैन क्लास = \"फर्स्ट-लाइन शाइन\"> <strong> ओपन सोर्स </ strong> </ span> <स्पैन क्लास = \"सेकंड-लाइन टेक्स्ट-अपरकेस\"> वेब एप्लिकेशन <br /> फ्रेमवर्क </ span> <span class = \"third-line shine2\"> <strong> asp.net core के लिए </ strong> </ span>",
"SeeTheDocumentForMoreInformation": "अधिक जानकारी के लिए <a href=\"{1}\">{0} दस्तावेज़</a> देखें",
"IndexPageHeroSection": "<span class=\"first-line shine\"><strong>open source</strong></span><span class=\"second-line text-uppercase\">Web Application<br/>Framework </span><span class=\"third-line shine2\"><strong>for asp.net core</strong></span>",
"UiFramework": "यूआई फ्रेमवर्क",
"EmailAddress": "ईमेल पता",
"Mobile": "मोबाइल",
@ -169,13 +169,13 @@
"JoinTheABPCommunityInfo": "एक जीवंत समुदाय के साथ शामिल हों और ABP फ्रेमवर्क में योगदानकर्ता बनें!",
"AllArticles": "सभी चीज़ें",
"SubmitYourArticle": "अपना लेख प्रस्तुत करें",
"DynamicClientProxyDocument": "<a href=\" जटिलताओं0 Ideal\"> JavaScript </a> और <a href=\" जटिलताओं1 Ideal\"> C # </a> के लिए डायनेमिक क्लाइंट प्रॉक्सी दस्तावेज़ देखें।",
"EmailSMSAbstractionsDocument": "अधिक जानकारी के लिए <a href=\"lights0 Ideal\"> ईमेल करना </a> और <a href=\" जटिलताओं1 Ideal\"> एसएमएस भेजने </a> के दस्तावेज़ देखें।",
"DynamicClientProxyDocument": "<a href=\"{0}\">JavaScript</a> और <a href=\"{1}\">C#</a> के लिए गतिशील क्लाइंट प्रॉक्सी दस्तावेज़ देखें।",
"EmailSMSAbstractionsDocument": "अधिक जानकारी के लिए <a href=\"{0}\">ईमेलिंग</a> और <a href=\"{1}\">एसएमएस भेजना</a> दस्तावेज़ देखें।",
"CreateProjectWizard": "यह विज़ार्ड स्टार्टअप टेम्प्लेट से एक नई परियोजना बनाता है जो आपकी परियोजना को शुरू करने के लिए ठीक से कॉन्फ़िगर किया गया है।",
"TieredOption": "एक ऐसा समाधान तैयार करता है जहाँ वेब और Http API परतें शारीरिक रूप से अलग हो जाती हैं। यदि जांच नहीं की जाती है, तो एक स्तरित समाधान बनाता है जो कम जटिल है और अधिकांश परिदृश्यों के लिए उपयुक्त है।",
"SeparateIdentityServerOption": "सर्वर एप्लिकेशन को दो अनुप्रयोगों में अलग करता है: पहला पहचान सर्वर के लिए है और दूसरा आपके सर्वर साइड HTTP एपीआई के लिए है।",
"UseslatestPreVersion": "नवीनतम पूर्व-रिलीज़ संस्करण का उपयोग करता है",
"ReadTheDocumentation": "<स्पैन क्लास = \"टेक्स्ट-प्राइमरी\"> पढ़ें </ span> <स्पैन क्लास = \"टेक्स्ट-सक्सेस\"> डॉक्यूमेंटेशन </ span>",
"ReadTheDocumentation": "<span class=\"text-primary\">पढ़ें</span><span class=\"text-success\">दस्तावेज़ीकरण</span>",
"Documentation": "प्रलेखन",
"GettingStartedTutorial": "स्टार्टिंग ट्यूटोरियल",
"ApplicationDevelopmentTutorial": "अनुप्रयोग विकास ट्यूटोरियल",
@ -183,7 +183,7 @@
"InstallABPCLIInfo": "एबीपी सीएलआई एबीपी ढांचे के साथ एक नया समाधान शुरू करने का सबसे तेज़ तरीका है। कमांड लाइन विंडो का उपयोग करके ABP CLI स्थापित करें:",
"DifferentLevelOfNamespaces": "आप विभिन्न स्तरों के नामस्थानों का उपयोग कर सकते हैं; जैसे BookStore, Acme.BookStore या Acme.Retail.BookStore।",
"ABPCLIExamplesInfo": "<strong> नया </ strong> कमांड डेटाबेस प्रदाता के रूप में <strong> एंटिटी फ्रेमवर्क कोर </ strong> के साथ <strong> स्तरित MVC एप्लिकेशन </ strong> बनाता है। हालांकि, इसके पास अतिरिक्त विकल्प हैं। उदाहरण:",
"SeeCliDocumentForMoreInformation": "अधिक विकल्पों के लिए <a href=\"lights0 Ideal\"> ABP CLI दस्तावेज़ </a> देखें या ऊपर \"डायरेक्ट डाउनलोड\" टैब चुनें।",
"SeeCliDocumentForMoreInformation": "अधिक विकल्पों के लिए <a href=\"{0}\">ABP CLI दस्तावेज़</a> देखें या ऊपर \"डायरेक्ट डाउनलोड\" टैब चुनें।",
"Optional": "ऐच्छिक",
"LocalFrameworkRef": "फ्रेमवर्क पैकेज के लिए स्थानीय प्रोजेक्ट संदर्भ रखें।",
"BlobStoring": "ब्लॉब भंडारण",

158
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/it.json

@ -2,7 +2,7 @@
"culture": "it",
"texts": {
"GetStarted": "Inizia - Modelli di avvio",
"Create": "Creare",
"Create": "Crea",
"NewProject": "Nuovo progetto",
"DirectDownload": "Download diretto",
"ProjectName": "Nome del progetto",
@ -18,35 +18,35 @@
"SeeDetails": "Vedi i dettagli",
"AbpShortDescription": "ABP Framework è un'infrastruttura completa per creare applicazioni Web moderne seguendo le migliori pratiche e convenzioni di sviluppo software.",
"SourceCodeUpper": "CODICE SORGENTE",
"LatestReleaseLogs": "Ultimi registri di rilascio",
"LatestReleaseLogs": "Ultimi note di rilascio",
"Infrastructure": "Infrastruttura",
"Architecture": "Architettura",
"Modular": "Modulare",
"DontRepeatYourself": "Non ripetere te stesso",
"DeveloperFocused": "Concentrato sullo sviluppatore",
"DeveloperFocused": "Incentrato sullo sviluppatore",
"FullStackApplicationInfrastructure": "Infrastruttura applicativa full stack.",
"DomainDrivenDesign": "Progettazione basata sul dominio",
"DomainDrivenDesign": "Domain Driven Design",
"DomainDrivenDesignExplanation": "Progettato e sviluppato sulla base di modelli e principi DDD. Fornisce un modello a più livelli per la tua applicazione.",
"Authorization": "Autorizzazione",
"AuthorizationExplanation": "Autorizzazione avanzata con utente, ruolo e sistema di autorizzazioni granulare. Basato sulla libreria Microsoft Identity.",
"MultiTenancy": "Multi-Tenancy",
"MultiTenancyExplanationShort": "Applicazioni SaaS rese facili! Multi-tenancy integrato dal database all'interfaccia utente.",
"CrossCuttingConcerns": "Preoccupazioni trasversali",
"CrossCuttingConcerns": "Questioni trasversali",
"CrossCuttingConcernsExplanationShort": "Infrastruttura completa per autorizzazione, convalida, gestione delle eccezioni, memorizzazione nella cache, registrazione di audit, gestione delle transazioni e altro ancora.",
"BuiltInBundlingMinification": "Raggruppamento e minimizzazione incorporati",
"BuiltInBundlingMinificationExplanation": "Non è necessario utilizzare strumenti esterni per raggruppare e minimizzare. ABP offre un modo più semplice, dinamico, potente, modulare e integrato!",
"VirtualFileSystem": "File system virtuale",
"VirtualFileSystemExplanation": "Incorpora viste, script, stili, immagini ... in pacchetti / librerie e riutilizzali in diverse applicazioni.",
"Theming": "Theming",
"VirtualFileSystemExplanation": "Incorpora viste, script, stili, immagini... in pacchetti / librerie e riutilizzali in diverse applicazioni.",
"Theming": "Personalizzazione tema",
"ThemingExplanationShort": "Usa e personalizza il tema dell'interfaccia utente standard basato su bootstrap o creane uno tuo.",
"BootstrapTagHelpersDynamicForms": "Bootstrap Tag Helpers e moduli dinamici",
"BootstrapTagHelpersDynamicFormsExplanation": "Invece di scrivere manualmente i dettagli ripetuti dei componenti bootstrap, usa gli helper tag di ABP per semplificarlo e sfruttare intellisense. Crea rapidamente moduli dell'interfaccia utente basati su un modello C # utilizzando l'helper tag del modulo dinamico.",
"BootstrapTagHelpersDynamicFormsExplanation": "Invece di scrivere manualmente i dettagli ripetuti dei componenti bootstrap, usa i tag helper di ABP per semplificarlo e sfruttare intellisense. Crea rapidamente moduli dell'interfaccia utente basati su un modello C# utilizzando l'helper tag del modulo dinamico.",
"HTTPAPIsDynamicProxies": "API HTTP e proxy dinamici",
"HTTPAPIsDynamicProxiesExplanation": "Esponi automaticamente i servizi dell'applicazione come API HTTP in stile REST e utilizzali con JavaScript dinamici e proxy C #.",
"HTTPAPIsDynamicProxiesExplanation": "Esponi automaticamente i servizi dell'applicazione come API HTTP in stile REST e utilizzali con JavaScript dinamici e proxy C# .",
"CompleteArchitectureInfo": "Architettura moderna per creare soluzioni software manutenibili.",
"DomainDrivenDesignBasedLayeringModelExplanation": "Aiuta a implementare un'architettura a strati basata su DDD e a costruire una base di codice gestibile.",
"DomainDrivenDesignBasedLayeringModelExplanationCont": "Fornisce modelli di avvio, astrazioni, classi di base, servizi, documentazione e guide per aiutarti a sviluppare la tua applicazione in base a modelli e principi DDD.",
"MicroserviceCompatibleModelExplanation": "Il framework principale ei moduli di pre-compilazione sono progettati pensando all'architettura dei microservizi.",
"MicroserviceCompatibleModelExplanation": "Il framework principale ed i moduli predefiniti sono progettati pensando all'architettura dei microservizi.",
"MicroserviceCompatibleModelExplanationCont": "Fornisce infrastruttura, integrazioni, campioni e documentazione per implementare più facilmente soluzioni di microservizi, mentre non apporta ulteriore complessità se si desidera un'applicazione monolitica.",
"ModularInfo": "ABP fornisce un sistema di moduli che consente di sviluppare moduli applicativi riutilizzabili, collegarsi agli eventi del ciclo di vita dell'applicazione ed esprimere le dipendenze tra le parti principali del sistema.",
"PreBuiltModulesThemes": "Moduli e temi predefiniti",
@ -62,18 +62,18 @@
"Validation": "Validazione",
"DatabaseConnection": "Connessione al database",
"TransactionManagement": "Gestione delle transazioni",
"AuditLogging": "Registrazione di audit",
"AuditLogging": "Registri di controllo",
"Caching": "Caching",
"Multitenancy": "Multitenancy",
"DataFiltering": "Filtraggio dei dati",
"ConventionOverConfiguration": "Convenzione sulla configurazione",
"ConventionOverConfiguration": "Configurazione su convenzioni",
"ConventionOverConfigurationExplanation": "ABP implementa convenzioni di applicazioni comuni per impostazione predefinita con una configurazione minima o zero.",
"ConventionOverConfigurationExplanationList1": "Registra automaticamente i servizi noti per l'inserimento delle dipendenze.",
"ConventionOverConfigurationExplanationList2": "Espone i servizi dell'applicazione come API HTTP mediante convenzioni di denominazione.",
"ConventionOverConfigurationExplanationList3": "Crea proxy client HTTP dinamici per C # e JavaScript.",
"ConventionOverConfigurationExplanationList3": "Crea proxy client HTTP dinamici per C# e JavaScript.",
"ConventionOverConfigurationExplanationList4": "Fornisce archivi predefiniti per le tue entità.",
"ConventionOverConfigurationExplanationList5": "Gestisce l'unità di lavoro per richiesta Web o metodo di servizio dell'applicazione.",
"ConventionOverConfigurationExplanationList6": "Pubblica creare, aggiornare ed eliminare eventi per le tue entità.",
"ConventionOverConfigurationExplanationList5": "Gestisce l'UnitofWork per richieste Web o per i metodi dei servizi dell'applicazione.",
"ConventionOverConfigurationExplanationList6": "Pubblica gli eventi creazione, aggiornamento ed eliminazione per le tue entità.",
"BaseClasses": "Classi di base",
"BaseClassesExplanation": "Classi di base predefinite per modelli di applicazioni comuni.",
"DeveloperFocusedExplanation": "ABP è per gli sviluppatori.",
@ -91,16 +91,16 @@
"ABPCLI": "ABP CLI",
"Modularity": "Modularità",
"BootstrapTagHelpers": "Bootstrap Tag Helpers",
"DynamicForms": "Forme dinamiche",
"DynamicForms": "Moduli dinamici",
"BundlingMinification": "Raggruppamento e minimizzazione",
"BackgroundJobs": "Lavori in background",
"BackgroundJobsExplanation": "Definire classi semplici per eseguire lavori in background come in coda. Usa il gestore dei lavori integrato o integra il tuo. Le integrazioni <a href=\"{0}\"> Hangfire </a> e <a href=\"{1}\"> RabbitMQ </a> sono già disponibili.",
"BackgroundJobs": "Operazioni in background",
"BackgroundJobsExplanation": "Definire classi semplici per eseguire Operazioni in background come in coda. Usa il gestore dei lavori integrato o integra il tuo. Le integrazioni <a href=\"{0}\"> Hangfire </a> e <a href=\"{1}\"> RabbitMQ </a> sono già disponibili.",
"DDDInfrastructure": "Infrastruttura DDD",
"DomainDrivenDesignInfrastructure": "Infrastruttura di progettazione basata sul dominio",
"DomainDrivenDesignInfrastructure": "Infrastruttura Domain Driven Design",
"AutoRESTAPIs": "API REST automatiche",
"DynamicClientProxies": "Proxy client dinamici",
"DistributedEventBus": "Bus di eventi distribuito",
"DistributedEventBusWithRabbitMQIntegration": "Bus di eventi distribuito con integrazione RabbitMQ",
"DistributedEventBus": "Bus Eventi Distribuito",
"DistributedEventBusWithRabbitMQIntegration": "Bus Eventi Distribuito con integrazione RabbitMQ",
"TestInfrastructure": "Infrastruttura di test",
"AuditLoggingEntityHistories": "Registrazione di audit e cronologie delle entità",
"ObjectToObjectMapping": "Mappatura da oggetto a oggetto",
@ -109,36 +109,36 @@
"EmailSMSAbstractionsWithTemplatingSupport": "Astrazioni tramite posta elettronica e SMS con supporto per i modelli",
"Localization": "Localizzazione",
"SettingManagement": "Gestione delle impostazioni",
"ExtensionMethods": "Metodi di estensione",
"ExtensionMethodsHelpers": "Metodi di estensione e aiutanti",
"ExtensionMethods": "Metodi estensione",
"ExtensionMethodsHelpers": "Metodi estensione e assistenti",
"AspectOrientedProgramming": "Programmazione orientata agli aspetti",
"DependencyInjection": "Iniezione di dipendenza",
"DependencyInjection": "Iniezione delle dipendenze",
"DependencyInjectionByConventions": "Inserimento delle dipendenze mediante convenzioni",
"ABPCLIExplanation": "ABP CLI (Command Line Interface) è uno strumento a riga di comando per eseguire alcune operazioni comuni per soluzioni basate su ABP.",
"ModularityExplanation": "ABP fornisce un'infrastruttura completa per creare i propri moduli applicativi che possono avere entità, servizi, integrazione di database, API, componenti dell'interfaccia utente e così via.",
"MultiTenancyExplanation": "Il framework ABP non solo supporta lo sviluppo di applicazioni multi-tenant, ma rende anche il tuo codice per lo più inconsapevole del multi-tenancy.",
"MultiTenancyExplanation2": "Può determinare automaticamente l'inquilino corrente, isolare i dati di diversi inquilini l'uno dall'altro.",
"MultiTenancyExplanation2": "Può determinare automaticamente il tenant corrente, isolare i dati dei diversi tenant l'uno dall'altro.",
"MultiTenancyExplanation3": "Supporta database singolo, database per tenant e approcci ibridi.",
"MultiTenancyExplanation4": "Ti concentri sul tuo codice aziendale e lasci che il framework gestisca il multi-tenancy per tuo conto.",
"BootstrapTagHelpersExplanation": "Invece di scrivere manualmente i dettagli ripetuti dei componenti bootstrap, usa gli helper tag di ABP per semplificarlo e sfruttare intellisense. Puoi sicuramente usare Bootstrap ogni volta che ne hai bisogno.",
"DynamicFormsExplanation": "Gli helper dei moduli dinamici e dei tag di input possono creare il modulo completo da una classe C # come modello.",
"DynamicFormsExplanation": "Gli helper dei moduli dinamici e dei tag di input possono creare il modulo completo da una classe C# come modello.",
"AuthenticationAuthorizationExplanation": "Ricche opzioni di autenticazione e autorizzazione integrate in ASP.NET Core Identity & IdentityServer4. Fornisce un sistema di autorizzazione estensibile e dettagliato.",
"CrossCuttingConcernsExplanation": "Non ripetere te stesso per implementare tutte queste cose comuni ancora e ancora. Concentrati sul tuo codice aziendale e lascia che ABP li automatizzi secondo le convenzioni.",
"DatabaseConnectionTransactionManagement": "Connessione al database e gestione delle transazioni",
"CorrelationIdTracking": "Monitoraggio dell'ID di correlazione",
"BundlingMinificationExplanation": "ABP offre un sistema di raggruppamento e minimizzazione semplice, dinamico, potente, modulare e integrato.",
"VirtualFileSystemnExplanation": "Il Virtual File System consente di gestire file che non esistono fisicamente nel file system (disco). Viene utilizzato principalmente per incorporare file (js, css, immagine, cshtml ...) negli assembly e utilizzarli come file fisici in runtime.",
"VirtualFileSystemnExplanation": "Il Virtual File System consente di gestire file che non esistono fisicamente nel file system (disco). Viene utilizzato principalmente per incorporare file (js, css, immagine, cshtml...) negli assembly e utilizzarli come file fisici in runtime.",
"ThemingExplanation": "Il sistema di temi consente di sviluppare applicazioni e moduli indipendentemente dal tema definendo un set di librerie e layout di base comuni, basati sul più recente framework Bootstrap.",
"DomainDrivenDesignInfrastructureExplanation": "Un'infrastruttura completa per creare applicazioni a più livelli basate sui modelli e sui principi di Domain Driven Design;",
"Specification": "Specifica",
"Specification": "Specificazione",
"Repository": "Repository",
"DomainService": "Servizio di dominio",
"ValueObject": "Oggetto valore",
"ApplicationService": "Servizio applicazioni",
"ApplicationService": "Servizio applicazione",
"DataTransferObject": "Oggetto trasferimento dati",
"AggregateRootEntity": "Radice aggregata, entità",
"AggregateRootEntity": "Aggregate Root, entità",
"AutoRESTAPIsExplanation": "ABP può configurare automaticamente i servizi dell'applicazione come controller API per convenzione.",
"DynamicClientProxiesExplanation": "Utilizza facilmente le tue API da client JavaScript e C #.",
"DynamicClientProxiesExplanation": "Utilizza facilmente le tue API da client JavaScript e C# .",
"DistributedEventBusWithRabbitMQIntegrationExplanation": "Pubblica e utilizza facilmente eventi distribuiti utilizzando Distributed Event Bus integrato con integrazione RabbitMQ disponibile.",
"TestInfrastructureExplanation": "Il framework è stato sviluppato in mente per test di unità e integrazione. Fornisce classi di base per renderlo più facile. I modelli di avvio vengono forniti preconfigurati per i test.",
"AuditLoggingEntityHistoriesExplanation": "Registrazione di audit integrata per applicazioni business-critical. Richiesta, servizio, registrazione di controllo a livello di metodo e cronologie di entità con dettagli a livello di proprietà.",
@ -151,17 +151,17 @@
"DataFilteringExplanation": "Definisci e utilizza i filtri di dati che vengono applicati automaticamente quando esegui query sulle entità dal database. Quando si implementano interfacce semplici, vengono forniti filtri Soft Delete e MultiTenant.",
"PublishEvents": "Pubblica eventi",
"HandleEvents": "Gestisci eventi",
"AndMore": "e altro ancora ...",
"AndMore": "e altro ancora...",
"Code": "Codice",
"Result": "Risultato",
"SeeTheDocumentForMoreInformation": "Consulta il <a href=\"{1}\"> {0} documento </a> per ulteriori informazioni",
"IndexPageHeroSection": "<span class = \"first-line shine\"> <strong> open source </strong> </span> <span class = \"second-line text-uppercase\"> Framework <br /> applicazione web </span> <span class = \"third-line shine2\"> <strong> per asp.net core </strong> </span>",
"IndexPageHeroSection": "<span class=\"first-line shine\"><strong>open source</strong></span><span class=\"second-line text-uppercase\">Framework <br/>applicazione web</span><span class=\"third-line shine2\"><strong>per asp.net core</strong></span>",
"UiFramework": "Framework dell'interfaccia utente",
"EmailAddress": "Indirizzo e-mail",
"Mobile": "Mobile",
"ReactNative": "React Native",
"Strong": "Forte",
"Complete": "Completare",
"Complete": "Completa",
"BasedLayeringModel": "Modello di stratificazione basato",
"Microservice": "Microservizio",
"Compatible": "Compatibile",
@ -169,21 +169,21 @@
"JoinTheABPCommunityInfo": "Fatti coinvolgere da una vivace comunità e diventa un collaboratore di ABP Framework!",
"AllArticles": "Tutti gli articoli",
"SubmitYourArticle": "Invia il tuo articolo",
"DynamicClientProxyDocument": "Consulta la documentazione relativa al proxy del client dinamico per <a href=\"{0}\"> JavaScript </a> e <a href=\"{1}\"> C # </a>.",
"EmailSMSAbstractionsDocument": "Per ulteriori informazioni, consulta i documenti di <a href=\"{0}\"> invio di email </a> e <a href=\"{1}\"> invio di SMS </a>.",
"DynamicClientProxyDocument": "Consulta la documentazione relativa al proxy del client dinamico per <a href=\"{0}\">JavaScript</a> e <a href=\"{1}\">C#</a>.",
"EmailSMSAbstractionsDocument": "Per ulteriori informazioni, consulta i documenti di <a href=\"{0}\">invio di email</a> e <a href=\"{1}\">invio di SMS</a>.",
"CreateProjectWizard": "Questa procedura guidata crea un nuovo progetto dal modello di avvio che è configurato correttamente per avviare rapidamente il progetto.",
"TieredOption": "Crea una soluzione a più livelli in cui i livelli API Web e Http sono fisicamente separati. Se non selezionata, crea una soluzione a più livelli meno complessa e adatta alla maggior parte degli scenari.",
"SeparateIdentityServerOption": "Separa il lato server in due applicazioni: la prima è per il server di identità e la seconda è per l'API HTTP lato server.",
"UseslatestPreVersion": "Utilizza l'ultima versione pre-rilascio",
"ReadTheDocumentation": "<span class = \"text-primary\"> Leggi </span> <span class = \"text-success\"> La documentazione </span>",
"ReadTheDocumentation": "<span class=\"text-primary\">Leggi</span><span class=\"text-success\">La documentazione</span>",
"Documentation": "Documentazione",
"GettingStartedTutorial": "Tutorial introduttivo",
"ApplicationDevelopmentTutorial": "Tutorial sullo sviluppo di applicazioni",
"TheStartupTemplate": "Il modello di avvio",
"InstallABPCLIInfo": "ABP CLI è il modo più veloce per avviare una nuova soluzione con il framework ABP. Installa ABP CLI utilizzando una finestra della riga di comando:",
"DifferentLevelOfNamespaces": "È possibile utilizzare diversi livelli di spazi dei nomi; per esempio. BookStore, Acme.BookStore o Acme.Retail.BookStore.",
"ABPCLIExamplesInfo": "Il comando <strong> nuovo </strong> crea un '<strong> applicazione MVC a più livelli </strong> con <strong> Entity Framework Core </strong> come provider di database. Tuttavia, ha opzioni aggiuntive. Esempi:",
"SeeCliDocumentForMoreInformation": "Consulta il <a href=\"{0}\"> documento ABP CLI </a> per ulteriori opzioni o seleziona la scheda \"Download diretto\" in alto.",
"ABPCLIExamplesInfo": "Il comando <strong>nuovo</strong> crea un '<strong>applicazione MVC a più livelli</strong> con <strong>Entity Framework Core</strong> come provider di database. Tuttavia, ha opzioni aggiuntive. Esempi:",
"SeeCliDocumentForMoreInformation": "Consulta la <a href=\"{0}\">documentazione ABP CLI</a> per ulteriori opzioni o seleziona la scheda \"Download diretto\" in alto.",
"Optional": "Opzionale",
"LocalFrameworkRef": "Mantieni il riferimento al progetto locale per i pacchetti del framework.",
"BlobStoring": "Archiviazione BLOB",
@ -191,12 +191,88 @@
"TextTemplating": "Modelli di testo",
"TextTemplatingExplanation": "La creazione di modelli di testo viene utilizzata per eseguire il rendering dinamico dei contenuti in base a un modello e un modello (un oggetto dati). Ad esempio, puoi utilizzarlo per creare contenuti di posta elettronica dinamici con un modello predefinito.",
"MultipleUIOptions": "Molteplici opzioni di interfaccia utente",
"MultipleDBOptions": "Più fornitori di database",
"MultipleDBOptions": "Più provider per database",
"MultipleUIOptionsExplanation": "Il framework principale è progettato come indipendente dall'interfaccia utente e può funzionare con qualsiasi tipo di sistema di interfaccia utente, mentre sono disponibili più opzioni predefinite e integrate.",
"MultipleDBOptionsExplanation": "Il framework può funzionare con qualsiasi fonte di dati, mentre i seguenti provider sono ufficialmente sviluppati e supportati;",
"SelectLanguage": "Seleziona la lingua",
"LatestArticleOnCommunity": "Ultimo articolo sulla comunità ABP",
"Register": "Registrati",
"IsDownloadable": "È scaricabile"
"IsDownloadable": "È scaricabile",
"DatabaseOptions": "Opzioni Database",
"BackToPackagesPage": "Torna alla Pagina Pacchetti",
"HowToInstall": "Come Installare",
"SeeOnNpm": "Vedi su NPM",
"SeeOnNuget": "Vedi su Nuget",
"MVCGulpCommandExplanation": "Se stai usando UI MVC (Razor Pages), esegui il comando \"gulp\" dopo l'installazione del pacchetto.",
"UsingABPCLI": "Usa <a href=\"https://docs.abp.io/en/abp/latest/CLI\">Abp CLI</a>",
"WithoutABPCLI": "Senza ABP CLI",
"ABPCLIModuleDependency": "ABP CLI aggiunge automaticamente le dipendenze del modulo.",
"AddModuleDependency": "Quindi aggiunge le dipendenze del modulo",
"Packages": "Pacchetti",
"NugetPackages": "Pacchetti Nuget",
"NPMPackages": "Pacchetti NPM",
"SeeDocs": "Vedi Documentazione",
"None": "Nessuno",
"Application": "Applicazione",
"Module": "Moduli",
"PackageName": "Nome Pacchetto",
"LicenseURL": "URL Licenza",
"License": "Licenza",
"ProjectCreationSuccessMessage": "Il tuo progetto è stato creato con successo",
"HowToRunSolution": "Come Eseguire la Tua Soluzione?",
"GettingStartedMessage": "Guarda la documentazione su come iniziare per imparare a configurare ed eseguire la tua soluzione.",
"WebAppDevTutorial": "Tutorial Sviluppo Web App",
"WebAppDevTutorialMessage": "Guarda tutorial sviluppo applicazione web per un esempio di sviluppo passo passo.",
"CommunityArticles": "Articoli Comunità",
"CommunityArticleMessage": "Verifica la piattaforma Comunità ABP per leggere articoli utili su ABP Framework.",
"InvestigateSolutionDetails": "Vedi Dettagli della Soluzione",
"StartupTemplateDocumentationMessage": "Guarda il modello di avvio dell'applicazione per imparare l'architettura e la struttura della tua soluzione.",
"ClientSideDevelopment": "Sviluppo Lato Client",
"ClientSideDevelopmentDocumentationMessage": "Guarda il documento {0} per imparare i punti chiave dello sviluppo dell'interfaccia utente (lato client).",
"DatabaseProviderDocumentationMessage": "Guarda il documento {0} per imparare i punti chiave dello sviluppo dello strato database",
"ABPCommercialExplanationMessage": "ABP Commercial fornisce moduli premium, temi, strumenti e supporto per ABP Framework.",
"ImplementingDDD": "Implementazione Domain Driven Design",
"DDDBookExplanation": "Una guida pratica per l'implementazione del Domain Driven Design con ABP Framework.",
"Overview": "Panoramica",
"DDDBookPracticalGuide": "Questa a una guida pratica per implementare Domain Driven Design (DDD). Mentre i dettagli per l'implementazione sono basati sull'infrastruttura di ABP Framework, i concetti base, principi e modelli possono essere applicati a qualsiasi soluzione, anche se non è una soluzione .NET.",
"TableOfContents": "Sommario",
"IntroductionToImplementingDDD": "Introduzione all'implementazione del Domain Driven Design",
"WhatIsDDD": "Cos'è il Domain Driven Design?",
"Implementation": "Implementazione",
"TheBigPicture": "Il Quadro Generale",
"TheBuildingBlock": "Le Fondamenta",
"ExampleUseCase": "Esempio d'uso",
"DomainAndApplicationLogic": "Logica di Dominio e Logica Applicazione",
"Author": "Autore",
"Pages": "Pagine",
"PublishedOn": "Pubblicato il",
"FreeEBook": "E-Book Gratuito",
"Download": "Scarica",
"EBookSignInForDownload": "Accedi per scaricare l'e-book",
"SignIn": "Accedi",
"Or": "O",
"TellUsAboutYourself": "Dicci qualcosa di te",
"Name": "Nome",
"Surname": "Cognome",
"CompanyName": "Nome Azienda",
"DoYouAgreePrivacyPolicy": "Acconsento ai <a href=\"https://account.abp.io/Account/TermsConditions\">Termini e Condizioni</a> ed alla <a href=\"https://account.abp.io/Account/Privacy\">Politica Privacy</a>.",
"Free": "Gratuito",
"DDDEBook": "DDD E-Book",
"PracticalGuideForImplementingDDD": "Questo libro è una guida pratica per l'implementazione del Domain Driven Design con ABP Framework.",
"IntroducingDDD": "Introduzione al Domain Driven Design",
"DDDLayersAndCleanArchitecture": "DDD Strati e Architettura Pulita",
"LayeringOfADotnetSolution": "Stratificazione di una Soluzione .NET",
"ImplementingDDDBuildingBlocks": "Implementazione delle Fondamenta del DDD",
"DomainVsApplicationLogic": "Logica di Dominio contro Logica Applicazione",
"SamplesAndDiscussions": "Esempi e Discussioni",
"EmailNotValid": "Per favore inserisci un indirizzo email valido.",
"WeWillSendYouADownloadLink": "Un link per scaricare il libro e-book è stato spedito a {0}.<br/> Controlla nella posta in arrivo, indesiderata o spam!",
"GoHome": "Vai alla Home",
"InvalidFormInputs": "Per favore, digita le informazioni valide specificate nel modulo",
"DDDBookEmailBody": "Grazie. <br /> Per scaricare il tuo libro, <a href=\"{0}\">clicca qui</a>.",
"SubscribeToNewsletter": "Sottiscrivi la nostra newsletter per ricevere informazione su cosa accade nella Piattaforma ABP.IO, come nuove versioni, articoli, offerte ed altro ancora.",
"FirstEdition": "Prima Edizione",
"ThankYou": "Grazie!",
"CheckboxMandatory": "Devi mettere la spunta su questo per procedere!"
}
}

202
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/sk.json

@ -0,0 +1,202 @@
{
"culture": "sk",
"texts": {
"GetStarted": "Začíname - štartovacie šablóny",
"Create": "Vytvoriť",
"NewProject": "Nový projekt",
"DirectDownload": "Priame stiahnutie",
"ProjectName": "Názov projektu",
"ProjectType": "Typ projektu",
"DatabaseProvider": "Poskytovateľ databázy",
"DatabaseManagementSystem": "Systém správy databáz",
"NTier": "N-úroveň",
"IncludeUserInterface": "Zahrnúť používateľské rozhranie",
"CreateNow": "Vytvoriť teraz",
"TheStartupProject": "Štartovací projekt",
"Tutorial": "Návod",
"UsingCLI": "Pomocou CLI",
"SeeDetails": "Pozri podrobnosti",
"AbpShortDescription": "ABP Framework je kompletná infraštruktúra na vytváranie moderných webových aplikácií podľa najlepších postupov a konvencií vývoja softvéru.",
"SourceCodeUpper": "ZDROJOVÝ KÓD",
"LatestReleaseLogs": "Najnovšie release logy",
"Infrastructure": "Infraštruktúra",
"Architecture": "Architektúra",
"Modular": "Modulárne",
"DontRepeatYourself": "Neopakujte sa",
"DeveloperFocused": "Zameranie na vývojárov",
"FullStackApplicationInfrastructure": "Kompletná infraštruktúra aplikácie.",
"DomainDrivenDesign": "Domain Driven Design",
"DomainDrivenDesignExplanation": "Navrhnuté a vyvinuté na základe vzorov a princípov DDD. Poskytuje vrstvený model pre vašu aplikáciu.",
"Authorization": "Autorizácia",
"AuthorizationExplanation": "Pokročilá autorizácia so systémom používateľov, rolí a jemných oprávnení. Postavené na knižnici Microsoft Identity.",
"MultiTenancy": "Multitenantnosť",
"MultiTenancyExplanationShort": "Jednoduché aplikácie SaaS! Integrovaná multitenantnosť od databázy po používateľské rozhranie.",
"CrossCuttingConcerns": "Cross Cutting Concerns",
"CrossCuttingConcernsExplanationShort": "Kompletná infraštruktúra pre autorizáciu, validáciu, spracovanie výnimiek, ukladanie do vyrovnávacej pamäte, audit logovania, správu transakcií a ďalšie.",
"BuiltInBundlingMinification": "Zabudovaná Bundling & Minification",
"BuiltInBundlingMinificationExplanation": "Nie je potrebné používať externé nástroje na Bundling & Minification. ABP ponúka zabudovaný jednoduchší, dynamický, výkonný a modulárny spôsob!",
"VirtualFileSystem": "Virtuálny systém súborov",
"VirtualFileSystemExplanation": "Vkladanie pohľadov, skriptov, štýlov, obrázkov... do balíkov/knižníc a ich opakované použitie v rôznych aplikáciách.",
"Theming": "Prispôsobenie témy",
"ThemingExplanationShort": "Použite a prispôsobte si štandardnú tému používateľského rozhrania založenú na bootstrape alebo si vytvorte vlastnú.",
"BootstrapTagHelpersDynamicForms": "Tag Bootstrap pomocníci & dynamické formuláre",
"BootstrapTagHelpersDynamicFormsExplanation": "Namiesto ručného písania opakujúcich sa detailov bootstrap komponentov použite ABP tags pomocníkov pre zjednodušenie a výhody intellisense. Vytvárajte formuláre používateľského rozhrania na základe C# modelu použitím dynamického form tag pomocníka.",
"HTTPAPIsDynamicProxies": "HTTP APIs & Dynamic Proxies",
"HTTPAPIsDynamicProxiesExplanation": "Automaticky poskytuje applikačné rozhranie formou REST a HTTP APIs a spracuváva ich pomocou dynamických JavaScriptov and C# proxies.",
"CompleteArchitectureInfo": "Moderná architektúra na vytváranie udržateľných softvérových riešení.",
"DomainDrivenDesignBasedLayeringModelExplanation": "Pomôže vám implementovať DDD architektúru založenú na vrstvách a vytvoriť udržateľnú kódovú základňu.",
"DomainDrivenDesignBasedLayeringModelExplanationCont": "Poskytuje štartovacie šablóny, abstrakcie, základné triedy, servicies, dokumentáciu a príručky, ktoré vám pomôžu pri vývoji aplikácie založenej na DDD patteroch & princípoch.",
"MicroserviceCompatibleModelExplanation": "Core framework a predpripravené moduly sú navrhnuté s ohľadom na architektúru mikroslužieb.",
"MicroserviceCompatibleModelExplanationCont": "Poskytuje infraštruktúru, integrácie, vzorky a dokumentáciu na jednoduchšiu implementáciu mikroslužieb, pri monolitickej aplikácii žiadne zložité riešenia.",
"ModularInfo": "ABP poskytuje systém modulov, ktorý umožňuje vyvíjať opakovane použiteľné moduly aplikácie, prepojiť ich s udalosťami životného cyklu aplikácie a vyjadriť závislosti medzi základnými časťami systému.",
"PreBuiltModulesThemes": "Vopred vytvorené moduly a témy",
"PreBuiltModulesThemesExplanation": "Open source a komerčné moduly & témy sú pripravené na použitie vo vašej firemnej aplikácii.",
"NuGetNPMPackages": "Balíky NuGet a NPM balíky",
"NuGetNPMPackagesExplanation": "Distribuované ako balíky NuGet a NPM. Jednoduchá inštalácia a aktualizácia.",
"ExtensibleReplaceable": "Rozšíriteľné/zameniteľné",
"ExtensibleReplaceableExplanation": "Všetky služby a moduly sú navrhnuté s ohľadom na rozšíriteľnosť. Môžete nahradiť služby, stránky, štýly a komponenty.",
"CrossCuttingConcernsExplanation2": "Udržujte svoju kódovú základňu menšiu, aby ste sa mohli sústrediť na kód, ktorý je špecifický pre váš biznis.",
"CrossCuttingConcernsExplanation3": "Nemíňajte čas implementáciou spoločných aplikačných požiadaviek vo viacerých projektoch.",
"AuthenticationAuthorization": "Overovanie a autorizácia",
"ExceptionHandling": "Spracovanie výnimiek",
"Validation": "Overovanie",
"DatabaseConnection": "Pripojenie k databáze",
"TransactionManagement": "Správa transakcií",
"AuditLogging": "Audit logy",
"Caching": "Ukladanie do vyrovnávacej pamäte",
"Multitenancy": "Multitenancia",
"DataFiltering": "Filtrovanie údajov",
"ConventionOverConfiguration": "Konvencia nad konfiguráciou",
"ConventionOverConfigurationExplanation": "ABP implementuje bežné aplikačné konvencie v predvolenom nastavení s minimálnou alebo nulovou konfiguráciou.",
"ConventionOverConfigurationExplanationList1": "Automaticky registruje známe services do dependecy injection.",
"ConventionOverConfigurationExplanationList2": "Poskytuje aplikačné rozhranie formou HTTP API podľa naming conventions.",
"ConventionOverConfigurationExplanationList3": "Vytvára dynamické HTTP client proxies pre jazyky C# a JavaScript.",
"ConventionOverConfigurationExplanationList4": "Poskytuje predvolené úložiská pre vaše entity.",
"ConventionOverConfigurationExplanationList5": "Spravuje jednotku práce na webovú požiadavku alebo metódu aplikačnej služby.",
"ConventionOverConfigurationExplanationList6": "Publikuje vytváranie, aktualizovanie & vymazanie udalostí pre vaše entity.",
"BaseClasses": "Základné triedy",
"BaseClassesExplanation": "Predpripravené základné triedy pre bežné aplikačné patterny.",
"DeveloperFocusedExplanation": "ABP je pre vývojárov.",
"DeveloperFocusedExplanationCont": "Jeho cieľom je zjednodušiť každodenný vývoj softvéru a zároveň vás neobmedzovať pri písaní nízkoúrovňového kódu.",
"SeeAllFeatures": "Pozrite si všetky funkcie",
"CLI_CommandLineInterface": "CLI (rozhranie príkazového riadka)",
"CLI_CommandLineInterfaceExplanation": "Obsahuje CLI, ktoré vám pomôže automatizovať vytváranie nových projektov a pridávanie nových modulov.",
"StartupTemplates": "Štartovacie šablóny",
"StartupTemplatesExplanation": "Rôzne štartovacie šablóny poskytujú plne nakonfigurované riešenie na začatie vývoja.",
"BasedOnFamiliarTools": "Na základe známych nástrojov",
"BasedOnFamiliarToolsExplanation": "Integrované a postavené na obľúbených nástrojoch. Nízka krivka učenia, jednoduché prispôsobenie, pohodlný vývoj.",
"ORMIndependent": "Nezávislé ORM",
"ORMIndependentExplanation": "Core frameworku je ORM/databázovo nezávislý a môže pracovať s akýmkoľvek zdrojom údajov. Entity Framework Core a MongoDB poskytovatelia sú už k dispozícii.",
"Features": "Preskúmajte funkcie ABP frameworku",
"ABPCLI": "ABP CLI",
"Modularity": "Modularita",
"BootstrapTagHelpers": "Bootstrap Tag pomocník",
"DynamicForms": "Dynamické formuláre",
"BundlingMinification": "Bundling & Minification",
"BackgroundJobs": "Automatické úlohy na pozadí",
"BackgroundJobsExplanation": "Definujte jednoduché triedy na vykonávanie automatických úloh na pozadí. Použite vstavaného správcu úloh alebo integrujte vlastného. <a href=\"{0}\">Hangfire</a> & <a href=\"{1}\">RabbitMQ</a> integrácie sú už k dispozícii.",
"DDDInfrastructure": "DDD infraštruktúra",
"DomainDrivenDesignInfrastructure": "Domain Driven Design infraštruktúra",
"AutoRESTAPIs": "Auto Rest APIs",
"DynamicClientProxies": "Dynamic Client Proxies",
"DistributedEventBus": "Distribuovaná zbernica udalostí",
"DistributedEventBusWithRabbitMQIntegration": "Distribuovaná zbernica udalostí s integráciou RabbitMQ",
"TestInfrastructure": "Testovacia infraštruktúra",
"AuditLoggingEntityHistories": "Audit logovanie & história entít",
"ObjectToObjectMapping": "Mapovanie object to object",
"ObjectToObjectMappingExplanation": "<a href=\"{0}\">Mapovanie objekt to object</a> abstrakcia s integráciou AutoMapper.",
"EmailSMSAbstractions": "E-mailové a SMS abstrakcie",
"EmailSMSAbstractionsWithTemplatingSupport": "E-mailové a SMS abstrakcie s podporou šablón",
"Localization": "Lokalizácia",
"SettingManagement": "Manažment nastavenia",
"ExtensionMethods": "Metódy rozšírenia",
"ExtensionMethodsHelpers": "Rozširujúce metódy & pomocníci",
"AspectOrientedProgramming": "Aspektovo orientované programovanie",
"DependencyInjection": "Vstrebávanie závislostí",
"DependencyInjectionByConventions": "Vstrebávanie závislostí podľa konvencií",
"ABPCLIExplanation": "ABP CLI (Command Line Interface) je nástroj príkazového riadka na vykonávanie niektorých bežných operácií pre riešenia založené na ABP.",
"ModularityExplanation": "ABP poskytuje kompletnú infraštruktúru na vytváranie vlastných aplikačných modulov, ktoré môžu obsahovať entity, služby, integráciu databáz, API, komponenty používateľského rozhrania atď.",
"MultiTenancyExplanation": "ABP framework nielenže podporuje vývoj multitenantných aplikácií, ale aj váš kód robí nezávislým od multitenancie.",
"MultiTenancyExplanation2": "Dokáže automaticky určiť aktuálneho tenanta, osobitne izolovať údaje jednotlivých tenantov.",
"MultiTenancyExplanation3": "Podporuje jednu databázu, databázu podľa tentanta a hybridné prístupy.",
"MultiTenancyExplanation4": "Sústreďte sa na svoj biznis kód a nechajte framework, aby sa vo vašom mene postaral o multitenantnosť.",
"BootstrapTagHelpersExplanation": "Namiesto ručného písania opakujúcich sa bootstrap komponentov, použite ABP tag pomocníka na zjednodušenie a využitie výhod intellisense. Bootstrap určite využijete vždy, keď ho budete potrebovať.",
"DynamicFormsExplanation": "Dynamické formuláre & vstup Tag pomocníka môžu vytvoriť kompletný formulár z C# triedy ako modelu.",
"AuthenticationAuthorizationExplanation": "Bohaté možnosti overovania & autorizácie integrované do ASP.NET Core Identity & IdentityServer4. Poskytuje rozšíriteľný a podrobný systém oprávnení.",
"CrossCuttingConcernsExplanation": "Neopakujte sa pri implementácii všetkých týchto bežných vecí znova a znova. Zamerajte sa na svoj biznis kód a nechajte ich automatizovať pomocou konvencií.",
"DatabaseConnectionTransactionManagement": "Pripojenie k databáze & správa transakcií",
"CorrelationIdTracking": "Sledovanie korelačnej identifikácie",
"BundlingMinificationExplanation": "ABP ponúka jednoduchý, dynamický, výkonný, modulárny a zabudovaný bundling & minification system.",
"VirtualFileSystemnExplanation": "Virtuálny sytém súborov umožňuje spravovať súbory, ktoré fyzicky neexistujú v v systéme súborov(na disku). Používa sa najmä na vkladanie (js, css, image, cshtml...) súborov do zostáv a ich používanie ako fyzických súborov za behu.",
"ThemingExplanation": "Systém vytvárania tém umožňuje vyvíjať aplikácie a moduly nezávisle od témy definovaním sady spoločných základných knižníc a layoutov na základe najnovšieho Bootstrap frameworku.",
"DomainDrivenDesignInfrastructureExplanation": "Kompletná infraštruktúra na vytváranie viacvrstvových aplikácií na základe patternov & princípov Domain Driven Design;",
"Specification": "Špecifikácia",
"Repository": "Úložisko",
"DomainService": "Doménová služba",
"ValueObject": "Objektová hodnota",
"ApplicationService": "Aplikačná služba",
"DataTransferObject": "Objekt prenosu údajov",
"AggregateRootEntity": "Aggregate Root, Entity",
"AutoRESTAPIsExplanation": "ABP môže automaticky konfigurovať vaše aplikačné služby ako API Controllers podľa konvencie.",
"DynamicClientProxiesExplanation": "Jednoduché používanie API rozhraní v jazykoch JavaScript a C#.",
"DistributedEventBusWithRabbitMQIntegrationExplanation": "Jednoduché publikovanie a spracuvávanie distribuovaných udalostí pomocou integrovanej zbernice distribuovaných udalostí s dostupnou RabbitMQ integráciou.",
"TestInfrastructureExplanation": "Tento framework bol vyvinutý s ohľadom na unit & integračné testovanie. Na uľahčenie vám poskytuje základné triedy. Štartovacie šablóny sa dodávajú predkonfigurované na testovanie.",
"AuditLoggingEntityHistoriesExplanation": "Zabudované auditové logy pre kritické biznis aplikácie. Audit logovanie, služby, metód a história entít s podrobnosťami na úrovni vlastností.",
"EmailSMSAbstractionsWithTemplatingSupportExplanation": "Abstrakcie IEmailSender a ISmsSender oddeľujú logiku aplikácie od infraštruktúry. Pokročilý systém e-mailových šablón umožňuje vytvárať lokalizované e-mailové šablóny a použiť ich, kedykoľvek je to potrebné.",
"LocalizationExplanation": "Lokalizačný systém umožňuje vytvárať zdroje v jednoduchých JSON súboroch a používať ich na lokalizáciu používateľského rozhrania. Podporuje pokročilé scenáre, ako je dedenie, rozšírenia a integrácia JavaScriptu, pričom je plne kompatibilný s AspNet Core lokalizačným systémom.",
"SettingManagementExplanation": "Definujte nastavenia pre svoju aplikáciu a získajte hodnoty počas behu na základe aktuálnej konfigurácie, tenanta a používateľa.",
"ExtensionMethodsHelpersExplanation": "Neopakujte sa ani pri triviálnych častiach kódu. Vďaka rozšíreniam a pomocníkom pre štandardné typy je váš kód oveľa prehľadnejší a jednoduchší na písanie.",
"AspectOrientedProgrammingExplanation": "Poskytuje pohodlnú infraštruktúru na vytváranie dynamických proxy a implementáciu aspektovo orientovaného programovania. Zachyťte akúkoľvek triedu a vykonajte svoj kód pred a po každom vykonaní metódy.",
"DependencyInjectionByConventionsExplanation": "Nie je potrebné ručne registrovať triedy do dependency injection. Automaticky registruje bežné typy služieb podľa konvencie. Pre ostatné typy služieb môžete použiť rozhrania a atribúty, aby ste to mali jednoduchšie a na jednom mieste.",
"DataFilteringExplanation": "Definujte a používajte dátové filtre, ktoré sa automaticky aplikujú pri vyhľadávaní entít z databázy. Soft Delete & multitenantné filtre sú k dispozícii už v základnej výbave, keď implementujete jednoduché rozhrania.",
"PublishEvents": "Publikovať udalosti",
"HandleEvents": "Spracovanie udalostí",
"AndMore": "a ďalšie...",
"Code": "Kód",
"Result": "Výsledok",
"SeeTheDocumentForMoreInformation": "Viac informácií nájdete v dokumente <a href=\"{1}\">{0}</a>",
"IndexPageHeroSection": "<span class=\"first-line shine\"><strong>open source</strong></span><span class=\"second-line text-uppercase\">Web Application<br />Framework </span><span class=\"third-line shine2\"><strong>pre asp.net core</strong></span>",
"UiFramework": "UI framework",
"EmailAddress": "E-mailová adresa",
"Mobile": "Mobilný",
"ReactNative": "React Native",
"Strong": "Silný",
"Complete": "Kompletné",
"BasedLayeringModel": "Základný model vrstvenia",
"Microservice": "Mikroslužba",
"Compatible": "Kompatibilné",
"MeeTTheABPCommunityInfo": "Naším poslaním je vytvoriť prostredie, v ktorom si vývojári môžu navzájom pomáhať článkami, návodmi, prípadovými štúdiami atď. a stretávať sa s podobne zmýšľajúcimi ľuďmi.",
"JoinTheABPCommunityInfo": "Zapojte sa do živej komunity a staňte sa prispievateľom do ABP frameworku!",
"AllArticles": "Všetky články",
"SubmitYourArticle": "Odoslať článok",
"DynamicClientProxyDocument": "Pozrite si dokumentáciu dynamického proxy klienta pre <a href=\"{0}\">JavaScript</a> a <a href=\"{1}\">C#</a>.",
"EmailSMSAbstractionsDocument": "Viac informácií nájdete v dokumentoch <a href=\"{0}\">posielanie e-mailov</a> a <a href=\"{1}\">posielanie SMS</a>.",
"CreateProjectWizard": "Tento sprievodca vytvorí nový projekt zo štartovacej šablóny, ktorá je správne nakonfigurovaná na začatie vášho projektu.",
"TieredOption": "Vytvára viacúrovňové riešenie, v ktorom sú Web a Http API vrstvy fyzicky oddelené. Ak nie je checkbox začiarknutý, vytvorí vrstvené riešenie, ktoré je menej zložité a vhodné pre väčšinu scenárov.",
"SeparateIdentityServerOption": "Rozdeľuje stranu servera na dve aplikácie: Prvá je určená pre identity server a druhá pre vaše HTTP API na strane servera.",
"UseslatestPreVersion": "Používa najnovšiu predprípravnú verziu",
"ReadTheDocumentation": "<span class=\"text-primary\">Prečítajte si</span><span class=\"text-success\">Dokumentáciu</span>",
"Documentation": "Dokumentácia",
"GettingStartedTutorial": "Začíname s návodom",
"ApplicationDevelopmentTutorial": "Návod Vývoj aplikácií",
"TheStartupTemplate": "Štartovacia šablóna",
"InstallABPCLIInfo": "ABP CLI je najrýchlejší spôsob, ako začať s novým riešením v ABP frameworku. Nainštalujte ABP CLI pomocou okna príkazového riadka:",
"DifferentLevelOfNamespaces": "Môžete použiť rôzne úrovne menných priestorov, napr. BookStore, Acme.BookStore alebo Acme.Retail.BookStore.",
"ABPCLIExamplesInfo": "Príkaz <strong>new</strong> vytvorí <strong>vrstvovú aplikáciu MVC</strong> s <strong>Entity Framework Core</strong> ako poskytovateľom databázy. Má však ďalšie možnosti. Príklady:",
"SeeCliDocumentForMoreInformation": "Viac možností nájdete v <a href=\"{0}\">dokumente CLIABP</a> alebo vyberte vyššie uvedenú kartu \"Priame stiahnutie\".",
"Optional": "Voliteľné",
"LocalFrameworkRef": "V rámci frameworkových balíkov dodržiavajte lokálne projektové referencie.",
"BlobStoring": "BLOB Storing",
"BlobStoringExplanation": "BLOB storing systém poskytuje abstrakciu na prácu s BLOBmi. ABP poskytuje niekoľko predpripravených integrácií poskytovateľov úložísk (Azure, AWS, File System, Database atď.), ktoré môžete jednoducho použiť vo svojich aplikáciách.",
"TextTemplating": "Šablónovanie textu",
"TextTemplatingExplanation": "Šablónovanie textu sa používa na dynamické vykresľovanie obsahu na základe šablóny a modelu (dátového objektu). Môžete ho napríklad použiť na vytvorenie dynamického obsahu e-mailu s vopred vytvorenou šablónou.",
"MultipleUIOptions": "Viacero možností používateľského rozhrania",
"MultipleDBOptions": "Viacerí poskytovatelia databáz",
"MultipleUIOptionsExplanation": "Framework core je navrhnuté ako nezávislé od používateľského rozhrania a môže pracovať s akýmkoľvek typom systému používateľského rozhrania, pričom je k dispozícii viacero predpripravených a integrovaných možností.",
"MultipleDBOptionsExplanation": "Framework môže pracovať s ľubovoľným zdrojom údajov, pričom oficiálne sú vyvinuté a podporované nasledujúce poskytovatelia;",
"SelectLanguage": "Výber jazyka",
"LatestArticleOnCommunity": "Najnovší článok v ABP komunite",
"Register": "Registrácia",
"IsDownloadable": "Je možné ho stiahnuť"
}
}

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

@ -218,8 +218,6 @@
"Surname": "Soyad",
"CompanyName": "Şirket adı",
"DoYouAgreePrivacyPolicy": "Şartlar & Koşulları ve <a href=\"https://commercial.abp.io/Privacy\">Gizlilik Politikasını</a> kabul ediyorum.",
"VolosoftMarketingInformationMessage": "İşletmeler ve Organizasyonlar için çözümler ve diğer Volosoft ürün ve hizmetleri hakkında bilgi, ipucu ve teklifler almak istiyorum.",
"VolosoftSharingInformationMessage": "Volosoft'un ürünlerimi seçkin ortaklarla paylaşmasını kabul ediyorum, böylece ilgili ortakların ürünleri ve hizmetleri hakkında ilgili bilgileri alabilirim.",
"Free": "Ücretsiz",
"DDDEBook": "DDD E-kitap",
"PracticalGuideForImplementingDDD": "Bu kitap ABP Framework ile birlikte Domain Driven Design'ın uygulanması için pratik bir kılavuz görevi görür.",
@ -233,6 +231,8 @@
"WeWillSendYouADownloadLink": "{0} adresine email gönderilmiştir.",
"GoHome": "Anasayfaya Dön",
"InvalidFormInputs": "Lütfen formda belirtilen geçerli bilgileri yazınız.",
"DDDBookEmailBody": "Teşekkürler. <br /> Kitabı indirmek için, <a href=\"{0}\">buraya tıklayınız</a>."
"DDDBookEmailBody": "Teşekkürler. <br /> Kitabı indirmek için, <a href=\"{0}\">buraya tıklayınız</a>.",
"SubscribeToNewsletter": "ABP.IO Platform'u ile ilgili yeni haberler, makaleler, teklifler ve daha fazlası gibi gelişmeler hakkında bilgi almak için bültene abone olun.",
"FirstEdition": "İlk Baskı"
}
}

1
build/common.ps1

@ -7,6 +7,7 @@ $rootFolder = (Get-Item -Path "./" -Verbose).FullName
# List of solutions used only in development mode
$solutionPaths = @(
"../framework",
"../modules/basic-theme",
"../modules/users",
"../modules/permission-management",
"../modules/setting-management",

2
common.props

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

10
docs/en/Apps/VoloDocs.md

@ -49,7 +49,7 @@ When you extract the `VoloDocs.*.zip` file, you will see a `Web` folder and a `M
- ### Configuring Website
Go to `Web` folder in your VoloDocs directory. Open `appsettings.json` in your text editor. Set your connection string (same as in the `Migrator`'s `appsettings.json`). Set `title` of your website. This will be written on the left-upper corner of your website. That's it! Now you can publish your website.
Go to `Web` folder in your VoloDocs directory. Open `appsettings.json` in your text editor. Set your connection string (same as in the `Migrator`'s `appsettings.json`). That's it! Now you can publish your website.
If you want to run
@ -127,6 +127,8 @@ When you extract the `VoloDocs.*.zip` file, you will see a `Web` folder and a `M
* **Navigation document name**: `docs-nav.json` ([see the sample navigation](https://github.com/abpframework/abp/blob/master/docs/en/docs-nav.json))
* **Parameters Document Name**: `docs-params.json` ([see the sample parameters](https://github.com/abpframework/abp/blob/dev/docs/en/docs-params.json))
* **Minimum version**: *leave empty* *(hides the previous versions)*
* **Main web site URL**: `/`
@ -139,7 +141,11 @@ When you extract the `VoloDocs.*.zip` file, you will see a `Web` folder and a `M
* **GitHub user agent**: [see how to learn your GitHub username](#learn-your-github-username)
![Creating a new project](../images/docs-create-project.jpg)
* **GitHub version provider source**: `Releases` (other option is `Branches`)
* **Version branch prefix**: leave empty ()
![Creating a new project](../images/docs-create-project-v4.4.0.png)
##### Retrieving GitHub Access Token

3
docs/en/Best-Practices/Domain-Services.md

@ -1,3 +1,4 @@
## Domain Services Best Practices & Conventions
TODO
> **This document is not ready yet. Please see the [Domain Services](../Domain-Services.md) document.**

3
docs/en/Best-Practices/Index.md

@ -25,3 +25,6 @@ Also, this guide is mostly usable for general **application development**.
* [Entity Framework Core Integration](Entity-Framework-Core-Integration.md)
* [MongoDB Integration](MongoDB-Integration.md)
## See Also
* [E-Book: Implementing Domain Driven Design](https://abp.io/books/implementing-domain-driven-design)

4
docs/en/Blog-Posts/2021-04-05 CmsKit/POST.md

@ -28,13 +28,13 @@ If you're using the open-source version or adding the module to an existing proj
You can run the following command to add the module to an open-source solution.
```bash
abp add-module Volo.CmsKit
abp add-module Volo.CmsKit --skip-db-migrations true
```
If you're a commercial user, run the following command to install the pro version of the module.
```bash
abp add-module Volo.CmsKit.Pro
abp add-module Volo.CmsKit.Pro --skip-db-migrations true
```
After adding the module to the solution, you need to configure features. The CMS Kit module uses the [global feature](https://docs.abp.io/en/abp/latest/Global-Features) system for all features. To enable the features in the CMS Kit module, open the `GlobalFeatureConfigurator` class in the `Domain.Shared` project and place the following code to the `Configure` method to enable all features in the CMS kit module.

69
docs/en/Blog-Posts/2021-05-24-LeptonX/POST.md

@ -0,0 +1,69 @@
# Introducing the Lepton Theme Next Generation!
We are delighted and proud to announce that the next generation of [Lepton Theme](https://leptontheme.com/) which will be referred to as LeptonX is on the way.
At Volosoft, we care about developer experience as much as user experience. Thus, LeptonX is following the latest trends for a better user experience and provides highly customizable features that will be easy to use. Our APIs follow a strict guideline to be easy-to-use, intuitive, extendable, and replaceable. In short, we'd like LeptonX to grow into such a platform that developers (not just ABP developers) love to build their applications on top of, and end-users love to interact with.
The initial version has been built upon Bootstrap v4. Bootstrap v5 has been recently published and the ecosystem has not caught up yet. In addition, ABP packages are already dependent on Bootstrap v4, it will be easy to switch from the [Basic Theme](https://docs.abp.io/en/abp/latest/UI/AspNetCore/Basic-Theme) or from the [Lepton Theme](https://commercial.abp.io/themes) to the LeptonX.
We believe that the bigger the community is, the better the framework turns out to be. As we have done in our other products, we will release a free-to-use version of LeptonX, a.k.a LeptonX-lite which will contain most of the basic features. With LeptonX-lite, free ABP [application startup template](https://docs.abp.io/en/abp/latest/Startup-Templates/Application)s will come with a production-ready theme, and existing applications will be able to switch from the Basic Theme to the LeptonX-lite with ease.
## Highlights
In this section, I want to highlight some of the LeptonX features.
### Better Mobile UX
When people talk about Responsive Web Applications, they usually refer to a side menu or top menu that shrinks down into a hamburger menu which does not provide a good user experience for mobile users.
On the other hand, widely used native mobile applications usually employ a tab menu stick to the bottom of the screen. People have become acquainted with this type of experience. With this UX in mind, menus in the `LeptonX` theme switches to the tab menu on the mobile resolution as opposed to the hamburger menu.
![Three iPhones showing LeptonX theme for mobile resolution in dark, dim, and light themes](./mobiles.png)
![Three iPads showing LeptonX theme for tablet resolution in dark, dim and light themes](./tablets.png)
### Theme Build System
Following the latest trends, LeptonX comes with three built-in theme styles; `dark`, `dim`, `light`.
A theme builder system (written in SASS) is provided with the LeptonX which you can run with your brand colors and create your own theme style as well.
LeptonX is built on top of CSS variables that enable runtime theme building. In the future, we may release a color picker that can create custom themes. Each user can create their own color palettes.
### Multiple Layouts
LeptonX is being developed with such an architecture that it will be easy to replace the layout. You will be given many options to choose any layout you prefer.
Take a look at the following layouts:
![An image showing default layout for LeptonX lite and pro packages](./default-layout.png)
![An image showing top menu layout](./top-menu-layout.png)
## The LeptonX Ecosystem
The previous version of Lepton Theme has been only available to Commercial ABP customers and it has never been as a standalone (ABP independent) template. With LeptonX, we aim at a broader audience. With this goal in mind, LeptonX can be integrated into any tech stack you'd prefer as well as the ABP Framework. That's why you'll be offered a variety of packages as follows:
- A template with HTML, VanillaJS, CSS (can be used as ABP independent)
- You can just download this like any other template and start developing your application.
- An angular library (can be used as ABP independent)
- An upgradeable angular package contains layouts, components, directives, and services for you to build any application you'd like. If you choose this option, you'll be able to stay up-to-date with LeptonX as we will continue to introduce new features.
- A standalone Angular template that contains code of the npm package above (can be used as ABP independent)
- You can also download an angular template that contains the library above. You can edit it as you see fit, however, it will be harder to integrate new features once they become available.
- Free ABP packages for all of the clients available, MVC, Blazor, and Angular that utilizes the lite packages
- Client-specific packages that employ LeptonX-lite for open-source ABP users.
- Commercial ABP packages for all of the clients available, MVC, Blazor, and Angular that utilizes Pro (full version) packages
- Client-specific packages that employ, provide and extend all of the features that LeptonX-Pro packages have.
As is seen above, the LeptonX ecosystem contains multiple projects that are designed for different kinds of users.
## The LeptonX-lite
As mentioned above, there will be a free-to-use version of LeptonX. It will contain most of the basic features and components that the pro version has. It will be also a one-line change to upgrade from the lite version to the pro (full) version. Here, some of the differences between the lite and pro versions:
- The mobile tab navigation bar shown above will be only available to pro. In the lite version, a hamburger menu will take its place.
- The lite version will be released just with the side menu layout although we may release more in the future as our infrastructure makes it easy to develop and replace layouts.
- Different color options and the ability to change colors during runtime are pro-only features. CSS of the lite version is built with the `dim` colors.
## Alpha Version
As we have mentioned above, both user and developer experience means a great deal to us. Therefore, we will release an alpha version of the LeptonX-lite package and the free ABP-based Angular package soon to start collecting feedback from our users. Once the packages are released, we would like you to try them out and give us feedback. It will help us improve the LeptonX greatly. We plan to release a stable version later this year.
To stay up-to-date with LeptonX and be notified once the alpha version is ready, follow our [Twitter account](https://twitter.com/volosoftcompany).

BIN
docs/en/Blog-Posts/2021-05-24-LeptonX/default-layout.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
docs/en/Blog-Posts/2021-05-24-LeptonX/leptonx-intro-cover-image.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

BIN
docs/en/Blog-Posts/2021-05-24-LeptonX/mobiles.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

BIN
docs/en/Blog-Posts/2021-05-24-LeptonX/tablets.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

BIN
docs/en/Blog-Posts/2021-05-24-LeptonX/top-menu-layout.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

174
docs/en/Blog-Posts/2021-06-28 v4_4 Preview/POST.md

@ -0,0 +1,174 @@
# ABP Platform 4.4 RC Has Been Released
Today, we have released the [ABP Framework](https://abp.io/) and the [ABP Commercial](https://commercial.abp.io/) version 4.4 RC (Release Candidate). This blog post introduces the new features and important changes in this new version.
> **The planned release date for the [4.4.0 final](https://github.com/abpframework/abp/milestone/53) version is July 13, 2021**.
## Get Started with the 4.4 RC
If you want to try the version 4.4.0 today, follow the steps below;
1) **Upgrade** the ABP CLI to the version `4.4.0-rc.1` using a command line terminal:
````bash
dotnet tool update Volo.Abp.Cli -g --version 4.4.0-rc.1
````
**or install** if you haven't installed before:
````bash
dotnet tool install Volo.Abp.Cli -g --version 4.4.0-rc.1
````
2) Create a **new application** with the `--preview` option:
````bash
abp new BookStore --preview
````
See the [ABP CLI documentation](https://docs.abp.io/en/abp/latest/CLI) for all the available options.
> You can also use the *Direct Download* tab on the [Get Started](https://abp.io/get-started) page by selecting the **Preview checkbox**.
### Migration Notes
There is **no breaking change** with this version. However, if you are using Entity Framework Core, you will need to run the `Add-Migration` command to add a new **database migration** since some changes done in the module database mappings.
## What's new with the ABP Framework 4.4
### Removed EntityFrameworkCore.DbMigrations Project
With this version, we are doing an important change in the application startup solution template. The startup solution was containing an `EntityFrameworkCore.DbMigrations` project that contains a separate `DbContext` class which was responsible to unify the module database mappings and maintain the code-first database migrations. With the v4.4, we've removed that project from the solution. In the new structure, the `EntityFrameworkCore` integration project will be used for database migrations as well as on runtime.
We'd published [a community article](https://community.abp.io/articles/unifying-dbcontexts-for-ef-core-removing-the-ef-core-migrations-project-nsyhrtna) about that change. Please see the article to understand the motivation behind the change.
Beside the `DbContext` unification, we've also used the new `ReplaceDbContext` attribute and [replaced](https://github.com/abpframework/abp/blob/ea2205f0855f52015152ae066a5c239af4b8511f/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContext.cs#L18-L19) the `IIdentityDbContext` and `ITenantManagementDbContext` interfaces to make it possible to perform join queries over repositories for these modules easily. In the next days, we will publish another community article to explain the problem and the solution. However, most of times, you don't need to know these details.
### Dynamic Menu Management for the CMS Kit Module
CMS Kit is a set of reusable *Content Management System* features packaged as an ABP application module. We had published the first usable version with the previous release. With this release, we are adding another feature to the CMS Kit module: You can now dynamically arrange the main menu on the UI, which is an essential feature for any kind of content management system. In this way, you can add pages or any kind of arbitrary URLs to the main menu from the UI.
A screenshot from the menu management page (from the CMS Kit admin side):
![menu-items-admin](menu-items-admin.png)
And the items rendered in a public website:
![menu-items-public](menu-items-public.png)
Note that this feature is also available with the open source [CMS Kit module](https://docs.abp.io/en/abp/4.4/Modules/Cms-Kit/Index) (while the screenshots have been taken from the ABP Commercial).
### Razor Engine Support for Text Templating
[Text Templating](https://docs.abp.io/en/abp/4.4/Text-Templating) is a system to generate content on runtime by using a model (data) and a template. It was running on the [Scriban](https://github.com/scriban/scriban) templating engine. Beginning from this version, we have a second option: We can use the familiar **razor syntax** to build and render the templates. See the text templating [razor integration document](https://docs.abp.io/en/abp/4.4/Text-Templating-Razor) to get started with the new engine!
### New Customization Points for DbContext/Entities
Two new extension methods are added to `ObjectExtensionManager.Instance` to override EF Core mappings of [pre-built application modules](https://docs.abp.io/en/abp/latest/Modules/Index).
**Example: Change mappings for the `IdentityDbContext` to override mappings for the `IdentityUser` entity**
````csharp
ObjectExtensionManager.Instance.MapEfCoreDbContext<IdentityDbContext>(modelBuilder =>
{
modelBuilder.Entity<IdentityUser>(b =>
{
b.ToTable("MyUsers");
b.Property(x => x.Email).HasMaxLength(300);
});
});
````
The startup template contains a class, like `YourProjectNameEfCoreEntityExtensionMappings`, that can be used to place that code.
### New ABP CLI Commands
There are new [ABP CLI](https://docs.abp.io/en/abp/4.4/CLI) commands introduced with the v4.4:
* `abp install-libs` command is used for MVC / Razor Pages and Blazor Server applications to restore the `wwwroot/libs` folder. Previously we were running the `yarn` and `gulp` commands to restore that folder. While the `install-libs` command still uses yarn (if available), it is no longer needed to use `gulp`.
* `abp prompt` command can be used to open a prompt for the ABP CLI and run multiple commands without needing to specify the `abp` command every time. For example, if you run `abp prompt`, then you can directly run `install-libs` instead of `abp install-libs`. Use `exit` to quit from the ABP prompt.
* `abp batch` command can be used to run multiple ABP commands with one command. Prepare a text file, write each command as a line (without the `abp` command prefix), then execute `abp batch <batch-file>` (ex: `abp batch your_commands.txt`) command to execute all the commands in that file.
### appsettings.secrets.json
Added `appsettings.secrets.json` to the startup template that can be used to set your sensitive/secret configuration values. You can ignore this file from source control (by adding to `.gitignore` if you're using git) and keep it only in developer/production machines.
### Other ABP Framework Improvements
* [#9350](https://github.com/abpframework/abp/pull/9350) Extracted `IRemoteServiceConfigurationProvider` to get remote service configurations. You can replace this service to get the configuration from any source.
* [#8829](https://github.com/abpframework/abp/pull/8829) Implemented error handler and retry for distributed event bus.
* [#9288](https://github.com/abpframework/abp/issues/9288) Use default CORS policy instead of a named one in the startup template. It is suggested to update your own solutions to make it simpler.
* Translated the framework and module localization strings to Hindi, Italian, Finnish and French languages.
Beside these, there are a lot of enhancements and bug fixes. See the [4.4-preview milestone](https://github.com/abpframework/abp/milestone/52?closed=1) for all issues and pull requests closed with this version.
## What's new with the ABP Commercial 4.4
### New Features for the SaaS Module
We've implemented some important features to the [SaaS module](https://commercial.abp.io/modules/Volo.Saas):
* Integrated to the [Payment module](https://commercial.abp.io/modules/Volo.Payment) and implemented **subscription system** for the SaaS module.
* Allow to make a **tenant active/passive**. In this way, you can take a tenant to passive to prevent the users of that tenant from using the system. In addition, you can set a date to automatically make a tenant passive when the date comes.
* Allow to **limit user count** for a tenant.
* Allow to set **different connection strings** for a tenant for each database/module, which makes possible to create different databases for a tenant for each microservice in a microservice solution.
### New ABP Suite Code Generation Features
There are many improvements done for for [ABP Suite](https://commercial.abp.io/tools/suite), including CRUD page generation for the **[microservice solution](https://docs.abp.io/en/commercial/latest/startup-templates/microservice/index) template**.
### Angular UI: Two Factor Authentication for the Resource Owner Password Flow
In the previous version, we had implemented the resource owner password authentication flow for the Angular UI, which makes the login process easier for simpler applications. With this release, we've implemented two-factor authentication for that flow. Authorization code flow already supports 2FA.
### Other ABP Commercial Improvements
* Added web layers to microservices in the microservice solution. You can use them to create modular UI or override existing pages/components of pre-built modules (e.g. Identity and SaaS).
* ABP Commercial license code has been moved to `appsettings.secrets.json` in the new startup templates.
* Added new language options: Hindi, Italian, Arabic, Finnish, French.
Beside these, there are many minor improvements and fixes done in the modules and themes.
## Other News
In this section, I will share some news that you may be interested in.
### New Article: Using Elsa Workflow with ABP Framework
We have been frequently asked how to use [Elsa Workflows](https://elsa-workflows.github.io/elsa-core/) with the ABP Framework. Finally, we have [created an article](https://community.abp.io/articles/using-elsa-workflow-with-the-abp-framework-773siqi9) to demonstrate it.
![elsa-overview](elsa-overview.gif)
You can [check it](https://community.abp.io/articles/using-elsa-workflow-with-the-abp-framework-773siqi9) to see how to integrate Elsa into an ABP based solution easily.
### Free E-Book: Implementing Domain Driven Design
We've published a free e-book for the ABP Community in the beginning of June. This is a practical guide for implementing Domain Driven Design (DDD). While the implementation details are based on the ABP Framework infrastructure, the basic concepts, principles and models can be applied to any solution, even if it is not a .NET solution.
![ddd-book](ddd-book.png)
Thousands of copies are already downloaded. If you haven't seen it yet, [click here to get a free copy of that e-book](https://abp.io/books/implementing-domain-driven-design).
### The LeptonX Theme
We have been working on a new ABP theme, named the *LeptonX*, for a long time. The theme will be available for ABP Framework (free - lite version) and ABP Commercial (pro version). It is being finalized in the next weeks and we will release the first version in a short time.
![leptonx](leptonx.png)
See [this blog post](https://volosoft.com/blog/introducing-the-lepton-theme-next-generation) to learn more about that project.
### Volosoft & .NET Foundation
[Volosoft](https://volosoft.com/), the company leads the ABP Framework project, has been a corporate sponsor of the [.NET Foundation](https://dotnetfoundation.org/). We are happy by taking our place among other great sponsors!
![dotnetfoundation-sponsor-volosoft](dotnetfoundation-sponsor-volosoft.png)
We will continue to contribute to and support open source! See this [blog post for the announcement](https://volosoft.com/blog/Volosoft-Announces-the-NET-Foundation-Sponsorship).
### Looking for Developer Advocate(s)
We are actively looking for professional developer advocates for the ABP.IO platform. If you want to create content and touch to the ABP community, please check our [job post](https://github.com/volosoft/vs-home/issues/13).
## About the Next Version
The next version will be a major version: 5.0, which will be based on .NET 6.0. We are planning to release it in the end of 2021, short time after the .NET 6.0 release. We will release multiple preview/beta versions before the RC version. See the [road map](https://docs.abp.io/en/abp/latest/Road-Map) for details of the planned works for the version 5.0.

BIN
docs/en/Blog-Posts/2021-06-28 v4_4 Preview/abp-44-cover.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
docs/en/Blog-Posts/2021-06-28 v4_4 Preview/ddd-book.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
docs/en/Blog-Posts/2021-06-28 v4_4 Preview/dotnetfoundation-sponsor-volosoft.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

BIN
docs/en/Blog-Posts/2021-06-28 v4_4 Preview/elsa-overview.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

BIN
docs/en/Blog-Posts/2021-06-28 v4_4 Preview/leptonx.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

BIN
docs/en/Blog-Posts/2021-06-28 v4_4 Preview/menu-items-admin.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
docs/en/Blog-Posts/2021-06-28 v4_4 Preview/menu-items-public.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

52
docs/en/Blog-Posts/2021-07-08 Introducing_the_eShopOnAbp/POST.md

@ -0,0 +1,52 @@
# Introducing the eShopOnAbp Project
We are happy to introduce the **eShopOnAbp** project as an example microservice solution built with the ABP Framework by the core ABP team. This solution demonstrates the strength of ABP Framework and using it in a real-life case. The goal of the project is to create a full-featured cloud-native microservices reference application. The project is inspired by the [eShopOnContainers](https://github.com/dotnet-architecture/eShopOnContainers) project and shows how it can be implemented with the ABP Framework.
> **Project Status**: Currently, the project doesn't have any business logic. We've just brought ABP's pre-built modules (Identity, Tenant Management, IdentityServer, etc) together as a base solution. However, it is fully working and you can now take it as a base solution for your microservice project. From now on, we will build the example application functionalities / business logic on top of it.
## Source Code
The source code is available on [abpframework/eShopOnAbp](https://github.com/abpframework/eShopOnAbp) repository.
## The Big Picture
The project follows micro-service architecture and overall structure is presented below.
![eShopOnAbp Overall Solution](overall-solution.png)
## How to Run?
You can either run in Visual Studio, or using [Microsoft Tye](https://github.com/dotnet/tye). Tye is a developer tool that makes developing, testing, and deploying micro-services and distributed applications easier.
### Requirements
- .NET 5.0+
- Docker
- Yarn
### Instructions
- Clone the repository ( [eShopOnAbp](https://github.com/abpframework/eShopOnAbp) )
- Install Tye (*follow [these steps](https://github.com/dotnet/tye/blob/main/docs/getting_started.md#installing-tye)*)
- Execute `run-tye.ps1`
- Wait until all applications are up!
- You can check running application from tye dashboard ([localhost:8000](http://127.0.0.1:8000/))
- After all your backend services are up, start the angular application:
```bash
cd apps/angular
yarn start
```
## What's Next?
We'll work on deployment & CI-CD processes as a next step and build the business logic on. First goal is deploying the entire application on [Kubernetes](https://kubernetes.io/).
## Feedback
Your comments and suggestions is important for us. You can ask your questions or post your feedback under [this discussion entry](https://github.com/abpframework/abp/discussions/9536).

BIN
docs/en/Blog-Posts/2021-07-08 Introducing_the_eShopOnAbp/overall-solution.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

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

@ -1,6 +1,6 @@
# ABP CLI Create Solution Sample Commands
The `abp new` command creates an ABP solution or other artifacts based on an ABP template. ABP CLI has several parameters to create a new ABP solution. In this document we will show you some sample commands to create a new solution. All the project names are `Acme.BookStore`. Currently, the only available mobile project is a `React Native` mobile app. Available database providers are `Entity Framework Core` and `MongoDB`. All the commands starts with `abp new`.
The `abp new` command creates an ABP solution or other artifacts based on an ABP template. [ABP CLI](CLI.md) has several parameters to create a new ABP solution. In this document we will show you some sample commands to create a new solution. All the project names are `Acme.BookStore`. Currently, the only available mobile project is a `React Native` mobile app. Available database providers are `Entity Framework Core` and `MongoDB`. All the commands starts with `abp new`.
## Angular
@ -217,6 +217,10 @@ As seen below, ABP Framework libraries are local project references.
<ProjectReference Include="C:\source\abp\framework\src\Volo.Abp.AspNetCore.Authentication.JwtBearer\Volo.Abp.AspNetCore.Authentication.JwtBearer.csproj" />
<ProjectReference Include="..\Acme.BookStore.Application\Acme.BookStore.Application.csproj" />
<ProjectReference Include="..\Acme.BookStore.HttpApi\Acme.BookStore.HttpApi.csproj" />
<ProjectReference Include="..\Acme.BookStore.EntityFrameworkCore.DbMigrations\Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj" />
<ProjectReference Include="..\Acme.BookStore.EntityFrameworkCore\Acme.BookStore.EntityFrameworkCore.csproj" />
</ItemGroup>
```
## See Also
* [ABP CLI documentation](CLI.md)

22
docs/en/CLI.md

@ -42,6 +42,7 @@ Here, the list of all available commands before explaining their details:
* **`login`**: Authenticates on your computer with your [abp.io](https://abp.io/) username and password.
* **`logout`**: Logouts from your computer if you've authenticated before.
* **`bundle`**: Generates script and style references for an ABP Blazor project.
* **`install-libs`**: Install NPM Packages for MVC / Razor Pages and Blazor Server UI types.
### help
@ -118,6 +119,8 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `--local-framework-ref --abp-path`: Uses local projects references to the ABP framework instead of using the NuGet packages. This can be useful if you download the ABP Framework source code and have a local reference to the framework from your application.
* `--no-random-port`: Uses template's default ports.
See some [examples for the new command](CLI-New-Command-Samples.md) here.
### update
Updating all ABP related packages can be tedious since there are many packages of the framework and modules. This command automatically updates all ABP related NuGet and NPM packages in a solution or project to the latest versions.
@ -433,3 +436,22 @@ abp bundle [options]
`bundle` command reads the `appsettings.json` file inside the Blazor project for bundling options. For more details about managing style and script references in Blazor apps, see [Managing Global Scripts & Styles](UI/Blazor/Global-Scripts-Styles.md)
### install-libs
This command install NPM Packages for MVC / Razor Pages and Blazor Server UI types. Its **executing directory** or passed ```--working-directory``` parameter's directory must contain a project file(*.csproj).
`install-libs` command reads the `abp.resourcemapping.js` file to manage package. For more details see [Client Side Package Management](UI/AspNetCore/Client-Side-Package-Management.md).
Usage:
````bash
abp install-libs [options]
````
#### Options
* ```--working-directory``` or ```-wd```: Specifies the working directory. This option is useful when executing directory doesn't contain a project file.
## See Also
* [Examples for the new command](CLI-New-Command-Samples.md)

BIN
docs/en/Community-Articles/2020-08-12-Patch-Chrome-Login-Issue-For-IdentityServer4/Block-Third-Party-Cookies.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

4
docs/en/Community-Articles/2020-08-12-Patch-Chrome-Login-Issue-For-IdentityServer4/POST.md

@ -121,6 +121,10 @@ public override void OnApplicationInitialization(ApplicationInitializationContex
It's all! You are ready to go!
> Attention: This problem can't be solved if the user/browser/operating system blocked third-party cookies.
![Block-Third-Party-Cookies](Block-Third-Party-Cookies.png)
---
Referenced from https://devblogs.microsoft.com/aspnet/upcoming-samesite-cookie-changes-in-asp-net-and-asp-net-core/

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

@ -101,7 +101,7 @@ Now we need to add migration to see what has changed in our database. This for,
![nuget-package-manager](./nuget-package-manager.png)
Select the **CustomizeUserDemo.EntityFramework.DbMigrations** as the **default project** and execute the following command:
Select the **CustomizeUserDemo.EntityFramework** as the **default project** and execute the following command:
```bash
Add-Migration "Updated-User-Entity"
@ -109,7 +109,7 @@ Add-Migration "Updated-User-Entity"
![added-new-migration](./added-new-migration.png)
This will create a new migration class inside the `Migrations` folder of the **CustomizeUserDemo.EntityFrameworkCore.DbMigrations** project.
This will create a new migration class inside the `Migrations` folder of the **CustomizeUserDemo.EntityFrameworkCore** project.
> If you are using another IDE than the Visual Studio, you can use `dotnet-ef` tool as [documented here](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli#create-a-migration).

BIN
docs/en/Community-Articles/2020-10-08-How-To-Add-Custom-Property-To-The-User-Entity/initial-project.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 11 KiB

457
docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md

@ -0,0 +1,457 @@
# Using Elsa Workflow with ABP Framework
**Elsa Core** is an open-source workflows library that can be used in any kind of .NET Core application. Using such a workflow library can be useful to implement business rules visually or programmatically.
![elsa-overview](./elsa-overview.gif)
This article shows how we can use this workflow library within our ABP-based application. We will start with a couple of examples and then we will integrate the **Elsa Dashboard** (you can see it in the above gif) into our application to be able to design our workflows visually.
## Source Code
You can find the source of the example solution used in this article [here](https://github.com/abpframework/abp-samples/tree/master/ElsaDemo).
## Create the Project
In this article, I will create a new startup template with EF Core as a database provider and MVC/Razor-Pages for the UI framework.
> If you already have a project with MVC/Razor-Pages or Blazor UI, you don't need to create a new startup template, you can directly implement the following steps to your existing project (you can skip this section).
* We will create a new solution named `ElsaDemo` (or whatever you want). We will create a new startup template with **EF Core** as a database provider and **MVC/Razor-Pages** for the UI framework by using the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI):
```bash
abp new ElsaDemo
```
* Our project boilerplate will be ready after the download is finished. Then, we can open the solution in the Visual Studio (or any other IDE).
* We can run the `ElsaDemo.DbMigrator` project to apply migration into our database and seed initial data.
* After the database and initial data created, we can run the `ElsaDemo.Web` to see our UI working properly.
> Default admin username is **admin** and password is **1q2w3E***
## Let's Create The First Workflow (Console Activity)
We can start with creating our first workflow. Let's get started with creating a basic hello-world workflow by using console activity. In this example, we will **programmatically** define a workflow definition that displays the text **"Hello World from Elsa!"** to the console using Elsa's Workflow Builder API and run this workflow when the application initialized.
### Install Packages
We need to add two packages: `Elsa` and `Elsa.Activities.Console` into our `ElsaDemo.Web` project. We can add these two packages with the following command:
```bash
dotnet add package Elsa
dotnet add package Elsa.Activities.Console
```
* After the packages installed, we can define our first workflow. To do this, create a folder named **Workflows** and in this folder create a class named `HelloWorldConsole`.
```csharp
using Elsa.Activities.Console;
using Elsa.Builders;
namespace ElsaDemo.Web.Workflows
{
public class HelloWorldConsole : IWorkflow
{
public void Build(IWorkflowBuilder builder) => builder.WriteLine("Hello World from Elsa!");
}
}
```
* In here we've basically implemented the `IWorkflow` interface which only has one method named **Build**. In this method, we can define our workflow's execution steps (activities).
* As you can see in the example above, we've used an activity named **WriteLine**, which writes a line of text to the console. Elsa Core has many pre-defined activities like that. E.g **HttpEndpoint** and **WriteHttpResponse** (we will see them both in the next section).
> "An activity is an atomic building block that represents a single executable step on the workflow." - [Elsa Core Activity Definition](https://elsa-workflows.github.io/elsa-core/docs/next/concepts/concepts-workflows#activity)
* After defining our workflow, we need to define service registrations which required for the Elsa Core library to work properly. To do that, open your `ElsaDemoWebModule` class and update your `ElsaDemoWebModule` with the following lines. Most of the codes are abbreviated for simplicity.
```csharp
using ElsaDemo.Web.Workflows;
using Elsa.Services;
public override void ConfigureServices(ServiceConfigurationContext context)
{
var hostingEnvironment = context.Services.GetHostingEnvironment();
var configuration = context.Services.GetConfiguration();
//...
ConfigureElsa(context);
}
private void ConfigureElsa(ServiceConfigurationContext context)
{
context.Services.AddElsa(options =>
{
options
.AddConsoleActivities()
.AddWorkflow<HelloWorldConsole>();
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
//...
var workflowRunner = context.ServiceProvider.GetRequiredService<IBuildsAndStartsWorkflow>();
workflowRunner.BuildAndStartWorkflowAsync<HelloWorldConsole>();
}
```
* Here we basically, configured Elsa's services in our `ConfigureServices` method and after that in our `OnApplicationInitialization` method we started the `HelloWorldConsole` workflow.
* If we run the application and examine the console outputs, we should see the message that we defined in our workflow.
![hello-world-workflow](./hello-world-workflow.jpg)
## Creating A Workflow By Using Http Activities
In this example, we will create a workflow that uses **Http Activities**. It will basically listen the specified route for incoming HTTP Request and writes back a simple response.
### Add Elsa.Activities.Http Package
* To be able to use **HTTP Activities** we need to add `Elsa` (we've already added in the previous section) and `Elsa.Activities.Http` packages into our web application.
```bash
dotnet add package Elsa.Activities.Http
```
* After the package installed, we can create our workflow. Let's started with creating a class named `HelloWorldHttp` under **Workflows** folder.
```csharp
using System.Net;
using Elsa.Activities.Http;
using Elsa.Builders;
namespace ElsaDemo.Web.Workflows
{
public class HelloWorldHttp : IWorkflow
{
public void Build(IWorkflowBuilder builder)
{
builder
.HttpEndpoint("/hello-world")
.WriteHttpResponse(HttpStatusCode.OK, "<h1>Hello World!</h1>", "text/html");
}
}
}
```
* The above workflow has two activities. The first activity `HttpEndpoint` represents an HTTP endpoint, which can be invoked using an HTTP client, including a web browser. The first activity is connected to the second activity `WriteHttpResponse`, which returns a simple response to us.
* After defined the **HelloWorldHttp** workflow we need to define this class as workflow. So, open your `ElsaDemoWebModule` and update the `ConfigureElsa` method as below.
```csharp
private void ConfigureElsa(ServiceConfigurationContext context)
{
context.Services.AddElsa(options =>
{
options
.AddConsoleActivities()
.AddHttpActivities() //add this line to be able to use the http activities
.AddWorkflow<HelloWorldConsole>()
.AddWorkflow<HelloWorldHttp>(); //workflow that we defined
});
}
```
* And add the **UseHttpActivities** middleware to `OnApplicationInitilization` method of your `ElsaDemoWebModule` class.
```csharp
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
// ...
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseHttpActivities(); //add this line
app.UseConfiguredEndpoints();
var workflowRunner = context.ServiceProvider.GetRequiredService<IBuildsAndStartsWorkflow>();
workflowRunner.BuildAndStartWorkflowAsync<HelloWorldConsole>();
}
```
* If we run the application and navigate to the "/hello-world" route we should see the response message that we've defined (by using **WriteHttpResponse** activity) in our `HelloWorldHttp` workflow.
![hello-world-http](./hello-world-http.jpg)
## Integrate Elsa Dashboard To Application
* Until now we've created two workflows programmatically. But also we can create workflows visually by using Elsa's **HTML5 Workflow Designer**.
* Being able to design our workflows easily and taking advantage of **HTML5 Workflow Designer** we will integrate the Elsa Dashboard to our application.
### Install Packages
* Following three packages required for Elsa Server.
```bash
dotnet add package Elsa.Activities.Temporal.Quartz
dotnet add package Elsa.Persistence.EntityFramework.SqlServer
dotnet add package Elsa.Server.Api
```
> Also, we need to install the **Elsa** and **Elsa.Activities.Http** packages but we've already installed these packages in the previous sections.
* We need to install one more package named `Elsa.Designer.Components.Web`. This package provides us the **Elsa Dashboard** component.
```bash
dotnet add package Elsa.Designer.Components.Web
```
* After the package installations completed, we need to make the necessary configurations to be able to use the **Elsa Server** and **Elsa Dashboard**. Therefore, open your `ElsaDemoWebModule` class and make the necessary changes as below.
```csharp
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
//...
ConfigureElsa(context, configuration);
}
private void ConfigureElsa(ServiceConfigurationContext context, IConfiguration configuration)
{
var elsaSection = configuration.GetSection("Elsa");
context.Services.AddElsa(elsa =>
{
elsa
.UseEntityFrameworkPersistence(ef =>
DbContextOptionsBuilderExtensions.UseSqlServer(ef,
configuration.GetConnectionString("Default")))
.AddConsoleActivities()
.AddHttpActivities(elsaSection.GetSection("Server").Bind)
.AddQuartzTemporalActivities()
.AddJavaScriptActivities()
.AddWorkflowsFrom<Startup>();
});
context.Services.AddElsaApiEndpoints();
context.Services.Configure<ApiVersioningOptions>(options =>
{
options.UseApiBehavior = false;
});
context.Services.AddCors(cors => cors.AddDefaultPolicy(policy => policy
.AllowAnyHeader()
.AllowAnyMethod()
.AllowAnyOrigin()
.WithExposedHeaders("Content-Disposition"))
);
//register controllers inside elsa
context.Services.AddAssemblyOf<Elsa.Server.Api.Endpoints.WorkflowRegistry.Get>();
//Disable antiforgery validation for elsa
Configure<AbpAntiForgeryOptions>(options =>
{
options.AutoValidateFilter = type =>
type.Assembly != typeof(Elsa.Server.Api.Endpoints.WorkflowRegistry.Get).Assembly;
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
app.UseCors();
//...
app.UseHttpActivities();
app.UseConfiguredEndpoints(endpoints =>
{
endpoints.MapFallbackToPage("/_Host");
});
var workflowRunner = context.ServiceProvider.GetRequiredService<IBuildsAndStartsWorkflow>();
workflowRunner.BuildAndStartWorkflowAsync<HelloWorldConsole>();
}
```
* In here we've specified the Elsa Server Api's assembly by using the `AddAssemblyOf<>` extension method to register the required services (controllers). These services required for the dashboard (if we create a workflow by using **Elsa Workflow Designer** it calls some services under the hook, therefore we need to be assured about these services get registered).
* With [v4.4](https://github.com/abpframework/abp/pull/9299), we will no longer need to specify this line of code.
> **Note:** `AddAssemblyOf<>` extension method can help you to register all your services by convention. You can check [here](https://docs.abp.io/en/abp/latest/Dependency-Injection#conventional-registration) for more information about conventional registration.
* We don't need to register our workflows one by one anymore. Because now we use `.AddWorkflowsFrom<Startup>()`, and this registers workflows on our behalf.
* As you may notice here, we use a section named `Elsa` and its sub-sections from the configuration system but we didn't define them yet. To define them open your `appsettings.json` and add the following Elsa section into this file.
```json
{
//...
"Elsa": {
"Http": {
"BaseUrl": "https://localhost:44336"
}
}
}
```
#### Define Permission For Elsa Dashboard
* We can define a [permission](https://docs.abp.io/en/abp/latest/Authorization#permission-system) to be assured of only allowed users can see the Elsa Dashboard.
* Open your `ElsaDemoPermissions` class under the **Permissions** folder (in the `ElsaDemo.Application.Contracts` layer) and add the following permission name.
```csharp
namespace ElsaDemo.Permissions
{
public static class ElsaDemoPermissions
{
public const string GroupName = "ElsaDemo";
public const string ElsaDashboard = GroupName + ".ElsaDashboard";
}
}
```
* After that, open your `ElsaDemoPermissionDefinitionProvider` class and define the permission for Elsa Dashboard.
```csharp
using ElsaDemo.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
namespace ElsaDemo.Permissions
{
public class ElsaDemoPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
var myGroup = context.AddGroup(ElsaDemoPermissions.GroupName);
myGroup.AddPermission(ElsaDemoPermissions.ElsaDashboard, L("Permission:ElsaDashboard"));
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<ElsaDemoResource>(name);
}
}
}
```
* As you can notice, we've used a localized value (**L("Permission:ElsaDashboard")**) but haven't added this localization key and value to the localization file, so let's add this localization key and value. To do this, open your `en.json` file under **Localization/ElsaDemo** folder (under the **DomainShared** layer) and add this localization key.
```json
{
"culture": "en",
"texts": {
"Menu:Home": "Home",
"Welcome": "Welcome",
"LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io.",
"Permission:ElsaDashboard": "Elsa Dashboard"
}
}
```
#### Add Elsa Dashboard Component To Application
* After those configurations, now we can add Elsa Dashboard to our application with an authorization check. To do this, create a razor page named **_Host.cshtml** (under **Pages** folder) and update its content as below.
```html
@page "/elsa"
@using ElsaDemo.Permissions
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize(ElsaDemoPermissions.ElsaDashboard)]
@{
var serverUrl = $"{Request.Scheme}://{Request.Host}";
Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Elsa Workflows</title>
<link rel="icon" type="image/png" sizes="32x32" href="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/images/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/images/favicon-16x16.png">
<link rel="stylesheet" href="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/fonts/inter/inter.css">
<link rel="stylesheet" href="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/styles/tailwind.css">
<script src="/_content/Elsa.Designer.Components.Web/monaco-editor/min/vs/loader.js"></script>
<script type="module" src="/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/elsa-workflows-studio.esm.js"></script>
</head>
<body class="h-screen" style="background-size: 30px 30px; background-image: url(/_content/Elsa.Designer.Components.Web/elsa-workflows-studio/assets/images/tile.png); background-color: #FBFBFB;">
<elsa-studio-root server-url="@serverUrl" monaco-lib-path="_content/Elsa.Designer.Components.Web/monaco-editor/min"></elsa-studio-root>
</body>
</html>
```
* We've defined an attribute for authorization check here. With this authorization check, only the user who has the **Elsa Dashboard** permission allowed to see this page.
#### Add Elsa Dashboard Page To Main Menu
* We can open the `ElsaDemoMenuContributor` class under the **Menus** folder and define the menu item for reaching the Elsa Dashboard easily.
```csharp
using System.Threading.Tasks;
using ElsaDemo.Localization;
using ElsaDemo.MultiTenancy;
using ElsaDemo.Permissions;
using Volo.Abp.Identity.Web.Navigation;
using Volo.Abp.SettingManagement.Web.Navigation;
using Volo.Abp.TenantManagement.Web.Navigation;
using Volo.Abp.UI.Navigation;
namespace ElsaDemo.Web.Menus
{
public class ElsaDemoMenuContributor : IMenuContributor
{
public async Task ConfigureMenuAsync(MenuConfigurationContext context)
{
if (context.Menu.Name == StandardMenus.Main)
{
await ConfigureMainMenuAsync(context);
}
}
private async Task ConfigureMainMenuAsync(MenuConfigurationContext context)
{
var administration = context.Menu.GetAdministration();
var l = context.GetLocalizer<ElsaDemoResource>();
context.Menu.Items.Insert(
0,
new ApplicationMenuItem(
ElsaDemoMenus.Home,
l["Menu:Home"],
"~/",
icon: "fas fa-home",
order: 0
)
);
//add Workflow menu-item
context.Menu.Items.Insert(
1,
new ApplicationMenuItem(
ElsaDemoMenus.Home,
"Workflow",
"~/elsa",
icon: "fas fa-code-branch",
order: 1,
requiredPermissionName: ElsaDemoPermissions.ElsaDashboard
)
);
//...
}
}
}
```
* With that menu item configuration, only the user who has **Elsa Dashboard** permission allowed to see the defined menu item.
## Result
* Let's run the application and see how it looks like.
> If the account you are logged in has the **ElsaDemoPermissions.ElsaDashboard** permission, you should see the **Workflow** menu item. If you do not see this menu item, please be assured that your logged-in account has that permission.
* Now we can click the "Workflow" menu item, display the Elsa Dashboard and designing workflows.
![elsa-demo-result](./elsa-demo-result.gif)

BIN
docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/elsa-demo-result.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

BIN
docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/elsa-overview.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

BIN
docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/hello-world-http.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/hello-world-workflow.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

2
docs/en/Connection-Strings.md

@ -70,7 +70,7 @@ For [Entity Framework Core](Entity-Framework-Core.md) and [MongoDB](MongoDB.md),
Relational databases require to create the database and the database schema (tables, views... etc.) before using it.
The startup template (with EF Core ORM) comes with a single database and a `.EntityFrameworkCore.DbMigrations` project that contains the migration files for that database. This project mainly defines a *YourProjectName*MigrationsDbContext that calls the `Configure...()` methods of the used modules, like `builder.ConfigurePermissionManagement()`.
The startup template (with EF Core ORM) comes with a single database and a `.EntityFrameworkCore` project that contains related classes and the migration files for that database. This project mainly defines a *YourProjectName*DbContext that calls the `Configure...()` methods of the used modules, like `builder.ConfigurePermissionManagement()`.
Once you want to separate a module's database, you typically will need to create a second migration path. See the [EF Core Migrations](Entity-Framework-Core-Migrations.md) document to learn how to create and use a different database for a desired module.

6
docs/en/Customizing-Application-Modules-Extending-Entities.md

@ -152,14 +152,14 @@ public class MyDistributedIdentityUserChangeEventHandler :
* It implements multiple `IDistributedEventHandler` interfaces: **Created**, **Updated** and **Deleted**. Because, the distributed event bus system publishes events individually. There is no "Changed" event like the local event bus.
* It subscribes to `EntityEto`, which is a generic event class that is **automatically published** for all type of entities by the ABP framework. This is why it checks the **entity type** (checking the entity type as string since we assume that there is no type safe reference to the `IdentityUser` entity).
Pre-built application modules do not define specialized event types yet (like `IdentityUserEto` - "ETO" means "Event Transfer Object"). This feature is on the road map and will be available in a short term ([follow this issue](https://github.com/abpframework/abp/issues/3033)). Once it is implemented, you will be able to subscribe to individual entity types. Example:
Pre-built application modules do not define specialized event types yet (like `UserEto` - "ETO" means "Event Transfer Object"). This feature is on the road map and will be available in a short term ([follow this issue](https://github.com/abpframework/abp/issues/3033)). Once it is implemented, you will be able to subscribe to individual entity types. Example:
````csharp
public class MyDistributedIdentityUserCreatedEventHandler :
IDistributedEventHandler<EntityCreatedEto<IdentityUserEto>>,
IDistributedEventHandler<EntityCreatedEto<UserEto>>,
ITransientDependency
{
public async Task HandleEventAsync(EntityCreatedEto<IdentityUserEto> eventData)
public async Task HandleEventAsync(EntityCreatedEto<UserEto> eventData)
{
var userId = eventData.Entity.Id;
var userName = eventData.Entity.UserName;

3
docs/en/Customizing-Application-Modules-Guide.md

@ -31,7 +31,8 @@ If you don't think to make huge changes on the pre-built modules, re-using them
If you want to make **huge changes** or add **major features** on a pre-built module, but the available extension points are not enough, you can consider to directly work the source code of the depended module.
In this case, you typically **add the source code** of the module to your solution and **replace package references** by local project references. **[ABP CLI](CLI.md)** automates this process for you.
In this case, you typically **add the source code** of the module to your solution and replace **every** package reference in the solution with its corresponding local project references. **[ABP CLI](CLI.md)** automates this process for you.
#### Separating the Module Solution

6
docs/en/Dependency-Injection.md

@ -59,9 +59,9 @@ Some specific types are registered to dependency injection by default. Examples:
* MVC controllers (inherit ``Controller`` or ``AbpController``) are registered as transient.
* MVC page models (inherit ``PageModel`` or ``AbpPageModel``) are registered as transient.
* MVC view components (inherit ``ViewComponent`` or ``AbpViewComponent``) are registered as transient.
* Application services (implement ``IApplicationService`` interface or inherit ``ApplicationService`` class) are registered as transient.
* Repositories (implement ``IRepository`` interface) are registered as transient.
* Domain services (implement ``IDomainService`` interface) are registered as transient.
* Application services (inherit ``ApplicationService`` class or its subclasses) are registered as transient.
* Repositories (implement ``BasicRepositoryBase`` class or its subclasses) are registered as transient.
* Domain services (implement ``IDomainService`` interface or inherit ``DomainService`` class) are registered as transient.
Example:

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

@ -4,7 +4,7 @@ Distributed Event bus system allows to **publish** and **subscribe** to events t
## Providers
Distributed event bus system provides an **abstraction** that can be implemented by any vendor/provider. There are two providers implemented out of the box:
Distributed event bus system provides an **abstraction** that can be implemented by any vendor/provider. There are four providers implemented out of the box:
* `LocalDistributedEventBus` is the default implementation that implements the distributed event bus to work as in-process. Yes! The **default implementation works just like the [local event bus](Local-Event-Bus.md)**, if you don't configure a real distributed provider.
* `RabbitMqDistributedEventBus` implements the distributed event bus with the [RabbitMQ](https://www.rabbitmq.com/). See the [RabbitMQ integration document](Distributed-Event-Bus-RabbitMQ-Integration.md) to learn how to configure it.
@ -302,3 +302,54 @@ namespace AbpDemo
````
This example uses the `AutoMap` attribute of the AutoMapper to configure the mapping. You could create a profile class instead. Please refer to the AutoMapper document for more options.
## Exception Handling
ABP provides exception handling and retries when an exception occurs, it will move to the dead letter queue after the retry fails.
Enable exception handling:
```csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpEventBusOptions>(options =>
{
options.EnabledErrorHandle = true;
options.UseRetryStrategy();
});
}
```
* `EnabledErrorHandle` is used to enable exception handing.
* `UseRetryStrategy` is used to enable retry.
When an exception occurs, it will retry every three seconds up to the maximum number of retries(default is 3) and move to dead letter queue, you can change the number of retries, retry interval and dead letter queue name:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.DeadLetterName = "dead_queue";
options.UseRetryStrategy(retryStrategyOptions =>
{
retryStrategyOptions.IntervalMillisecond = 0;
retryStrategyOptions.MaxRetryAttempts = 1;
});
});
```
### Error Handle Selector
By default all event types will be exception handling, you can use `ErrorHandleSelector` of `AbpEventBusOptions` to change it:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.ErrorHandleSelector = type => type == typeof(MyExceptionHandleEventData);
});
```
`options.ErrorHandleSelector` actually a list of type predicate. You can write a lambda expression to define your filter.
### Customize Exception Handling
ABP defines the `IEventErrorHandler` interface and implemented by the provider, you can replace it via [dependency injection](Dependency-Injection.md)

1981
docs/en/Domain-Driven-Design-Implementation-Guide.md

File diff suppressed because it is too large

4
docs/en/Domain-Driven-Design.md

@ -32,6 +32,6 @@ DDD mostly interest in the **Domain** and the **Application** layers, rather tha
* [Data Transfer Objects (DTOs)](Data-Transfer-Objects.md)
* [Unit of Work](Unit-Of-Work.md)
## The Ultimate DDD Implementation Guide
## Free E-Book: Implementing DDD
See the [Implementing Domain Driven Design](Domain-Driven-Design-Implementation-Guide.md) guide as a **complete reference**. The Guide explains the Domain Driven Design and introduces explicit **rules and examples** to give a deep understanding of the **implementation details**.
See the [Implementing Domain Driven Design book](https://abp.io/books/implementing-domain-driven-design) as a **complete reference**. This book explains the Domain Driven Design and introduces explicit **rules and examples** to give a deep understanding of the **implementation details**.

834
docs/en/Entity-Framework-Core-Migrations.md

@ -61,9 +61,9 @@ ABP Framework's [connection string](Connection-Strings.md) system allows you to
}
````
The example configuration about tells to the ABP Framework to use the second connection string for the [Audit Logging module](Modules/Audit-Logging.md).
The example configuration tells to the ABP Framework to use the second connection string for the [Audit Logging module](Modules/Audit-Logging.md) (if you don't specify connection string for a module, it uses the `Default` connection string).
**However, this is just the beginning**. You also need to create the second database, create audit log tables inside it and maintain the database tables using the code first migrations approach. One of the main purposes of this document is to guide you on such **database separation** scenarios.
**However, this can work only if the audit log database with the given connection string is available**. So, you need to create the second database, create audit log tables inside it and maintain the database tables. No problem if you manually do all these. However, the recommended approach is the code first migrations. One of the main purposes of this document is to guide you on such **database separation** scenarios.
#### Module Tables
@ -85,23 +85,24 @@ This code changes the prefix of the [Identity Server](Modules/IdentityServer.md)
> Every module also defines `DbSchema` property (near to `DbTablePrefix`), so you can set it for the databases support the schema usage.
### The Projects
### .EntityFrameworkCore Project
From the database point of view, there are three important projects those will be explained in the next sections.
The solution contains a project, which's name ends with `.EntityFrameworkCore`. This project has the `DbContext` class (`BookStoreDbContext` for this sample) of your application.
#### .EntityFrameworkCore Project
This project has the `DbContext` class (`BookStoreDbContext` for this sample) of your application.
**Every module uses its own `DbContext` class** to access to the database. Likewise, your application has its own `DbContext`. You typically use this `DbContext` in your application code (in your [repositories](Repositories.md) if you follow the best practices). It is almost an empty `DbContext` since your application don't have any entities at the beginning, except the pre-defined `AppUser` entity:
**Every module uses its own `DbContext` class** to access to the database. Likewise, your application has its own `DbContext`. You typically use this `DbContext` in your application code (in your [repositories](Repositories.md) if you follow the best practices and hide your data access code behind the repositories). It is almost an empty `DbContext` since your application don't have any entities at the beginning:
````csharp
[ReplaceDbContext(typeof(IIdentityDbContext))]
[ReplaceDbContext(typeof(ITenantManagementDbContext))]
[ConnectionStringName("Default")]
public class BookStoreDbContext : AbpDbContext<BookStoreDbContext>
public class BookStoreDbContext :
AbpDbContext<BookStoreDbContext>,
IIdentityDbContext,
ITenantManagementDbContext
{
public DbSet<AppUser> Users { get; set; }
/* Add DbSet properties for your Aggregate Roots / Entities here. */
/* DbSet for entities from the replaced DbContexts */
public BookStoreDbContext(DbContextOptions<BookStoreDbContext> options)
: base(options)
@ -112,72 +113,7 @@ public class BookStoreDbContext : AbpDbContext<BookStoreDbContext>
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
/* Configure the shared tables (with included modules) here */
builder.Entity<AppUser>(b =>
{
//Sharing the same Users table with the IdentityUser
b.ToTable(AbpIdentityDbProperties.DbTablePrefix + "Users");
b.ConfigureByConvention();
b.ConfigureAbpUser();
/* Configure mappings for your additional properties
* Also see the MyProjectNameEntityExtensions class
*/
});
/* Configure your own tables/entities inside the ConfigureBookStore method */
builder.ConfigureBookStore();
}
}
````
This simple `DbContext` class still needs some explanations:
* It defines a `[ConnectionStringName]` attribute which tells ABP to always use the `Default` connection string for this `Dbcontext`.
* It inherits from the `AbpDbContext<T>` instead of the standard `DbContext` class. You can see the [EF Core integration](Entity-Framework-Core.md) document for more. For now, know that the `AbpDbContext<T>` base class implements some conventions of the ABP Framework to automate some common tasks for you.
* It declares a `DbSet` property for the `AppUser` entity. `AppUser` shares the same table (named `AbpUsers` by default) with the `IdentityUser` entity of the [Identity module](Modules/Identity.md). The startup template provides this entity inside the application since we think that the User entity is generally needs to be customized in your application.
* The constructor takes a `DbContextOptions<T>` instance.
* It overrides the `OnModelCreating` method to define the EF Core mappings.
* It first calls the the `base.OnModelCreating` method to let the ABP Framework to implement the base mappings for us.
* It then configures the mapping for the `AppUser` entity. There is a special case for this entity (it shares a table with the Identity module), which will be explained in the next sections.
* It finally calls the `builder.ConfigureBookStore()` extension method to configure other entities of your application.
This design will be explained in more details after introducing the other database related projects.
#### .EntityFrameworkCore.DbMigrations Project
As mentioned in the previous section, every module (and your application) have **their own** separate `DbContext` classes. Each `DbContext` class only defines the entity to table mappings related to its own module and each module (and your application) use the related `DbContext` class **on runtime**.
As you know, EF Core Code First migration system relies on a `DbContext` class **to track and generate** the code first migrations. So, which `DbContext` we should use for the migrations? The answer is *none of them*. There is another `DbContext` defined in the `.EntityFrameworkCore.DbMigrations` project (which is the `BookStoreMigrationsDbContext` for this example solution).
##### The MigrationsDbContext
The `MigrationsDbContext` is only used to create and apply the database migrations. It is **not used on runtime**. It **merges** all the entity to table mappings of all the used modules plus the application's mappings.
In this way, you create and maintain a **single database migration path**. However, there are some difficulties of this approach and the next sections explains how ABP Framework overcomes these difficulties. But first, see the `BookStoreMigrationsDbContext` class as an example:
````csharp
/* This DbContext is only used for database migrations.
* It is not used on runtime. See BookStoreDbContext for the runtime DbContext.
* It is a unified model that includes configuration for
* all used modules and your application.
*/
public class BookStoreMigrationsDbContext : AbpDbContext<BookStoreMigrationsDbContext>
{
public BookStoreMigrationsDbContext(
DbContextOptions<BookStoreMigrationsDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
/* Include modules to your migration db context */
builder.ConfigurePermissionManagement();
builder.ConfigureSettingManagement();
@ -188,391 +124,42 @@ public class BookStoreMigrationsDbContext : AbpDbContext<BookStoreMigrationsDbCo
builder.ConfigureFeatureManagement();
builder.ConfigureTenantManagement();
/* Configure your own tables/entities inside the ConfigureBookStore method */
builder.ConfigureBookStore();
}
}
````
##### Sharing the Mapping Code
First problem is that: A module uses its own `DbContext` which needs to the database mappings. The `MigrationsDbContext` also needs to the same mapping in order to create the database tables for this module. We definitely **don't want to duplicate** the mapping code.
The solution is to define an **extension method** (on the `ModelBuilder`) that can be called by both `DbContext` classes. So, all modules define such extension methods.
For example, the `builder.ConfigureBackgroundJobs()` method call configures the database tables for the [Background Jobs module](Modules/Background-Jobs.md). The definition of this extension method is something like that:
````csharp
public static class BackgroundJobsDbContextModelCreatingExtensions
{
public static void ConfigureBackgroundJobs(
this ModelBuilder builder,
Action<BackgroundJobsModelBuilderConfigurationOptions> optionsAction = null)
{
var options = new BackgroundJobsModelBuilderConfigurationOptions(
BackgroundJobsDbProperties.DbTablePrefix,
BackgroundJobsDbProperties.DbSchema
);
optionsAction?.Invoke(options);
builder.Entity<BackgroundJobRecord>(b =>
{
b.ToTable(options.TablePrefix + "BackgroundJobs", options.Schema);
b.ConfigureCreationTime();
b.ConfigureExtraProperties();
b.Property(x => x.JobName)
.IsRequired()
.HasMaxLength(BackgroundJobRecordConsts.MaxJobNameLength);
//...
});
/* Configure your own tables/entities here. Example: */
//builder.Entity<YourEntity>(b =>
//{
// b.ToTable("YourEntities");
// b.ConfigureByConvention(); //auto configure for the base properties
// //...
//});
}
}
````
This extension method also gets options to change the database table prefix and schema for this module, but it is not important here.
The final application calls the extension methods inside the `MigrationsDbContext` class, so it can decide which modules are included in the database maintained by this `MigrationsDbContext`. If you want to create a second database and move some module tables to the second database, then you need to have a second `MigrationsDbContext` class which only calls the extension methods of the related modules. This topic will be detailed in the next sections.
The same `ConfigureBackgroundJobs` method is also called in the `DbContext` of the Background Jobs module:
````csharp
[ConnectionStringName(BackgroundJobsDbProperties.ConnectionStringName)]
public class BackgroundJobsDbContext
: AbpDbContext<BackgroundJobsDbContext>, IBackgroundJobsDbContext
{
public DbSet<BackgroundJobRecord> BackgroundJobs { get; set; }
public BackgroundJobsDbContext(DbContextOptions<BackgroundJobsDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
//Reuse the same extension method!
builder.ConfigureBackgroundJobs();
}
}
````
In this way, the mapping configuration of a module can be shared between `DbContext` classes. The code above is inside the related module NuGet package, so you don't care about it.
##### Reusing a Table of a Module
You may want to **reuse a table** of a depended module in your application. In this case, you have two options:
1. You can **directly use the entity** defined by the module (you can still [extend the entity](Customizing-Application-Modules-Extending-Entities.md) in some level).
2. You can **create a new entity** mapping to the same database table.
###### Use the Entity Defined by a Module
Using an entity defined a module is pretty easy and standard. For example, Identity module defines the `IdentityUser` entity. You can inject the [repository](Repositories.md) for the `IdentityUser` and perform the standard repository operations for this entity. Example:
````csharp
using System;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Identity;
namespace Acme.BookStore
{
public class MyService : ITransientDependency
{
private readonly IRepository<IdentityUser, Guid> _identityUserRepository;
public MyService(IRepository<IdentityUser, Guid> identityUserRepository)
{
_identityUserRepository = identityUserRepository;
}
public async Task DoItAsync()
{
//Get all users
var users = await _identityUserRepository.GetListAsync();
}
}
}
````
This example injects the `IRepository<IdentityUser, Guid>` (default repository) which defines the standard repository methods and implements the `IQueryable` interface.
> In addition, Identity module defines the `IIdentityUserRepository` (custom repository) that can also be injected and used by your application. `IIdentityUserRepository` provides additional custom methods for the `IdentityUser` entity while it does not implement the `IQueryable` interface.
###### Create a New Entity
Working with an entity of a module is easy if you want to use the entity as is. However, you may want to define your own entity class and map to the same database table in the following cases;
* You want to **add a new field** to the table and map it to a property in the entity. You can't use the module's entity since it doesn't have the related property.
* You want to **use a subset of the table fields**. You don't want to access to all properties of the entity and hide the unrelated properties (from a security perspective or just by design).
* You don't want to directly **depend on** a module entity class.
In any case, the progress is same. Assume that you want to create an entity, named `AppRole`, mapped to the same table of the `IdentityRole` entity of the [Identity module](Modules/Identity.md).
Here, we will show the implementation, then **will discuss the limitations** of this approach.
First, create a new `AppRole` class in your `.Domain` project:
````csharp
using System;
using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy;
namespace Acme.BookStore.Roles
{
public class AppRole : AggregateRoot<Guid>, IMultiTenant
{
// Properties shared with the IdentityRole class
public Guid? TenantId { get; private set; }
public string Name { get; private set; }
//Additional properties
public string Title { get; set; }
private AppRole()
{
}
}
}
````
* It's inherited from [the `AggregateRoot<Guid>` class](Entities.md) and implements [the `IMultiTenant` interface](Multi-Tenancy.md) because the `IdentityRole` also does the same.
* You can add any properties defined by the `IdentityRole` entity. This examples add only the `TenantId` and `Name` properties since we only need them here. You can make the setters private (like in this example) to prevent changing Identity module's properties accidently.
* You can add custom (additional) properties. This example adds the `Title` property.
* The **constructor is private**, so it is not allowed to directly create a new `AppRole` entity. Creating a role is a responsibility of the Identity module. You can query roles, set/update your custom properties, but you should not create or delete a role in your code, as a best practice (while there is nothing restricts you).
Now, it is time to define the EF Core mappings. Open the `DbContext` of your application (`BookStoreDbContext` in this sample) and add the following property:
````csharp
public DbSet<AppRole> Roles { get; set; }
````
Then configure the mapping inside the `OnModelCreating` method (after calling the `base.OnModelCreating(builder)`):
````csharp
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
/* Configure the shared tables (with included modules) here */
//CONFIGURE THE AppRole ENTITY
builder.Entity<AppRole>(b =>
{
b.ToTable("AbpRoles");
b.ConfigureByConvention();
b.Property(x => x.Title).HasMaxLength(128);
});
...
/* Configure your own tables/entities inside the ConfigureBookStore method */
builder.ConfigureBookStore();
}
````
We added the following lines:
````csharp
builder.Entity<AppRole>(b =>
{
b.ToTable("AbpRoles");
b.ConfigureByConvention();
b.Property(x => x.Title).HasMaxLength(128);
});
````
* It maps to the same `AbpRoles` table shared with the `IdentityRole` entity.
* `ConfigureByConvention()` configures the standard/base properties (like `TenantId`) and recommended to always call it.
You've configured the custom property for your `DbContext` that is used by your application on the runtime. We also need to configure the `MigrationsDbContext`.
Instead of directly changing the `MigrationsDbContext`, we **should** use the entity extension system of the ABP Framework. Find the `YourProjectNameEfCoreEntityExtensionMappings` class in the `.EntityFrameworkCore` project of your solution (`BookStoreEfCoreEntityExtensionMappings` for this example) and change it as shown below:
````csharp
public static class MyProjectNameEntityExtensions
{
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
public static void Configure()
{
OneTimeRunner.Run(() =>
{
ObjectExtensionManager.Instance
.MapEfCoreProperty<IdentityRole, string>(
"Title",
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(128);
}
);
});
}
}
````
This `DbContext` class needs some explanations:
> Instead of hard-coded "Title" string, we suggest to use `nameof(AppRole.Title)` or use a constant string.
`ObjectExtensionManager` is used to add properties to existing entities. Since `ObjectExtensionManager.Instance` is a static instance (singleton), we should call it once. `OneTimeRunner` is a simple utility class defined by the ABP Framework.
See the [EF Core integration documentation](Entity-Framework-Core.md) for more about the entity extension system.
> We've repeated a similar database mapping code, like `HasMaxLength(128)`, in both classes.
Now, you can add a new EF Core database migration using the standard `Add-Migration` command in the Package Manager Console (remember to select `.EntityFrameworkCore.DbMigrations` as the Default Project in the PMC and make sure that the `.Web` project is still the startup project):
![pmc-add-migration-role-title](images/pmc-add-migration-role-title.png)
This command will create a new code first migration class as shown below:
````csharp
public partial class Added_Title_To_Roles : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "Title",
table: "AbpRoles",
maxLength: 128,
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Title",
table: "AbpRoles");
}
}
````
All done! Just run the `Update-Database` command in the PMC or run the `.DbMigrator` project in your solution to apply changes to database.
Now, you can work with the `AppRole` entity just like any other entity of your application. An example [application service](Application-Services.md) that queries and updates roles:
````csharp
public class AppRoleAppService : ApplicationService, IAppRoleAppService
{
private readonly IRepository<AppRole, Guid> _appRoleRepository;
public AppRoleAppService(IRepository<AppRole, Guid> appRoleRepository)
{
_appRoleRepository = appRoleRepository;
}
public async Task<List<AppRoleDto>> GetListAsync()
{
var roles = await _appRoleRepository.GetListAsync();
return roles
.Select(r => new AppRoleDto
{
Id = r.Id,
Name = r.Name,
Title = r.Title
})
.ToList();
}
public async Task UpdateTitleAsync(Guid id, string title)
{
var role = await _appRoleRepository.GetAsync(id);
role.Title = title;
await _appRoleRepository.UpdateAsync(role);
}
}
````
There are some **limitations** of creating a new entity and mapping it to a table of a depended module:
* Your **custom properties must be nullable**. For example, `AppRole.Title` was nullable here. Otherwise, Identity module throws exception because it doesn't know and can not fill the Title when it inserts a new role to the database.
* As a good practice, you should not update the **properties defined by the module**, especially if it requires a business logic. You typically want to manage your own properties.
##### Alternative Approaches
Instead of creating a new entity class to add a custom property, you can use the following approaches.
###### Using the ExtraProperties
All entities derived from the `AggregateRoot ` class can store name-value pairs in their `ExtraProperties` property (because they implement the `IHasExtraProperties` interface), which is a `Dictionary<string, object>` serialized to JSON in the database table. So, you can add values to this dictionary and query again without changing the entity.
For example, you can store query the title Property inside an `IdentityRole` instead of creating a new entity. Example:
````csharp
public class IdentityRoleExtendingService : ITransientDependency
{
private readonly IIdentityRoleRepository _identityRoleRepository;
public IdentityRoleExtendingService(IIdentityRoleRepository identityRoleRepository)
{
_identityRoleRepository = identityRoleRepository;
}
public async Task<string> GetTitleAsync(Guid id)
{
var role = await _identityRoleRepository.GetAsync(id);
return role.GetProperty<string>("Title");
}
public async Task SetTitleAsync(Guid id, string newTitle)
{
var role = await _identityRoleRepository.GetAsync(id);
role.SetProperty("Title", newTitle);
await _identityRoleRepository.UpdateAsync(role);
}
}
````
* `GetProperty` and `SetProperty` methods are shortcuts to get and set a value in the `role.ExtraProperties` dictionary and they are the recommended way to work with the extra properties.
In this way, you can easily attach any type of value to an entity of a depended module. However, there are some drawbacks of this usage:
* All the extra properties are stored as **a single JSON object** in the database. They are not stored as new table fields, as you may expect. Creating database table indexes and using SQL queries against these properties will be harder compared to simple table fields.
* Property names are strings, so they are **not type safe**. It is recommended to define constants for these kind of properties to prevent typo errors.
###### Using the Entity Extensions System
Entity extension system solves the main problem of the extra properties: It can store an extra property in a **standard table field** in the database.
All you need to do is to use the `ObjectExtensionManager` to define the extra property as explained above, in the `AppRole` example. Then you can continue to use the same `GetProperty` and `SetProperty` methods defined above to get/set the related property on the entity, but this time stored as a separate field in the database.
See the [entity extension system](Customizing-Application-Modules-Extending-Entities.md) for details.
###### Creating a New Table
Instead of creating a new entity and mapping to the same table, you can also create **your own table** to store your properties. You typically duplicate some values of the original entity. For example, you can add `Name` field to your own table which is a duplication of the `Name` field in the original table.
In this case, you don't deal with migration problems, however you need to deal with the problems of data duplication. When the duplicated value changes, you should reflect the same change in your table. You can use local or distributed [event bus](Event-Bus.md) to subscribe to the change events for the original entity. This is the recommended way of depending on a microservice's data from another microservice, especially if they have separate physical databases (you can search on the web on data sharing on a microservice design, it is a wide topic to cover here).
> See the "[extending entities](Customizing-Application-Modules-Extending-Entities.md)" guide for more details on extending entities, including data duplication and synchronization tips.
* It defines `[ReplaceDbContext]` attributes for `IIdentityDbContext` and `ITenantManagementDbContext` those replaces Identity and Tenant Management module's `DbContext`s by your `DbContext` on runtime. This allows us to easily perform LINQ queries by joining your entities with the entities (over the repositories) coming from those modules.
* It defines a `[ConnectionStringName]` attribute which tells ABP to always use the `Default` connection string for this `Dbcontext`.
* It inherits from the `AbpDbContext<T>` instead of the standard `DbContext` class. You can see the [EF Core integration](Entity-Framework-Core.md) document for more. For now, know that the `AbpDbContext<T>` base class implements some conventions of the ABP Framework to automate some common tasks for you.
* It declares `DbSet` properties for entities from the replaced `DbContext`s (by implementing the corresponding interfaces). These `DbSet` properties are not shown above (for the sake of brevity), but you can find in your application's code in a `region`.
* The constructor takes a `DbContextOptions<T>` instance.
* It overrides the `OnModelCreating` method to define the EF Core mappings.
* It first calls the the `base.OnModelCreating` method to let the ABP Framework to implement the base mappings for us.
* It then calls some `builder.ConfigureXXX()` methods for the used modules. This makes possible to add database mappings for these modules to this `DbContext`, so it creates the database tables of the modules when we add a new EF Core database migration.
* You can configure the mappings for your own entities as commented in the example code. At this point, you can also change mappings for the modules you are using.
#### Discussion of an Alternative Scenario: Every Module Manages Its Own Migration Path
### Discussion of an Alternative Scenario: Every Module Manages Its Own Migration Path
As mentioned before, `.EntityFrameworkCore.DbMigrations` merges all the database mappings of all the modules (plus your application's mappings) to create a unified migration path.
As mentioned before, in the `.EntityFrameworkCore` project, we merge all the database mappings of all the modules (plus your application's mappings) to create a unified migration path.
An alternative approach would be to allow each module to have its own migrations to maintain its database tables. While it seems more module in the beginning, it has some important drawbacks:
An alternative approach would be to allow each module to have its own migrations to maintain its database tables. While it seems more modular in the beginning, it has some drawbacks in practical:
* **EF Core migration system depends on the DBMS provider**. For example, if a module has created migrations for SQL Server, then you can not use this migration code for MySQL. It is not practical for a module to maintain migrations for all available DBMS providers. Leaving the migration to the application code (as explained in this document) allows you to **choose the DBMS in the application** code.
* It would be harder or impossible to **share a table** between modules or **re-use a table** of a module in your application. Because EF Core migration system can not handle it and will throw exceptions like "Table XXX is already exists in the database".
* It would be harder to **customize/enhance** the mapping and the resulting migration code.
* **EF Core migration system depends on the DBMS provider**. For example, if a module has created migrations for SQL Server, then you can not use this migration code for MySQL. It is not practical for a module to maintain migrations for all available DBMS providers. Leaving the migration to the application code (as explained in this document) allows you to **choose the DBMS in the application** code. If you can depend on a specific DBMS in your module, that's not an issue for you, however all pre-built ABP modules are DBMS agnostic.
* It would be harder to **customize/enhance** the mapping and the resulting migration code, in the final application.
* It would be harder to track and **apply changes** to database when you use multiple modules.
## Using Multiple Databases
The default startup template is organized to use a single database used by all the modules and by your application. However, the ABP Framework and all the pre-built modules are designed so that **they can use multiple databases**. Each module can use its own database or you can group modules into a few databases.
The default startup template is organized to use a **single database** used by all the modules and by your application. However, the ABP Framework and all the pre-built modules are designed so that **they can use multiple databases**. Each module can use its own database or you can group modules into a few databases.
This section will explain how to move Audit Logging, Setting Management and Permission Management module tables to a **second database** while the remaining modules continue to use the main ("Default") database.
@ -586,7 +173,7 @@ First step is to change the connection string section inside all the `appsetting
````json
"ConnectionStrings": {
"Default": "Server=localhost;Database=BookStore;Trusted_Connection=True"
"Default": "Server=(LocalDb)\MSSQLLocalDB;Database=BookStore;Trusted_Connection=True"
}
````
@ -594,128 +181,120 @@ Change it as shown below:
````json
"ConnectionStrings": {
"Default": "Server=localhost;Database=BookStore;Trusted_Connection=True",
"AbpPermissionManagement": "Server=localhost;Database=BookStore_SecondDb;Trusted_Connection=True",
"AbpSettingManagement": "Server=localhost;Database=BookStore_SecondDb;Trusted_Connection=True",
"AbpAuditLogging": "Server=localhost;Database=BookStore_SecondDb;Trusted_Connection=True"
"Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=BookStore;Trusted_Connection=True",
"AbpPermissionManagement": "Server=(LocalDb)\\MSSQLLocalDB;Database=BookStore_SecondDb;Trusted_Connection=True",
"AbpSettingManagement": "Server=(LocalDb)\\MSSQLLocalDB;Database=BookStore_SecondDb;Trusted_Connection=True",
"AbpAuditLogging": "Server=(LocalDb)\MSSQLLocalDB;Database=BookStore_SecondDb;Trusted_Connection=True"
}
````
Added **three more connection strings** for the related module to target the `BookStore_SecondDb` database (they are all same). For example, `AbpPermissionManagement` is the connection string for the permission management module.
Added **three more connection strings** for the related module to target the `BookStore_SecondDb` database (they are all the same). For example, `AbpPermissionManagement` is the connection string name used by the permission management module.
The `AbpPermissionManagement` is a constant [defined](https://github.com/abpframework/abp/blob/97eaa6ff5a044f503465455c86332e5a277b077a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain/Volo/Abp/PermissionManagement/AbpPermissionManagementDbProperties.cs#L11) by the permission management module. ABP Framework [connection string selection system](Connection-Strings.md) selects this connection string for the permission management module if you define. If you don't define, it fallbacks to the `Default` connection string.
### Create a Second Migration Project
### Create a Second DbContext
Defining the connection strings as explained above is enough **on runtime**. However, `BookStore_SecondDb` database doesn't exist yet. You need to create the database and the tables for the related modules.
Just like the main database, we want to use the EF Core Code First migration system to create and maintain the second database.
An easy way is to create a second project (`.csproj`) for the second migration `DbContext`.
So, create a new **class library project** in your solution named `Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb` (or name it better if you didn't like it).
The `.csproj` content should be something like that:
````xml
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RootNamespace>Acme.BookStore.DbMigrationsForSecondDb</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Acme.BookStore.EntityFrameworkCore\Acme.BookStore.EntityFrameworkCore.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.0" />
</ItemGroup>
</Project>
````
You can just copy & modify the content of the original `.DbMigrations` project. This project references to the `.EntityFrameworkCore` project. **Only difference** is the `RootNamespace` value.
**Add a reference** to this project from the `.Web` project (otherwise, EF Core tooling doesn't allow to use the `Add-Migration` command).
### Create the Second DbMigrationDbContext
Create a new `DbContext` for the migrations and call the **extension methods** of the modules to configure the database tables for the related modules:
Just like the main database, we want to use the EF Core Code First migration system to create and maintain the second database. So, create a new `DbContext` class inside the `.EntityFrameworkCore` project:
````csharp
[ConnectionStringName("AbpPermissionManagement")]
public class BookStoreSecondMigrationsDbContext :
AbpDbContext<BookStoreSecondMigrationsDbContext>
using Microsoft.EntityFrameworkCore;
using Volo.Abp.AuditLogging.EntityFrameworkCore;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.PermissionManagement.EntityFrameworkCore;
using Volo.Abp.SettingManagement.EntityFrameworkCore;
namespace BookStore.EntityFrameworkCore
{
public BookStoreSecondMigrationsDbContext(
DbContextOptions<BookStoreSecondMigrationsDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
[ConnectionStringName("AbpPermissionManagement")]
public class BookStoreSecondDbContext :
AbpDbContext<BookStoreSecondDbContext>
{
base.OnModelCreating(builder);
public BookStoreSecondDbContext(
DbContextOptions<BookStoreSecondDbContext> options)
: base(options)
{
}
/* Include modules to your migration db context */
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.ConfigurePermissionManagement();
builder.ConfigureSettingManagement();
builder.ConfigureAuditLogging();
/* Include modules to your migration db context */
builder.ConfigurePermissionManagement();
builder.ConfigureSettingManagement();
builder.ConfigureAuditLogging();
}
}
}
````
> `[ConnectionStringName(...)]` attribute is important here and tells to the ABP Framework which connection string should be used for this `DbContext`. We've used `AbpPermissionManagement`, but all are the same.
Create a **Design Time Db Factory** class, that is used by the EF Core tooling (by `Add-Migration` and `Update-Database` PCM commands for example):
We need to register this `BookStoreSecondDbContext` class to the dependency injection system. Open the `BookStoreEntityFrameworkCoreModule` class in the `BookStore.EntityFrameworkCore` project and add the following line into the `ConfigureServices` method:
````csharp
/* This class is needed for EF Core console commands
* (like Add-Migration and Update-Database commands) */
public class BookStoreSecondMigrationsDbContextFactory
: IDesignTimeDbContextFactory<BookStoreSecondMigrationsDbContext>
{
public BookStoreSecondMigrationsDbContext CreateDbContext(string[] args)
{
var configuration = BuildConfiguration();
context.Services.AddAbpDbContext<BookStoreSecondDbContext>();
````
var builder = new DbContextOptionsBuilder<BookStoreSecondMigrationsDbContext>()
.UseSqlServer(configuration.GetConnectionString("AbpPermissionManagement"));
We should also create a **Design Time Db Factory** class, that is used by the EF Core tooling (by `Add-Migration` and `Update-Database` PCM commands for example):
return new BookStoreSecondMigrationsDbContext(builder.Options);
}
````csharp
using System.IO;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
private static IConfigurationRoot BuildConfiguration()
namespace BookStore.EntityFrameworkCore
{
/* This class is needed for EF Core console commands
* (like Add-Migration and Update-Database commands) */
public class BookStoreSecondDbContextFactory
: IDesignTimeDbContextFactory<BookStoreSecondDbContext>
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false);
public BookStoreSecondDbContext CreateDbContext(string[] args)
{
var configuration = BuildConfiguration();
var builder = new DbContextOptionsBuilder<BookStoreSecondDbContext>()
.UseSqlServer(configuration.GetConnectionString("AbpPermissionManagement"));
return new BookStoreSecondDbContext(builder.Options);
}
return builder.Build();
private static IConfigurationRoot BuildConfiguration()
{
var builder = new ConfigurationBuilder()
.SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../BookStore.DbMigrator/"))
.AddJsonFile("appsettings.json", optional: false);
return builder.Build();
}
}
}
````
This is similar to the class inside the `.EntityFrameworCore.DbMigrations` project, except this one uses the `AbpPermissionManagement` connection string.
Now, you can open the Package Manager Console, select the `.EntityFrameworkCore` project as the default project (make sure the `.Web` project is still the startup project) and run the following command:
Now, you can open the Package Manager Console, select the `.EntityFrameworkCore.DbMigrationsForSecondDb` project as the default project (make sure the `.Web` project is still the startup project) and run the `Add-Migration "Initial"` and `Update-Database` commands as shown below:
````bash
Add-Migration "Initial" -OutputDir "SecondDbMigrations" -Context BookStoreSecondDbContext
````
![pmc-add-migration-initial-update-database](images/pmc-add-migration-initial-update-database.png)
This will add a `SecondDbMigrations` folder in the `.EntityFrameworkCore` project and a migration class inside it. `OutputDir` and `Context` parameters are required since we currently have two `DbContext` class and two migrations folder in the same project.
Now, you should have a new database contains only the tables needed by the related modules:
You can now run the following command to create the database and the tables inside it:
![bookstore-second-database](images/bookstore-second-database.png)
````bash
Update-Database -Context BookStoreSecondDbContext
````
A new database, named `BookStore_SecondDb` should be created.
### Remove Modules from the Main Database
We've **created a second database** contains tables for the Audit Logging, Permission Management and Setting Management modules. So, we should **delete these tables from the main database**. It is pretty easy.
We've **created a second database** that contains tables for the Audit Logging, Permission Management and Setting Management modules. So, we should **delete these tables from the main database**. It is pretty easy.
First, remove the following lines from the `MigrationsDbContext` class (`BookStoreMigrationsDbContext` for this example):
First, remove the following lines from the `BookStoreDbContext` class:
````csharp
builder.ConfigurePermissionManagement();
@ -723,10 +302,10 @@ builder.ConfigureSettingManagement();
builder.ConfigureAuditLogging();
````
Open the Package Manager Console, select the `.EntityFrameworkCore.DbMigrations` as the Default project (make sure that the `.Web` project is still the startup project) and run the following command:
Open the Package Manager Console, select the `.EntityFrameworkCore` as the Default project (make sure that the `.Web` project is still the startup project) and run the following command:
````
Add-Migration "Removed_Audit_Setting_Permission_Modules"
Add-Migration "Removed_Audit_Setting_Permission_Modules" -Context BookStoreDbContext
````
This command will create a new migration class as shown below:
@ -764,122 +343,148 @@ Be careful in this step:
* If you have a **live system**, then you should care about the **data loss**. You need to move the table contents to the second database before deleting the tables.
* If you **haven't started** your project yet, you can consider to **remove all the migrations** and re-create the initial one to have a cleaner migration history.
Run the `Update-Database` command to delete the tables from your main database.
Run the following command to delete the tables from your main database:
````bash
Update-Database -Context BookStoreDbContext
````
Notice that you've also **deleted some initial seed data** (for example, permission grants for the admin role) if you haven't copied it to the new database. If you run the application, you may not login anymore. The solution is simple: **Re-run the `.DbMigrator` console application** in your solution, it will seed the new database.
### Automate the Second Database Schema Migration
`.DbMigrator` console application can run the database seed code across multiple databases, without any additional configuration. However, it can not run the EF Core Code First Migrations inside the second database migration project. Now, you will see how to configure the console migration application to handle both databases.
#### Implementing the IBookStoreDbSchemaMigrator
`.DbMigrator` console application can run the database seed code across multiple databases, without any additional configuration. However, it can not apply the EF Core Code First Migrations for the database of the `BookStoreSecondDbContext`. Now, you will see how to configure the console migration application to handle both databases.
`EntityFrameworkCoreBookStoreDbSchemaMigrator` class inside the `Acme.BookStore.EntityFrameworkCore.DbMigrations` project is responsible to migrate the database schema for the `BookStoreMigrationsDbContext`. It should be like that:
`EntityFrameworkCoreBookStoreDbSchemaMigrator` class inside the `Acme.BookStore.EntityFrameworkCore` project is responsible to migrate the database schema for the `BookStoreMigrationsDbContext`. It should be like that:
````csharp
[Dependency(ReplaceServices = true)]
public class EntityFrameworkCoreBookStoreDbSchemaMigrator
: IBookStoreDbSchemaMigrator, ITransientDependency
{
private readonly IServiceProvider _serviceProvider;
using System;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using BookStore.Data;
using Volo.Abp.DependencyInjection;
public EntityFrameworkCoreBookStoreDbSchemaMigrator(
IServiceProvider serviceProvider)
namespace BookStore.EntityFrameworkCore
{
public class EntityFrameworkCoreBookStoreDbSchemaMigrator
: IBookStoreDbSchemaMigrator, ITransientDependency
{
_serviceProvider = serviceProvider;
}
private readonly IServiceProvider _serviceProvider;
public async Task MigrateAsync()
{
/* We are intentionally resolving the BookStoreMigrationsDbContext
* from IServiceProvider (instead of directly injecting it)
* to properly get the connection string of the current tenant in the
* current scope.
*/
await _serviceProvider
.GetRequiredService<BookStoreMigrationsDbContext>()
.Database
.MigrateAsync();
public EntityFrameworkCoreBookStoreDbSchemaMigrator(
IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
public async Task MigrateAsync()
{
/* We intentionally resolving the BookStoreDbContext
* from IServiceProvider (instead of directly injecting it)
* to properly get the connection string of the current tenant in the
* current scope.
*/
await _serviceProvider
.GetRequiredService<BookStoreDbContext>()
.Database
.MigrateAsync();
}
}
}
````
It implements the `IBookStoreDbSchemaMigrator` and **replaces existing services** (see the first line).
Add the following code inside the `MigrateAsync` method:
Remove the `[Dependency(ReplaceServices = true)]` line, because we will have two implementations of this interface and we want to use both. We don't want to replace one of them.
````csharp
await _serviceProvider
.GetRequiredService<BookStoreSecondDbContext>()
.Database
.MigrateAsync();
````
Create a copy of this class inside the new migration project (`Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb`), but use the `BookStoreSecondMigrationsDbContext`. Example implementation:
So, the `MigrateAsync` method should look like the following:
````csharp
public class EntityFrameworkCoreSecondBookStoreDbSchemaMigrator
: IBookStoreDbSchemaMigrator, ITransientDependency
public async Task MigrateAsync()
{
private readonly IServiceProvider _serviceProvider;
public EntityFrameworkCoreSecondBookStoreDbSchemaMigrator(
IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
public async Task MigrateAsync()
{
/* We are intentionally resolving the BookStoreSecondMigrationsDbContext
* from IServiceProvider (instead of directly injecting it)
* to properly get the connection string of the current tenant in the
* current scope.
*/
await _serviceProvider
.GetRequiredService<BookStoreSecondMigrationsDbContext>()
.Database
.MigrateAsync();
}
/* We intentionally resolving the BookStoreDbContext
* from IServiceProvider (instead of directly injecting it)
* to properly get the connection string of the current tenant in the
* current scope.
*/
await _serviceProvider
.GetRequiredService<BookStoreDbContext>()
.Database
.MigrateAsync();
await _serviceProvider
.GetRequiredService<BookStoreSecondDbContext>()
.Database
.MigrateAsync();
}
````
> Name of this class is important for [dependency injection](Dependency-Injection.md). It should end with `BookStoreDbSchemaMigrator` to be injectable by `IBookStoreDbSchemaMigrator` reference.
We, now, have two implementations of the `IBookStoreDbSchemaMigrator` interface, each one responsible to migrate the related database schema.
That's all. You can now run the `.DbMigrator` application to migrate & seed the databases. To test, you can delete both databases and run the `.DbMigrator` application again to see if it creates both of the databases.
#### Define a Module Class for the Second Migration Project
### Fixing the Tests
It is time to define the [module](Module-Development-Basics.md) class for this second migrations (`Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb`) project:
Creating a new DbContext will break the integration tests. It is easy to fix. Open the `BookStoreEntityFrameworkCoreTestModule` class in the `BookStore.EntityFrameworkCore.Tests` project, find the `CreateDatabaseAndGetConnection` method. It should be like that:
````csharp
[DependsOn(
typeof(BookStoreEntityFrameworkCoreModule)
)]
public class BookStoreEntityFrameworkCoreSecondDbMigrationsModule : AbpModule
private static SqliteConnection CreateDatabaseAndGetConnection()
{
public override void ConfigureServices(ServiceConfigurationContext context)
var connection = new SqliteConnection("Data Source=:memory:");
connection.Open();
var options = new DbContextOptionsBuilder<BookStoreDbContext>()
.UseSqlite(connection)
.Options;
using (var context = new BookStoreDbContext(options))
{
context.Services.AddAbpDbContext<BookStoreSecondMigrationsDbContext>();
context.GetService<IRelationalDatabaseCreator>().CreateTables();
}
return connection;
}
````
Now, reference `Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb` project from the `Acme.BookStore.DbMigrator` project and `typeof(BookStoreEntityFrameworkCoreSecondDbMigrationsModule)` to the dependency list of the `BookStoreDbMigratorModule`. `BookStoreDbMigratorModule` class should be something like that:
Change it as the following:
````csharp
[DependsOn(
typeof(AbpAutofacModule),
typeof(BookStoreEntityFrameworkCoreDbMigrationsModule),
typeof(BookStoreEntityFrameworkCoreSecondDbMigrationsModule), // ADDED THIS!
typeof(BookStoreApplicationContractsModule)
)]
public class BookStoreDbMigratorModule : AbpModule
private static SqliteConnection CreateDatabaseAndGetConnection()
{
...
}
````
var connection = new SqliteConnection("Data Source=:memory:");
connection.Open();
We had a reference to the `Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb` project from the `Acme.BookStore.Web` project, but hadn't added module dependency since we hadn't created it before. But, now we have it and we need to add `typeof(BookStoreEntityFrameworkCoreSecondDbMigrationsModule)` to the dependency list of the `BookStoreWebModule` class.
var options = new DbContextOptionsBuilder<BookStoreDbContext>()
.UseSqlite(connection)
.Options;
#### Run the Database Migrator!
using (var context = new BookStoreDbContext(options))
{
context.GetService<IRelationalDatabaseCreator>().CreateTables();
}
You can run the `.DbMigrator` application to migrate & seed the databases. To test, you can delete both databases and run the `.DbMigrator` application again to see if it creates both of the databases.
// Add the following code --------------
var optionsForSecondDb = new DbContextOptionsBuilder<BookStoreSecondDbContext>()
.UseSqlite(connection)
.Options;
using (var context = new BookStoreSecondDbContext(optionsForSecondDb))
{
context.GetService<IRelationalDatabaseCreator>().CreateTables();
}
//--------------------------------------
return connection;
}
````
Integration tests now will work. I've used the same database in the tests to keep it simple.
## Separating Host & Tenant Database Schemas
@ -887,7 +492,7 @@ In a multi-tenant solution, you may want to separate your database schemas, so h
Some pre-built ABP modules are related only with the host side, like the [Tenant Management](Modules/Tenant-Management.md) module. So, in the tenant `DbContext` class you don't call `modelBuilder.ConfigureTenantManagement()` and that's all.
However, some modules, like the [Identity](Modules/Identity.md) module, is both used in host and tenant sides. It stores tenant users in the tenant database and host users in the host database. However, it stores some entities, like `IdentityClaimType`, only in the host side. In this case, you don't want to add these tables in the tenant database, even if they are not used and will always be empty.
Some modules, like the [Identity](Modules/Identity.md) module, is both used in host and tenant sides. It stores tenant users in the tenant database and host users in the host database. However, it stores some entities, like `IdentityClaimType`, only in the host side. In this case, you don't want to add these tables in the tenant database, even if they are not used and will always be empty for tenants.
ABP provides a simple way to set the multi-tenancy side for a `DbContext`, so the modules can check it and decide to map tables to the database, or not.
@ -899,6 +504,7 @@ public class MyTenantDbContext : AbpDbContext<MyTenantDbContext>
modelBuilder.SetMultiTenancySide(MultiTenancySides.Tenant);
base.OnModelCreating(modelBuilder);
modelBuilder.ConfigureIdentity();
modelBuilder.ConfigureFeatureManagement();
modelBuilder.ConfigureAuditLogging();
@ -948,4 +554,4 @@ This document explains how to split your databases and manage your database migr
## Source Code
You can find the source code of the example project referenced by this document [here](https://github.com/abpframework/abp-samples/tree/master/EfCoreMigrationDemo). However, you need to read and understand this document in order to understand the example project's source code.
You can find the source code of the example project referenced by this document [here](https://github.com/abpframework/abp-samples/tree/master/EfCoreMigrationDemo). You can also find the changes explained in this document as a [single commit](https://github.com/abpframework/abp-samples/pull/95/commits/c2ffd76175e0a6fdfcf6477bbaea23dc2793fedd).

6
docs/en/Entity-Framework-Core-MySQL.md

@ -15,7 +15,7 @@ Find ***YourProjectName*EntityFrameworkCoreModule** class inside the `.EntityFra
Find `UseSqlServer()` calls in your solution. Check the following files:
* *YourProjectName*EntityFrameworkCoreModule.cs inside the `.EntityFrameworkCore` project. Replace `UseSqlServer()` with `UseMySQL()`.
* *YourProjectName*MigrationsDbContextFactory.cs inside the `.EntityFrameworkCore.DbMigrations` project. Replace `UseSqlServer()` with `UseMySql()`. Then add a new parameter (`ServerVersion`) to `UseMySql()` method. Example: `.UseMySql(configuration.GetConnectionString("Default"), ServerVersion.FromString("8.0.21-mysql"))`. See [this issue](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/pull/1233) for more information about `ServerVersion`)
* *YourProjectName*DbContextFactory.cs inside the `.EntityFrameworkCore` project. Replace `UseSqlServer()` with `UseMySql()`. Then add a new parameter (`ServerVersion`) to `UseMySql()` method. Example: `.UseMySql(configuration.GetConnectionString("Default"), ServerVersion.FromString("8.0.21-mysql"))`. See [this issue](https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/pull/1233) for more information about `ServerVersion`)
> Depending on your solution structure, you may find more code files need to be changed.
@ -29,8 +29,8 @@ You typically will change the `appsettings.json` inside the `.DbMigrator` and `.
The startup template uses [Entity Framework Core's Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). EF Core Migrations depend on the selected DBMS provider. So, changing the DBMS provider will cause the migration fails.
* Delete the Migrations folder under the `.EntityFrameworkCore.DbMigrations` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore.DbMigrations` project as the default project in the Package Manager Console).
* Delete the Migrations folder under the `.EntityFrameworkCore` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore` project as the default project in the Package Manager Console).
This will create a database migration with all database objects (tables) configured.

14
docs/en/Entity-Framework-Core-Oracle-Devart.md

@ -19,20 +19,20 @@ Also replace `using Volo.Abp.EntityFrameworkCore.SqlServer;` with `using Volo.Ab
Find `UseSqlServer()` calls in your solution, replace with `UseOracle()`. Check the following files:
* *YourProjectName*EntityFrameworkCoreModule.cs inside the `.EntityFrameworkCore` project.
* *YourProjectName*MigrationsDbContextFactory.cs inside the `.EntityFrameworkCore.DbMigrations` project.
* *YourProjectName*DbContextFactory.cs inside the `.EntityFrameworkCore` project.
In the `CreateDbContext()` method of the *YourProjectName*MigrationsDbContextFactory.cs, replace the following code block
In the `CreateDbContext()` method of the *YourProjectName*DbContextFactory.cs, replace the following code block
```csharp
var builder = new DbContextOptionsBuilder<YourProjectNameMigrationsDbContext>()
var builder = new DbContextOptionsBuilder<YourProjectNameDbContext>()
.UseSqlServer(configuration.GetConnectionString("Default"));
```
with this one
```csharp
var builder = (DbContextOptionsBuilder<YourProjectNameMigrationsDbContext>)
new DbContextOptionsBuilder<YourProjectNameMigrationsDbContext>().UseOracle
var builder = (DbContextOptionsBuilder<YourProjectNameDbContext>)
new DbContextOptionsBuilder<YourProjectNameDbContext>().UseOracle
(
configuration.GetConnectionString("Default")
);
@ -51,8 +51,8 @@ You typically will change the `appsettings.json` inside the `.DbMigrator` and `.
The startup template uses [Entity Framework Core's Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) by default.
EF Core Migrations depend on the selected DBMS provider. Changing the DBMS provider, may not work with the existing migrations.
* Delete the `Migrations` folder under the `.EntityFrameworkCore.DbMigrations` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console window (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore.DbMigrations` project as the default project in the Package Manager Console).
* Delete the `Migrations` folder under the `.EntityFrameworkCore` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console window (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore` project as the default project in the Package Manager Console).
This will scaffold a new migration for Oracle.

12
docs/en/Entity-Framework-Core-Oracle-Official.md

@ -17,19 +17,19 @@ Also replace `using Volo.Abp.EntityFrameworkCore.SqlServer;` with `using Volo.Ab
Find `UseSqlServer()` calls in your solution, replace with `UseOracle()`. Check the following files:
* *YourProjectName*EntityFrameworkCoreModule.cs inside the `.EntityFrameworkCore` project.
* *YourProjectName*MigrationsDbContextFactory.cs inside the `.EntityFrameworkCore.DbMigrations` project.
* *YourProjectName*DbContextFactory.cs inside the `.EntityFrameworkCore` project.
In the `CreateDbContext()` method of the *YourProjectName*MigrationsDbContextFactory.cs, replace the following code block
In the `CreateDbContext()` method of the *YourProjectName*DbContextFactory.cs, replace the following code block
```csharp
var builder = new DbContextOptionsBuilder<YourProjectNameMigrationsDbContext>()
var builder = new DbContextOptionsBuilder<YourProjectNameDbContext>()
.UseSqlServer(configuration.GetConnectionString("Default"));
```
with this one (just changes `UseSqlServer(...)` to `UseOracle(...)`)
```csharp
var builder = new DbContextOptionsBuilder<YourProjectNameMigrationsDbContext>()
var builder = new DbContextOptionsBuilder<YourProjectNameDbContext>()
.UseOracle(configuration.GetConnectionString("Default"));
```
@ -46,8 +46,8 @@ You typically will change the `appsettings.json` inside the `.DbMigrator` and `.
The startup template uses [Entity Framework Core's Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) by default.
EF Core Migrations depend on the selected DBMS provider. Changing the DBMS provider, may not work with the existing migrations.
* Delete the `Migrations` folder under the `.EntityFrameworkCore.DbMigrations` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console window (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore.DbMigrations` project as the default project in the Package Manager Console).
* Delete the `Migrations` folder under the `.EntityFrameworkCore` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console window (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore` project as the default project in the Package Manager Console).
This will scaffold a new migration for Oracle.

26
docs/en/Entity-Framework-Core-Other-DBMS.md

@ -62,20 +62,18 @@ MySQL connection strings are different than SQL Server connection strings. So, c
You typically will change the `appsettings.json` inside the `.DbMigrator` and `.Web` projects, but it depends on your solution structure.
## Change the Migrations DbContext
## DBMS restrictions
MySQL DBMS has some slight differences than the SQL Server. Some module database mapping configuration (especially the field lengths) causes problems with MySQL. For example, some of the the [IdentityServer module](Modules/IdentityServer.md) tables has such problems and it provides an option to configure the fields based on your DBMS.
The startup template contains a *YourProjectName*MigrationsDbContext which is responsible to maintain and migrate the database schema. This DbContext basically calls extension methods of the depended modules to configure their database tables.
Open the *YourProjectName*MigrationsDbContext and change the `builder.ConfigureIdentityServer();` line as shown below:
The module may provide some built-in solutions. You can configure it via `ModelBuilder`. eg: `Identity Server` module.
````csharp
```csharp
builder.ConfigureIdentityServer(options =>
{
options.DatabaseProvider = EfCoreDatabaseProvider.MySql;
});
````
```
Then `ConfigureIdentityServer()` method will set the field lengths to not exceed the MySQL limits. Refer to related module documentation if you have any problem while creating or executing the database migrations.
@ -83,8 +81,8 @@ Then `ConfigureIdentityServer()` method will set the field lengths to not exceed
The startup template uses [Entity Framework Core's Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). EF Core Migrations depend on the selected DBMS provider. So, changing the DBMS provider will cause the migration fails.
* Delete the Migrations folder under the `.EntityFrameworkCore.DbMigrations` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore.DbMigrations` project as the default project in the Package Manager Console).
* Delete the Migrations folder under the `.EntityFrameworkCore` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore` project as the default project in the Package Manager Console).
This will create a database migration with all database objects (tables) configured.
@ -94,16 +92,4 @@ Run the `.DbMigrator` project to create the database and seed the initial data.
It is ready. Just run the application and enjoy coding.
## DBMS restrictions
Different DBMS may have some restrictions, such as the maximum length of field names, index length, etc.
The module may provide some built-in solutions. You can configure it via `ModelBuilder`. eg: `Identity Server` module.
```csharp
builder.ConfigureIdentityServer(options =>
{
options.DatabaseProvider = EfCoreDatabaseProvider.MySql;
});
```
Related discussions: https://github.com/abpframework/abp/issues/1920

6
docs/en/Entity-Framework-Core-PostgreSQL.md

@ -15,7 +15,7 @@ Find ***YourProjectName*EntityFrameworkCoreModule** class inside the `.EntityFra
Find `UseSqlServer()` call in *YourProjectName*EntityFrameworkCoreModule.cs inside the `.EntityFrameworkCore` project and replace with `UseNpgsql()`.
Find `UseSqlServer()` call in *YourProjectName*MigrationsDbContextFactory.cs inside the `.EntityFrameworkCore.DbMigrations` project and replace with `UseNpgsql()`.
Find `UseSqlServer()` call in *YourProjectName*DbContextFactory.cs inside the `.EntityFrameworkCore` project and replace with `UseNpgsql()`.
> Depending on your solution structure, you may find more `UseSqlServer()` calls that needs to be changed.
@ -29,8 +29,8 @@ You typically will change the `appsettings.json` inside the `.DbMigrator` and `.
The startup template uses [Entity Framework Core's Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). EF Core Migrations depend on the selected DBMS provider. So, changing the DBMS provider will cause the migration fails.
* Delete the Migrations folder under the `.EntityFrameworkCore.DbMigrations` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore.DbMigrations` project as the default project in the Package Manager Console).
* Delete the Migrations folder under the `.EntityFrameworkCore` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore` project as the default project in the Package Manager Console).
This will create a database migration with all database objects (tables) configured.

6
docs/en/Entity-Framework-Core-SQLite.md

@ -15,7 +15,7 @@ Find ***YourProjectName*EntityFrameworkCoreModule** class inside the `.EntityFra
Find `UseSqlServer()` calls in your solution, replace with `UseSqlite()`. Check the following files:
* *YourProjectName*EntityFrameworkCoreModule.cs inside the `.EntityFrameworkCore` project.
* *YourProjectName*MigrationsDbContextFactory.cs inside the `.EntityFrameworkCore.DbMigrations` project.
* *YourProjectName*DbContextFactory.cs inside the `.EntityFrameworkCore` project.
> Depending on your solution structure, you may find more code files need to be changed.
@ -39,8 +39,8 @@ You typically will change the `appsettings.json` inside the `.DbMigrator` and `.
The startup template uses [Entity Framework Core's Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). EF Core Migrations depend on the selected DBMS provider. So, changing the DBMS provider will cause the migration fails.
* Delete the Migrations folder under the `.EntityFrameworkCore.DbMigrations` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore.DbMigrations` project as the default project in the Package Manager Console).
* Delete the Migrations folder under the `.EntityFrameworkCore` project and re-build the solution.
* Run `Add-Migration "Initial"` on the Package Manager Console (select the `.DbMigrator` (or `.Web`) project as the startup project in the Solution Explorer and select the `.EntityFrameworkCore` project as the default project in the Package Manager Console).
This will create a database migration with all database objects (tables) configured.

72
docs/en/Entity-Framework-Core.md

@ -604,23 +604,77 @@ ObjectExtensionManager.Instance
);
````
If the related module has implemented this feature (by using the `ConfigureEfCoreEntity` explained below), then the new property is added to the model. Then you need to run the standard `Add-Migration` and `Update-Database` commands to update your database to add the new field.
### MapEfCoreEntity
>`MapEfCoreProperty` method must be called before using the related `DbContext`. It is a static method. The best way is to use it in your application as earlier as possible. The application startup template has a `YourProjectNameEfCoreEntityExtensionMappings` class that is safe to use this method inside.
`MapEfCoreEntity` is a shortcut extension method to configure the `Entity`.
### ConfigureEfCoreEntity
**Example**: Set the max length of `Name` to the `IdentityRole` entity:
If you are building a reusable module and want to allow application developers to add properties to your entities, you can use the `ConfigureEfCoreEntity` extension method in your entity mapping. However, there is a shortcut extension method `ConfigureObjectExtensions` that can be used while configuring the entity mapping:
````csharp
ObjectExtensionManager.Instance
.MapEfCoreEntity<IdentityRole>(builder =>
{
builder.As<EntityTypeBuilder<IdentityRole>>().Property(x => x.Name).HasMaxLength(200);
});
````
### MapEfCoreDbContext
`MapEfCoreDbContext` is a shortcut extension method to configure the `DbContext`.
**Example**: Set the max length of `Name` to the `IdentityRole` entity of `IdentityDbContext`:
````csharp
builder.Entity<YourEntity>(b =>
ObjectExtensionManager.Instance.MapEfCoreDbContext<IdentityDbContext>(b =>
{
b.ConfigureObjectExtensions();
//...
b.Entity<IdentityRole>().Property(x => x.Name).HasMaxLength(200);
});
````
> If you call `ConfigureByConvention()` extension method (like `b.ConfigureByConvention()` for this example), ABP Framework internally calls the `ConfigureObjectExtensions` method. It is a **best practice** to use the `ConfigureByConvention()` method since it also configures database mapping for base properties by convention.
If the related module has implemented this feature(explained below), then the new property is added to the model or the DbContext/Entity configure changed. Then you need to run the standard `Add-Migration` and `Update-Database` commands to update your database to add the new field.
> The `MapEfCoreProperty`, `MapEfCoreEntity` and `MapEfCoreDbContext` methods must be called before using the related `DbContext`. It is a static method. The best way is to use it in your application as earlier as possible. The application startup template has a `YourProjectNameEfCoreEntityExtensionMappings` class that is safe to use this method inside.
### ConfigureEfCoreEntity, ApplyObjectExtensionMappings and TryConfigureObjectExtensions
If you are building a reusable module and want to allow application developers to add properties to your entities, you can use the `ConfigureEfCoreEntity`, `ApplyObjectExtensionMappings` and `TryConfigureObjectExtensions` extension methods in your entity mapping.
**Example**:
````csharp
public static class QADbContextModelCreatingExtensions
{
public static void ConfigureQA(
this ModelBuilder builder,
Action<QAModelBuilderConfigurationOptions> optionsAction = null)
{
Check.NotNull(builder, nameof(builder));
var options = new QAModelBuilderConfigurationOptions(
QADatabaseDbProperties.DbTablePrefix,
QADatabaseDbProperties.DbSchema
);
optionsAction?.Invoke(options);
builder.Entity<QA_Question>(b =>
{
b.ToTable(options.TablePrefix + "Questions", options.Schema);
b.ConfigureByConvention();
//...
//Call this in the end of buildAction.
b.ApplyObjectExtensionMappings();
});
//...
//Call this in the end of ConfigureQA.
builder.TryConfigureObjectExtensions<QADbContext>();
}
}
````
> If you call `ConfigureByConvention()` extension method (like `b.ConfigureByConvention()` for this example), ABP Framework internally calls the `ConfigureObjectExtensions` and `ConfigureEfCoreEntity` methods. It is a **best practice** to use the `ConfigureByConvention()` method since it also configures database mapping for base properties by convention.
See the "*ConfigureByConvention Method*" section above for more information.
@ -812,4 +866,4 @@ public class MyCustomEfCoreBulkOperationProvider
## See Also
* [Entities](Entities.md)
* [Repositories](Repositories.md)
* [Repositories](Repositories.md)

2
docs/en/Global-Features.md

@ -8,8 +8,6 @@ Global Features system is especially useful if you want to develop a reusable ap
## Installation
> This package is already installed by default with the startup template. So, most of the time, you don't need to install it manually.
### Using the ABP CLI
Open a command line window in the folder of the project (.csproj file) and type the following command:
```bash

11
docs/en/Index.md

@ -29,8 +29,9 @@ ABP has a **comprehensive documentation** that not only explains the ABP Framewo
ABP offers a complete, modular and layered software architecture based on [Domain Driven Design](Domain-Driven-Design.md) principles and patterns. It also provides the necessary infrastructure to implement this architecture.
* See the [Modularity](Module-Development-Basics.md) document to understand the module system.
* [Implementing Domain Driven Design](Domain-Driven-Design-Implementation-Guide.md) document is an ultimate guide for who want to understand and implement the DDD.
* [Implementing Domain Driven Design book](https://abp.io/books/implementing-domain-driven-design?ref=doc) is an ultimate guide for who want to understand and implement the DDD with the ABP Framework.
* [Microservice Architecture](Microservice-Architecture.md) document explains how ABP helps to create a microservice solution.
* [Multi-Tenancy](Multi-Tenancy.md) document introduces multi-tenancy and explores the ABP multi-tenancy infrastructure.
### Infrastructure
@ -55,6 +56,14 @@ See the [Application Modules](Modules/Index.md) document for all pre-built modul
The [Startup templates](Startup-Templates/Index.md) are pre-built Visual Studio solution templates. You can create your own solution based on these templates to **immediately start your development**.
## Free E-Book: Implementing Domain Driven Design
![Implementing Domain Driven Design](images/implementing-domain-driven-design-book.png)
A **practical guide** for implementing Domain Driven Design (DDD). While the implementation details are **based on the ABP Framework** infrastructure, the basic concepts, principles and models can be applied to any solution, even if it is not a .NET solution.
[Click here to get your free copy](https://abp.io/books/implementing-domain-driven-design?ref=doc).
## ABP Community
### The Source Code

48
docs/en/Local-Event-Bus.md

@ -158,7 +158,53 @@ If you perform **database operations** and use the [repositories](Repositories.m
> The handler class must be registered to the dependency injection (DI). The sample above uses the `ITransientDependency` to accomplish it. See the [DI document](Dependency-Injection.md) for more options.
## Transaction & Exception Behavior
## Exception Handling
ABP provides exception handling and retries when an exception occurs.
Enable exception handling:
```csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpEventBusOptions>(options =>
{
options.UseRetryStrategy();
});
}
```
When an exception occurs, it will retry every three seconds up to the maximum number of retries(default is 3) and throw the original exception, you can change the number of retries and the retry interval:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.UseRetryStrategy(retryStrategyOptions =>
{
retryStrategyOptions.IntervalMillisecond = 0;
retryStrategyOptions.MaxRetryAttempts = 1;
});
});
```
### Error Handle Selector
By default all event types will be exception handling, you can use `ErrorHandleSelector` of `AbpEventBusOptions` to change it:
```csharp
PreConfigure<AbpEventBusOptions>(options =>
{
options.ErrorHandleSelector = type => type == typeof(MyExceptionHandleEventData);
});
```
`options.ErrorHandleSelector` actually a list of type predicate. You can write a lambda expression to define your filter.
### Customize Exception Handling
ABP defines the `IEventErrorHandler` interface and implemented by `LocalEventErrorHandler`, you can replace it via [dependency injection](Dependency-Injection.md)
### Transaction & Exception Behavior
When an event published, subscribed event handlers are immediately executed. So;

52
docs/en/Modules/Account.md

@ -1,12 +1,54 @@
# Account Module
This module provides necessary UI pages/components to make the user login and register to the application.
Account module implements the basic authentication features like **login**, **register**, **forgot password** and **account management**.
> This document is incomplete.
This module is based on [Microsoft's Identity library](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity) and the [Identity Module](Identity.md). It has [IdentityServer](https://github.com/IdentityServer) integration (based on the [IdentityServer Module](IdentityServer.md)) to provide **single sign-on**, access control and other advanced authentication features.
## How to Install
This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module.
### The Source Code
The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/account). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it.
## User Interface
This section introduces the main pages provided by this module.
### Login
`/Account/Login` page provides the login functionality.
![account-module-login](../images/account-module-login.png)
Social/external login buttons becomes visible if you setup it. See the *Social/External Logins* section below. Register and Forgot password and links redirect to the pages explained in the next sections.
### Register
`/Account/Register` page provides the new user registration functionality.
![account-module-register](../images/account-module-register.png)
### Forgot Password & Reset Password
`/Account/ForgotPassword` page provides a way of sending password reset link to user's email address. The user then clicks to the link and determines a new password.
![account-module-forgot-password](../images/account-module-forgot-password.png)
### Account Management
`/Account/Manage` page is used to change password and personal information of the user.
![account-module-manage-account](../images/account-module-manage-account.png)
## IdentityServer Integration
[Volo.Abp.Account.Web.IdentityServer](https://www.nuget.org/packages/Volo.Abp.Account.Web.IdentityServer) package provides integration for the [IdentityServer](https://github.com/IdentityServer). This package comes as installed with the [application startup template](../Startup-Templates/Application.md). See the [IdentityServer Module](IdentityServer.md) documentation.
## Social/External Logins
The [Account Module](../Modules/Account.md) has already configured to handle social or external logins out of the box. You can follow the ASP.NET Core documentation to add a social/external login provider to your application.
The Account Module has already configured to handle social or external logins out of the box. You can follow the ASP.NET Core documentation to add a social/external login provider to your application.
### Example: Facebook Authentication
@ -32,7 +74,3 @@ context.Services.AddAuthentication()
````
> It would be a better practice to use the `appsettings.json` or the ASP.NET Core User Secrets system to store your credentials, instead of a hard-coded value like that. Follow the [Microsoft's document](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/facebook-logins) to learn the user secrets usage.
### Other UI Types
Beginning from the v3.1, the [Angular UI](../UI/Angular/Quick-Start.md) uses authorization code flow (as a best practice) to authenticate the user by redirecting to the MVC UI login page. So, even if you are using the Angular UI, social/external login integration is same as explained above and it will work out of the box. As similar, The [Blazor UI](../UI/Blazor/Overall.md) also uses the MVC UI to logic.

57
docs/en/Modules/Audit-Logging.md

@ -2,6 +2,59 @@
The Audit Logging Module basically implements the `IAuditingStore` to save the audit log objects to a database.
> Audit Logging module is already installed and configured for [the startup templates](../Startup-Templates/Index.md). So, most of the times you don't need to manually add this module to your application.
> This document covers only the audit logging module which persists audit logs to a database. See [the audit logging](../Audit-Logging.md) document for more about the audit logging system.
See [the audit logging system](../Audit-Logging.md) document for more about the audit logging.
## How to Install
This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module.
### The Source Code
The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/audit-logging). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it.
## Internals
### Domain Layer
#### Aggregates
- `AuditLog` (aggregate root): Represents an audit log record in the system.
- `EntityChange` (collection): Changed entities of audit log.
- `AuditLogAction` (collection): Executed actions of audit log.
#### Repositories
Following custom repositories are defined for this module:
- `IAuditLogRepository`
### Database providers
#### Common
##### Table / collection prefix & schema
All tables/collections use the `Abp` prefix by default. Set static properties on the `AbpAuditLoggingDbProperties` class if you need to change the table prefix or set a schema name (if supported by your database provider).
##### Connection string
This module uses `AbpAuditLogging` for the connection string name. If you don't define a connection string with this name, it fallbacks to the `Default` connection string. See the [connection strings](https://docs.abp.io/en/abp/latest/Connection-Strings) documentation for details.
#### Entity Framework Core
##### Tables
- **AbpAuditLogs**
- AbpAuditLogActions
- AbpEntityChanges
- AbpEntityPropertyChanges
#### MongoDB
##### Collections
- **AbpAuditLogs**
## See Also
* [Audit logging system](../Audit-Logging.md)

54
docs/en/Modules/Background-Jobs.md

@ -1,3 +1,55 @@
# Background Jobs Module
TODO
The Background Jobs module implements the `IBackgroundJobStore` interface and makes possible to use the default background job manager of the ABP Framework. If you don't want to use this module, then you should implement the `IBackgroundJobStore` interface yourself.
> This document covers only the background jobs module which persists background jobs to a database. See [the background jobs](../Background-Jobs.md) document for more about the background jobs system.
## How to Install
This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module.
### The Source Code
The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/background-jobs). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it.
## Internals
### Domain Layer
#### Aggregates
- `BackgroundJobRecord` (aggregate root): Represents a background job record.
#### Repositories
Following custom repositories are defined for this module:
- `IBackgroundJobRepository`
### Database providers
#### Common
##### Table / collection prefix & schema
All tables/collections use the `Abp` prefix by default. Set static properties on the `BackgroundJobsDbProperties` class if you need to change the table prefix or set a schema name (if supported by your database provider).
##### Connection string
This module uses `AbpBackgroundJobs` for the connection string name. If you don't define a connection string with this name, it fallbacks to the `Default` connection string. See the [connection strings](https://docs.abp.io/en/abp/latest/Connection-Strings) documentation for details.
#### Entity Framework Core
##### Tables
- **AbpBackgroundJobs**
#### MongoDB
##### Collections
- **AbpBackgroundJobs**
## See Also
* [Background job system](../Background-Jobs.md)

48
docs/en/Modules/Docs.md

@ -38,7 +38,7 @@ Note that this document covers `Entity Framework Core` provider but you can also
### 2- Running The Empty Application
After you download the project, extract the ZIP file and open `Acme.MyProject.sln`. You will see that the solution consists of `Application`, `Application.Contracts`, `DbMigrator`, `Domain`, `Domain.Shared`, `EntityFrameworkCore`, `EntityFrameworkCore.DbMigations`, `HttpApi`, `HttpApi.Client` and `Web` projects. Right click on `Acme.MyProject.Web` project and **Set as StartUp Project**.
After you download the project, extract the ZIP file and open `Acme.MyProject.sln`. You will see that the solution consists of `Application`, `Application.Contracts`, `DbMigrator`, `Domain`, `Domain.Shared`, `EntityFrameworkCore`, `HttpApi`, `HttpApi.Client` and `Web` projects. Right click on `Acme.MyProject.Web` project and **Set as StartUp Project**.
![Create a new project](../images/docs-module_solution-explorer.png)
@ -237,15 +237,15 @@ If you choose Entity Framework as your database provider, you need to configure
}
```
* Open `Package Manager Console` in `Visual Studio` and choose `Acme.MyProject.EntityFrameworkCore.DbMigrations` as default project. Then write the below command to add the migration for Docs Module.
* Open `Package Manager Console` in `Visual Studio` and choose `Acme.MyProject.EntityFrameworkCore` as default project. Then write the below command to add the migration for Docs Module.
```csharp
add-migration Added_Docs_Module
```
When the command successfully executes , you will see a new migration file named as `20181221111621_Added_Docs_Module` in the folder `Acme.MyProject.EntityFrameworkCore.DbMigrations\Migrations`.
When the command successfully executes , you will see a new migration file named as `20181221111621_Added_Docs_Module` in the folder `Acme.MyProject.EntityFrameworkCore\Migrations`.
Now, update the database for Docs module database changes. To do this run the below code on `Package Manager Console` in `Visual Studio`. Be sure `Acme.MyProject.EntityFrameworkCore.DbMigrations` is still default project.
Now, update the database for Docs module database changes. To do this run the below code on `Package Manager Console` in `Visual Studio`. Be sure `Acme.MyProject.EntityFrameworkCore` is still default project.
```csharp
update-database
@ -623,6 +623,46 @@ If your `IElasticClient` needs additional configuration, please use override `IE
}
```
## Row Highlighting
You can apply highlight to specific code lines or a range of sequential lines.
See the following examples:
```
```C# {3, 5}
public class Book : Entity<Guid>
{
public string Name { get; set; }
public string Surname { get; set; }
}
```
```
```
```C# {2-4}
public class Book : Entity<Guid>
{
public string Name { get; set; }
public string Surname { get; set; }
}
```
```
```
```C# {1, 2-4}
public class Book : Entity<Guid>
{
public string Name { get; set; }
public string Surname { get; set; }
}
```
```
---
## Next
Docs Module is also available as a standalone application. Check out [VoloDocs](../Apps/VoloDocs).

105
docs/en/Modules/Feature-Management.md

@ -1,5 +1,106 @@
# Feature Management Module
> This module implements the `IFeatureStore` to store and manage feature values in a database. See the [Features System document](../Features.md) to understand the features first.
The Feature Management module implements the `IFeatureManagementStore` interface defined by the [Feature System](../Features.md).
> This document covers only the feature management module which persists feature values to a database. See [the features](../Features.md) document for more about the feature system.
## How to Install
This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module.
### The Source Code
The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/feature-management). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it.
## User Interface
### Feature Management Dialog
Feature management module provides a reusable dialog to manage features related to an object. For example, the [Tenant Management Module](Tenant-Management.md) uses it to manage features of tenants in the Tenant Management page.
![features-module-opening](../images/features-module-opening.png)
When you click *Actions* -> *Features* for a tenant, the feature management dialog is opened. An example screenshot from this dialog with two features defined:
![features-modal](../images/features-modal.png)
In this dialog, you can enable, disable or set values for the features for a tenant.
## IFeatureManager
`IFeatureManager` is the main service provided by this module. It is used to read and change the setting values for the tenants in a multi-tenant application. `IFeatureManager` is typically used by the *Feature Management Dialog*. However, you can inject it if you need to set a feature value.
> If you just want to read feature values, use the `IFeatureChecker` as explained in the [Features document](../Features.md).
**Example: Get/set a feature's value for a tenant**
````csharp
using System;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.FeatureManagement;
namespace Demo
{
public class MyService : ITransientDependency
{
private readonly IFeatureManager _featureManager;
public MyService(IFeatureManager featureManager)
{
_featureManager = featureManager;
}
public async Task SetFeatureDemoAsync(Guid tenantId, string value)
{
await _featureManager
.SetForTenantAsync(tenantId, "Feature1", value);
var currentValue = await _featureManager
.GetOrNullForTenantAsync("Feature1", tenantId);
}
}
}
````
## Feature Management Providers
Features Management Module is extensible, just like the [features system](../Features.md). You can extend it by defining feature management providers. There are 3 pre-built feature management providers registered it the following order:
* `DefaultValueFeatureManagementProvider`: Gets the value from the default value of the feature definition. It can not set the default value since default values are hard-coded on the feature definition.
* `EditionFeatureManagementProvider`: Gets or sets the feature values for an edition. Edition is a group of features assigned to tenants. Edition system has not implemented by the Tenant Management module. You can implement it yourself or purchase the ABP Commercial [SaaS Module](https://commercial.abp.io/modules/Volo.Saas) which implements it and also provides more SaaS features, like subscription and payment.
* `TenantFeatureManagementProvider`: Gets or sets the features values for tenants.
`IFeatureManager` uses these providers on get/set methods. Typically, every feature management provider defines extension methods on the `IFeatureManager` service (like `SetForTenantAsync` defined by the tenant feature management provider).
If you want to create your own provider, implement the `IFeatureManagementProvider` interface or inherit from the `FeatureManagementProvider` base class:
````csharp
public class CustomFeatureProvider : FeatureManagementProvider
{
public override string Name => "Custom";
public CustomFeatureProvider(IFeatureManagementStore store)
: base(store)
{
}
}
````
`FeatureManagementProvider` base class makes the default implementation (using the `IFeatureManagementStore`) for you. You can override base methods as you need. Every provider must have a unique name, which is `Custom` in this example (keep it short since it is saved to database for each feature value record).
Once you create your provider class, you should register it using the `FeatureManagementOptions` [options class](../Options.md):
````csharp
Configure<FeatureManagementOptions>(options =>
{
options.Providers.Add<CustomFeatureProvider>();
});
````
The order of the providers are important. Providers are executed in the reverse order. That means the `CustomFeatureProvider` is executed first for this example. You can insert your provider in any order in the `Providers` list.
## See Also
* [Features](../Features.md)
TODO

311
docs/en/Modules/Identity.md

@ -1,38 +1,63 @@
# Identity Management Module
Identity module is used to manage organization units, roles, users and their permissions, based on the Microsoft Identity library.
Identity module is used to manage roles, users and their permissions, based on the [Microsoft Identity library](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity).
> **See [the source code](https://github.com/abpframework/abp/tree/dev/modules/identity). Documentation will come soon...**
## How to Install
This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module.
## Identity Security Log
### The Source Code
The security log can record some important operations or changes about your account. You can save the security log if needed.
The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/identity). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it.
You can inject and use `IdentitySecurityLogManager` or `ISecurityLogManager` to write security logs. It will create a log object by default and fill in some common values, such as `CreationTime`, `ClientIpAddress`, `BrowserInfo`, `current user/tenant`, etc. Of course, you can override them.
## User Interface
```cs
await IdentitySecurityLogManager.SaveAsync(new IdentitySecurityLogContext()
{
Identity = "IdentityServer";
Action = "ChangePassword";
});
```
This module provides [Blazor](../UI/Blazor/Overall.md), [Angular](../UI/Angular/Quick-Start.md) and [MVC / Razor Pages](../UI/AspNetCore/Overall.md) UI options.
Configure `AbpSecurityLogOptions` to provide the application name for the log or disable this feature. **Enabled** by default.
### Menu Items
```cs
Configure<AbpSecurityLogOptions>(options =>
{
options.ApplicationName = "AbpSecurityTest";
});
```
This module adds an *Identity management* menu item under the *Administration* menu:
![identity-module-menu](../images/identity-module-menu.png)
The menu items and the related pages are authorized. That means the current user must have the related permissions to make them visible. The `admin` role (and the users with this role - like the `admin` user) already has these permissions. If you want to enable permissions for other roles/users, open the *Permissions* dialog on the *Roles* or *Users* page and check the permissions as shown below:
![identity-module-permissions](../images/identity-module-permissions.png)
See the [Authorization document](../Authorization.md) to understand the permission system.
### Pages
This section introduces the main pages provided by this module.
#### Users
This page is used to see the list of users. You can create/edit and delete users, assign users to roles.
![identity-module-users](../images/identity-module-users.png)
A user can have zero or more roles. Users inherit permissions from their roles. In addition, you can assign permissions directly to the users (by clicking the *Actions* button, then selecting the *Permissions*).
#### Roles
Roles are used to group permissions assign them to users.
![identity-module-roles](../images/identity-module-roles.png)
Beside the role name, there are two properties of a role:
* `Default`: If a role is marked as "default", then that role is assigned to new users by default when they register to the application themselves (using the [Account Module](Account.md)).
* `Public`: A public role of a user can be seen by other users in the application. This feature has no usage in the Identity module, but provided as a feature that you may want to use in your own application.
## Other Features
This section covers some other features provided by this module which don't have the UI pages.
## Organization Unit Management
### Organization Units
Organization units (OU) is a part of **Identity Module** and can be used to **hierarchically group users and entities**.
Organization Units (OU) can be used to **hierarchically group users and entities**.
### OrganizationUnit Entity
#### OrganizationUnit Entity
An OU is represented by the **OrganizationUnit** entity. The fundamental properties of this entity are:
@ -41,8 +66,6 @@ An OU is represented by the **OrganizationUnit** entity. The fundamental propert
- **Code**: A hierarchical string code that is unique for a tenant.
- **DisplayName**: Shown name of the OU.
The OrganizationUnit entity's primary key (Id) is a **Guid** type and it derives from the [**FullAuditedAggregateRoot**](../Entities.md) class.
#### Organization Tree
Since an OU can have a parent, all OUs of a tenant are in a **tree** structure. There are some rules for this tree;
@ -52,26 +75,248 @@ Since an OU can have a parent, all OUs of a tenant are in a **tree** structure.
#### OU Code
OU code is automatically generated and maintained by the OrganizationUnit Manager. It's a string that looks something like this:
OU code is automatically generated and maintained by the `OrganizationUnitManager` service. It's a string that looks something like this:
"**00001.00042.00005**"
This code can be used to easily query the database for all the children of an OU (recursively). There are some rules for this code:
This code can be used to easily query the database for all the children of an OU (recursively). There are some rules for this code (automatically applied when you use `OrganizationUnitManager`):
- It must be **unique** for a [tenant](../Multi-Tenancy.md).
- It is **unique** for a [tenant](../Multi-Tenancy.md).
- All the children of the same OU have codes that **start with the parent OU's code**.
- It's **fixed length** and based on the level of the OU in the tree, as shown in the sample.
- While the OU code is unique, it can be **changeable** if you move an OU.
- You must reference an OU by Id, not Code.
- While the OU code is unique, it can be **changed** if you move the related OU.
Notice that you must reference an OU by Id, not Code, because the Code can be changed later.
### OrganizationUnit Manager
#### OrganizationUnit Manager
The **OrganizationUnitManager** class can be [injected](../Dependency-Injection.md) and used to manage OUs. Common use cases are:
The `OrganizationUnitManager` class can be [injected](../Dependency-Injection.md) and used to manage OUs. Common use cases are:
- Create, Update or Delete an OU
- Move an OU in the OU tree.
- Getting information about the OU tree and its items.
#### Multi-Tenancy
### Identity Security Log
The security log system records some important operations or changes about your account (like *login* and *change password*). You can also save the security log if needed.
You can inject and use `IdentitySecurityLogManager` or `ISecurityLogManager` to write security logs. It will create a log object by default and fill in some common values, such as `CreationTime`, `ClientIpAddress`, `BrowserInfo`, `current user/tenant`, etc. Of course, you can override them.
```cs
await IdentitySecurityLogManager.SaveAsync(new IdentitySecurityLogContext()
{
Identity = "IdentityServer";
Action = "ChangePassword";
});
```
Configure `AbpSecurityLogOptions` to provide the application name (in case of you have multiple applications and want to distinguish the applications in the logs) for the log or disable this feature.
```cs
Configure<AbpSecurityLogOptions>(options =>
{
options.ApplicationName = "AbpSecurityTest";
});
```
## Options
`IdentityOptions` is the standard [options class](../Options.md) provided by the Microsoft [Identity library](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity). So, you can set these options in the `ConfigureServices` method of your [module](../Module-Development-Basics.md) class.
**Example: Set minimum required length of passwords**
````csharp
Configure<IdentityOptions>(options =>
{
options.Password.RequiredLength = 5;
});
````
ABP takes these options one step further and allows you to change them on runtime by using the [setting system](../Settings.md). You can [inject](../Dependency-Injection.md) `ISettingManager` and use one of the `Set...` methods to change the option values for a user, a tenant or globally for all users.
**Example: Change minimum required length of passwords for the current tenant**
````csharp
public class MyService : ITransientDependency
{
private readonly ISettingManager _settingManager;
public MyService(ISettingManager settingManager)
{
_settingManager = settingManager;
}
public async Task ChangeMinPasswordLength(int minLength)
{
await _settingManager.SetForCurrentTenantAsync(
IdentitySettingNames.Password.RequiredLength,
minLength.ToString()
);
}
}
````
`IdentitySettingNames` class (in the `Volo.Abp.Identity.Settings` namespace) defines constants for the setting names.
## Distributed Events
This module defines the following ETOs (Event Transfer Objects) to allow you to subscribe to changes on the entities of the module;
* `UserEto` is published on changes done on an `IdentityUser` entity.
* `IdentityRoleEto` is published on changes done on an `IdentityRole` entity.
* `IdentityClaimTypeEto` is published on changes done on an `IdentityClaimType` entity.
* `OrganizationUnitEto` is published on changes done on an `OrganizationUnit` entity.
**Example: Get notified when a new user has been created**
````csharp
public class MyHandler :
IDistributedEventHandler<EntityCreatedEto<UserEto>>,
ITransientDependency
{
public async Task HandleEventAsync(EntityCreatedEto<UserEto> eventData)
{
UserEto user = eventData.Entity;
// TODO: ...
}
}
````
`UserEto` and `IdentityRoleEto` are configured to automatically publish the events. You should configure yourself for the others. See the [Distributed Event Bus document](../Distributed-Event-Bus.md) to learn details of the pre-defined events.
> Subscribing to the distributed events is especially useful for distributed scenarios (like microservice architecture). If you are building a monolithic application, or listening events in the same process that runs the Identity Module, then subscribing to the [local events](../Local-Event-Bus.md) can be more efficient and easier.
## Internals
This section covers some internal details of the module that you don't need much, but may need to use in some cases.
### Domain layer
#### Aggregates
##### User
A user is generally a person logins to and uses the application.
* `IdentityUser` (aggregate root): Represents a user in the system.
* `IdentityUserRole` (collection): Roles to the user.
* `IdentityUserClaim` (collection): Custom claims of the user.
* `IdentityUserLogin` (collection): External logins of the user.
* `IdentityUserToken` (collection): Tokens of the user (used by the Microsoft Identity services).
##### Role
A role is typically a group of permissions to assign to the users.
* `IdentityRole` (aggregate root): Represents a role in the system.
* `IdentityRoleClaim` (collection): Custom claims of the role.
##### Claim Type
A claim type is a definition of a custom claim that can be assigned to other entities (like roles and users) in the system.
* `IdentityClaimType` (aggregate root): Represents a claim type definition. It contains some properties (e.g. Required, Regex, Description, ValueType) to define the claim type and the validation rules.
##### Identity Security Log
A `IdentitySecurityLog` object represents an authentication related operation (like *login*) in the system.
* `IdentitySecurityLog` (aggregate root): Represents a security log in the system.
##### OrganizationUnit
An Organization unit is a entity in a hierarchical structure.
* ```OrganizationUnit``` (aggregate root): Represents an organization unit in the system.
* ```Roles``` (collection): Roles of the organization unit.
#### Repositories
Following custom repositories are defined for this module:
* `IIdentityUserRepository`
* `IIdentityRoleRepository`
* `IIdentityClaimTypeRepository`
* ```IIdentitySecurityLogRepository```
* ```IOrganizationUnitRepository```
#### Domain services
##### User manager
`IdentityUserManager` is used to manage users, their roles, claims, passwords, emails, etc. It is derived from Microsoft Identity's `UserManager<T>` class where `T` is `IdentityUser`.
##### Role manager
`IdentityRoleManager` is used to manage roles and their claims. It is derived from Microsoft Identity's `RoleManager<T>` class where `T` is `IdentityRole`.
##### Claim type manager
`IdenityClaimTypeManager` is used to perform some operations for the `IdentityClaimType` aggregate root.
##### Organization unit manager
```OrganizationUnitManager``` is used to perform some operations for the ```OrganizationUnit``` aggregate root.
##### Security log manager
```IdentitySecurityLogManager``` is used to save security logs.
### Application Layer
#### Application Services
* `IdentityUserAppService` (implements `IIdentityUserAppService`): Implements the use cases of the user management UI.
* `IdentityRoleAppService` (implement `IIdentityRoleAppService`): Implements the use cases of the role management UI.
* `IdentityClaimTypeAppService` (implements `IIdentityClaimTypeAppService`): Implements the use cases of the claim type management UI.
* `IdentitySettingsAppService` (implements `IIdentitySettingsAppService`): Used to get and update settings for the Identity module.
* `IdentityUserLookupAppService` (implements `IIdentityUserLookupAppService`): Used to get information for a user by `id` or `userName`. It is aimed to be used internally by the ABP framework.
* `ProfileAppService` (implements `IProfileAppService`): Used to change a user's profile and the password.
* ```IdentitySecurityLogAppService``` (implements ```IIdentitySecurityLogAppService```): Implements the use cases of the security logs UI.
* ```OrganizationUnitAppService``` (implements ```OrganizationUnitAppService```): Implements the use cases of the organization unit management UI.
### Database Providers
This module provides [Entity Framework Core](../Entity-Framework-Core.md) and [MongoDB](../MongoDB.md) options for the database.
#### Entity Framework Core
[Volo.Abp.Identity.EntityFrameworkCore](https://www.nuget.org/packages/Volo.Abp.Identity.EntityFrameworkCore) NuGet package implements the EF Core integration.
##### Database Tables
* **AbpRoles**
* AbpRoleClaims
* **AbpUsers**
* AbpUserClaims
* AbpUserLogins
* AbpUserRoles
* AbpUserTokens
* **AbpClaimTypes**
* **AbpOrganizationUnits**
* AbpOrganizationUnitRoles
* AbpUserOrganizationUnits
* **AbpSecurityLogs**
#### MongoDB
[Volo.Abp.Identity.MongoDB](https://www.nuget.org/packages/Volo.Abp.Identity.MongoDB) NuGet package implements the MongoDB integration.
##### Database Collections
* **AbpRoles**
* **AbpUsers**
* **AbpClaimTypes**
* **AbpOrganizationUnits**
* **AbpSecurityLogs**
#### Common Database Properties
You can set the following properties of the `AbpIdentityDbProperties` class to change the database options:
* `DbTablePrefix` (`Abp` by default) is the prefix for table/collection names.
* `DbSchema` (`null` by default) is the database schema.
* `ConnectionStringName` (`AbpIdentity` by default) is the [connection string](../Connection-Strings.md) name for this module.
These are static properties. If you want to set, do it in the beginning of your application (typically, in `Program.cs`).
The `OrganizationUnitManager` is designed to work for a **single tenant** at a time. It works for the **current tenant** by default.

172
docs/en/Modules/IdentityServer.md

@ -1,3 +1,173 @@
# IdentityServer Module
TODO
IdentityServer module provides a full integration with the [IdentityServer](https://github.com/IdentityServer/IdentityServer4) (IDS) framework, which provides advanced authentication features like single sign-on and API access control. This module persists clients, resources and other IDS-related objects to database.
## How to Install
This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module.
### The Source Code
The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/identityserver). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it.
## User Interface
This module implements the domain logic and database integrations, but not provides any UI. Management UI is useful if you need to add clients and resources on the fly. In this case, you may build the management UI yourself or consider to purchase the [ABP Commercial](https://commercial.abp.io/) which provides the management UI for this module.
## Relations to Other Modules
This module is based on the [Identity Module](Identity.md) and have an [integration package](https://www.nuget.org/packages/Volo.Abp.Account.Web.IdentityServer) with the [Account Module](Account.md).
## Options
### AbpIdentityServerBuilderOptions
`AbpIdentityServerBuilderOptions` can be configured in `PreConfigureServices` method of your Identity Server [module](https://docs.abp.io/en/abp/latest/Module-Development-Basics). Example:
````csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpIdentityServerBuilderOptions>(builder =>
{
//Set options here...
});
}
````
`AbpIdentityServerBuilderOptions` properties:
* `UpdateJwtSecurityTokenHandlerDefaultInboundClaimTypeMap` (default: true): Updates `JwtSecurityTokenHandler.DefaultInboundClaimTypeMap` to be compatible with Identity Server claims.
* `UpdateAbpClaimTypes` (default: true): Updates `AbpClaimTypes` to be compatible with identity server claims.
* `IntegrateToAspNetIdentity` (default: true): Integrate to ASP.NET Identity.
* `AddDeveloperSigningCredential` (default: true): Set false to suppress AddDeveloperSigningCredential() call on the IIdentityServerBuilder.
`IIdentityServerBuilder` can be configured in `PreConfigureServices` method of your Identity Server [module](https://docs.abp.io/en/abp/latest/Module-Development-Basics). Example:
````csharp
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<IIdentityServerBuilder>(builder =>
{
builder.AddSigningCredential(...);
});
}
````
## Internals
### Domain Layer
#### Aggregates
##### ApiResource
API Resources are needed for allowing clients to request access tokens.
* `ApiResource` (aggregate root): Represents an API resource in the system.
* `ApiSecret` (collection): secrets of the API resource.
* `ApiScope` (collection): scopes of the API resource.
* `ApiResourceClaim` (collection): claims of the API resource.
##### Client
Clients represent applications that can request tokens from your Identity Server.
* `Client` (aggregate root): Represents an Identity Server client application.
* `ClientScope` (collection): Scopes of the client.
* `ClientSecret` (collection): Secrets of the client.
* `ClientGrantType` (collection): Grant types of the client.
* `ClientCorsOrigin` (collection): CORS origins of the client.
* `ClientRedirectUri` (collection): redirect URIs of the client.
* `ClientPostLogoutRedirectUri` (collection): Logout redirect URIs of the client.
* `ClientIdPRestriction` (collection): Provider restrictions of the client.
* `ClientClaim` (collection): Claims of the client.
* `ClientProperty` (collection): Custom properties of the client.
##### PersistedGrant
Persisted Grants stores AuthorizationCodes, RefreshTokens and UserConsent.
* `PersistedGrant` (aggregate root): Represents PersistedGrant for identity server.
##### IdentityResource
Identity resources are data like user ID, name, or email address of a user.
* `IdentityResource` (aggregate root): Represents and Identity Server identity resource.
* `IdentityClaim` (collection): Claims of identity resource.
#### Repositories
Following custom repositories are defined for this module:
* `IApiResourceRepository`
* `IClientRepository`
* `IPersistentGrantRepository`
* `IIdentityResourceRepository`
#### Domain Services
This module doesn't contain any domain service but overrides the services below;
* `AbpProfileService` (Used when `AbpIdentityServerBuilderOptions.IntegrateToAspNetIdentity` is true)
* `AbpClaimsService`
* `AbpCorsPolicyService`
### Settings
This module doesn't define any settings.
### Application Layer
#### Application Services
* `ApiResourceAppService` (implements `IApiResourceAppService`): Implements the use cases of the API resource management UI.
* `IdentityServerClaimTypeAppService` (implement `IIdentityServerClaimTypeAppService`): Used to get list of claims.
* `ApiResourceAppService` (implements `IApiResourceAppService`): Implements the use cases of the API resource management UI.
* `IdentityResourceAppService` (implements `IIdentityResourceAppService`): Implements the use cases of the Identity resource management UI.
### Database Providers
#### Common
##### Table/Collection Prefix & Schema
All tables/collections use the `IdentityServer` prefix by default. Set static properties on the `AbpIdentityServerDbProperties` class if you need to change the table prefix or set a schema name (if supported by your database provider).
##### Connection String
This module uses `AbpIdentityServer` for the connection string name. If you don't define a connection string with this name, it fallbacks to the `Default` connection string.
See the [connection strings](https://docs.abp.io/en/abp/latest/Connection-Strings) documentation for details.
#### Entity Framework Core
##### Tables
* **IdentityServerApiResources**
* IdentityServerApiSecrets
* IdentityServerApiScopes
* IdentityServerApiScopeClaims
* IdentityServerApiClaims
* **IdentityServerClients**
* IdentityServerClientScopes
* IdentityServerClientSecrets
* IdentityServerClientGrantTypes
* IdentityServerClientCorsOrigins
* IdentityServerClientRedirectUris
* IdentityServerClientPostLogoutRedirectUris
* IdentityServerClientIdPRestrictions
* IdentityServerClientClaims
* IdentityServerClientProperties
* **IdentityServerPersistedGrants**
* **IdentityServerIdentityResources**
* IdentityServerIdentityClaims
#### MongoDB
##### Collections
* **IdentityServerApiResources**
* **IdentityServerClients**
* **IdentityServerPersistedGrants**
* **IdentityServerIdentityResources**

2
docs/en/Modules/Index.md

@ -24,7 +24,7 @@ There are some **free and open source** application modules developed and mainta
* [**Tenant Management**](Tenant-Management.md): Manages tenants for a [multi-tenant](../Multi-Tenancy.md) application.
* [**Virtual File Explorer**](Virtual-File-Explorer.md): Provided a simple UI to view files in [virtual file system](../Virtual-File-System.md).
See [the GitHub repository](https://github.com/abpframework/abp/tree/master/modules) for source code of all modules.
See [the GitHub repository](https://github.com/abpframework/abp/tree/dev/modules) for source code of all modules.
## Commercial Application Modules

108
docs/en/Modules/Permission-Management.md

@ -1,5 +1,109 @@
# Permission Management Module
This module implements the `IPermissionStore` to store and manage feature values in a database. See the [Authorization document](../Authorization.md) to understand the authorization and permission systems first.
This module implements the `IPermissionStore` to store and manage permissions values in a database.
TODO
> This document covers only the permission management module which persists permission values to a database. See the [Authorization document](../Authorization.md) to understand the authorization and permission systems.
## How to Install
This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module.
### The Source Code
The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/permission-management). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it.
## User Interface
### Permission Management Dialog
Permission management module provides a reusable dialog to manage permissions related to an object. For example, the [Identity Module](Identity.md) uses it to manage permissions of users and roles. The following image shows Identity Module's Role Management page:
![permissions-module-open-dialog](../images/permissions-module-open-dialog.png)
When you click *Actions* -> *Permissions* for a role, the permission management dialog is opened. An example screenshot from this dialog:
![permissions-module-dialog](../images/permissions-module-dialog.png)
In this dialog, you can grant permissions for the selected role. The tabs in the left side represents main permission groups and the right side contains the permissions defined in the selected group.
## IPermissionManager
`IPermissionManager` is the main service provided by this module. It is used to read and change the permission values. `IPermissionManager` is typically used by the *Feature Management Dialog*. However, you can inject it if you need to set a permission value.
> If you just want to read/check permission values for the current user, use the `IAuthorizationService` or the `[Authorize]` attribute as explained in the [Authorization document](../Authorization.md).
**Example: Grant permissions to roles and users using the `IPermissionManager` service**
````csharp
public class MyService : ITransientDependency
{
private readonly IPermissionManager _permissionManager;
public MyService(IPermissionManager permissionManager)
{
_permissionManager = permissionManager;
}
public async Task GrantRolePermissionDemoAsync(
string roleName, string permission)
{
await _permissionManager
.SetForRoleAsync(roleName, permission, true);
}
public async Task GrantUserPermissionDemoAsync(
Guid userId, string roleName, string permission)
{
await _permissionManager
.SetForUserAsync(userId, permission, true);
}
}
````
## Permission Management Providers
Permission Management Module is extensible, just like the [permission system](../Authorization.md). You can extend it by defining permission management providers.
[Identity Module](Identity.md) defines the following permission management providers:
* `UserPermissionManagementProvider`: Manages user-based permissions.
* `RolePermissionManagementProvider`: Manages role-based permissions.
`IPermissionManager` uses these providers when you get/set permissions. You can define your own provider by implementing the `IPermissionManagementProvider` or inheriting from the `PermissionManagementProvider` base class.
**Example:**
````csharp
public class CustomPermissionManagementProvider : PermissionManagementProvider
{
public override string Name => "Custom";
public CustomPermissionManagementProvider(
IPermissionGrantRepository permissionGrantRepository,
IGuidGenerator guidGenerator,
ICurrentTenant currentTenant)
: base(
permissionGrantRepository,
guidGenerator,
currentTenant)
{
}
}
````
`PermissionManagementProvider` base class makes the default implementation (using the `IPermissionGrantRepository`) for you. You can override base methods as you need. Every provider must have a unique name, which is `Custom` in this example (keep it short since it is saved to database for each feature value record).
Once you create your provider class, you should register it using the `FeatureManagementOptions` [options class](../Options.md):
````csharp
Configure<PermissionManagementOptions>(options =>
{
options.ManagementProviders.Add<CustomPermissionManagementProvider>();
});
````
The order of the providers are important. Providers are executed in the reverse order. That means the `CustomPermissionManagementProvider` is executed first for this example. You can insert your provider in any order in the `Providers` list.
## See Also
* [Authorization](../Authorization.md)

34
docs/en/Modules/Setting-Management.md

@ -85,6 +85,37 @@ Setting Management module is extensible, just like the [setting system](../Setti
`ISettingManager` uses the setting management providers on get/set methods. Typically, every setting management provider defines extension methods on the `ISettingManagement` service (like `SetForUserAsync` defined by the user setting management provider).
If you want to create your own provider, implement the `ISettingManagementProvider` interface or inherit from the `SettingManagementProvider` base class:
````csharp
public class CustomSettingProvider : SettingManagementProvider
{
public override string Name => "Custom";
public CustomSettingProvider(ISettingManagementStore store)
: base(store)
{
}
}
````
`SettingManagementProvider` base class makes the default implementation (using the `ISettingManagementStore`) for you. You can override base methods as you need. Every provider must have a unique name, which is `Custom` in this example (keep it short since it is saved to database for each feature value record).
Once you create your provider class, you should register it using the `SettingManagementOptions` [options class](../Options.md):
````csharp
Configure<SettingManagementOptions>(options =>
{
options.Providers.Add<CustomSettingProvider>();
});
````
The order of the providers are important. Providers are executed in the reverse order. That means the `CustomSettingProvider` is executed first for this example. You can insert your provider in any order in the `Providers` list.
## See Also
* [Settings](../Settings.md)
## Setting Management UI
Setting Mangement module provided the email setting UI by default, and it is extensible; You can add your tabs to this page for your application settings.
@ -271,4 +302,5 @@ export class AppComponent {
Navigate to `/setting-management` route to see the changes:
![Custom Settings Tab](../images/custom-settings.png)
![Custom Settings Tab](../images/custom-settings.png)

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

Loading…
Cancel
Save