@ -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" |
|||
} |
|||
} |
|||
@ -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..." |
|||
} |
|||
} |
|||
@ -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" |
|||
} |
|||
} |
|||
@ -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." |
|||
} |
|||
} |
|||
@ -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!" |
|||
} |
|||
} |
|||
@ -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ť" |
|||
} |
|||
} |
|||
@ -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.** |
|||
|
|||
|
|||
@ -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. |
|||
|
|||
 |
|||
 |
|||
|
|||
### 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: |
|||
|
|||
 |
|||
 |
|||
|
|||
## 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). |
|||
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 150 KiB |
|
After Width: | Height: | Size: 163 KiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 105 KiB |
@ -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): |
|||
|
|||
 |
|||
|
|||
And the items rendered in a public website: |
|||
|
|||
 |
|||
|
|||
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. |
|||
|
|||
 |
|||
|
|||
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. |
|||
|
|||
 |
|||
|
|||
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. |
|||
|
|||
 |
|||
|
|||
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! |
|||
|
|||
 |
|||
|
|||
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. |
|||
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 150 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 56 KiB |
@ -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. |
|||
|
|||
 |
|||
|
|||
## 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). |
|||
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 11 KiB |
@ -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. |
|||
|
|||
 |
|||
|
|||
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. |
|||
|
|||
 |
|||
|
|||
## 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. |
|||
|
|||
 |
|||
|
|||
## 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. |
|||
|
|||
 |
|||
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 60 KiB |
@ -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) |
|||
@ -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. |
|||
|
|||
 |
|||
|
|||
When you click *Actions* -> *Features* for a tenant, the feature management dialog is opened. An example screenshot from this dialog with two features defined: |
|||
|
|||
 |
|||
|
|||
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 |
|||
@ -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** |
|||
@ -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: |
|||
|
|||
 |
|||
|
|||
When you click *Actions* -> *Permissions* for a role, the permission management dialog is opened. An example screenshot from this dialog: |
|||
|
|||
 |
|||
|
|||
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) |
|||