diff --git a/.github/workflows/auto-pr.yml b/.github/workflows/auto-pr.yml
index d4cd30c876..533fbb878e 100644
--- a/.github/workflows/auto-pr.yml
+++ b/.github/workflows/auto-pr.yml
@@ -1,10 +1,10 @@
-name: Merge branch dev with rel-4.4
+name: Merge branch dev with rel-5.0
on:
push:
branches:
- - rel-4.4
+ - rel-5.0
jobs:
- merge-dev-with-rel-4-4:
+ merge-dev-with-rel-5-0:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
@@ -12,13 +12,13 @@ jobs:
ref: dev
- name: Reset promotion branch
run: |
- git fetch origin rel-4.4:rel-4.4
- git reset --hard rel-4.4
+ git fetch origin rel-5.0:rel-5.0
+ git reset --hard rel-5.0
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
- branch: auto-merge/rel-4-4/${{github.run_number}}
- title: Merge branch dev with rel-4.4
- body: This PR generated automatically to merge dev with rel-4.4. Please review the changed files before merging to prevent any errors that may occur.
+ branch: auto-merge/rel-5-0/${{github.run_number}}
+ title: Merge branch dev with rel-5.0
+ body: This PR generated automatically to merge dev with rel-5.0. Please review the changed files before merging to prevent any errors that may occur.
reviewers: ${{github.actor}}
token: ${{ github.token }}
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index 52cd297908..e6dcbc78b0 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -1,5 +1,22 @@
name: "build and test"
on:
+ push:
+ branches:
+ - dev
+ paths:
+ - 'framework/**/*.cs'
+ - 'framework/**/*.cshtml'
+ - 'framework/**/*.csproj'
+ - 'framework/**/*.razor'
+ - 'modules/**/*.cs'
+ - 'modules/**/*.cshtml'
+ - 'modules/**/*.csproj'
+ - 'modules/**/*.razor'
+ - 'templates/**/*.cs'
+ - 'templates/**/*.cshtml'
+ - 'templates/**/*.csproj'
+ - 'templates/**/*.razor'
+
pull_request:
paths:
- 'framework/**/*.cs'
@@ -21,7 +38,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-dotnet@master
with:
- dotnet-version: 6.0.100-rc.1.21458.32
+ dotnet-version: 6.0.100-rc.2.21505.57
- name: Build All
run: .\build-all.ps1
@@ -32,3 +49,6 @@ jobs:
run: .\test-all.ps1
working-directory: .\build
shell: powershell
+
+ - name: Codecov
+ uses: codecov/codecov-action@v2
diff --git a/.gitignore b/.gitignore
index c0347428f2..d3968773a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -314,7 +314,7 @@ abp-build-config.json
tempkey.jwk
# ABP Analyzing files
-*.abppkg.analyze.json
+# [Disabled for now] *.abppkg.analyze.json
# appsettings.secrets.json
appsettings.secrets.json
\ No newline at end of file
diff --git a/Directory.Build.props b/Directory.Build.props
index e14b4c3bc4..9d579e0d00 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -2,10 +2,10 @@
- 6.0.0-rc.*
+ 6.0.0-rc.2.*
- 16.9.1
+ 16.11.04.2.2
@@ -23,7 +23,17 @@
2.4.3
- 3.1.1
+ 3.1.3
+
+ true
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 21bc8ab85f..dbf8bce537 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
# ABP Framework

+[](https://codecov.io/gh/abpframework/abp)
[](https://www.nuget.org/packages/Volo.Abp.Core)
[](https://www.nuget.org/packages/Volo.Abp.Core)
[](https://docs.abp.io/en/abp/latest/Nightly-Builds)
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/is.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/is.json
new file mode 100644
index 0000000000..a2293778f8
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/is.json
@@ -0,0 +1,15 @@
+{
+ "culture": "is",
+ "texts": {
+ "Account": "ABP Aðgangur - Innskráning og skráning| ABP.IO",
+ "Welcome": "Velkomin",
+ "UseOneOfTheFollowingLinksToContinue": "Notaðu einn af eftirfarandi krækjum til að halda áfram",
+ "FrameworkHomePage": "Heimasíða umgjarðarinnar",
+ "FrameworkDocumentation": "Skjölun umgjarðarinnar",
+ "OfficialBlog": "Opinbert blogg",
+ "CommercialHomePage": "Heimasíða Commercial útgáfunnarinnar",
+ "CommercialSupportWebSite": "Þjónustu síða Commercial útgáfunnarinnar",
+ "CommunityWebSite": "Samfélagssíða ABP",
+ "ManageAccount": "Minn aðgangur | ABP.IO"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
index e23ed3fe5b..923535cfdd 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
@@ -310,6 +310,48 @@
"DeleteInvoice" : "Delete Invoice",
"SuccessfullyDeleted": "Successfully deleted!",
"PaymentStateSetTo" : "Payment state set to {0}",
- "ChangeState": "Change State"
+ "ChangeState": "Change State",
+ "Permission:TrialLicense" : "Trial License",
+ "Menu:TrialLicenses": "Trial Licenses",
+ "TrialLicenses": "Trial Licenses",
+ "UserNameFilter": "Username",
+ "TrialLicenseStatusFilter": "Status",
+ "TrialLicenseStartDateFilter": "Start date",
+ "TrialLicenseEndDateFilter": "End date",
+ "FirsName": "First name",
+ "LastName": "Last name",
+ "Status": "Status",
+ "StartDate": "Start date",
+ "EndDate": "End date",
+ "CompanyName": "Company name",
+ "PurchasedDate": "Purchased date",
+ "OrganizationDetail": "Organization Detail",
+ "SendActivationMail": "Send Activation Mail",
+ "ActivationMailSentSuccessfully": "Activation mail sent successfully!",
+ "TrialLicenseStatus": "Trial license status",
+ "TrialLicenseDetail": "Trial License Detail",
+ "AcceptsMarketingCommunications": "Marketing Communications",
+ "PurposeOfUsage": "Purpose of usage",
+ "CountryName": "Country name",
+ "CompanySize": "Company size",
+ "DetailTrialLicense": "Details",
+ "Requested": "Requested",
+ "Activated": "Activated",
+ "PurchasedToNormalLicense": "Purchased",
+ "Expired": "Expired",
+ "TrialLicenseDeletionWarningMessage": "Are you sure you want to delete the trial license? Trial license, organization, support accounts will be deleted!",
+ "LicenseCategoryFilter": "License category",
+ "Volo.AbpIo.Commercial:030000": "You already used your trial period.",
+ "Volo.AbpIo.Commercial:030001": "This organization name already exists.",
+ "Volo.AbpIo.Commercial:030002": "Once activated, trial license cannot be set to requested!",
+ "Volo.AbpIo.Commercial:030003": "There is no such status!",
+ "Volo.AbpIo.Commercial:030004": "Status could not be changed due to an unexpected error!",
+ "Volo.AbpIo.Commercial:030005": "Start and end date can be updated when the trial license is in the -activated- status!",
+ "Volo.AbpIo.Commercial:030006": "End date must always be greater than start date!",
+ "Volo.AbpIo.Commercial:030007": "This trial license has already been activated once!",
+ "Volo.AbpIo.Commercial:030008": "Purchase date can be set only when status is Purchased!",
+ "Volo.AbpIo.Commercial:030009": "User not found!",
+ "Volo.AbpIo.Commercial:030010": "To purchase the trial license, first you need to activate your trial license!",
+ "Volo.AbpIo.Commercial:030011": "You cannot delete a trial license when it is purchased!"
}
}
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/is.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/is.json
new file mode 100644
index 0000000000..8cdc130e01
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/is.json
@@ -0,0 +1,347 @@
+{
+ "culture": "is",
+ "texts": {
+ "Permission:Organizations": "Skipulagsheild",
+ "Permission:Manage": "Umsjón Skipulagsheildar",
+ "Permission:DiscountRequests": "Afsláttarbeiðnir",
+ "Permission:DiscountManage": "Umsjón afsláttarbeiðna",
+ "Permission:Disable": "Óvirkja",
+ "Permission:Enable": "Virkja",
+ "Permission:EnableSendEmail": "Virkja vefpóstssendingu",
+ "Permission:SendEmail": "Senda vefpóst",
+ "Permission:NpmPackages": "NPM Pakkar",
+ "Permission:NugetPackages": "Nuget Pakkar",
+ "Permission:Maintenance": "Viðhald",
+ "Permission:Maintain": "Viðhalda",
+ "Permission:ClearCaches": "Hreinsaðu skyndiminni",
+ "Permission:Modules": "Eining",
+ "Permission:Packages": "Pakkar",
+ "Permission:Edit": "Breyta",
+ "Permission:Delete": "Eyða",
+ "Permission:Create": "Búa til",
+ "Permission:Accounting": "Bókhald",
+ "Permission:Accounting:Quotation": "Tilvitnun",
+ "Permission:Accounting:Invoice": "Reikningur",
+ "Menu:Organizations": "Skipulagsheild",
+ "Menu:Accounting": "Bókhald",
+ "Menu:Packages": "Pakkar",
+ "Menu:DiscountRequests": "Afsláttarbeiðnir",
+ "NpmPackageDeletionWarningMessage": "Þessum NPM pakka verður eytt. Viltu staðfesta það?",
+ "NugetPackageDeletionWarningMessage": "Þessum Nuget pakka verður eytt. Viltu staðfesta það?",
+ "ModuleDeletionWarningMessage": "Þessari einingu verður eytt. Viltu staðfesta það?",
+ "Name": "Nafn",
+ "DisplayName": "Skjánafn",
+ "ShortDescription": "Stutt greinargerð",
+ "NameFilter": "Nafn",
+ "CreationTime": "Stofntími",
+ "IsPro": "Er Pro",
+ "IsFreeToActiveLicenseOwners": "Innifalið fyrir leyfishafa",
+ "ShowOnModuleList": "Sýna eininga lista",
+ "EfCoreConfigureMethodName": "Stilla nafn aðgerðar",
+ "IsProFilter": "Er pro",
+ "ApplicationType": "Tegund umsóknar",
+ "TargetFilter": "Markmið",
+ "ModuleClass": "Eininga klassi",
+ "NugetPackageTarget.DomainShared": "Léni er deilt",
+ "NugetPackageTarget.Domain": "Lén",
+ "NugetPackageTarget.Application": "Umsókn",
+ "NugetPackageTarget.ApplicationContracts": "Umsóknarsamningar",
+ "NugetPackageTarget.HttpApi": "Http Api",
+ "NugetPackageTarget.HttpApiClient": "Http Api Client",
+ "NugetPackageTarget.Web": "Vefur",
+ "NugetPackageTarget.EntityFrameworkCore": "Eyða EntityFramework Core",
+ "NugetPackageTarget.MongoDB": "MongoDB",
+ "Edit": "Breyta",
+ "Delete": "Eyða",
+ "Refresh": "Endurhlaða",
+ "NpmPackages": "NPM pakkar",
+ "NugetPackages": "Nuget pakkar",
+ "NpmPackageCount": "NPM Pakkatalning",
+ "NugetPackageCount": "Nuget Pakkatalning",
+ "Module": "Einingar",
+ "ModuleInfo": "Upplýsingar eininga",
+ "CreateANpmPackage": "Búa til NPM pakka",
+ "CreateAModule": "Búa til einingu",
+ "CreateANugetPackage": "Búa til Nuget pakka",
+ "AddNew": "Bæta við nýju",
+ "PackageAlreadyExist{0}": "\"{0}\" pakkanum hefur nú þegar verið bætt við.",
+ "ModuleAlreadyExist{0}": "\"{0}\" einingu hefur nú þegar verið bætt við.",
+ "ClearCache": "Hreinsa skyndiminni",
+ "SuccessfullyCleared": "Eyðingu lokið",
+ "Menu:NpmPackages": "NPM Pakkar",
+ "Menu:Modules": "Einingar",
+ "Menu:Maintenance": "Viðhald",
+ "Menu:NugetPackages": "Nuget Pakkar",
+ "CreateAnOrganization": "Búa til félag",
+ "Organizations": "Skipulagsheildir",
+ "LongName": "Langt nafn",
+ "LicenseType": "Tegund leyfis",
+ "MissingLicenseTypeField": "Nauðsynlegt er að fylla út tegund leyfis!",
+ "LicenseStartTime": "Upphafsdagur Leyfis",
+ "LicenseEndTime": "Lokadagur Leyfis",
+ "AllowedDeveloperCount": "Leyfilegur fjöldi fyrir forritara",
+ "UserNameOrEmailAddress": "Notandanafn eða netfang",
+ "AddOwner": "Bæta við eiganda",
+ "UserName": "Notandanafn",
+ "Email": "Netfang",
+ "Developers": "Forritarar",
+ "AddDeveloper": "Bæta við forritara",
+ "Create": "Búa til",
+ "UserNotFound": "Notandi finnst ekki",
+ "{0}WillBeRemovedFromDevelopers": "{0} Verður fjarlægt frá forriturum, viltu staðfesta það?",
+ "{0}WillBeRemovedFromOwners": "{0} Verður fjarlægt frá eigendum, viltu staðfesta það?",
+ "{0}WillBeRemovedFromMembers": "{0} Verður fjarlægt frá meðlimum, viltu staðfesta það?",
+ "Computers": "Tölvur",
+ "UniqueComputerId": "Einstakt tölvuauðkenni",
+ "LastSeenDate": "Dagsetning síðast séð",
+ "{0}Computer{1}WillBeRemovedFromRecords": "Tölvur frá {0} ({1}) verða fjarlægðar úr gögnum",
+ "OrganizationDeletionWarningMessage": "Skipulagsheild verður eytt",
+ "DeletingLastOwnerWarningMessage": "Félag verður að vera með einn skráðan eiganda! Þú getur því ekki fjarlægt þennan eiganda",
+ "This{0}AlreadyExistInThisOrganization": "Þetta {0}er nú þegar til hjá þessari skipulagsheild",
+ "AreYouSureYouWantToDeleteAllComputers": "Ertu viss um að þú viljir eyða öllum tölvunum?",
+ "DeleteAll": "Eyða öllu",
+ "DoYouWantToCreateNewUser": "Viltu búa til nýjan notanda?",
+ "MasterModules": "Master einingar",
+ "OrganizationName": "Nafn skipulagsheildar",
+ "CreationDate": "Stofndagur",
+ "LicenseStartDate": "Upphafsdagur leyfis",
+ "LicenseEndDate": "Lokadagur leyfis",
+ "OrganizationNamePlaceholder": "Nafn skipulagsheild...",
+ "TotalQuestionCountPlaceholder": "Heildarfjöldi spurninga...",
+ "RemainingQuestionCountPlaceholder": "Sá fjöldi sem eftir er af spurningum...",
+ "LicenseTypePlaceholder": "Tegund leyfis...",
+ "CreationDatePlaceholder": "Stofndagur...",
+ "LicenseStartDatePlaceholder": "Upphafsdagur leyfis...",
+ "LicenseEndDatePlaceholder": "Lokadagur leyfis...",
+ "UsernameOrEmail": "Notandanafn eða netfang",
+ "UsernameOrEmailPlaceholder": "Notandanafn eða netfang...",
+ "Member": "Meðlimur",
+ "PurchaseOrderNo": "Framkvæma pöntun nei",
+ "QuotationDate": "Dagsetning verðtilboðs",
+ "CompanyName": "Nafn fyrirtækis",
+ "CompanyAddress": "Heimilisfang fyrirtækis",
+ "Price": "Verð",
+ "DiscountText": "Afsláttar texti",
+ "DiscountQuantity": "Magn afsláttar",
+ "DiscountPrice": "Verð með afslætti",
+ "Quotation": "Verðtilboð",
+ "ExtraText": "Auka texti",
+ "ExtraAmount": "Auka upphæð",
+ "DownloadQuotation": "Niðurhala verðtilboði",
+ "Invoice": "Reikningur",
+ "TaxNumber": "Skattanúmer",
+ "InvoiceNumber": "Númer reiknings",
+ "InvoiceDate": "Dagsetning reiknings",
+ "InvoiceNote": "Athugasemd með reikningi",
+ "Quantity": "Magn",
+ "AddProduct": "Bæta við pöntun",
+ "AddProductWarning": "Þú verður að bæta við pöntunina!",
+ "TotalPrice": "Heildarupphæð",
+ "Generate": "Búa til",
+ "MissingQuantityField": "Það er nauðsynlegt að fylla út magnið!",
+ "MissingPriceField": "Það er nauðsynlegt að fylla út verðið!",
+ "CodeUsageStatus": "Staða",
+ "Country": "Land",
+ "DeveloperCount": "Fjöldi fyrir forritara",
+ "RequestCode": "Beiðni um kóða",
+ "WebSite": "Vefsíða",
+ "GithubUsername": "Github Notandanafn",
+ "PhoneNumber": "Símanúmer",
+ "ProjectDescription": "Verkefnislýsing",
+ "Referrer": "Tilvísandi",
+ "DiscountRequests": "Beiðni um afslátt",
+ "Copylink": "Afrita hlekk",
+ "Disable": "Óvirkja",
+ "Enable": "Virkja",
+ "EnableSendEmail": "Virkja sendingu vefpósts",
+ "SendEmail": "Senda vefpóst",
+ "SuccessfullyDisabled": "Óvirkjun lokið",
+ "SuccessfullyEnabled": "Virkjun tókst",
+ "EmailSent": "Vefpóstur var sendur",
+ "SuccessfullySent": "Sendingu lokið",
+ "SuccessfullyDeleted": "Eyðingu lokið!",
+ "DiscountRequestDeletionWarningMessage": "Beiðni um afslátt verður eytt",
+ "BusinessType": "Tegund starfsemis",
+ "TotalQuestionCount": "Heildarfjöldi spurninga",
+ "RemainingQuestionCount": "Afgangsfjöldi spurninga",
+ "TotalQuestionMustBeGreaterWarningMessage": "Heildarfjöldi verður að vera meiri en afgangsfjöldi spurninga!",
+ "QuestionCountsMustBeGreaterThanZero": "Heildarfjöldi og afgangsfjöldi spurninga verður að vera núll eða meiri en núll!",
+ "UnlimitedQuestionCount": "Ótakmarkaður spurningafjöldi",
+ "Notes": "Athugasemdir",
+ "Menu:Community": "Samfélag",
+ "Menu:Articles": "Greinar",
+ "Wait": "Augnablik",
+ "Approve": "Samþykkja",
+ "Reject": "Hafna",
+ "Details": "Nánari upplýsingar",
+ "Url": "Slóð",
+ "Title": "Titill",
+ "ContentSource": "Uppruni efnis",
+ "Status": "Staða",
+ "ReadArticle": "Lesa grein",
+ "ArticleHasBeenWaiting": "Grein hefur beðið",
+ "ArticleHasBeenApproved": "Grein hefur verið samþykkt",
+ "ArticleHasBeenRejected": "Grein hefur verið hafnað",
+ "Permission:Community": "Samfélag",
+ "Permission:CommunityArticle": "Grein",
+ "Link": "Hlekkur",
+ "Enum:ContentSource:0": "Github",
+ "Enum:ContentSource:1": "External",
+ "Enum:Status:0": "Er í bið",
+ "Enum:Status:1": "Hafnað",
+ "Enum:Status:2": "Samþykkt",
+ "Summary": "Samantekt",
+ "AuthorName": "Nafn höfundar",
+ "CoverImage": "Forsíðumynd",
+ "RemoveCacheConfirmationMessage": "Ertu viss um að hreinsa skyndiminni fyrir grein \"{0}\" ?",
+ "SuccessfullyRemoved": "Hreinsun lokið",
+ "RemoveCache": "Hreinsa skyndiminni ",
+ "Language": "Tungumál",
+ "Optional": "Valfrjálst",
+ "CreateArticleLanguageInfo": "Tungumálið sem efnið er skrifað á",
+ "Enum:ContentSource:2": "Myndbandsfærsla",
+ "VideoPreview": "Forskoðun myndbands",
+ "VideoPreviewErrorMessage": "Ekki var hægt að skoða myndaband á Youtube með uppgefinnir slóð myndbands. Orsök gæti verið vegna lokaðs myndbands eða að slóð sé ekki að virka.",
+ "DeleteCoverImage": "Eyða forsíðumynd",
+ "DeleteCoverImageConfirmationMessage": "Ertu viss um að þú viljir eyða forsíðumyndinni fyrir \"{0}\"?",
+ "DeleteCoverImageSuccessMessage": "Forsíðumynd hefur verið eytt",
+ "PaymentsOf": "Greiðslur af",
+ "ShowPaymentsOfOrganization": "Greiðslur",
+ "Date": "Dagsetning",
+ "Products": "Vörur og þjónusta",
+ "TotalAmount": "Heildarupphæð",
+ "Currency": "Gjaldmiðill",
+ "Gateway": "Gátt",
+ "State": "Ástand",
+ "FailReason": "Ástæða þess að virka ekki",
+ "ReIndexAllPosts": "Endursetja indexa á allar greinar",
+ "ReIndexAllPostsConfirmationMessage": "Ertu viss um að þú viljir endursetja indexa á allar greinar?",
+ "SuccessfullyReIndexAllPosts": "Allar greinar hafa verið farsællega indexaðar.",
+ "Permission:FullSearch": "Leit í öllum texta",
+ "Menu:CliAnalytics": "Cli Analytics",
+ "TemplateName": "Nafn sniðmáts",
+ "TemplateVersion": "Útgáfa sniðmáts",
+ "DatabaseProvider": "Gagnagrunnsveitandi",
+ "IsTiered": "Er þrepaskipt",
+ "ProjectName": "Nafn verkefnis",
+ "Username": "Notandanafn",
+ "Tool": "Verkfæri",
+ "Command": "Skipun",
+ "UiFramework": "Notandaviðmót",
+ "Options": "Valkostir",
+ "CliAnalytics": "Cli Analytics",
+ "Permission:CliAnalyticses": "Cli Analyticses",
+ "Permission:CliAnalytics": "Cli Analytics",
+ "Search": "Leita",
+ "ClearFilter": "Hreinsa Síu",
+ "LicensePrivateKey": "Einkalykill leyfishafa",
+ "LicensePublicKey": "Opinn lykill leyfishafa",
+ "ApiKey": "NuGet API key",
+ "ShowInvoiceRequestsOfOrganization": "Sýna reikningsbeiðnir",
+ "ShowQuestionsOfOrganization": "Spurningar",
+ "Question": "Spurning",
+ "Open": "Opna",
+ "Questions": "Spurningar",
+ "InvoiceRequests": "Reikningabeiðnir",
+ "Address": "Heimilisfang",
+ "TaxNo": "Skattanúmer",
+ "Permission:InvoiceRequest": "Reikningabeiðnir",
+ "Permission:Question": "Spurning",
+ "AddNoteSuccessMessage": "Athugasemd var bætt við",
+ "NameSurname": "Nafn Eftirnafn",
+ "Note": "Athugasemd",
+ "Add": "Bæta við",
+ "ProjectDownloads": "Niðurhal Verkefnis",
+ "ShowProjectDownloadsOfOrganization": "Niðurhal Verkefnis",
+ "ShowAuditLogsOfOrganization": "Úttektarskrár",
+ "Enum:EntityChangeType:0": "Stofnað",
+ "Enum:EntityChangeType:1": "Uppfært",
+ "Enum:EntityChangeType:2": "Eytt",
+ "TenantId": "ID tenants",
+ "ChangeTime": "Breyta tíma",
+ "EntityTypeFullName": "Fullt nafn hlutar ",
+ "AuditLogsFor{0}Organization": "Úttektarskrár fyrir \"{0}\" skipulagsheild",
+ "Permission:EntityChange": "Breyting hlutar",
+ "Permission:ProjectDownload": "Niðurhal verkefnis",
+ "Permission:PaymentRequest": "Beiðni um greiðslu",
+ "CreatorEmailAddress": "Netfang höfundar",
+ "EmailSendDate": "Dagsetning sendingar á vefpósti",
+ "PaymentRequestsFor{0}Organization": "Greiðslubeiðni fyrir \"{0}\" skipulagsheild",
+ "PaymentDetails": "Upplýsingar um greiðslu",
+ "PaymentProduct": "Vara og þjónusta greiðslu",
+ "ProductName": "Nafn vöru og þjónustu",
+ "Code": "Kóði",
+ "GenerateInvoice": "Búa til reikning",
+ "ExportOrganizationsToExcel": "Flytja út í Excel",
+ "ThisExtensionIsNotAllowed": "Þessi viðauki er ekki leyfður.",
+ "TheFileIsTooLarge": "Skráin er of stór!",
+ "ArticleDeletionConfirmationMessage": "Ertu viss um að þú viljir eyða þessari grein óafturkræft?",
+ "ChooseCoverImage": "Veldu forsíðumynd...",
+ "Menu:Quotation": "Verðtilboð",
+ "Menu:Invoice": "Reikningur",
+ "Menu:PaymentRequests": "Greiðslubeiðnir",
+ "Permission:PaymentRequests": "Greiðslubeiðnir",
+ "PaymentRequests": "Greiðslubeiðnir",
+ "Creator": "Höfundur",
+ "ExtraProperties": "Auka eiginleikar",
+ "Organization": "Skipulagsheild",
+ "Waiting": "Augnablik",
+ "Completed": "Lokið",
+ "Failed": "Mistókst",
+ "PaymentRequestDeletionWarningMessage": "Þessari greiðslubeiðni verður eytt. Viltu staðfesta það?",
+ "Payment": "Greiðsla",
+ "AddPayment": "Bæta við greiðslu",
+ "Enum:PurchaseType:1": "Nýtt Leyfi",
+ "Enum:PurchaseType:2": "Framlengja Leyfi",
+ "Enum:PurchaseType:3": "Uppfæra Leyfi",
+ "Enum:PurchaseType:4": "Viðbótar Forritari",
+ "LicenceType": "Tegund Leyfis",
+ "PurchaseType": "Kaupa tegund",
+ "ReceiptNo": "Kvittunur nr.",
+ "PaymentTime": "Greiðslutími",
+ "ProductPrice": "Verð vöru og þjónustu",
+ "AdditionalDeveloper": "Viðbótar Forritari",
+ "ThisPaymentHasBeenAlreadyUsed": "Þessi greiðsla hefur nú þegar verið notuð",
+ "PaymentTimeCannotBeFutureTime": "Greiðslutími getur ekki verið fram í tímann greiðsla!",
+ "SaveAndDownload": "Vista og niðurhala",
+ "BillingInfo": "Greiðsluupplýsingar",
+ "DeleteInvoice": "Eyða reikning",
+ "PaymentStateSetTo": "Greiðslustaða er sett í {0}",
+ "ChangeState": "Breyta stöðu",
+ "Permission:TrialLicense": "Prufuleyfi",
+ "Menu:TrialLicenses": "Prufuleyfi",
+ "TrialLicenses": "Prufuleyfi",
+ "UserNameFilter": "Notandanafn",
+ "TrialLicenseStatusFilter": "Staða",
+ "TrialLicenseStartDateFilter": "Upphafsdagsetning",
+ "TrialLicenseEndDateFilter": "Lokadagsetning",
+ "FirsName": "Fornafn",
+ "LastName": "Eftirnafn",
+ "StartDate": "Upphafsdagsetning",
+ "EndDate": "Lokadagsetning",
+ "PurchasedDate": "Dagsetning kaupa",
+ "OrganizationDetail": "Upplýsingar um Skipulagsheild",
+ "SendActivationMail": "Senda virkjunarvefpóst",
+ "ActivationMailSentSuccessfully": "Virkjunarvefpóstur hefur verið sendur!",
+ "TrialLicenseStatus": "Staða á prufuleyfi",
+ "TrialLicenseDetail": "Upplýsingar um prufuleyfi",
+ "AcceptsMarketingCommunications": "Samskipti markaðssetningar",
+ "PurposeOfUsage": "Tilgangur notkunar",
+ "CountryName": "Nafn lands",
+ "CompanySize": "Stærð fyrirtækis",
+ "DetailTrialLicense": "Nánari upplýsingar",
+ "Requested": "Umbeðið",
+ "Activated": "Virkjað",
+ "PurchasedToNormalLicense": "Keypt",
+ "Expired": "Útrunnið",
+ "TrialLicenseDeletionWarningMessage": "Ertu viss um að þú viljir eyða prufuleyfi? Prufuleyfi, skipulagsheildum og stuðningsreikningum verður eytt!",
+ "Volo.AbpIo.Commercial:030000": "Þú hefur nú þegar nýtt þér prufutímann.",
+ "Volo.AbpIo.Commercial:030001": "Nafn þessa félags er nú þegar til.",
+ "Volo.AbpIo.Commercial:030002": "Þegar virkjað, þá er ekki hægt að stilla prufuleyfi á óskað",
+ "Volo.AbpIo.Commercial:030003": "Þessi staða er ekki til!",
+ "Volo.AbpIo.Commercial:030004": "Ekki var mögulegt að breyta stöðu vegna óvæntrar villu!",
+ "Volo.AbpIo.Commercial:030005": "Ekki er hægt að gefa upp upphafsdag og lokadag þegar prufuleyfi er í biðlunar stöðu!",
+ "Volo.AbpIo.Commercial:030006": "Lokadagur verður alltaf að vera seinni en upphafsdagur!",
+ "Volo.AbpIo.Commercial:030007": "Þetta prufuleyfi hefur nú þegar verið virkjað einu sinni áður!"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/is.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/is.json
new file mode 100644
index 0000000000..8cad00aed1
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/is.json
@@ -0,0 +1,44 @@
+{
+ "culture": "is",
+ "texts": {
+ "Volo.AbpIo.Domain:010004": "Hámarksfjölda meðlima náð!",
+ "Volo.AbpIo.Domain:010005": "Hámarksfjölda eigenda náð!",
+ "Volo.AbpIo.Domain:010006": "Þessi notandi er þegar eigandi í þessari skipulagsheild!",
+ "Volo.AbpIo.Domain:010007": "Þessi notandi er nú þegar verktaki í þessari skipulagsheild!!",
+ "Volo.AbpIo.Domain:010008": "Leyfilegur fjöldi þróunaraðila getur ekki verið minni en núverandi fjöldi forritara!",
+ "Volo.AbpIo.Domain:010009": "Fjöldi þróunaraðila getur ekki verið lægri en 0!",
+ "Volo.AbpIo.Domain:010010": "Farið er yfir hámarksfjölda mac-addressu tölu!",
+ "Volo.AbpIo.Domain:010011": "Persónulegt leyfi má ekki hafa fleiri en 1 forritara!",
+ "Volo.AbpIo.Domain:010012": "Ekki er hægt að framlengja leyfi einum mánuði eftir að leyfi rennur út!!",
+ "Volo.AbpIo.Domain:020001": "Ekki tókst að eyða þessum NPM pakka vegna þess að \"{NugetPackages} \" Nuget pakkar eru háðir þessum pakka.",
+ "Volo.AbpIo.Domain:020002": "Ekki tókst að eyða þessum NPM pakka vegna þess að \"{Modules} \" einingar nota þennan pakka.",
+ "Volo.AbpIo.Domain:020003": "Gat ekki eytt þessum NPM pakka vegna þess að \"{Modules} \" Modules nota þennan pakka og \"{NugetPackages} \" Nuget pakkar eru háðir þessum pakka.",
+ "Volo.AbpIo.Domain:020004": "Ekki tókst að eyða þessum Nuget pakka vegna þess að \"{Modules} \" einingar eru að nota þennan pakka.",
+ "WantToLearn?": "Viltu læra?",
+ "ReadyToGetStarted?": "Tilbúin(n) að hefjast handa?",
+ "JoinOurCommunity": "Vertu með í samfélaginu okkar ",
+ "GetStartedUpper": "Hefjast handa",
+ "ForkMeOnGitHub": "Taktu afrit af mér á GitHub",
+ "Features": "Eiginleikar",
+ "GetStarted": "Hefjast handa",
+ "Documents": "Skjöl",
+ "Community": "Samfélag",
+ "ContributionGuide": "Leiðbeiningar um þáttöku",
+ "Blog": "Blog",
+ "Commercial": "Commercial",
+ "MyAccount": "Minn aðgangur",
+ "Permission:License": "Leyfi",
+ "Permission:UserInfo": "Upplýsingar notanda",
+ "SeeDocuments": "Sjá skjöl",
+ "Samples": "Sýnishorn",
+ "Framework": "Framework",
+ "Support": "Stuðningur",
+ "FreeDDDBook": "Frí DDD rafbók",
+ "New": "Nýtt",
+ "Volo.AbpIo.Domain:020005": "Leyfisframlengingarár má ekki vera lægra en {MinExtendLicenseYear} ár og meira en {MaxExtendLicenseYear} ár ",
+ "TrialLicensePeriodHasExpired": "Prófunartímabil þitt rann út fyrir {0} dögum.",
+ "TrialLicensePeriodWillExpire": "Leyfi þitt til prufu mun renna út eftir {0} daga.",
+ "TrialLicensePeriodExpireToday": "Prófsleyfistími þinn rennur út í dag.",
+ "PurchaseNow": "Kaupa núna!"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json
index af20ee9ba7..5ab632d63e 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json
@@ -101,6 +101,7 @@
"WeWillSendYouADownloadLink": "We've sent the file to {0}.",
"InvalidFormInputs": "Please, type the valid information specified on the form.",
"DDDBookEmailBody": "Thank you. To download your book, click here.",
- "FreeDDDEBook": "Free DDD E-Book"
+ "FreeDDDEBook": "Free DDD E-Book",
+ "CommercialNewsletterConfirmationMessage": "I agree to the Terms & Conditions and Privacy Policy."
}
}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
index b31c33621c..3dabab5737 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
@@ -230,7 +230,7 @@
"HowCanIRefundVatExplanation2": "Log in into your 2Checkout account",
"HowCanIRefundVatExplanation3": "Find the appropriate order and press \"Refund Belated VAT\" (enter your VAT ID)",
"HowCanIGetMyInvoice": "How can I get my invoice?",
- "HowCanIGetMyInvoiceExplanation": "There are 2 payment gateways for purchasing a license: PayU and 2Checkout. If you purchase your license through 2Checkout gateway, it sends the PDF invoice to your email address, see 2Checkout invoicing. If you purchase through the PayU gateway or via bank wire transfer, we will prepare and send your invoice. You can request your invoice from the organization management page.",
+ "HowCanIGetMyInvoiceExplanation": "There are 2 payment gateways for purchasing a license: Iyzico and 2Checkout. If you purchase your license through the 2Checkout gateway, it sends the PDF invoice to your email address, see 2Checkout invoicing. If you purchase through the Iyzico gateway, with custom purchase link or via bank wire transfer, we will prepare and send your invoice. You can request or download your invoice from the organization management page. Before contacting us for the invoice, check your organization management page!",
"Forum": "Forum",
"SupportExplanation": "ABP Commercial licenses provides a premium forum support by a team consists of the ABP Framework experts.",
"PrivateTicket": "Private Ticket",
@@ -388,6 +388,7 @@
"PurchaseTrialLicenseMessage": "Your license expiration date is {0}. If you want to continue using the projects you created during your free trial period, you need to change the license keys in your appsettings.secrets.json files. Here is your license key:",
"TrialLicenseExpireMessage": "You are using the trial license and your trial license will expire on {0}.",
"TryForFree": "Try For Free",
- "TrialLicenseExpiredInfo": "Your trial license period has expired!"
+ "TrialLicenseExpiredInfo": "Your trial license period has expired!",
+ "CommercialNewsletterConfirmationMessage": "I agree to the Terms & Conditions and Privacy Policy."
}
}
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json
new file mode 100644
index 0000000000..80c94d3f90
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/is.json
@@ -0,0 +1,392 @@
+{
+ "culture": "is",
+ "texts": {
+ "OrganizationManagement": "Umsjá Skipulagsheilda",
+ "OrganizationList": "Listi yfir Skipulagsheildir",
+ "Volo.AbpIo.Commercial:010003": "Þú ert ekki eigandi þessarri skipulagsheild!",
+ "OrganizationNotFoundMessage": "Eingin skipulagsheild fannst!",
+ "DeveloperCount": "Úthlutað / alls forritarar",
+ "QuestionCount": "Eftirstöðvar / alls spurningar",
+ "Unlimited": "Ótakmarkað",
+ "Owners": "Eigendur",
+ "AddMember": "Bæta við meðlimi",
+ "AddOwner": "Bæta við eiganda",
+ "AddDeveloper": "Bæta við forritara",
+ "UserName": "Notandanafn",
+ "Name": "Nafn",
+ "EmailAddress": "Netfang",
+ "Developers": "Forritarar",
+ "LicenseType": "Tegund Leyfis",
+ "Manage": "Umsjón",
+ "StartDate": "Upphafsdagur",
+ "EndDate": "Lokadagur",
+ "Modules": "Einingar",
+ "LicenseExtendMessage": "Leyfið þitt og lokadagur hefur verið framlengt til {0}",
+ "LicenseUpgradeMessage": "Leyfið þitt hefur verið uppfært í {0}",
+ "LicenseAddDeveloperMessage": "{0} forritarar bættu við Leyfið þitt",
+ "Volo.AbpIo.Commercial:010004": "Finn ekki tiltekinn notanda! Notandinn er líklega nú þegar skráður.",
+ "MyOrganizations": "Félögin mín",
+ "ApiKey": "API lykill",
+ "UserNameNotFound": "Enginn notandi finnst með notandanafninu {0}",
+ "SuccessfullyAddedToNewsletter": "Takk fyrir að gerast áskrifandi að fréttabréfinu okkar!",
+ "MyProfile": "Sniðmátið mitt",
+ "EmailNotValid": "Vinsamlegast setjið inn virkan netpóst.",
+ "JoinOurMarketingNewsletter": "Gerast áskrifandi að markaðs fréttabréfinu okkar",
+ "WouldLikeToReceiveMarketingMaterials": "Ég óska eftir því að fá send markaðsefni þ.m.t. upplýsingar um góð kjör og sérstök tilboð.",
+ "StartUsingYourLicenseNow": "Byrjaðu að nota leyfið þitt núna!",
+ "WelcomePage": "Velkomin síða",
+ "UnsubscriptionExpireEmail": "Afskráning af póstlista sem minnir á hvenær Leyfi rennur út",
+ "UnsubscribeLicenseExpireEmailReminderMessage": "Þessi póstlisti felur einungis í sér áminningu um hvenær leyfið þitt rennur út.",
+ "UnsubscribeFromLicenseExpireEmails": "Ef þú kýst að fá ekki vefpóst til áminningar um hvenær leyfið þitt rennur út, þá getur þú afskráð þig hvenær sem er.",
+ "Unsubscribe": "Afskráning",
+ "NotOrganizationMember": "Þú ert ekki meðlimur í neinni skipulagsheild.",
+ "UnsubscribeLicenseExpirationEmailSuccessTitle": "Þú hefur verið afskráður af póstlistanum",
+ "UnsubscribeLicenseExpirationEmailSuccessMessage": "Þú munt ekki fá vefpóst um áminningu þess hvenær leyfið þitt rennur út.",
+ "IndexPageHeroSection": "Heilstætt vefþróunar umhverfi byggt á ABP",
+ "AbpCommercialShortDescription": "ABP Commercial býður upp á forsmíðaðar forritareiningar, tól sem hraða þróun, fagmanlega hannaðar UI þemur, úrvals stuðning og fleira.",
+ "LiveDemo": "Virkt sýnidæmi",
+ "GetLicence": "Sækja Leyfi",
+ "Application": "Umsókn",
+ "StartupTemplates": "Byrjunar Sniðmát",
+ "Startup": "Byrjun",
+ "Templates": "Sniðmát",
+ "Developer": "Forritari",
+ "Tools": "Verkfæri",
+ "Premium": "Viðbót",
+ "PremiumSupport": "Viðbótar stuðningur",
+ "PremiumForumSupport": "Spjallborð Viðbótar Stuðnings",
+ "UI": "UI",
+ "Themes": "Þemu",
+ "JoinOurNewsletter": "Vertu áskrifandi að fréttabréfinu okkar",
+ "Send": "Senda",
+ "Learn": "Læra",
+ "AdditionalServices": "Auka þjónustur",
+ "WhatIsABPFramework": "HVAÐ ER ABP?",
+ "OpenSourceBaseFramework": "Opin hugbúnaður",
+ "ABPFrameworkExplanation": "
ABP Commercial er byggt á ABP umhverfinu, sem er opin og frír hugbúnaður og samfélagslega keyrður vefforritunar umhverfi fyrir ASP.NET Core.ABP Framework, veitir framúrskarandi innviði til að skrifa viðhaldanlegan, auðbreytanlegann og prófanlegan kóða með bestu starfsháttum.
Byggt á og samþætt við vinsæl tól sem þú þekkir nú þegar. Auðvelt að læra, auðvelt að aðlaga, þægilegt í þróun.
Það getur verið flókið og tímafrekt að byggja upp vefsíðuforrit fyrir fyrirtæki.
ABP Commercial býður upp á fullkomna grunninnviði sem er nauðsynlegur fyrir allar nútíma ASP.NET Core lausnir sem byggja á fyrirtækjum. Allt frá hönnun til dreifingar er allt þróunarferlið styrkt af innbyggðum eiginleikum og einingum ABP.
",
+ "StartupTemplatesShortDescription": "Upphafssniðmát gera þér kleift að byrja verkefnið á nokkrum sekúndum.",
+ "UIFrameworksOptions": "Valmöguleikar UI viðmóts;",
+ "DatabaseProviderOptions": "Gagnagrunna valkostir;",
+ "PreBuiltApplicationModules": "Forbyggðar forritareiningar",
+ "PreBuiltApplicationModulesShortDescription": "Algengustu kröfur um forrit eru þegar þróaðar fyrir þig sem margnota einingar.",
+ "Account": "Aðgangur",
+ "Blogging": "Blogging",
+ "Identity": "Auðkenni",
+ "IdentityServer": "Auðkenningarþjónn",
+ "Saas": "Saas",
+ "LanguageManagement": "Túngumálaumsjón",
+ "TextTemplateManagement": "Textasmíðastjórnun",
+ "ABPSuite": "ABP Suite",
+ "AbpSuiteShortDescription": "ABP Suite er viðbótar tól sem kemur með ABP Commercial.",
+ "AbpSuiteExplanation": "Það gerir þér kleift að byggja vefsíður á örfáum mínútum. Það er .NET Core Global tól sem hægt er að setja upp frá skipanalínunni. Það getur búið til nýja ABP lausn, búið til CRUD síður úr gagnagrunninum í framendann.",
+ "Details": "Nánari upplýsingar",
+ "LeptonTheme": "Lepton Þema",
+ "ProfessionalModernUIThemes": "Faglega hannað núttíma útlit",
+ "LeptonThemeExplanation": "Lepton býður upp á úrval af Bootstrap admin þemum sem þjóna sem traustur grunnur fyrir öll verkefni sem krefjast admin mælaborðs.",
+ "DefaultTheme": "Sjálfvalin Þema",
+ "MaterialTheme": "Material Þema",
+ "Default2Theme": "Sjálfvalin 2 þema",
+ "DarkTheme": "Dökk Þema",
+ "DarkBlueTheme": "Dökk Blá Þema",
+ "LightTheme": "Ljós Þema",
+ "ProudToWorkWith": "Stoltur að vinna með",
+ "OurConsumers": "Þúsundir fyrirtækja og þróunaraðila yfir 70 löndum um allan heim treysta á ABP Commercial.",
+ "JoinOurConsumers": "Vertu með þeim og smíðaðu ótrúlegar vörur hratt.",
+ "AdditionalServicesExplanation": "Þarftu viðbótarþjónustu eða sérsniðna þjónustu? Við og samstarfsaðilar okkar getum veitt;",
+ "CustomProjectDevelopment": "Sérsniðin verkefnaþróun",
+ "CustomProjectDevelopmentExplanation": "Verktaar sérstaklega fyrir þín sérsniðnu verkefni",
+ "PortingExistingProjects": "Flytja núverandi verkefni",
+ "PortingExistingProjectsExplanation": "Flytja gömlu legacy verkefnin þín yfir í ABP",
+ "LiveSupport": "Stuðningur í beinni",
+ "LiveSupportExplanation": "Fjarstuðningsmöguleiki í beinni þegar þú þarft á því að halda.",
+ "Training": "Þjálfun",
+ "TrainingExplanation": "Sértæk þjálfun fyrir forritarana þína.",
+ "OnBoarding": "Byrðing",
+ "OnBoardingExplanation": "Hjálp við að setja upp þróunarumhverfin þína, CI & CD.",
+ "PrioritizedTechnicalSupport": "Forgangsröðun tæknilegs stuðnings",
+ "PremiumSupportExplanation": "Auk hins mikkla samfélagsstuðnings ABP rammans, svarar stuðningsteymi okkar tæknilegum spurningum og vandamálum viðskiptalegra notenda með mikla forgang.",
+ "SeeTheSupportOptions": "Sjá Stuðningsmöguleikar",
+ "Contact": "Hafa samband",
+ "TellUsWhatYouNeed": "Segðu okkur hvað þig vantar.",
+ "YourMessage": "Skilaboðin þín",
+ "YourFullName": "Þitt fulla nafn",
+ "EmailField": "Netfang",
+ "YourEmailAddress": "Netfangið þitt",
+ "HowMayWeHelpYou": "Hvernig getum við aðstoðað þig?",
+ "SendMessage": "Senda skilaboð",
+ "Success": "Heppnaðist",
+ "WeWillReplyYou": "Við höfum móttekið skilaboðin þín og munum hafa samband innan tíðar.",
+ "GoHome": "Fara heim",
+ "CreateLiveDemo": "Búa til Live Demo",
+ "RegisterToTheNewsletter": "Skráning á póstlista fyrir fréttabréf með upplýsingum um ABP.IO, þ.á.m. nýjar útgáfur o.s.frv..",
+ "EnterYourEmailOrLogin": "Settu inn netfangið þitt til að búa til kynningu eða Login með þínum notandareikningi.",
+ "ApplicationTemplate": "Forritssniðmát",
+ "ApplicationTemplateExplanation": "Upphafssniðmát forrits er notað til að búa til nýtt vefforrit.",
+ "EfCoreProvider": "Entity Framework (Virkar fyrir SQL Server, MySQL, PostgreSQL, Oracle og fleiri)",
+ "AlreadyIncludedInTemplateModules": "Eftirfarandi einingar eru þegar innifalin og stilltar í þessu sniðmáti:",
+ "ApplicationTemplateArchitecture": "Þetta forritasniðmát styður einnig þrepaskiptann arkitektúr þar sem UI -lag, API -lag og auðkenningarþjónusta eru líkamlega aðskild.",
+ "SeeTheGuideOrGoToTheLiveDemo": "Sjá þróunarleiðbeiningarnar fyrir tæknilegar upplýsingar um þetta sniðmát eða farðu í lifandi kynningu.",
+ "DeveloperGuide": "Þróunar leiðbeiningar",
+ "ModuleTemplate": "Sniðmát fyrir einingu",
+ "ModuleTemplateExplanation1": "Viltu búa til einingu og endurnýta í mismunandi forritum? Þetta gangsetningarsniðmát undirbýr allt til að byrja að búa til einnota forritareining eða örþjónustu .",
+ "ModuleTemplateExplanation2": "
Þú getur stutt einn eða marga UI ramma, eina eða margar gagnagrunnsveitur fyrir hverja einingu. Uppsetningarsniðmátið er stillt til að keyra og prófa eininguna þína í lágmarksforriti auk einingarinnar og samþættingarprófunarinnviða.
Sjá þróunarleiðbeiningar fyrir tæknilegar upplýsingar um þetta sniðmát.
",
+ "WithAllStyleOptions": "með öllum stílvalkostum",
+ "Demo": "Sýningardæmi",
+ "SeeAllModules": "Sjá allar einingar",
+ "ABPCLIExplanation": "ABP CLI (Command Line Interface) er skipanalínutæki til að framkvæma nokkrar algengar aðgerðir fyrir ABP byggðar lausnir.",
+ "ABPSuiteEasilyCURD": "ABP Suite er tæki sem gerir þér kleift að búa til CRUD síður auðveldlega",
+ "WeAreHereToHelp": "Við erum hérna til að Hjálpa",
+ "BrowseOrAskQuestion": "Þú getur skoðað hjálparefni okkar eða leitað í algengum spurningum, eða þú getur spurt okkur spurningar með því að nota samskiptaform .",
+ "SearchQuestionPlaceholder": "Leitaðu í algengum spurningum",
+ "WhatIsTheABPCommercial": "Hvað er ABP Commercial?",
+ "WhatAreDifferencesThanAbpFramework": "Hver er munurinn á milli open source ABP Framework og ABP Commercial?",
+ "ABPCommercialExplanation": "ABP Commercial er safn af hágæða einingum, verkfærum, þemum og þjónustu sem er byggt ofan á opnum heimildum ABP ramma . ABP Commercial er þróað og stutt af sama teymi á bak við ABP rammann.",
+ "WhatAreDifferencesThanABPFrameworkExplanation": "
ABP er einingar, þemu og ör-þjónusta þróunarramma fyrir ASP.NET Core. Það býður upp á fullkominn arkitektúr og sterka innviði til að láta þig einblína á eigin viðskiptakóða frekar en að endurtaka sjálfan þig fyrir hvert nýtt verkefni. Það er byggt á bestu starfsháttum hugbúnaðarþróunar og vinsælum tækjum sem þú þekkir nú þegar.
ABP er algjörlega ókeypis og opinn uppspretta (open source). Það býður einnig upp á ókeypis þemur og nokkrar fyrirfram byggðar einingar (t.d. auðkennisstjórnun og tenant stjórnun).
",
+ "VisitTheFrameworkVSCommercialDocument": "Farðu á eftirfarandi krækju til að fá meiri upplýsingar {1} ",
+ "ABPCommercialFollowingBenefits": "ABP Commercial bætir eftirfarandi ávinningi ofan á ABP rammann;",
+ "Professional": "Fagmannlegt",
+ "UIThemes": "UI þemur",
+ "EnterpriseModules": "Tilbúið til notkunnar fyrir stór fyrirtæki, eiginleikaríkt, forsmíðaðar forritareiningar (t.d. Identity Server stjórnun, SaaS stjórnun, tungumálastjórnun)",
+ "ToolingToSupport": "Verkfæri til að styðja við framleiðni þinnar (t.d. ABP Suite )",
+ "PremiumSupportLink": "Hágæða þjónusta",
+ "WhatDoIDownloadABPCommercial": "Hverju þarf ég að niðurhala þegar ég kaupi the ABP Commercial?",
+ "CreateUnlimitedSolutions": "Við kaup á ABP Commercial leyfinu, munt þú geta útbúið ótakmarkaðar lausnir líkt og kemur fram í Að byrja document.",
+ "ABPCommercialSolutionExplanation": "Þegar þú býrð til nýtt forrit færðu Visual Studio lausn (upphafssniðmát) byggt á óskum þínum. Sótta lausnin er með viðskiptaeiningar og þemu þegar uppsett og stillt fyrir þig. Þú getur fjarlægt fyrirfram uppsetta einingu eða bætt við annarri einingu ef þú vilt. Allar einingar og þemu eru notuð NuGet/NPM pakkar sjálfgefið.",
+ "StartDevelopWithTutorials": "Niðurhalin lausnin er vel byggð og skjalfest. Þú getur byrjað að þróa þína eigin viðskiptakóða byggt á því eftir námskeiðunum ",
+ "TryTheCommercialDemo": "Þú getur prófað kynninguna til að sjá sýnishorn af forriti sem búið var til með því að nota upphafssniðmát ABP Commercial.",
+ "HowManyProducts": "Hversu margar mismunandi vörur/lausnir get ég smíðað með ABP Commercial?",
+ "HowManyProductsExplanation": "Það eru engin takmörk fyrir því að búa til ABP verkefni. Þú getur búið til eins mörg verkefni og þú vilt, þróað og hlaðið þeim upp á mismunandi netþjóna.",
+ "HowManyDevelopers": "Hversu margir forritarar geta unnið á ABP Commercial?",
+ "HowManyDevelopersExplanation": "ABP Commercial leyfi eru á hvern verktaki. Mismunandi gerðir leyfa hafa mismunandi takmörk þróunaraðila. Hins vegar getur þú bætt fleiri forriturum við hvaða tegund leyfis sem er hvenær sem þú þarft. Sjá verðlagssíðuna fyrir tegundir leyfa, takmarkanir þróunaraðila og viðbótarkostnað verktaki.",
+ "ChangingLicenseType": "Get ég uppfært tegund leyfis síðar?",
+ "ChangingLicenseTypeExplanation": "Þú getur uppfært í hærra leyfi með því að greiða mismuninn innan virka leyfistímabilsins. Þegar þú uppfærir í hærri leyfisáætlun færðu ávinninginn af nýju áætluninni en uppfærsla leyfisins breytir ekki gildistíma leyfis. Að auki geturðu einnig bætt nýjum þróunarstólum við núverandi leyfi, sjá \"Hversu margir verktaki geta unnið á ABP auglýsingunni? \"",
+ "LicenseExtendUpgradeDiff": "Hver er munurinn á lengingu leyfis og uppfærslu?",
+ "LicenseExtendUpgradeDiffExplanation": " Framlenging: Með því að framlengja/endurnýja leyfið þitt muntu halda áfram að fá aukagjaldstuðning og fá stórar uppfærslur fyrir einingarnar og þemu. Að auki muntu geta haldið áfram að búa til ný verkefni. Og þú munt samt geta notað ABP Suite sem flýtir fyrir þróun þinni. Uppfærsla: Með því að uppfæra leyfið þitt muntu kynna þér hærri leyfisáætlun sem gerir þér kleift að fá frekari ávinning . Skoðaðu tafla til samanburðar leyfa til að athuga muninn á leyfisáætlunum. Á hinn bóginn, þegar þú uppfærir mun gildistími leyfis þíns ekki breytast! < /strong> Til að framlengja lokadagsetningu leyfis þíns þarftu að framlengja leyfið.",
+ "LicenseRenewalCost": "Hver er kostnaður við endurnýjun leyfis eftir 1 ár?",
+ "LicenseRenewalCostExplanation": "Endurnýjun (framlenging) hlutfall allra ABP Commercial leyfa er {0} af leyfislistaverði. Endurnýjunarverð staðlaða teymisleyfis er $ {1}, venjulegt viðskiptaleyfi er $ {2} og venjulegt fyrirtækjaleyfi er $ {3}. Ef þú ert þegar viðskiptavinur, skráðu þig inn á reikninginn þinn til að fara yfir tiltæk endurnýjunarverð.",
+ "HowDoIRenewMyLicense": "Hvernig endurnýi ég leyfi mitt?",
+ "HowDoIRenewMyLicenseExplanation": "Þú getur endurnýjað leyfið með því að fara á stjórnunarsíðu fyrirtækisins . Til að nýta afsláttarverð okkar fyrir snemma endurnýjun, vertu viss um að endurnýja áður en leyfið þitt rennur út. Ekki hafa áhyggjur af því að vita ekki hvenær tækifæri þínu til endurnýjunar lokast. Þú færð 2 áminningarpósta áður en áskriftin rennur út. Við sendum þau 30 dögum, 7 dögum fyrir lok.",
+ "IsSourceCodeIncluded": "Inniheldur leyfi mitt frumkóða viðskiptareininganna og þemanna?",
+ "IsSourceCodeIncludedExplanation1": "Það fer eftir tegund leyfis sem þú hefur keypt:",
+ "IsSourceCodeIncludedExplanation2": " Team : Lausnin þín notar einingar og þemu sem NuGet og NPM pakka. Það inniheldur ekki frumkóða þeirra. Þannig geturðu auðveldlega uppfært þessar einingar og þemu hvenær sem ný útgáfa er fáanleg. Hins vegar geturðu ekki fengið frumkóða mátanna og þemanna.",
+ "IsSourceCodeIncludedExplanation3": " Business/Enterprise : Auk liðsleyfisins geturðu sótt kóða hvers einingar eða þema sem þú þarft. Þú getur jafnvel fjarlægt NuGet/NPM pakkatilvísanir fyrir tiltekna einingu og bætt frumkóða þess beint við lausn þína til að breyta henni að fullu.",
+ "IsSourceCodeIncludedExplanation4": "
Með því að fá frumkóða eininganna í lausn þinni gefur þú þér hámarks frelsi til að sérsníða þá einingu. Hins vegar verður ekki hægt að uppfæra eininguna sjálfkrafa þegar ný útgáfa er gefin út.
Ekkert af leyfunum inniheldur ABP Suite frumkóða, sem er ytra tæki sem býr til kóða fyrir þig og aðstoðar til þróunar þinnar.
",
+ "ChangingDevelopers": "Get ég breytt skráðum forriturum fyrirtækisins míns í framtíðinni?",
+ "ChangingDevelopersExplanation": "Til viðbótar við að bæta nýjum verktaka við leyfi þitt geturðu einnig breytt núverandi forriturum (þú getur fjarlægt verktaka og bætt nýjum við) án aukakostnaðar.",
+ "WhatHappensWhenLicenseEnds": "Hvað gerist þegar leyfistímabilinu lýkur?",
+ "WhatHappensWhenLicenseEndsExplanation1": "ABP Commercial er eilíft leyfi . Eftir að leyfi þitt rennur út geturðu haldið áfram að þróa verkefnið þitt. Og þér er ekki skylt að endurnýja leyfið. Leyfi þínu fylgir eins árs uppfærslur og stuðningsáætlun úr kassanum. Til að halda áfram að fá nýja eiginleika, endurbætur á afköstum, villuleiðréttingar, stuðning og halda áfram að nota ABP Suite, vertu viss um að endurnýja áætlun þína á hverju ári. Þegar leyfi þitt rennur út muntu ekki geta fengið fleiri af eftirfarandi ávinningi;",
+ "WhatHappensWhenLicenseEndsExplanation2": "Þú getur ekki búið til nýjar lausnir með því að nota ABP Commercial, en þú getur haldið áfram að þróa núverandi forrit þín að eilífu.",
+ "WhatHappensWhenLicenseEndsExplanation3": "Þú munt geta fengið uppfærslur fyrir einingar og þemu í MAJOR útgáfunni þinni. Til dæmis; ef þú ert að nota v3.2.0 af einingu geturðu samt fengið uppfærslur fyrir v3.x.x (v3.3.0, v3.5.2 ... osfrv.) þeirrar einingar. En þú getur ekki fengið uppfærslur fyrir næstu stóru útgáfuna (eins og v4.x, v5.x)",
+ "WhatHappensWhenLicenseEndsExplanation4": "Þú getur ekki sett upp nýjar einingar og þemu sem bætt er við ABP Commercial eftir að leyfi þínu lýkur.",
+ "WhatHappensWhenLicenseEndsExplanation5": "Þú getur ekki notað ABP Suite.",
+ "WhatHappensWhenLicenseEndsExplanation6": "Þú getur ekki fengið úrvalsstuðninginn lengur.",
+ "WhatHappensWhenLicenseEndsExplanation7": "Þú getur endurnýjað áskriftina þína ef þú vilt halda áfram að fá þessa kosti. Ef þú endurnýjar áskriftina innan 1 mánaðar eftir að leyfi þitt rennur út, er 20% afsláttur veittur.",
+ "WhenShouldIRenewMyLicense": "Hvenær ætti ég að endurnýja leyfið mitt?",
+ "WhenShouldIRenewMyLicenseExplanation1": "Ef þú endurnýjar leyfið þitt innan 1 mánaðar eftir að leyfið þitt rennur út, er notaður 20 %afsláttur.",
+ "WhenShouldIRenewMyLicenseExplanation2": "Ef þú endurnýjar leyfið þitt eftir 1 mánuð frá því að leyfi þitt rennur út, þá verður endurnýjunarverð það sama og kaupverð leyfis og enginn afsláttur verður af endurnýjun þinni.",
+ "TrialPlan": "Ertu með prufuáætlun?",
+ "TrialPlanExplanation": "Í bili hefur ABP Commercial ekki prufuáætlun. Fyrir teymis leyfi veitum við 30 daga endurgreiðsluábyrgð. Þú getur bara óskað eftir endurgreiðslu fyrstu 30 dagana. Viðskipta- og fyrirtækjalyfið veitir 60% endurgreiðslu á 30 dögum. Þetta er vegna þess að viðskipta- og fyrirtækjaleyfi innihalda fullan kóða allra eininga og þemanna.",
+ "DoYouAcceptBankWireTransfer": "Samþykki þið bankamillifærslu?",
+ "DoYouAcceptBankWireTransferExplanation": "Já, við samþykkjum bankamillifærslu. Eftir að þú hefur sent leyfisgjaldið með millifærslu, sendu okkur kvittunina þína í tölvupósti á info@abp.io með tegund leyfis sem óskað er eftir. Alþjóðlegar bankareikningsupplýsingar okkar:",
+ "HowToUpgrade": "Hvernig á að uppfæra núverandi forrit þegar ný útgáfa er í boði?",
+ "HowToUpgradeExplanation1": "Þegar þú býrð til nýtt forrit með ABP Commercial eru allar einingarnar og þemað notað sem NuGet og NPM pakkar. Svo þú getur auðveldlega uppfært pakkana þegar ný útgáfa er fáanleg.",
+ "HowToUpgradeExplanation2": "Til viðbótar við hefðbundna NuGet/NPM uppfærslu veitir ABP CLI uppfærsluskipun sem finnur og uppfærir sjálfkrafa alla ABP tengda pakka í lausninni þinni.",
+ "DatabaseSupport": "Hvaða gagnagrunnar eru studdir?",
+ "DatabaseSupportExplanation": "ABP sjálft er óháð gagnagrunnum og getur unnið með hvaða gagnagrunni sem er. Skoðaðu gagnaaðgangsskjalið til að sjá lista yfir þá grunna sem búið er að útfæra á móti.",
+ "UISupport": "Hvaða UI umgjarðir eru studdar?",
+ "Supported": "Stutt",
+ "UISupportExplanation": "ABP sjálft er óháð UI umgjörðum og getur unnið með hvaða UI umgjörð. Hins vegar eru uppsetningarsniðmát, UI einingar og þemur ekki útfærð fyrir allar mögulegar UI umgjarðir. Sjá byrjunarskjalið fyrir uppfærða lista yfir UI valmöguleika.",
+ "MicroserviceSupport": "Styður það örþjónustu arkitektúr?",
+ "MicroserviceSupportExplanation1": "Eitt helsta markmið ABP ramma er að veita þægilega innviði til að búa til örþjónustulausnir. Skoðaðu örþjónustu arkitektúr skjalið til að skilja hvernig það hjálpar til við að búa til örþjónustu kerfi.",
+ "MicroserviceSupportExplanation2": "Allar ABP Commercial einingar eru hannaðar til að styðja við örverudreifingaraðstæður (\"microservises\") (með eigin API og gagnagrunni) með því að fylgja bestu vinnubrögðum mátþróunar .",
+ "MicroserviceSupportExplanation3": "Við bjóðum upp á sýnishorn af sýnishornalausn fyrir örþjónustu sem sýnir sýningu á örþjónustu arkitektúr til að hjálpa þér að búa til þína eigin lausn.",
+ "MicroserviceSupportExplanation4": "svo, stutta svarið er \" já, það styður örþjónustu arkitektúr \".",
+ "MicroserviceSupportExplanation5": "Hins hafa örþjónustukerfi sýnar útfærslur og mismunandi kröfur, netfræði, staðsetningarsamskipti, sannvottunarmöguleika, ákvarðanir um gagnagrunn aðskilnað/miðlun, keyrslutíma, kerfis samþættingu þriðja aðila og margt fleira.",
+ "MicroserviceSupportExplanation6": "ABP Framework og ABP Commercial bjóða upp á innviði fyrir ör-þjónustusvið, samhæfðar einingar fyrir örþjónustu, sýnishorn og skjöl til að hjálpa þér að byggja þína eigin lausn. En ekki búast við að hlaða niður draumalausninni þinni sem er fyrirfram smíðuð fyrir þig. Þú verður að skilja það og koma nokkrum hlutum saman eftir þörfum þínum.",
+ "WhereCanIDownloadSourceCode": "Hvar get ég sótt frumkóðann?",
+ "WhereCanIDownloadSourceCodeExplanation": "Þú getur halað niður kóðanum fyrir allar ABP einingar, Angular pakka og þemu í gegnum ABP Suite eða ABP CLI. Sjá Hvernig á að hlaða niður frumkóða? ",
+ "ComputerLimitation": "Hversu margar tölvur getur forritari skráð sig inn þegar hann þróar ABP?",
+ "ComputerLimitationExplanation": "Við leyfum sérstaklega {0} tölvur fyrir hvern einstakling/verktaki sem er með leyfi. Hvenær sem það er þörf fyrir verktaki til að þróa ABP Commercial á annarri vél, þá ætti að senda tölvupóst til licens@abp.io þar sem útskýrt er ástandið og við munum síðan gera viðeigandi úthlutun í kerfinu okkar.",
+ "RefundPolicy": "Ertu með endurgreiðslustefnu?",
+ "RefundPolicyExplanation": "Þú getur óskað eftir endurgreiðslu innan 30 daga frá kaupum á leyfi. Viðskipta- og fyrirtækjalyfistegundirnar hafa möguleika á niðurhalskóða og því eru endurgreiðslur ekki í boði fyrir fyrirtækið og fyrirtækið (og leyfi sem innihalda rétt til að fá frumkóða). Að auki er ekki endurgreitt fyrir endurnýjun og önnur leyfiskaup.",
+ "HowCanIRefundVat": "Hvernig get ég endurgreitt virðisaukaskatt?",
+ "HowCanIRefundVatExplanation1": "Ef þú greiddir með 2Checkout geturðu endurgreitt virðisaukaskatt með 2Checkout reikningnum þínum:",
+ "HowCanIRefundVatExplanation2": "Skráðu þig inn á 2Checkout reikninginn þinn",
+ "HowCanIRefundVatExplanation3": "Finndu viðeigandi pöntun og ýttu á „Endurgreiða vangreiddann virðisaukaskatt“ (sláðu inn VSK -auðkenni þitt)",
+ "HowCanIGetMyInvoice": "Hvernig get ég fengið reikninginn minn?",
+ "HowCanIGetMyInvoiceExplanation": "Það eru 2 greiðslugáttir fyrir kaup á leyfi: PayU og 2Checkout. Ef þú kaupir leyfið þitt í gegnum 2Checkout gateway sendir það PDF reikninginn á netfangið þitt, sjá 2Afgreiðslureikningur. Ef þú kaupir í gegnum PayU eða með bankamillifærslu munum við útbúa og senda reikninginn þinn. Þú getur beðið um reikninginn þinn á stjórnunarsíðu fyrirtækisins. ",
+ "Forum": "Spjallborð",
+ "SupportExplanation": "ABP Commercial leyfi veitir hágæða spjallstuðning frá teymi sem samanstendur af sérfræðingum ABP Framework.",
+ "PrivateTicket": "Einkamiði",
+ "PrivateTicketExplanation": "Fyrirtækja leyfi inniheldur einnig einkaaðstoð með tölvupósti og miðakerfi.",
+ "AbpSuiteExplanation1": "ABP Suite gerir þér kleift að byggja vefsíður á örfáum mínútum. Það er .NET Core Global tól sem hægt er að setja upp frá skipanalínunni.",
+ "AbpSuiteExplanation2": "Það getur búið til nýja ABP lausn, búið til CRUD síður úr gagnagrunninum í framendann. Fyrir tæknilegt yfirlit, sjá skjalið ",
+ "FastEasy": "Fljótlegt og auðvelt",
+ "AbpSuiteExplanation3": "ABP Suite gerir þér kleift að búa til CRUD síður auðveldlega. Þú þarft bara að skilgreina einingu þína og eiginleika hennar, leyfðu ABP Suite að gera restina fyrir þig! ABP Suite býr til alla nauðsynlega kóða fyrir CRUD síðuna þína á nokkrum sekúndum. Það styður notendaviðmót Angular, MVC og Blazor.",
+ "RichOptions": "Ríkt af valkostum",
+ "AbpSuiteExplanation4": "ABP Suite styður marga notendaviðmótvalkosti fyrir UI eins og t.d Razor Pages og Angular . Það styður einnig marga gagnagrunna eins og MongoDB og alla gagnagrunna studda af EntityFramework Core (MS SQL Server, Oracle, MySql, PostgreSQL og meira ).",
+ "AbpSuiteExplanation5": "Það góða er að þú þarft ekki að hafa áhyggjur af þessum valkostum. ABP Suite skilur gerð verkefnis þíns og býr til kóða fyrir verkefnið þitt og setur kóðann sem er búinn til á réttan stað í verkefninu.",
+ "SourceCode": "Frumkóði",
+ "AbpSuiteExplanation6": "ABP Suite býr til kóðann fyrir þig! Það býr ekki til töfraskrár til að búa til vefsíðuna. ABP Suite býr til frumkóða fyrir einingu, geymslu, umsóknarþjónustu, flutning kóða fyrst, JavaScript/TypeScript og CSHTML/HTML og nauðsynleg tengi líka. ABP Suite býr einnig til kóðann í samræmi við Best Practices hugbúnaðarþróunar, þannig að þú þarft ekki að hafa áhyggjur af gæðum kóðans.",
+ "AbpSuiteExplanation7": "Þar sem þú ert með frumkóða byggingareiningana í CRUD síðunni, skipt upp í forritalög geturðu auðveldlega breytt frumkóðanum og bætt við sérsniðnu virkninni þinn.",
+ "CrossPlatform": "Cross Platform",
+ "AbpSuiteExplanation8": "ABP Suite er byggt með .NET Core og það er Cross Platform. Það keyrir sem vefforrit á tölvunni þinni. Þú getur keyrt það á Windows , Mac og Linux ",
+ "OtherFeatures": "Aðrir valmöguleikar",
+ "OtherFeatures1": "Uppfærir NuGet og NPM pakka á lausn þína auðveldlega.",
+ "OtherFeatures2": "Endurgerir þegar tilbúnar síður frá grunni.",
+ "OtherFeatures3": "Býr til nýjar lausnir",
+ "ThanksForCreatingProject": "Takk fyrir að búa til verkefnið þitt!",
+ "HotToRunSolution": "Hvernig á að keyra lausnina þína?",
+ "HotToRunSolutionExplanation": "Sjá byrjunarskjal til að læra hvernig á að stilla og keyra lausnina þína.",
+ "GettingStarted": "Byrja",
+ "WebAppDevTutorial": "Kennsla í vefforritum",
+ "WebAppDevTutorialExplanation": "Sjá kennslu skjal fyrir vefforrit til að fá skref fyrir skref kennslu í þróun.",
+ "Document": "Skjal",
+ "UsingABPSuiteToCURD": "Notkun ABP Suite fyrir CRUD síðugerð og verkfæri",
+ "SeeABPSuiteDocument": "Sjá ABP Suite skjal til að læra notkun ABP Suite.",
+ "AskQuestionsOnSupport": "Þú getur spurt spurninga um ABP Commercial á stuðningssíðunni.",
+ "Documentation": "Skjölun",
+ "SeeModulesDocument": "Sjá skjal yfir einingar fyrir lista yfir allar commercial (pro) einingar og skjöl þeirra.",
+ "Pricing": "Verðlagning",
+ "PricingExplanation": "Veldu þá eiginleika og virkni sem fyrirtækið þitt þarfnast í dag. Uppfærðu auðveldlega þegar fyrirtæki þitt vex.",
+ "Team": "Teymi",
+ "Business": "Fyrirtækið",
+ "Enterprise": "Enterprise",
+ "Custom": "Sérsnið",
+ "IncludedDeveloperLicenses": "Innifalin þróunarleyfi",
+ "CustomLicenceOrAdditionalServices": "Þarftu sérsniðið leyfi eða viðbótarþjónustu?",
+ "CustomOrVolumeLicense": "Sérsniðið eða fjölda leyfi",
+ "LiveTrainingSupport": "Þjálfun í vbeinni og stuðningur",
+ "AndMore": "og fleira",
+ "AdditionalDeveloperLicense": "Auka þróunarleyfi",
+ "ProjectCount": "Fjöldi verkefna",
+ "AllProModules": "Allar pro einingar",
+ "AllProThemes": "Allar pro þemur",
+ "AllProStartupTemplates": "Öll pro upphafssniðmát",
+ "SourceCodeOfAllModules": "Frumkóði fyrir allar einingar",
+ "SourceCodeOfAllThemes": "Frumkóði fyrir allar þemur",
+ "PerpetualLicense": "Ævarandi leyfi",
+ "UnlimitedServerDeployment": "Ótakmörkuð dreifing á þjóna",
+ "YearUpgrade": "1 árs uppfærsla",
+ "YearPremiumForumSupport": "1 árs aðgangur að þjónustu spjallborði",
+ "ForumSupportIncidentCountYear": "Fjöldi stuðnings atburða/ár",
+ "PrivateTicketEmailSupport": "Persónuleg þjónustu mál og netfangs aðstoð",
+ "BuyNow": "Kaupa núna",
+ "PayViaAmexCard": "Hvernig get ég greitt með AMEX kortinu mínu?",
+ "PayViaAmexCardDescription": "Sjálfgefna greiðslugáttin 'Iyzico' getur hafnað sumum AMEX kreditkortum vegna öryggisráðstafana. Í þessu tilfelli geturðu greitt í gegnum aðra greiðslugáttina '2Checkout'.",
+ "ThankYou": "Takk fyrir",
+ "InvalidReCaptchaErrorMessage": "Villa kom upp við að staðfesta reCAPTCHA. Vinsamlegast reyndu aftur.",
+ "CompanyName": "Nafn fyrirtækis",
+ "YourCompanyName": "Nafn fyrirtækis þíns",
+ "FirstName": "Fornafn",
+ "LastName": "Eftirnafn",
+ "Optional": "Valfrjálst",
+ "YourFirstName": "Fornafn þitt",
+ "YourLastName": "Eftirnafnið þitt",
+ "SpecialOffer": "Sérstakt tilboð",
+ "SpecialOfferMessage": "Flýttu þér! Verð gilda í takmarkaðan tíma.",
+ "DiscountRequest": "Afsláttarbeiðni",
+ "DiscountRequestDescribeCustomerQuestion": "Hvert af eftirfarandi lýsir þér best?",
+ "DiscountRequestStudentEmailMessage": "Netfang verður að innihalda 'edu'.",
+ "DiscountRequestDeveloperCount": "Hversu margir forritarar eru þið?",
+ "DiscountRequestDeveloperCountExceedMessage": "Við veitum ekki afsláttarleyfi fyrir fyrirtæki sem eru með yfir {0} forritara.",
+ "DiscountRequestOrganizationName": "Fyrirtæki/stofnun/skólanafn",
+ "Website": "Vefur",
+ "GithubUsername": "GitHub notandanafn",
+ "PhoneNumber": "Símanúmer",
+ "Country": "Land",
+ "DescribeABPCommercialUsage": "Lýstu verkefninu sem þú ætlar að þróa út frá APB Commercial",
+ "DiscountRequestCertifyInformationMessage": "Ég staðfesti að allar upplýsingar eru sannar og réttar.",
+ "DiscountRequestReceived": "Við höfum fengið beiðni þína um afslátt.",
+ "DiscountRequestStatusMessage": "Við munum svara þér eftir að hafa skoðað upplýsingarnar sem þú hefur veitt.",
+ "MVCOrRazorPages": "MVC (Razor Pages)",
+ "Angular": "Angular",
+ "Blazor": "Blazor",
+ "New": "Nýtt",
+ "MongoDB": "MongoDB",
+ "EBookDDD": "Rafbók um Domain Driven Design",
+ "PracticalGuideForImplementingDDD": "Þessi bók er hagnýtur leiðarvísir um innleiðingu DDD hönnun með ABP.",
+ "IntroducingDDD": "Kynning á Domain Driven Design",
+ "DDDLayersAndCleanArchitecture": "DDD lög & Clean Architecture",
+ "LayeringOfADotnetSolution": "Lagskipti .NET lausnar",
+ "ImplementingDDDBuildingBlocks": "Útfærsla DDD byggingareininga",
+ "DomainVsApplicationLogic": "Domain Logic vs Application Logic",
+ "SamplesAndDiscussions": "Dæmi og umræður",
+ "Free": "Gjaldfrjáls",
+ "Download": "Hlaða niður",
+ "DDDEBook": "DDD rafbók",
+ "ImplementingDDD": "Útfæra Domain Driven Design",
+ "DDDBookExplanation": "Hagnýt handbók til að útfæra DDD hönnun með ABP ramma.",
+ "Overview": "Yfirlit",
+ "DDDBookPracticalGuide": "Þetta er hagnýtur leiðarvísir til að útfæra Domain Driven Design (DDD). Þó að upplýsingar um útfærsluna byggi á innviðum ABP, þá eiga kjarnahugtök, meginreglur og mynstur við hvers konar lausn, jafnvel þó að það sé ekki .NET lausn.",
+ "TableOfContents": "Efnisyfirlit",
+ "IntroductionToImplementingDDD": "Inngangur að útfærslu DDD hönnunar",
+ "WhatIsDDD": "Hvað er Domain Driven Design?",
+ "Implementation": "Útfærsla",
+ "TheBigPicture": "Stóra myndin",
+ "TheBuildingBlock": "Byggingar einingarnar",
+ "ExampleUseCase": "Dæmi um notkunartilfelli",
+ "DomainAndApplicationLogic": "Domain Logic & Application Logic",
+ "Author": "Höfundur",
+ "PublishedOn": "Útgéfið",
+ "Page": "Síða",
+ "FreeEBook": "Frí rafbókina",
+ "EBookSignInForDownload": "Til að sækja rafbókina skráðu þig inn",
+ "SignIn": "Innskrá",
+ "Or": "Eða",
+ "TellUsAboutYourself": "Segðu okkur svolítið frá þér",
+ "Surname": "Eftirnafn",
+ "DoYouAgreePrivacyPolicy": "Ég samþykki skilmála og skilyrði og persónuverndarstefnu .",
+ "VolosoftMarketingInformationMessage": "Ég vil fá upplýsingar, ábendingar og tilboð um lausnir fyrir fyrirtæki og stofnanir og aðrar vörur og þjónustu Volosoft.",
+ "VolosoftSharingInformationMessage": "Ég vil að Volosoft deili upplýsingum mínum með völdum samstarfsaðilum svo ég geti fengið viðeigandi upplýsingar um vörur þeirra og þjónustu.",
+ "WeWillSendYouADownloadLink": "Tengill til að hlaða niður rafbókinni hefur verið sendur á {0}. Athugaðu pósthólfið / rusl / ruslpóstsboxin þín!",
+ "InvalidFormInputs": "Vinsamlegast sláðu inn gildar upplýsingar sem tilgreindar eru á eyðublaðinu.",
+ "DDDBookEmailBody": "Þakka þér fyrir. Til að hlaða niður bókinni þinni, smelltu hér .",
+ "FreeDDDEBook": "Frí DDD rafbók",
+ "StartFree": "Byrjaðu ókeypis",
+ "FreeTrial": "Ókeypis prufa",
+ "AcceptsMarketingCommunications": " Já, ég vil fá ABP Commercial markaðsefni.",
+ "PurposeOfUsage": "Tilgangur með notkun",
+ "Industry": "Iðnaður",
+ "Choose": "- Velja -",
+ "CompanyOrganizationName": "Nafn Fyrirtækis / Stofnunar",
+ "CompanySize": "Stærð Fyrirtækis",
+ "Next": "Næsta",
+ "StartTrial": "Byrjaðu ókeypis prufuáskriftina mína",
+ "ContactUsIssues": "Hafðu samband við okkur ef þú hefur einhver vandamál",
+ "TrialActivatedWarning": "Kæri {0}, notandi á rétt á aðeins 1 ókeypis prufutíma. Þú hefur þegar notað prufutíma þinn.",
+ "ActivationRequirement": "Þú ert einu skrefi frá því að hefja ókeypis prufuáskriftina. Við höfum sent tölvupóst til {0} til að virkja reikninginn þinn. Athugaðu pósthólfið þitt/rusl/ruslpóstsboxin!",
+ "SaveAndDownload": "Vista og hala niður",
+ "CompanyNameValidationMessage": "Nafn fyrirtækis er of langt!",
+ "AddressValidationMessage": "Heimilisfang er of langt!",
+ "TaxNoValidationMessage": "SKATTA/VSK númber er of langt!",
+ "NotesValidationMessage": "Skýringareiturinn er of langur!",
+ "CheckYourBillingInfo": "Þú getur aðeins búið til reikninginn þinn einu sinni! Athugaðu innheimtuupplýsingar þínar áður en þú býrð til reikninginn þinn.",
+ "Volo.AbpIo.Commercial:030000": "Þú hefur þegar notað prufutíma þinn.",
+ "Volo.AbpIo.Commercial:030001": "Þetta nafn fyrirtækis er þegar til.",
+ "StartYourFreeTrial": "Byrjaðu ókeypis prufuáskrift",
+ "TrialLicenseModelInvalidErrorMessage": "Einn af eftirfarandi reitum er ógildur: heiti lands, stærð fyrirtækis, iðnaður eða tilgangur notkunar.",
+ "Trial": "Prufu aðgangur",
+ "Purchased": "Keypt",
+ "PurchaseLicense": "Keypt leyfi",
+ "PurchaseTrialLicenseMessage": "Gildistími leyfis þíns er {0}. Ef þú vilt halda áfram að nota verkefnin sem þú bjóst til á ókeypis prufutímabilinu þarftu að breyta leyfislyklunum í appsettings.secrets.json skránni þinn. Hér er leyfislykillinn þinn:",
+ "TrialLicenseExpireMessage": "Þú ert að nota prufuleyfið og prufuleyfið rennur út {0}.",
+ "TryForFree": "Prófaðu ókeypis",
+ "TrialLicenseExpiredInfo": "Prófunartímabil þitt er útrunnið!"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
index c07678b890..edae77a046 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/tr.json
@@ -98,6 +98,7 @@
"WeWillSendYouADownloadLink": "{0} adresine email gönderilmiştir.",
"InvalidFormInputs": "Lütfen formda belirtilen geçerli bilgileri yazınız.",
"DDDBookEmailBody": "Teşekkürler. Kitabı indirmek için, buraya tıklayınız.",
- "FreeDDDEBook": "Ücretsiz DDD E-Kitap"
+ "FreeDDDEBook": "Ücretsiz DDD E-Kitap",
+ "CommercialNewsletterConfirmationMessage": "Şartlar, Koşullar ve Gizlilik politikasını kabul ediyorum."
}
}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
index ac5e247264..7dddad6580 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
@@ -230,7 +230,7 @@
"HowCanIRefundVatExplanation2": "登录到你的2Checkout账户",
"HowCanIRefundVatExplanation3": "找到适当的订单,然后按\"退还已延期的增值税\"(输入你的增值税ID",
"HowCanIGetMyInvoice": "我如何获得发票?",
- "HowCanIGetMyInvoiceExplanation": "有两个用于购买许可的支付网关:PayU和2Checkout. 如果你通过2Checkout网关购买许可,则它将PDF发票发送到你的电子邮件地址,请参阅2Checkout发票.如果你是通过PayU网关或通过银行电汇购买的,我们将准备并发送你的发票. 你可以从组织管理页面索取发票.",
+ "HowCanIGetMyInvoiceExplanation": "有两个用于购买许可的支付网关:Iyzico和2Checkout. 如果你通过2Checkout网关购买许可,则它将PDF发票发送到你的电子邮件地址,请参阅2Checkout发票.如果你是通过Iyzico网关或通过银行电汇购买的,我们将准备并发送你的发票. 你可以从组织管理页面索取发票.",
"Forum": "论坛",
"SupportExplanation": "ABP商业版许可包含由ABP框架专家组成的团队提供的高级论坛支持.",
"PrivateTicket": "私有票",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
index 80fed13066..137079c16a 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hant.json
@@ -228,7 +228,7 @@
"HowCanIRefundVatExplanation2": "登錄到你的2Checkout賬戶",
"HowCanIRefundVatExplanation3": "找到適當的訂單,然後按\"退還已延期的增值稅\"(輸入你的增值稅ID",
"HowCanIGetMyInvoice": "我如何獲得發票?",
- "HowCanIGetMyInvoiceExplanation": "有兩個用於購買許可的支付網關:PayU和2Checkout. 如果你通過2Checkout網關購買許可,則它將PDF發票發送到你的電子郵件地址,請參閱2Checkout發票.如果你是通過PayU網關或通過銀行電匯購買的,我們將準備並發送你的發票. 你可以從組織管理頁面索取發票.",
+ "HowCanIGetMyInvoiceExplanation": "有兩個用於購買許可的支付網關:Iyzico和2Checkout. 如果你通過2Checkout網關購買許可,則它將PDF發票發送到你的電子郵件地址,請參閱2Checkout發票.如果你是通過Iyzico網關或通過銀行電匯購買的,我們將準備並發送你的發票. 你可以從組織管理頁面索取發票.",
"Forum": "論壇",
"SupportExplanation": "ABP商業版許可包含由ABP框架專家組成的團隊提供的高級論壇支持.",
"PrivateTicket": "私有票",
@@ -319,4 +319,4 @@
"MongoDB": "MongoDB"
}
-}
\ No newline at end of file
+}
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
index 7be579f1fb..2da4a62481 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
@@ -1,4 +1,4 @@
-{
+{
"culture": "en",
"texts": {
"Permission:CommunityArticle": "Community Article",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/is.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/is.json
new file mode 100644
index 0000000000..a4a3337ef5
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/is.json
@@ -0,0 +1,147 @@
+{
+ "culture": "is",
+ "texts": {
+ "Permission:CommunityArticle": "Samfélagsgreinar",
+ "Permission:Edit": "Breyta",
+ "Waiting": "Bíð",
+ "Approved": "Samþykkt",
+ "Rejected": "Hafnað",
+ "Wait": "Bíddu",
+ "Approve": "Samþykkja",
+ "Reject": "Hafna",
+ "ReadArticle": "Lesa grein",
+ "Status": "Staða",
+ "ContentSource": "Efnisuppspretta",
+ "Details": "Nákvæmar upplýsingar",
+ "Url": "Slóð",
+ "Title": "Titill",
+ "CreationTime": "Sköpunartími",
+ "Save": "Vista",
+ "SameUrlAlreadyExist": "Sama slóð er þegar til ef þú vilt bæta þessari grein við, þú ættir að breyta slóðinni!",
+ "UrlIsNotValid": "slóð er ekki gilt.",
+ "UrlNotFound": "slóð fannst ekki.",
+ "UrlContentNotFound": "efni á slóð fannst ekki.",
+ "Summary": "Samantekt",
+ "MostRead": "Mest lesið",
+ "Latest": "Nýjast",
+ "ContributeAbpCommunity": "Leggðu þitt af mörkum til ABP samfélagsins",
+ "SubmitYourArticle": "Sendu inn færsluna þína",
+ "ContributionGuide": "Leiðbeiningar fyrir framlög",
+ "BugReport": "Tilkynna galla",
+ "SeeAllArticles": "Sjá allar greinar",
+ "WelcomeToABPCommunity!": "Velkomin í ABP samfélagið!",
+ "MyProfile": "Minn prófíll",
+ "MyOrganizations": "Skipulagsheildirnar mínar",
+ "EmailNotValid": "Sláðu inn gilt netfang.",
+ "FeatureRequest": "Ósk um nýja virkni",
+ "CreateArticleTitleInfo": "Heiti færslunnar sem birtist á póstlistanum.",
+ "CreateArticleSummaryInfo": "Stutt samantekt á færslunni sem birtist á póstlistanum.",
+ "CreateArticleCoverInfo": "Til að búa til áhrifaríka grein skaltu bæta við forsíðumynd. Hladdu upp 16: 9 myndhlutföllum fyrir besta útsýnið. Hámarks skráarstærð: 1MB.",
+ "ThisExtensionIsNotAllowed": "Þessi viðbót er ekki leyfð.",
+ "TheFileIsTooLarge": "Skráin er of stór.",
+ "GoToTheArticle": "Farðu í greinina",
+ "Contribute": "Leggðu þitt af mörkum",
+ "OverallProgress": "Heildarframfarir",
+ "Done": "Búið",
+ "Open": "Opin",
+ "Closed": "Lokuð",
+ "LatestQuestionOnThe": "Nýjasta spurningin um",
+ "Stackoverflow": "Stackoverflow",
+ "Votes": "atkvæði",
+ "Answer": "Svör",
+ "Views": "lesningar",
+ "Answered": "Svarað",
+ "WaitingForYourAnswer": "Bíð eftir svari þínu",
+ "Asked": "spurt",
+ "AllQuestions": "Allar spurningar",
+ "NextVersion": "Næsta útgáfa",
+ "MilestoneErrorMessage": "Gat ekki fengið upplýsingar um núverandi mílusteina frá Github..",
+ "QuestionItemErrorMessage": "Ekki var hægt að fá nýjustu upplýsingar um spurningu frá Stackoverflow.",
+ "Oops": "Úbbs!",
+ "CreateArticleSuccessMessage": "Greininni hefur verið skilað. Hún verður birt eftir yfirferð frá vefstjóra.",
+ "ChooseCoverImage": "Veldu forsíðumynd...",
+ "CoverImage": "Forsíðumynd",
+ "ShareYourExperiencesWithTheABPFramework": "Deildu reynslu þinni af ABP!",
+ "Optional": "Valkvæmt",
+ "UpdateUserWebSiteInfo": "Dæmi: https://johndoe.com",
+ "UpdateUserTwitterInfo": "Dæmi: johndoe",
+ "UpdateUserGithubInfo": "Dæmi: johndoe",
+ "UpdateUserLinkedinInfo": "Dæmi: https://www.linkedin.com/...",
+ "UpdateUserCompanyInfo": "Dæmi: Volosoft",
+ "UpdateUserJobTitleInfo": "Dæmi: Software Developer",
+ "UserName": "Notandanafn",
+ "Company": "Fyrirtæki",
+ "PersonalWebsite": "Persónuleg heimasíða",
+ "RegistrationDate": "Skráningardagsetning",
+ "Social": "Samfélagsmiðlar",
+ "Biography": "Æviágrip ",
+ "HasNoPublishedArticlesYet": "hefur engar birtar greinar ennþá",
+ "Author": "Höfundur",
+ "LatestGithubAnnouncements": "Nýjustu Github tilkynningar",
+ "SeeAllAnnouncements": "Sjá allar tilkynningar",
+ "LatestBlogPost": "Nýjastu bloggfærslurnar",
+ "Edit": "Breyta",
+ "ProfileImageChange": "Breyttu prófílmyndinni",
+ "BlogItemErrorMessage": "Gat ekki fengið nýjustu upplýsingar um bloggfærslur frá ABP.",
+ "PlannedReleaseDate": "Fyrirhugaður útgáfudagur",
+ "CommunityArticleRequestErrorMessage": "Gat ekki fengið nýjustu greinabeiðnina frá Github.",
+ "ArticleRequestFromGithubIssue": "Það eru engar greinarbeiðnir núna.",
+ "LatestArticles": "Nýjustu færslur",
+ "ArticleRequests": "Greinarbeiðnir",
+ "AllArticleRequests": "Sjá allar greinarbeiðnir",
+ "SubscribeToTheNewsletter": "Gerast áskrifandi að Fréttabréfinu",
+ "NewsletterEmailDefinition": "Fáðu upplýsingar um atburði í ABP eins og nýjar útgáfur, ókeypis heimildir, greinar og fleira.",
+ "NoThanks": "Nei, takk",
+ "MaybeLater": "Kannski seinna",
+ "JoinOurArticleNewsletter": "Vertu með í greina fréttabréfi okkar",
+ "Community": "Samfélag",
+ "Marketing": "Markaðsmál",
+ "CommunityPrivacyPolicyConfirmation": "Ég samþykki skilmálana og Persónuverndarstefnu y.",
+ "ArticleRequestMessageTitle": " á GitHub til að biðja um grein/námskeið sem þú vilt sjá á þessum vef.",
+ "ArticleRequestMessageBody": "Hér er listi yfir umbeðnar greinar samfélagsins. Viltu skrifa umbeðna grein? Vinsamlegast smelltu á beiðnina og taktu þátt í umræðunni.",
+ "Language": "Tungumál",
+ "CreateArticleLanguageInfo": "Tungumálið fyrir innihald færslunnar.",
+ "VideoPost": "Video færslur",
+ "Article": "Grein",
+ "Read": "Lesa",
+ "CreateGithubArticleUrlInfo": "Upprunaleg GitHub vefslóð greinarinnar.",
+ "CreateVideoContentUrlInfo": "Upprunaleg Youtube vefslóð færslunnar.",
+ "CreateExternalArticleUrlInfo": "Upprunaleg ytri slóð greinarinnar.",
+ "VideoContentForm": "Sendu myndband á YouTube",
+ "GithubPostForm": "Sendu grein um GitHub",
+ "ExternalPostForm": "Sendu inn ytra efni",
+ "HowToPost": "Hvernig á að birta?",
+ "Posts": "Færslur",
+ "VideoUrl": "Videó slóð",
+ "GithubArticleUrl": "Github greina slóð",
+ "ExternalArticleUrl": "Ytri slóð á grein",
+ "CreatePostCoverInfo": "Til að búa til áhrifaríka færslu skaltu bæta við forsíðumynd. Hladdu upp 16: 9 myndhlutföllum fyrir besta útsýnið. Hámarks skráarstærð: 1MB.",
+ "ThankYouForContribution": "Þakka þér fyrir að leggja þitt af mörkum til ABP samfélagsins.",
+ "GithubArticle": "Github Greinar",
+ "GithubArticleSubmitStepOne": " 1. Skrifaðu grein á hvaða opinbera GitHub geymslu sem er með markdown sniðinu. dæmi ",
+ "GithubArticleSubmitStepTwo": "2. Sendu vefslóð greinarinnar með því að nota formið.",
+ "GithubArticleSubmitStepThree": "3. Grein þín verður birt á þessari vefsíðu.",
+ "YoutubeVideo": "Youtube Videó",
+ "YoutubeVideoSubmitStepOne": "1. Birtu myndbandið þitt á YouTube.",
+ "YoutubeVideoSubmitStepTwo": "2. Sendu vefslóð vídeós með því að nota formið.",
+ "YoutubeVideoSubmitStepThree": "3. Gestir geta horft á myndskeiðið þitt beint á þessari vefsíðu.",
+ "ExternalContent": "Ytra efni",
+ "ExternalContentSubmitStepOne": "1. Búðu til efni á hvaða opinbera vettvang sem er (miðill, þitt eigið blogg eða hvar sem þér líkar).",
+ "ExternalContentSubmitStepTwo": "2. Sendu inn vefslóðina þína með því að nota eyðublaðið.",
+ "ExternalContentSubmitStepThree": "3. Gestum er vísað á innihaldið á upphaflegu vefsíðunni.",
+ "ChooseYourContentType": "Vinsamlegast veldu hvernig þú vilt bæta við efninu þínu.",
+ "PostContentViaGithub": "Ég vil bæta við greininni minni með GitHub í samræmi við markdown reglurnar.",
+ "PostContentViaYoutube": "Ég vil deila myndböndunum mínum sem eru fáanleg á Youtube hér.",
+ "PostContentViaExternalSource": "Ég vil bæta við innihaldi sem ég birti á annan vettvang hér.",
+ "GitHubUserNameValidationMessage": "Github notendanafnið þitt getur ekki innihaldið bil, vinsamlegast vertu viss um að Github notendanafnið þitt sé rétt.",
+ "PersonalSiteUrlValidationMessage": "Persónulega vefslóð þín getur ekki innihaldið bil, vinsamlegast vertu viss um að vefsíða þín sé rétt.",
+ "TwitterUserNameValidationMessage": "Twitter notandanafnið þitt getur ekki innihaldið bil, vinsamlegast vertu viss um að Twitter notendanafnið þitt sé rétt.",
+ "LinkedinUrlValidationMessage": "YLinkedin slóðin þín getur ekki innihaldið bil, vinsamlegast vertu viss um að Linkedin slóðin þín sé rétt.",
+ "NoPostsFound": "Engar færslur fundust!",
+ "SearchInPosts": "Leitaðu í færslum...",
+ "MinimumSearchContent": "Þú verður að slá inn að minnsta kosti 3 stafi!",
+ "Volo.AbpIo.Domain:060001": "Upprunaslóð (\"{ArticleUrl} \") er ekki Github slóð",
+ "Volo.AbpIo.Domain:060002": "Innihald greinar er ekki fáanlegt frá Github (\"{ArticleUrl} \") resoursum.",
+ "Volo.AbpIo.Domain:060003": "Innihald greinar fannst ekki!"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/ro-RO.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/ro-RO.json
index 7b93754482..4c78f15d99 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/ro-RO.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/ro-RO.json
@@ -1,4 +1,4 @@
-{
+{
"culture": "ro-RO",
"texts": {
"Permission:CommunityArticle": "Articol comunitar",
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/is.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/is.json
new file mode 100644
index 0000000000..b845ac772a
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/is.json
@@ -0,0 +1,278 @@
+{
+ "culture": "is",
+ "texts": {
+ "GetStarted": "Byrjaðu - gangsetningarsniðmát",
+ "Create": "Búa til",
+ "NewProject": "Nýtt verkefni",
+ "DirectDownload": "Beint niðurhal",
+ "ProjectName": "Nafn verkefnis",
+ "ProjectType": "Tegund verkefnis",
+ "DatabaseProvider": "Gagnagrunns veitandi",
+ "DatabaseManagementSystem": "Stjórnunarkerfi gagnagrunns",
+ "NTier": "Marga laga högun",
+ "IncludeUserInterface": "Hafa notendaviðmót með",
+ "CreateNow": "Búa til núna",
+ "TheStartupProject": "Upphafsverkefnið",
+ "Tutorial": "Kennsla",
+ "UsingCLI": "Nota CLI",
+ "SeeDetails": "Sjá meira",
+ "AbpShortDescription": "ABP Framework hefur fullkomna innviði til að búa til nútímaleg vefforrit með því að fylgja bestu starfsháttum og venjum hugbúnaðarþróunar.",
+ "SourceCodeUpper": "FRUMKÓÐI",
+ "LatestReleaseLogs": "Nýjustu útgáfuupplýsingar",
+ "Infrastructure": "Innviðir",
+ "Architecture": "Arkitektúr",
+ "Modular": "Einingarhögun",
+ "DontRepeatYourself": "Ekki endurtaka sjálfan þig ",
+ "DeveloperFocused": "Hannað með forritara í huga",
+ "FullStackApplicationInfrastructure": "Heilstæð innviða uppsetning.",
+ "DomainDrivenDesign": "Domain Driven Design",
+ "DomainDrivenDesignExplanation": "Hannað og þróað út frá DDD mynstri og meginreglum. Veitir lagskipt líkan fyrir forritið þitt.",
+ "Authorization": "Heimild",
+ "AuthorizationExplanation": "Fullkomin leyfis virkni fyrir notanda, hlutverk og fínkornuðu leyfiskerfi. Byggt á Microsoft Identity safninu.",
+ "MultiTenancy": "Fjölleigu möguleikar",
+ "MultiTenancyExplanationShort": "SaaS hugbúnaður auðveldaður! Innbyggðir fjöleigu möguleikar frá gagnagrunni alla leið upp í viðmót.",
+ "CrossCuttingConcerns": "Þverskurðar áhyggjur",
+ "CrossCuttingConcernsExplanationShort": "Heillstæðir innviðir fyrir fyrir heimildir, gildingu, villu meðhöndlun, skyndiminni, úttektaskráningu, færsluyfirlit og fleira.",
+ "BuiltInBundlingMinification": "Innbyggð virkni til að draga saman og minnka",
+ "BuiltInBundlingMinificationExplanation": "Engin þörf á að nota ytri tól til að setja saman og minnka. ABP býður upp á einfaldari, kraftmikill, öflugan, mátanlegan og innbyggðan hátt!",
+ "VirtualFileSystem": "Sýndarskráarkerfi",
+ "VirtualFileSystemExplanation": "Innfella síður, forskriftir, stíl, myndir ... í pakka/söfn og endurnýta þau í mismunandi forritum.",
+ "Theming": "Þemur",
+ "ThemingExplanationShort": "Notaðu eða áttu við stöðluðu þemunni sem er byggð á bootstrap eða búðu til þína eigin.",
+ "BootstrapTagHelpersDynamicForms": "Bootstrap Tag Helpers & Dynamic Forms",
+ "BootstrapTagHelpersDynamicFormsExplanation": "Í stað þess að skrifa handvirkt að endurtaka upplýsingar um bootstrap íhluti, notaðu ABP's tag helpers til að einfalda það og nýta intellisense. Smíðaðu fljótt UI eyðublöð byggð á C# líkani með kraftmiklu formmerki hjálparanum.",
+ "HTTPAPIsDynamicProxies": "HTTP APIs og Dynamic Proxies",
+ "HTTPAPIsDynamicProxiesExplanation": "Sýndu forritunarþjónustuna sjálfkrafa sem HTTP API í REST -stíl og neyttu þær með kraftmiklu JavaScript og C# proxies.",
+ "CompleteArchitectureInfo": "Nútíma arkitektúr til að búa til viðhaldsvænar hugbúnaðarlausnir.",
+ "DomainDrivenDesignBasedLayeringModelExplanation": "Hjálpar þér að innleiða DDD lagskiptann arkitektúr og byggja upp viðhaldlegan kóða grunn.",
+ "DomainDrivenDesignBasedLayeringModelExplanationCont": "Veitir upphafssniðmát, útdrátt, grunnflokka, þjónustu, skjöl og leiðbeiningar til að hjálpa þér að þróa forritið þitt út frá DDD mynstri og meginreglum.",
+ "MicroserviceCompatibleModelExplanation": "Kjarnaramminn og forsmíðuðu einingarnar eru hannaðar með örþjónustu arkitektúr í huga.",
+ "MicroserviceCompatibleModelExplanationCont": "Býður upp á innviði, samþættingar, sýnishorn og skjöl til að innleiða örþjónustulausnir auðveldara, en það bætir ekki við flækjustigið ef þú vilt búa til 'monolith'.",
+ "ModularInfo": "ABP býður upp á einingarkerfi sem gerir þér kleift að þróa endurnýtanlegar forritareiningar, binda sig við lífsferilsviðburði forrita og tjá ósjálfstæði milli kjarnahluta kerfisins.",
+ "PreBuiltModulesThemes": "Forsmíðaðar einingar og þemur",
+ "PreBuiltModulesThemesExplanation": "Opinn hugbúnaður og viðskiptaeiningar og þemur eru tilbúinar til notkunar í viðskiptaforritinu þínu.",
+ "NuGetNPMPackages": "NuGet og NPM Pakkar",
+ "NuGetNPMPackagesExplanation": "Dreift sem NuGet & NPM pakkar. Auðvelt að setja upp og uppfæra.",
+ "ExtensibleReplaceable": "Stækkanlegt/Útskiptanlegt",
+ "ExtensibleReplaceableExplanation": "Öll þjónusta og einingar eru hannaðar með viðbætur í huga. Þú getur skipt um þjónustu, síður, stíl og íhluti.",
+ "CrossCuttingConcernsExplanation2": "Haltu kóðagrunni þínum minni svo þú getir haldið einbeitingu á kóðannum sem skiptir fyrirtækinu þínu máli.",
+ "CrossCuttingConcernsExplanation3": "Ekki eyða tíma í að innleiða aftur og aftur virkni sem er sameiginleg fyrir hvert forrit.",
+ "AuthenticationAuthorization": "Staðfesting og heimild",
+ "ExceptionHandling": "Villu meðhöndlun",
+ "Validation": "Staðfesting",
+ "DatabaseConnection": "Tengistrengur",
+ "TransactionManagement": "Umsjón færsla",
+ "AuditLogging": "Endurskoðunarskráning",
+ "Caching": "Skyndiminni",
+ "Multitenancy": "Multitenancy",
+ "DataFiltering": "Gagnasía",
+ "ConventionOverConfiguration": "Venjur yfir stillingar",
+ "ConventionOverConfigurationExplanation": "ABP útfærir sjálfgefið algengar venjur fyrir forrit með því að nota lágmarks eða engar stillingar.",
+ "ConventionOverConfigurationExplanationList1": "Sjálfvirk skráning þekktra þjónusta í gegnum innspýtingu (DI).",
+ "ConventionOverConfigurationExplanationList2": "Gerir þjónustur aðgengilegar sem HTTP API með því fylgja settum nafnagiftum.",
+ "ConventionOverConfigurationExplanationList3": "Býr til dynamic HTTP biðlara fyrir C# og JavaScript.",
+ "ConventionOverConfigurationExplanationList4": "Veitir sjálfgefnar geymslur fyrir einingarnar þína.",
+ "ConventionOverConfigurationExplanationList5": "Heldur utan um 'Unit of Work' fyrir hverja veffyrirspurn eða þjónustu aðgerð.",
+ "ConventionOverConfigurationExplanationList6": "Sendir út eventa þegar eining er búin til, uppfærð eða eydd.",
+ "BaseClasses": "Grunn klasar",
+ "BaseClassesExplanation": "Forbyggðir grunnflokkar fyrir algeng forritamynstur.",
+ "DeveloperFocusedExplanation": "ABP er fyrir forritara.",
+ "DeveloperFocusedExplanationCont": "Það miðar að því að einfalda daglega hugbúnaðarþróun þína en ekki takmarka þig frá því að skrifa lágt stigskóða.",
+ "SeeAllFeatures": "Sjá alla eiginleika",
+ "CLI_CommandLineInterface": "CLI (Command Line Interface)",
+ "CLI_CommandLineInterfaceExplanation": "Inniheldur CLI til að hjálpa þér að gera sjálfvirkan gerð nýrra verkefna og bæta við nýjum einingum.",
+ "StartupTemplates": "Gangsetningarsniðmát",
+ "StartupTemplatesExplanation": "Ýmis gangsetningarsniðmát bjóða upp á fullkomlega stillta lausn til að koma þróun þinni af stað.",
+ "BasedOnFamiliarTools": "Byggt á kunnuglegum tækjum",
+ "BasedOnFamiliarToolsExplanation": "Byggt á og samþætt við vinsæl tæki sem þú þekkir nú þegar. Auðvelt að læra, auðveld aðlögun, þægilegt í þróun.",
+ "ORMIndependent": "Óháð ORM",
+ "ORMIndependentExplanation": "Kjarninn er óháður ORM/gagnagrunni og getur unnið með hvaða gagnagjafa sem er. Veitendur fyrir Entity Framework Core og MongoDB eru þegar fáanlegir.",
+ "Features": "Kannaðu virkni í ABP",
+ "ABPCLI": "ABP CLI",
+ "Modularity": "Einingavætt",
+ "BootstrapTagHelpers": "Bootstrap Tag Helpers",
+ "DynamicForms": "Dynamic Form",
+ "BundlingMinification": "Samantekt og minkun",
+ "BackgroundJobs": "Bakgrunns Keyrslur",
+ "BackgroundJobsExplanation": "Skilgreindu einfalda flokka til að framkvæma keyrslur í bakgrunni eins og í biðröð. Notaðu innbyggðan vinnustjóra eða samþættu þinn eigin. Hangfire og RabbitMQ samþættingar eru þegar tiltækar.",
+ "DDDInfrastructure": "DDD Inviðir",
+ "DomainDrivenDesignInfrastructure": "Domain Driven Design Innviðir",
+ "AutoRESTAPIs": "Sjálfvirkir REST APIs",
+ "DynamicClientProxies": "Dynamic Client Proxies",
+ "DistributedEventBus": "Dreyfður Event Bus",
+ "DistributedEventBusWithRabbitMQIntegration": "Dreyfður Event Bus með RabbitMQ samþættingu",
+ "TestInfrastructure": "Innviðir fyrir prófanir",
+ "AuditLoggingEntityHistories": "Endurskoðunarskráning og einingasögur",
+ "ObjectToObjectMapping": "Möppun á Object til Object",
+ "ObjectToObjectMappingExplanation": "Möppun á Object til Object abstrakt með AutoMapper.",
+ "EmailSMSAbstractions": "Netfangs & SMS abstrakt",
+ "EmailSMSAbstractionsWithTemplatingSupport": "Netfangs & SMS abströktun með template virkni",
+ "Localization": "Þýðingar",
+ "SettingManagement": "Stillingar",
+ "ExtensionMethods": "Framlengingaraðferðir",
+ "ExtensionMethodsHelpers": "Framlengingaraðferðir & hjálpar aðgerðir",
+ "AspectOrientedProgramming": "Forritastýrð forritun",
+ "DependencyInjection": "Dependency Injection",
+ "DependencyInjectionByConventions": "Dependency Injection eftir venjum",
+ "ABPCLIExplanation": "ABP CLI (Command Line Interface) er skipanalínutæki til að framkvæma nokkrar algengar aðgerðir fyrir ABP byggðar lausnir.",
+ "ModularityExplanation": "ABP veitir fullkomna innviði til að smíða þínar eigin forritareiningar sem geta haft aðila, þjónustu, gagnagrunnssamþættingu, API, UI íhluti og svo framvegis...",
+ "MultiTenancyExplanation": "ABP ramma styður ekki aðeins við þróun fyrir margra tenanta, heldur er kóðinn þinn að mestu ómeðvitaður um þessa tenanta uppsetningu.",
+ "MultiTenancyExplanation2": "Getur sjálfkrafa ákvarðað núverandi tenanta, einangrað gögn mismunandi tenanta hver frá öðrum.",
+ "MultiTenancyExplanation3": "Styður við einn gagnagrunn, gagnagrunn á hvern tenant og blandaða uppsetningu.",
+ "MultiTenancyExplanation4": "Þú leggur áherslu á viðskiptakóðann þinn og lætur umgjörðina annast tenata virknina fyrir þína hönd.",
+ "BootstrapTagHelpersExplanation": "Í stað þess að skrifa handvirkt að endurtaka upplýsingar um bootstrap íhluti skaltu nota merkimiðla ABP til að einfalda það og nýta þér intellisense. Þú getur örugglega notað Bootstrap hvenær sem þú þarft á því að halda.",
+ "DynamicFormsExplanation": "Dynamísk form og input tag hjálp getur búið til fullbúið form úr C# klasa sem fyrirmynd",
+ "AuthenticationAuthorizationExplanation": "Ríkur auðkenningar- og heimildarmöguleiki samþættur með ASP.NET Core Identity & IdentityServer4. Veitir stækkanlegt og ítarlegt leyfiskerfi.",
+ "CrossCuttingConcernsExplanation": "Ekki endurtaka sjálfan þig við að innleiða alla þessu sameiginlegu hluti aftur og aftur. Einbeittu þér að viðskiptakóðanum þínum og láttu ABP þá gera þau sjálfvirt með venjum.",
+ "DatabaseConnectionTransactionManagement": "Tengistrengir og færsluyfirlit",
+ "CorrelationIdTracking": "Samþættingar auðkennis yfirlit",
+ "BundlingMinificationExplanation": "ABP býður upp á einfalt, kraftmikið, öflugt, mát og innbyggt búnt- og minnkunarkerfi.",
+ "VirtualFileSystemnExplanation": "Sýndarskráarkerfið gerir það mögulegt að stjórna skrám sem eru ekki bókstaflega til á skráarkerfinu (diskinum). Það er aðallega notað til að fella inn (js, css, image, cshtml ...) skrár í samsetningar og nota þær eins og skrár á disk á keyrslutíma.",
+ "ThemingExplanation": "Þemakerfi gerir þér kleift að þróa forritið þitt og einingar þema óháð því að skilgreina safn af sameiginlegum grunnbókasöfnum og skipulagi, byggt á nýjasta Bootstrap ramma.",
+ "DomainDrivenDesignInfrastructureExplanation": "Fullkomnir innviðir til að byggja upp lagskipt forrit byggt á DDD hönnunarmynstri og meginreglum;",
+ "Specification": "Forskrift",
+ "Repository": "Geymsla",
+ "DomainService": "Domain Þjónustur",
+ "ValueObject": "Value Object",
+ "ApplicationService": "Forrits Þjónusta",
+ "DataTransferObject": "Gagnaflutningsmót",
+ "AggregateRootEntity": "Grunnrótar eining",
+ "AutoRESTAPIsExplanation": "ABP getur sjálfvirkt stillt forritunarþjónustuna þína sem API stjórnendur eftir samkomulagi.",
+ "DynamicClientProxiesExplanation": "Notaðu API þína auðveldlega frá JavaScript og C#.",
+ "DistributedEventBusWithRabbitMQIntegrationExplanation": "Birtu og neyttu dreift viðburða auðveldlega með því að nota innbyggðan dreifðan viðburðarrútu með RabbitMQ samþættingu í boði.",
+ "TestInfrastructureExplanation": "Ramminn hefur verið þróaður einingar- og samþættingarprófun í huga. Veitir þér grunnflokka til að auðvelda það. Uppsetningarsniðmát koma með fyrirfram stillt til prófunar.",
+ "AuditLoggingEntityHistoriesExplanation": "Innbyggt úttektarskýrsla fyrir viðskiptaáhrifarík forrit. Beiðni, þjónusta, úttektarskráning á aðferðarstigi og aðgerðasögur með upplýsingum um eignastig.",
+ "EmailSMSAbstractionsWithTemplatingSupportExplanation": "IEmailSender og ISmsSender útdrættir aftengir rökfræði umsóknar þinnar frá innviðum. Ítarlegt tölvupóstsniðmátakerfi gerir kleift að búa til og staðfæra tölvupóstsniðmát og auðveldlega nota hvenær sem þörf krefur.",
+ "LocalizationExplanation": "Staðsetningarkerfi gerir kleift að búa til úrræði í venjulegum JSON skrám og nota þau til að staðsetja notendaviðmót þitt. Það styður háþróaðar sviðsmyndir eins og erfðir, viðbætur og JavaScript samþættingu á meðan það er fullkomlega samhæft við staðfærslukerfi AspNet Core.",
+ "SettingManagementExplanation": "Skilgreindu stillingar fyrir forritið þitt og fáðu gildi á keyrslutíma byggt á núverandi stillingum, leigjanda og notanda.",
+ "ExtensionMethodsHelpersExplanation": "Ekki endurtaka sjálfan þig, jafnvel fyrir léttvæga kóðahluta. Viðbætur og aðstoðarmenn fyrir venjulegar gerðir gera kóðann þinn miklu hreinni og auðveldan að skrifa.",
+ "AspectOrientedProgrammingExplanation": "Býður upp á þægilega innviði til að búa til kraftmikla umboð og innleiða sniðmiðaða forritun. Hætta hvaða flokki sem er og framkvæma kóðann þinn fyrir og eftir hverja framkvæmd aðferðar.",
+ "DependencyInjectionByConventionsExplanation": "Engin þörf á að skrá bekkina þína í háð innspýtingu handvirkt. Skráir sjálfkrafa algengar þjónustutegundir eftir venju. Fyrir aðra tegund þjónustu geturðu notað tengi og eiginleika til að gera það auðveldara og á sínum stað.",
+ "DataFilteringExplanation": "Skilgreindu og notaðu gagnasíur sem eru sjálfkrafa notaðar þegar þú spyrð aðila úr gagnagrunni. Soft Delete & MultiTenant síur eru til staðar úr kassanum þegar þú útfærir einföld viðmót.",
+ "PublishEvents": "Birta viðburði",
+ "HandleEvents": "Meðhöndla viðburði",
+ "AndMore": "og meira...",
+ "Code": "Kóði",
+ "Result": "Niðurstaða",
+ "SeeTheDocumentForMoreInformation": "Sjá {0} skjöl til að fá meiri upplýsingar",
+ "IndexPageHeroSection": "open sourceVefforrit Framework fyrir asp.net core",
+ "UiFramework": "UI Umgjörð",
+ "EmailAddress": "Netfang",
+ "Mobile": "Farsími",
+ "ReactNative": "React Native",
+ "Strong": "Strong",
+ "Complete": "Heilstætt",
+ "BasedLayeringModel": "Lagskipt högun",
+ "Microservice": "Örþjónustur",
+ "Compatible": "Samhæft",
+ "MeeTTheABPCommunityInfo": "Markmið okkar er að búa til umhverfi þar sem verktaki getur hjálpað hver öðrum með greinum, námskeiðum, tilviksrannsóknum osfrv. Og hitt fólk með sama hug.",
+ "JoinTheABPCommunityInfo": "Taktu þátt í lifandi samfélagi og gerðu þátttakendur í ABP ramma!",
+ "AllArticles": "Allar Greinar",
+ "SubmitYourArticle": "Senda inn þína grein",
+ "DynamicClientProxyDocument": "Skoðaðu dynamic client proxy skjölunina fyrir JavaScript og C#.",
+ "EmailSMSAbstractionsDocument": "Skoðaðu netfang sendingar og SMS sendingar skjölunina fyrir meiri upplýsingar.",
+ "CreateProjectWizard": "Þessi gandalfur býr til nýtt verkefni úr gangsetningarsniðmátinu sem er rétt stillt til að byrja á verkefninu þínu.",
+ "TieredOption": "Býr til þrepalausn þar sem vef- og HTTP API lög eru físískt aðskilin. Ef það er ekki merkt, er búin til lagskipt lausn sem er minna flókin og hentar fyrir flestar aðstæður.",
+ "SeparateIdentityServerOption": "Aðgreinir miðlara (server) hliðina í tvö forrit: Fyrsta er fyrir auðkennisþjóninn og annað fyrir HTTP API netþjónsins.",
+ "UseslatestPreVersion": "Notar nýjustu for-útgáfu ",
+ "ReadTheDocumentation": "Lesa skjölunina",
+ "Documentation": "Skjölun",
+ "GettingStartedTutorial": "Byrjunarkennsla",
+ "ApplicationDevelopmentTutorial": "Þróunarkennsla",
+ "TheStartupTemplate": "Upphafssniðmátið",
+ "InstallABPCLIInfo": "ABP CLI er fljótlegasta leiðin til að hefja nýja lausn með ABP. Settu upp ABP CLI með stjórnlínu glugga:",
+ "DifferentLevelOfNamespaces": "Þú getur notað mismunandi stig nafngerða; t.d. BookStore, Acme.BookStore eða Acme.Retail.BookStore.",
+ "ABPCLIExamplesInfo": " ný skipunin býr til lagskipt MVC forrit með Entity Framework Core sem gagnagrunnsveituna. Hins vegar hefur það fleiri valkosti. Dæmi:",
+ "SeeCliDocumentForMoreInformation": "Sjá ABP CLI skjalið til að fá fleiri valkosti eða veldu flipann \"Beint niðurhal \" hér að ofan.",
+ "Optional": "Valkvæmt",
+ "LocalFrameworkRef": "Haltu local verkefnatilvísun fyrir pakkana.",
+ "BlobStoring": "BLOB Geymsla",
+ "BlobStoringExplanation": "BLOB Geymslukerfi veitir abstrakt til að vinna með BLOB. ABP veitir nokkrar innbyggðar samþættingar geymsluaðila (Azure, AWS, skráarkerfi, gagnagrunnur osfrv.) Sem þú getur auðveldlega notað í forritunum þínum.",
+ "TextTemplating": "Text Templating",
+ "TextTemplatingExplanation": "Textasniðmát er notað til að gera innihald á kraftmikinn hátt byggt á sniðmáti og líkani (gagnahlutur). Til dæmis getur þú notað það til að búa til öflugt tölvupóst innihald með fyrirfram smíðuðu sniðmáti.",
+ "MultipleUIOptions": "Margþátta valmöguleikar",
+ "MultipleDBOptions": "Margar gagnagrunnsveitur",
+ "MultipleUIOptionsExplanation": "Kjarnaramminn er hannaður sem sjálfstætt notendaviðmót og getur unnið með hvers konar UI kerfi, en það eru margir fyrirfram innbyggðir og samþættir valkostir veittir úr kassanum.",
+ "MultipleDBOptionsExplanation": "Ramminn getur unnið með hvaða gagnagjafa sem er, en eftirfarandi veitendur eru opinberlega þróaðir og studdir;",
+ "SelectLanguage": "Veldu tungumál",
+ "LatestArticleOnCommunity": "Nýjasta grein frá ABP samfélaginu",
+ "Register": "Skrá",
+ "IsDownloadable": "Hægt að hlaða niður",
+ "DatabaseOptions": "Gagnagrunna valmöguleikar",
+ "BackToPackagesPage": "Aftur á Pakka síðuna",
+ "HowToInstall": "Hvernig á að setja upp",
+ "SeeOnNpm": "Sjá á NPM",
+ "SeeOnNuget": "Sjá á Nuget",
+ "MVCGulpCommandExplanation": "Ef þú ert að nota MVC (Razor Pages) notendaviðmót, keyrðu þá \"gulp \" skipunina eftir uppsetningu pakkans.",
+ "UsingABPCLI": "Nota Abp CLI",
+ "WithoutABPCLI": "Án ABP CLI",
+ "ABPCLIModuleDependency": "Abp Cli bætir sjálfkrafa tengingu við einingu við í kóðann.",
+ "AddModuleDependency": "Bættu svo við tengingu við einingu",
+ "Packages": "Pakkar",
+ "NugetPackages": "Nuget Pakkar",
+ "NPMPackages": "NPM Pakkar",
+ "SeeDocs": "Sjá leiðbeiningar",
+ "None": "Ekkert",
+ "Application": "Forrit",
+ "Module": "Eining",
+ "PackageName": "Pakka nafn",
+ "LicenseURL": "Leyfis slóð",
+ "License": "Leyfi",
+ "ProjectCreationSuccessMessage": "Verkefnið þitt var búið til",
+ "HowToRunSolution": "Hvernig á að keyra lausnina þína?",
+ "GettingStartedMessage": "Sjá byrjunarskjal til að læra hvernig á að stilla og keyra lausnina þína.",
+ "WebAppDevTutorial": "Kennsluefni fyrir vefþróun",
+ "WebAppDevTutorialMessage": "Sjá kennslu skjal fyrir vefforrit til að fá skref fyrir skref þróunarúrtak.",
+ "CommunityArticles": "Greinar eftir samfélagið",
+ "CommunityArticleMessage": "Skoðaðu ABP Community Platform til að lesa gagnlegar greinar fyrir ABP Framework.",
+ "InvestigateSolutionDetails": "Rannsakaðu upplýsingar um lausnina",
+ "StartupTemplateDocumentationMessage": "Sjá sniðmátaskjal forrits til að læra arkitektúr og uppbyggingu lausnarinnar.",
+ "ClientSideDevelopment": "Framenda Þróun",
+ "ClientSideDevelopmentDocumentationMessage": "Sjá {0} skjalið til að læra lykilatriði varðandi þróun notendaviðmóts (viðskiptavinarhlið).",
+ "DatabaseProviderDocumentationMessage": "Sjá {0} skjal til að læra lykilatriði fyrir þróun gagnagrunnslags.",
+ "ABPCommercialExplanationMessage": "ABP Commercial býður upp á úrvals einingar, þemu, verkfæri og stuðning fyrir ABP.",
+ "ImplementingDDD": "Útfæra Domain Driven Design",
+ "DDDBookExplanation": "Hagnýt handbók til að útfæra Domain Driven Design hönnun með ABP ramma.",
+ "Overview": "Yfirlit",
+ "DDDBookPracticalGuide": "Þetta er hagnýt leiðarvísir til að útfæra Domain Driven Design (DDD). Þó að upplýsingar um framkvæmdina séu byggðar á ABP Framework innviði, þá er hægt að beita grundvallarhugtökum, meginreglum og líkönum á hvaða lausn sem er, jafnvel þó að það sé ekki .NET lausn.",
+ "TableOfContents": "Efnisyfirlit",
+ "IntroductionToImplementingDDD": "Inngangur að útfærslu á Domain Driven Design",
+ "WhatIsDDD": "Hvað er Domain Driven Design?",
+ "Implementation": "Útfærsla",
+ "TheBigPicture": "Stóra myndin",
+ "TheBuildingBlock": "Byggingar einingarnar",
+ "ExampleUseCase": "Notkunardæmi",
+ "DomainAndApplicationLogic": "Domain & Forrits lógík",
+ "Author": "Höfundur",
+ "Pages": "Síður",
+ "PublishedOn": "Birt þann",
+ "FreeEBook": "Frí Rafbók",
+ "Download": "Hlaða niður",
+ "EBookSignInForDownload": "Til að sækja rafbókina skráðu þig inn",
+ "SignIn": "Innskráning",
+ "Or": "Eða",
+ "TellUsAboutYourself": "Segðu okkur svolítið frá þér",
+ "Name": "Nafn",
+ "Surname": "Eftirnafn",
+ "CompanyName": "Nafn fyrirtækis",
+ "DoYouAgreePrivacyPolicy": "Ég samþykki skilmála og persónuverndarstefna .",
+ "Free": "Frí",
+ "DDDEBook": "DDD rafbók",
+ "PracticalGuideForImplementingDDD": "Þessi bók er hagnýtur leiðarvísir til að innleiða Domain Driven Design hönnun með ABP ramma.",
+ "IntroducingDDD": "Inngangur í Domain Driven Design",
+ "DDDLayersAndCleanArchitecture": "DDD lög & hreinn arkitektúr",
+ "LayeringOfADotnetSolution": "Lagskipting .NET lausnar",
+ "ImplementingDDDBuildingBlocks": "Innleiðing DDD byggingareininga",
+ "DomainVsApplicationLogic": "Domain Logic vs Application Logic",
+ "SamplesAndDiscussions": "Sýnishorn og umræður",
+ "EmailNotValid": "Sláðu inn gilt netfang.",
+ "WeWillSendYouADownloadLink": "Tengill til að hlaða niður rafbókinni hefur verið sendur til {0}. Athugaðu pósthólfið þitt, ruslpóstinn eða ruslpóstsboxin!",
+ "GoHome": "Heim",
+ "InvalidFormInputs": "Vinsamlegast sláðu inn gildar upplýsingar sem tilgreindar eru á forminu.",
+ "DDDBookEmailBody": "Takk fyrir. Til að hlaða niður rafbókinni þinni, smellirðu hér.",
+ "SubscribeToNewsletter": "Gerast áskrifandi að fréttabréfinu til að fá upplýsingar um atburði í ABP.IO pallinum, eins og nýjar útgáfur, greinar, tilboð og fleira.",
+ "FirstEdition": "Fyrsta útgáfa",
+ "ThankYou": "Þakka þér!",
+ "CheckboxMandatory": "Þú þarft að smella hér til að halda áfram!"
+ }
+}
\ No newline at end of file
diff --git a/build/common.ps1 b/build/common.ps1
index 172e22ad6a..cdc0eaa1c0 100644
--- a/build/common.ps1
+++ b/build/common.ps1
@@ -7,6 +7,7 @@ $rootFolder = (Get-Item -Path "./" -Verbose).FullName
# List of solutions used only in development mode
$solutionPaths = @(
"../framework",
+ "../studio",
"../modules/basic-theme",
"../modules/users",
"../modules/permission-management",
@@ -19,7 +20,8 @@ $solutionPaths = @(
"../modules/background-jobs",
"../modules/account",
"../modules/cms-kit",
- "../modules/blob-storing-database"
+ "../modules/blob-storing-database",
+ "../studio"
)
if ($full -eq "-f")
diff --git a/build/test-all.ps1 b/build/test-all.ps1
index 9a94ec3760..3bd44527a7 100644
--- a/build/test-all.ps1
+++ b/build/test-all.ps1
@@ -7,7 +7,7 @@ $full = $args[0]
foreach ($solutionPath in $solutionPaths) {
$solutionAbsPath = (Join-Path $rootFolder $solutionPath)
Set-Location $solutionAbsPath
- dotnet test --no-build --no-restore
+ dotnet test --no-build --no-restore --collect:"XPlat Code Coverage"
if (-Not $?) {
Write-Host ("Test failed for the solution: " + $solutionPath)
Set-Location $rootFolder
diff --git a/codecov.yml b/codecov.yml
new file mode 100644
index 0000000000..7ad4672daf
--- /dev/null
+++ b/codecov.yml
@@ -0,0 +1,4 @@
+codecov:
+ branch: dev
+ require_ci_to_pass: yes
+ allow_coverage_offsets: true
diff --git a/common.props b/common.props
index ea1df61a0f..409b435273 100644
--- a/common.props
+++ b/common.props
@@ -1,7 +1,7 @@
latest
- 5.0.0
+ 5.0.0-beta.2$(NoWarn);CS1591;CS0436https://abp.io/assets/abp_nupkg.pnghttps://abp.io/
diff --git a/configureawait.props b/configureawait.props
index 8b0b7f5933..b0cf9ef298 100644
--- a/configureawait.props
+++ b/configureawait.props
@@ -1,7 +1,7 @@
-
+ Allruntime; build; native; contentfiles; analyzers
diff --git a/docs/cs/Entity-Framework-Core-PostgreSQL.md b/docs/cs/Entity-Framework-Core-PostgreSQL.md
index e09880c37c..dc50c8a742 100644
--- a/docs/cs/Entity-Framework-Core-PostgreSQL.md
+++ b/docs/cs/Entity-Framework-Core-PostgreSQL.md
@@ -1,4 +1,4 @@
-# Přepnutí na EF Core PostgreSQL providera
+# Přepnutí na EF Core PostgreSQL providera
Tento dokument vysvětluje, jak přepnout na poskytovatele databáze **PostgreSQL** pro **[spouštěcí šablonu aplikace](Startup-Templates/Application.md)**, která je dodávána s předem nakonfigurovaným SQL poskytovatelem.
diff --git a/docs/cs/Getting-Started-AspNetCore-Application.md b/docs/cs/Getting-Started-AspNetCore-Application.md
index 877976d037..e269a08ba2 100644
--- a/docs/cs/Getting-Started-AspNetCore-Application.md
+++ b/docs/cs/Getting-Started-AspNetCore-Application.md
@@ -1,4 +1,4 @@
-# Začínáme s ASP.NET Core MVC aplikací
+# Začínáme s ASP.NET Core MVC aplikací
Tento tutoriál vysvětluje jak začít s ABP z ničeho s minimem závislostí. Obvykle chcete začít se **[startovací šablonou](https://abp.io/Templates)**.
diff --git a/docs/cs/Getting-Started-Console-Application.md b/docs/cs/Getting-Started-Console-Application.md
index dc822ec297..a6ee50dbe6 100644
--- a/docs/cs/Getting-Started-Console-Application.md
+++ b/docs/cs/Getting-Started-Console-Application.md
@@ -1,4 +1,4 @@
-# Začínáme s konzolovou aplikací
+# Začínáme s konzolovou aplikací
Tento tutoriál vysvětluje jak začít s ABP z ničeho s minimem závislostí. Obvykle chcete začít se **[startovací šablonou](https://abp.io/Templates)**.
diff --git a/docs/cs/Index.md b/docs/cs/Index.md
index 0424c7120b..875f4e066e 100644
--- a/docs/cs/Index.md
+++ b/docs/cs/Index.md
@@ -1,4 +1,4 @@
-# ABP dokumentace
+# ABP dokumentace
ABP je **open source aplikační framework** se zaměřením na vývoj webových aplikací založených na ASP.NET Core, zároveň ho však lze využít i k vývoji jiných typů aplikací.
diff --git a/docs/en/API/Application-Configuration.md b/docs/en/API/Application-Configuration.md
index 3aea468f8c..8441459e02 100644
--- a/docs/en/API/Application-Configuration.md
+++ b/docs/en/API/Application-Configuration.md
@@ -1,4 +1,4 @@
-# Application Configuration Endpoint
+# Application Configuration Endpoint
ABP Framework provides a pre-built and standard endpoint that contains some useful information about the application/service. Here, the list of some fundamental information at this endpoint:
diff --git a/docs/en/API/Swagger-Integration.md b/docs/en/API/Swagger-Integration.md
index 48ce252940..2e7b331cfc 100644
--- a/docs/en/API/Swagger-Integration.md
+++ b/docs/en/API/Swagger-Integration.md
@@ -1,4 +1,4 @@
-# Swagger Integration
+# Swagger Integration
[Swagger (OpenAPI)](https://swagger.io/) is a language-agnostic specification for describing REST APIs. It allows both computers and humans to understand the capabilities of a REST API without direct access to the source code. Its main goals are to:
diff --git a/docs/en/Audit-Logging.md b/docs/en/Audit-Logging.md
index 67aee58dac..2076764345 100644
--- a/docs/en/Audit-Logging.md
+++ b/docs/en/Audit-Logging.md
@@ -1,4 +1,4 @@
-# Audit Logging
+# Audit Logging
[Wikipedia](https://en.wikipedia.org/wiki/Audit_trail): "*An audit trail (also called **audit log**) is a security-relevant chronological record, set of records, and/or destination and source of records that provide documentary evidence of the sequence of activities that have affected at any time a specific operation, procedure, or event*".
diff --git a/docs/en/Background-Jobs-Hangfire.md b/docs/en/Background-Jobs-Hangfire.md
index a690d9d17b..4ee58d84ef 100644
--- a/docs/en/Background-Jobs-Hangfire.md
+++ b/docs/en/Background-Jobs-Hangfire.md
@@ -88,17 +88,30 @@ To make it secure by default, only local requests are allowed, however you can c
You can integrate the Hangfire dashboard to [ABP authorization system](Authorization.md) using the **AbpHangfireAuthorizationFilter**
class. This class is defined in the `Volo.Abp.Hangfire` package. The following example, checks if the current user is logged in to the application:
- app.UseHangfireDashboard("/hangfire", new DashboardOptions
- {
- AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter() }
- });
+```csharp
+app.UseHangfireDashboard("/hangfire", new DashboardOptions
+{
+ AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter() }
+});
+```
+
+* `AbpHangfireAuthorizationFilter` is an implementation of an authorization filter.
+
+#### AbpHangfireAuthorizationFilter
+
+`AbpHangfireAuthorizationFilter` class has the following fields:
+
+* **`enableTenant` (`bool`, default: `false`):** Enables/disables accessing the Hangfire dashboard on tenant users.
+* **`requiredPermissionName` (`string`, default: `null`):** Hangfire dashboard is accessible only if the current user has the specified permission. In this case, if we specify a permission name, we don't need to set `enableTenant` `true` because the permission system already does it.
If you want to require an additional permission, you can pass it into the constructor as below:
- app.UseHangfireDashboard("/hangfire", new DashboardOptions
- {
- AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter("MyHangFireDashboardPermissionName") }
- });
+```csharp
+app.UseHangfireDashboard("/hangfire", new DashboardOptions
+{
+ AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter(requiredPermissionName: "MyHangFireDashboardPermissionName") }
+});
+```
-**Important**: `UseHangfireDashboard` should be called after the authentication middleware in your `Startup` class (probably at the last line). Otherwise,
+**Important**: `UseHangfireDashboard` should be called after the authentication and authorization middlewares in your `Startup` class (probably at the last line). Otherwise,
authorization will always fail!
diff --git a/docs/en/Background-Workers-Hangfire.md b/docs/en/Background-Workers-Hangfire.md
new file mode 100644
index 0000000000..e1e6fc71ad
--- /dev/null
+++ b/docs/en/Background-Workers-Hangfire.md
@@ -0,0 +1,99 @@
+# Hangfire Background Worker Manager
+
+[Hangfire](https://https://www.hangfire.io/) is an advanced background jobs and worker manager. You can integrate Hangfire with the ABP Framework to use it instead of the [default background worker manager](Background-Workers.md).
+
+The major advantage is that you can use the same server farm to manage your Background Jobs and Workers, as well as leverage the advanced scheduling that is available from Hangfire for [Recurring Jobs](https://docs.hangfire.io/en/latest/background-methods/performing-recurrent-tasks.html?highlight=recurring), aka Background Workers.
+
+## Installation
+
+It is suggested to use the [ABP CLI](CLI.md) to install this package.
+
+### Using the ABP CLI
+
+Open a command line window in the folder of the project (.csproj file) and type the following command:
+
+````bash
+abp add-package Volo.Abp.BackgroundWorkers.Hangfire
+````
+
+### Manual Installation
+
+If you want to manually install;
+
+1. Add the [Volo.Abp.BackgroundWorkers.Hangfire](https://www.nuget.org/packages/Volo.Abp.BackgroundWorkers.Hangfire) NuGet package to your project:
+
+ ````
+ Install-Package Volo.Abp.BackgroundWorkers.Hangfire
+ ````
+
+2. Add the `AbpBackgroundWorkersHangfireModule` to the dependency list of your module:
+
+````csharp
+[DependsOn(
+ //...other dependencies
+ typeof(AbpBackgroundWorkersHangfireModule) //Add the new module dependency
+ )]
+public class YourModule : AbpModule
+{
+}
+````
+
+> Hangfire background worker integration provides an adapter `HangfirePeriodicBackgroundWorkerAdapter` to automatically load any `PeriodicBackgroundWorkerBase` and `AsyncPeriodicBackgroundWorkerBase` derived classes as `IHangfireBackgroundWorker` instances. This allows you to still to easily switch over to use Hangfire as the background manager even you have existing background workers that are based on the [default background workers implementation](Background-Workers.md).
+
+## Create a Background Worker
+
+`HangfireBackgroundWorkerBase` is an easy way to create a background worker.
+
+```` csharp
+public class MyLogWorker : HangfireBackgroundWorkerBase
+{
+ public MyLogWorker()
+ {
+ RecurringJobId = nameof(MyLogWorker);
+ CronExpression = Cron.Daily();
+ }
+
+ public override Task DoWorkAsync()
+ {
+ Logger.LogInformation("Executed MyLogWorker..!");
+ return Task.CompletedTask;
+ }
+}
+````
+
+* **RecurringJobId** Is an optional parameter, see [Hangfire document](https://docs.hangfire.io/en/latest/background-methods/performing-recurrent-tasks.html)
+* **CronExpression** Is a CRON expression, see [CRON expression](https://en.wikipedia.org/wiki/Cron#CRON_expression)
+
+> You can directly implement the `IHangfireBackgroundWorker`, but `HangfireBackgroundWorkerBase` provides some useful properties like Logger.
+
+## Register BackgroundWorkerManager
+
+After creating a background worker class, you should add it to the `IBackgroundWorkerManager`. The most common place is the `OnApplicationInitialization` method of your module class:
+
+```` csharp
+[DependsOn(typeof(AbpBackgroundWorkersModule))]
+public class MyModule : AbpModule
+{
+ public override void OnApplicationInitialization(
+ ApplicationInitializationContext context)
+ {
+ context.AddBackgroundWorker();
+ }
+}
+````
+
+`context.AddBackgroundWorker(...)` is a shortcut extension method for the expression below:
+
+```` csharp
+context.ServiceProvider
+ .GetRequiredService()
+ .Add(
+ context
+ .ServiceProvider
+ .GetRequiredService()
+ );
+````
+
+So, it resolves the given background worker and adds to the `IBackgroundWorkerManager`.
+
+While we generally add workers in OnApplicationInitialization, there are no restrictions on that. You can inject IBackgroundWorkerManager anywhere and add workers at runtime. Background worker manager will stop and release all the registered workers when your application is being shut down.
\ No newline at end of file
diff --git a/docs/en/Background-Workers.md b/docs/en/Background-Workers.md
index b12f1881fb..0c9e26e409 100644
--- a/docs/en/Background-Workers.md
+++ b/docs/en/Background-Workers.md
@@ -131,10 +131,15 @@ If that's a problem for your workers, you have two options;
* Disable the background worker system using the `AbpBackgroundWorkerOptions` described above, for all the application instances, except one of them.
* Disable the background worker system for all the application instances and create another special application that runs on a single server and execute the workers.
-## Quartz Integration
+## Integrations
-ABP Framework's background worker system is good to implement periodic tasks. However, you may want to use an advanced task scheduler like [Quartz](https://www.quartz-scheduler.net/). See the community contributed [quartz integration](Background-Workers-Quartz.md) for the background workers.
+Background worker system is extensible and you can change the default background worker manager with your own implementation or on of the pre-built integrations.
+
+See pre-built worker manager alternatives:
+
+* [Quartz Background Worker Manager](Background-Workers-Quartz.md)
+* [Hangfire Background Worker Manager](Background-Workers-Hangfire.md)
## See Also
-* [Quartz Integration for the background workers](Background-Workers-Quartz.md)
+
* [Background Jobs](Background-Jobs.md)
diff --git a/docs/en/Best-Practices/Application-Services.md b/docs/en/Best-Practices/Application-Services.md
index ff8afe81d2..309b264522 100644
--- a/docs/en/Best-Practices/Application-Services.md
+++ b/docs/en/Best-Practices/Application-Services.md
@@ -1,4 +1,4 @@
-## Application Services Best Practices & Conventions
+## Application Services Best Practices & Conventions
* **Do** create an application service for each **aggregate root**.
diff --git a/docs/en/Best-Practices/Data-Transfer-Objects.md b/docs/en/Best-Practices/Data-Transfer-Objects.md
index 0fca0e86f2..5d6409af7d 100644
--- a/docs/en/Best-Practices/Data-Transfer-Objects.md
+++ b/docs/en/Best-Practices/Data-Transfer-Objects.md
@@ -1,4 +1,4 @@
-## Data Transfer Objects Best Practices & Conventions
+## Data Transfer Objects Best Practices & Conventions
* **Do** define DTOs in the **application contracts** package.
* **Do** inherit from the pre-built **base DTO classes** where possible and necessary (like `EntityDto`, `CreationAuditedEntityDto`, `AuditedEntityDto`, `FullAuditedEntityDto` and so on).
diff --git a/docs/en/Best-Practices/Domain-Services.md b/docs/en/Best-Practices/Domain-Services.md
index f8b7c31797..e651086673 100644
--- a/docs/en/Best-Practices/Domain-Services.md
+++ b/docs/en/Best-Practices/Domain-Services.md
@@ -1,4 +1,4 @@
-## Domain Services Best Practices & Conventions
+## Domain Services Best Practices & Conventions
> **This document is not ready yet. Please see the [Domain Services](../Domain-Services.md) document.**
diff --git a/docs/en/Best-Practices/Entity-Framework-Core-Integration.md b/docs/en/Best-Practices/Entity-Framework-Core-Integration.md
index 90d62698de..bae484af27 100644
--- a/docs/en/Best-Practices/Entity-Framework-Core-Integration.md
+++ b/docs/en/Best-Practices/Entity-Framework-Core-Integration.md
@@ -1,4 +1,4 @@
-## Entity Framework Core Integration Best Practices
+## Entity Framework Core Integration Best Practices
> See [Entity Framework Core Integration document](../Entity-Framework-Core.md) for the basics of the EF Core integration.
diff --git a/docs/en/Best-Practices/Index.md b/docs/en/Best-Practices/Index.md
index 5c21b5b9ec..3cc10a17cc 100644
--- a/docs/en/Best-Practices/Index.md
+++ b/docs/en/Best-Practices/Index.md
@@ -1,4 +1,4 @@
-## Module Development Best Practices & Conventions
+## Module Development Best Practices & Conventions
### Introduction
diff --git a/docs/en/Best-Practices/Module-Architecture.md b/docs/en/Best-Practices/Module-Architecture.md
index d9f833726f..b7e0d03db9 100644
--- a/docs/en/Best-Practices/Module-Architecture.md
+++ b/docs/en/Best-Practices/Module-Architecture.md
@@ -1,4 +1,4 @@
-## Module Architecture Best Practices & Conventions
+## Module Architecture Best Practices & Conventions
### Solution Structure
diff --git a/docs/en/Best-Practices/MongoDB-Integration.md b/docs/en/Best-Practices/MongoDB-Integration.md
index 216468b71e..594244443e 100644
--- a/docs/en/Best-Practices/MongoDB-Integration.md
+++ b/docs/en/Best-Practices/MongoDB-Integration.md
@@ -1,4 +1,4 @@
-## MongoDB Integration
+## MongoDB Integration
* Do define a separated `MongoDbContext` interface and class for each module.
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/POST.md b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/POST.md
new file mode 100644
index 0000000000..6e83db5da2
--- /dev/null
+++ b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/POST.md
@@ -0,0 +1,309 @@
+# ABP Platform 5.0 Beta 1 Has Been Released
+
+Today, we are excited to release the [ABP Framework](https://abp.io/) and the [ABP Commercial](https://commercial.abp.io/) version **5.0 Beta**. This blog post introduces the new features and important changes in this new version.
+
+> **The planned release date for the [5.0.0 Release Candidate](https://github.com/abpframework/abp/milestone/51) version is November, 2021**.
+
+Please try the beta 1 version and provide feedback for a more stable ABP version 5.0! Thank you all.
+
+## Get Started with the 5.0 Beta 1
+
+follow the steps below to try the version 5.0.0 beta 1 today;
+
+1) **Upgrade** the ABP CLI to the version `5.0.0-beta.1` using a command line terminal:
+
+````bash
+dotnet tool update Volo.Abp.Cli -g --version 5.0.0-beta.1
+````
+
+**or install** if you haven't installed before:
+
+````bash
+dotnet tool install Volo.Abp.Cli -g --version 5.0.0-beta.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**.
+
+### Visual Studio Upgrade
+
+As .NET 6 is a preview version you need to make changes on the Visual Studio 2019.
+If you want to run a .NET 6 project on Visual Studio 2019, you need to install the latest .NET SDK 6 from https://dotnet.microsoft.com/download/dotnet/6.0
+and also enable the `Use Previews of the .NET SDK` option from Visual Studio 2019 options. See the screenshot:
+
+
+
+
+Alternatively you can download the latest Visual Studio 2022 preview to run/create the .NET 6 projects. We have tested the ABP solution with the Visual Studio 2022 `17.0.0 Preview 4.1`. Check out https://visualstudio.microsoft.com/vs/preview/ for more information.
+
+### Migration Notes & Breaking Changes
+
+This is a major version and there are some breaking changes and upgrade steps. Here, a list of important breaking changes in this version:
+
+* Upgraded to .NET 6.0-rc.1, so you need to move your solution to .NET 6.0 if you want to use the ABP 5.0.
+* `IRepository` doesn't inherit from `IQueryable` anymore. It was already made obsolete in 4.2.
+* Removed NGXS and states from the Angular UI.
+* Removed gulp dependency from the MVC / Razor Pages UI in favor of `abp install-libs` command of ABP CLI.
+* Deprecated EntityCreatingEventData, EntityUpdatingEventData, EntityDeletingEventData and EntityChangingEventData classes. See [#9897](https://github.com/abpframework/abp/issues/9897).
+
+Please see the [migration document](https://docs.abp.io/en/abp/5.0/Migration-Guides/Abp-5_0) for all the details. You can also see all [the closed issues and pull request](https://github.com/abpframework/abp/releases/tag/5.0.0-beta.1) on GitHub.
+
+## What's new with Beta 1?
+
+In this section, I will introduce some major features released with beta 1.
+
+### Static (Generated) Client Proxies for C# and JavaScript
+
+Dynamic C# ([see](https://docs.abp.io/en/abp/latest/API/Dynamic-CSharp-API-Clients)) and JavaScript ([see](https://docs.abp.io/en/abp/latest/UI/AspNetCore/Dynamic-JavaScript-Proxies)) client proxy system is one of the most loved features of the ABP Framework. It generates the proxy code on runtime and makes client-to-server calls a breeze. With ABP 5.0, we are providing an alternative approach: You can generate the client proxy code on development-time.
+
+Development-time client proxy generation has a performance advantage since it doesn't need to obtain the HTTP API definition on runtime. It also makes it easier to consume a (micro)service behind an API Gateway. With dynamic proxies, we should return a combined HTTP API definition from the API Gateway and need to add HTTP API layers of the microservices to the gateway. Static proxies removes this requirement. One disadvantage is that you should re-generate the client proxy code whenever you change your API endpoint definition. Yes, software development always has tradeoffs :)
+
+Working with static client proxy generation is simple with the ABP CLI. You first need to run the server application, open a command-line terminal, locate to the root folder of your client application, then run the `generate-proxy` command of the ABP CLI.
+
+#### Creating C# client proxies
+
+C# client proxies are useful to consume APIs from Blazor WebAssembly applications. It is also useful for microservice to microservice HTTP API calls. Notice that the client application need to have a reference to the application service contracts (typically, the `.Application.Contracts` project in your solution) in order to consume the services.
+
+**Example usage:**
+
+````bash
+abp generate-proxy -t csharp -u https://localhost:44305
+````
+
+`-t` indicates the client type, C# here. `-u` is the URL of the server application. It creates the proxies for the application (the app module) by default. You can specify the module name as `-m ` if you are building a modular system. The following figure shows the generated files:
+
+
+
+Once the proxies are generated, you can inject and use the application service interfaces of these proxies, like `IProductAppService` in this example. Usage is same of the [dynamic C# client proxies](https://docs.abp.io/en/abp/latest/API/Dynamic-CSharp-API-Clients).
+
+#### Creating JavaScript client proxies
+
+JavaScript proxies are useful to consume APIs from MVC / Razor Pages UI. It works on JQuery AJAX API, just like the [dynamic JavaScript proxies](https://docs.abp.io/en/abp/latest/UI/AspNetCore/Dynamic-JavaScript-Proxies).
+
+**Example usage:**
+
+````bash
+abp generate-proxy -t js -u https://localhost:44305
+````
+
+The following figure shows the generated file:
+
+
+
+Then you can consume the server-side APIs from your JavaScript code just like the [dynamic JavaScript proxies](https://docs.abp.io/en/abp/latest/UI/AspNetCore/Dynamic-JavaScript-Proxies).
+
+#### Creating Angular client proxies
+
+Angular developers knows that the generate-proxy command was already available in ABP's previous versions to create client-side proxy services in the Angular UI. The same functionality continues to be available and already [documented here](https://docs.abp.io/en/abp/latest/UI/Angular/Service-Proxies).
+
+**Example usage:**
+
+````bash
+abp generate-proxy -t ng -u https://localhost:44305
+````
+
+### Transactional Outbox & Inbox for the Distributed Event Bus
+
+This was one of the most awaited features by distributed software developers.
+
+The [transactional outbox pattern](https://microservices.io/patterns/data/transactional-outbox.html) is used to publishing distributed events within the same transaction that manipulates the application database. Distributed events are saved into the database inside the same transaction with your data changes, then sent to the message broker (like RabbitMQ or Kafka) by a separate background worker with a re-try system. In this way, it ensures the consistency between your database state and the published events.
+
+The transactional inbox pattern, on the other hand, saves incoming events into database first, then executes the event handler in a transactional manner and removes the event from the inbox queue in the same transaction. It also ensures that the event is only executed one time by keeping the processed messages for a while and discarding the duplicate events received from the message broker.
+
+Enabling the inbox and outbox patterns requires a few manual steps for your application. We've created a simple [console application example](https://github.com/abpframework/abp/tree/dev/test/DistEvents), but I will also explain all the steps here.
+
+#### Pre-requirements
+
+First of all, you need to have EF Core or MongoDB installed into your solution. It should be already installed if you'd created a solution from the ABP startup template.
+
+#### Install the packages
+
+Install the new [Volo.Abp.EventBus.Boxes](https://www.nuget.org/packages/Volo.Abp.EventBus.Boxes) NuGet package to your database layer (to `EntityFrameworkCore` or `MongoDB` project) or to the host application. Open a command-line terminal at the root directory of your database (or host) project and execute the following command:
+
+````csharp
+abp add-package Volo.Abp.EventBus.Boxes
+````
+
+This will install the package and setup the ABP module dependency. This package depends on [DistributedLock.Core](https://www.nuget.org/packages/DistributedLock.Core) library which provides a distributed locking system for concurrency control in a distributed environment. There are [many distributed lock providers](https://github.com/madelson/DistributedLock#implementations), including Redis, SqlServer and ZooKeeper. You can use the one you like. Here, I will show the Redis provider.
+
+Add [DistributedLock.Redis](https://www.nuget.org/packages/DistributedLock.Redis) NuGet package to your project, then add the following code into the ConfigureService method of your ABP module class:
+
+````csharp
+context.Services.AddSingleton(sp =>
+{
+ var connection = ConnectionMultiplexer.Connect(configuration["Redis:Configuration"]);
+ return new RedisDistributedSynchronizationProvider(connection.GetDatabase());
+});
+````
+
+We are getting the Redis configuration from the `appsettings.json` file, so add the following lines to your `appsettings.json` file:
+
+````json
+"Redis": {
+ "Configuration": "127.0.0.1"
+}
+````
+
+You can change the IP or customize the configuration based on your environment.
+
+#### Configure the DbContext
+
+Open your `DbContext` class, implement the `IHasEventInbox` and the `IHasEventOutbox` interfaces. You should end up by adding two `DbSet` properties into your `DbContext` class:
+
+````csharp
+public DbSet IncomingEvents { get; set; }
+public DbSet OutgoingEvents { get; set; }
+````
+
+Add the following lines inside the `OnModelCreating` method of your `DbContext` class:
+
+````csharp
+builder.ConfigureEventInbox();
+builder.ConfigureEventOutbox();
+````
+
+It is similar for MongoDB; implement the `IHasEventInbox` and the `IHasEventOutbox` interfaces. There is no `Configure...` method for MongoDB.
+
+Now, we've added inbox/outbox related tables to our database schema. Now, for EF Core, use the standard `Add-Migration` and `Update-Database` commands to apply changes into your database (you can skip this step for MongoDB). If you want to use the command-line terminal, run the following commands in the root directory of the database integration project:
+
+````bash
+dotnet ef migrations add "Added_Event_Boxes"
+dotnet ef database update
+````
+
+#### Configure the distributed event bus options
+
+As the last step, write the following configuration code inside the `ConfigureServices` method of your module class:
+
+````csharp
+Configure(options =>
+{
+ options.Outboxes.Configure(config =>
+ {
+ config.UseDbContext();
+ });
+
+ options.Inboxes.Configure(config =>
+ {
+ config.UseDbContext();
+ });
+});
+````
+
+Replace `YourDbContext` with your `DbContext` class.
+
+That's all. You can continue to publishing and consuming events just as before. See the [distributed event bus documentation](https://docs.abp.io/en/abp/latest/Distributed-Event-Bus) if you don't know how to use it.
+
+### Publishing events in transaction
+
+The previous feature (outbox & inbox) solves the transactional event publishing problem for distributed systems. This feature, publishing events in transaction, solves the problem of executing event handlers in the same transaction that the events are published in for non-distributed applications. With 5.0, all events (local or distributed) are handled in the same transaction. If any handler fails, the transaction is rolled back. If you don't want that, you should use try/catch and ignore the exception inside your event handler.
+
+Remember that if you don't install a real distributed event provider (like [RabbitMQ](https://docs.abp.io/en/abp/latest/Distributed-Event-Bus-RabbitMQ-Integration) or [Kafka](https://docs.abp.io/en/abp/latest/Distributed-Event-Bus-Kafka-Integration)), the [distributed events](https://docs.abp.io/en/abp/latest/Distributed-Event-Bus) are actually executed in-process, just like the [local events](https://docs.abp.io/en/abp/latest/Local-Event-Bus). So, with this development, all the events become transactional, even if your system is distributed or not.
+
+No action needed to take. It will just work by default. There is a [deprecation note](https://github.com/abpframework/abp/issues/9897) related to this change (some pre-defined events [will be removed](https://github.com/abpframework/abp/issues/9908) in the next major version since they are not needed anymore)
+
+### Inactivating a user
+
+The [Identity module](https://docs.abp.io/en/abp/latest/Modules/Identity) has a new feature to make a user active or inactive. Inactive users can not login to the system. In this way, you can disable a user account without deleting it. An *Active* checkbox is added to the user create/edit dialog to control it on the UI:
+
+
+
+EF Core developers should add a new database migration since this brings a new field to the `AbpUsers` table.
+
+### Overriding email settings per tenant
+
+If you're building a multi-tenant application, it is now possible to override email sending settings per tenant. To make this possible, you should first enable that [feature](https://docs.abp.io/en/abp/latest/Features) to the tenant you want, by clicking the *Actions -> Features* for the tenant.
+
+
+
+Enable the feature using the checkbox as shown in the following modal:
+
+
+
+Then the tenant admin can open the email settings page under the Administration -> Settings menu (on development environment, logout, switch to the tenant and re-login with the tenant admin):
+
+
+
+### Hangfire dashboard permission
+
+ABP allows to use Hangfire as the background job manager when you install the integration package [as documented](https://docs.abp.io/en/abp/5.0/Background-Jobs-Hangfire). Hangfire's dashboard is used to monitor and control the background job queues. Here, a screenshot from the dashboard:
+
+
+
+Hangfire's dashboard is not authorized by default, so any user can navigate to the `/hangfire` URL and see/control the jobs. With the ABP version 5.0, we've added a built-in authorization implementation for the Hangfire dashboard. Instead of `app.UseHangfireDashboard();`, you can use the following middleware configuration:
+
+````csharp
+app.UseHangfireDashboard("/hangfire", new DashboardOptions
+{
+ AsyncAuthorization = new[] { new AbpHangfireAuthorizationFilter() }
+});
+````
+
+In this way, only the authenticated users can see the dashboard. However, we suggest to set a permission name, so only the users with that permission can see the dashboard:
+
+````csharp
+app.UseHangfireDashboard("/hangfire", new DashboardOptions
+{
+ AsyncAuthorization = new[] {
+ new AbpHangfireAuthorizationFilter("MyPermissionName")
+ }
+});
+````
+
+You can define the permission (`MyPermissionName` in this example) using the standard [permission system](https://docs.abp.io/en/abp/5.0/Authorization#permission-system).
+
+### Introducing AbpControllerBase
+
+ABP provides an `AbpController` class that you can inherit your MVC controllers from. It provides some pre-injected services to simplify your controllers. With v5.0, we are adding a second base controller class, `AbpControllerBase`, which is more proper to create API controllers (without view features). It is suggested to inherit from the `AbpControllerBase` class to create API controllers, instead of the `AbpController` class.
+
+**Example:**
+
+````csharp
+[Route("api/products")]
+public class ProductController : AbpControllerBase
+{
+ // TODO: ...
+}
+````
+
+## Ongoing Works & Next Release
+
+We'd published important features and changes with this beta 1 release. However, there are still some major works in development. The most important work is the **Bootstrap 5 upgrade**. ABP 5.0 will work on Bootstrap 5, which is an important change for existing applications. We suggest to prepare for this change from now.
+
+The next release will be 5.0.0-beta.2. It will include the Bootstrap 5 upgrade. We don't plan make another big work for the version 5.0. After the beta.2, we will work on tests, feedbacks and documentation to prepare a stable final release.
+
+## Community News
+
+### ABP was on ASP.NET Community Startup!
+
+It was great for us to be invited to Microsoft's [ASP.NET Community Weekly Standup](https://dotnet.microsoft.com/live/community-standup) show, at September 28. There was a very high attention and that made us very happy. Thanks to the ABP Community and all the watchers :) If you've missed the talk, [you can watch it here](https://www.youtube.com/watch?v=vMWM-_ihjwM).
+
+### Upcoming ABP Book!
+
+I am currently authoring the first official book for the ABP Framework and it is on [pre-sale on Amazon](https://www.amazon.com/Mastering-ABP-Framework-maintainable-implementing-dp-1801079242/dp/1801079242) now.
+
+
+
+This books is a complete guide to start working with the ABP Framework, explore the ABP features and concepts. It also contains chapters for DDD, modular application development and multi-tenancy to learn and practically work with the ABP architecture to build maintainable software solutions and create SaaS applications. The book will be based on ABP 5.0 and published in the beginning of 2022. You can [pre-order now](https://www.amazon.com/Mastering-ABP-Framework-maintainable-implementing-dp-1801079242/dp/1801079242)!
+
+### New ABP Community posts
+
+Here, the latest posts added to the [ABP community](https://community.abp.io/):
+
+* [Deploy ABP Framework .NET Core tiered application to docker swarm](https://community.abp.io/articles/deploy-abp-framework-dotnet-core-tiered-app-to-docker-swarm-kcrjbjec)
+* [How to override localization strings of depending modules](https://community.abp.io/articles/how-to-override-localization-strings-of-depending-modules-ba1oy03l)
+* [Centralized logging for .NET Core ABP microservices application using Seq](https://community.abp.io/articles/centralized-logging-for-.net-core-abp-microservices-app-using-seq-g1xe7e7y)
+* [Extend Tenant management and add custom host to your ABP application](https://community.abp.io/articles/extend-tenant-management-and-add-custom-host-to-your-abp-app-lwmi9lr5)
+
+Thanks to the ABP Community for all the contents they have published. You can also post your ABP and .NET related (text or video) contents to the ABP Community.
+
+## Conclusion
+
+The ABP version 5.0 is coming with important changes (like .NET 6 and Bootstrap 5) and features. In this blog post, I summarized the news about that new version. Please try it and provide feedback by opening issues on [the GitHub repository](https://github.com/abpframework/abp). Thank you all!
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/abp-book-cover.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/abp-book-cover.png
new file mode 100644
index 0000000000..bfd2c54599
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/abp-book-cover.png differ
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/csharp-proxies.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/csharp-proxies.png
new file mode 100644
index 0000000000..1805b5238e
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/csharp-proxies.png differ
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/email-settings.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/email-settings.png
new file mode 100644
index 0000000000..438696e170
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/email-settings.png differ
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/enable-email-tenant.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/enable-email-tenant.png
new file mode 100644
index 0000000000..90e747cc76
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/enable-email-tenant.png differ
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/hangfire-dashboard.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/hangfire-dashboard.png
new file mode 100644
index 0000000000..a7df71a3e3
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/hangfire-dashboard.png differ
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/js-proxies.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/js-proxies.png
new file mode 100644
index 0000000000..4cc9e41308
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/js-proxies.png differ
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/tenant-features.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/tenant-features.png
new file mode 100644
index 0000000000..8146f45992
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/tenant-features.png differ
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/use-preview-visual-studio.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/use-preview-visual-studio.png
new file mode 100644
index 0000000000..317cf1d209
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/use-preview-visual-studio.png differ
diff --git a/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/user-active.png b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/user-active.png
new file mode 100644
index 0000000000..07cb5c7dca
Binary files /dev/null and b/docs/en/Blog-Posts/2021-10-05 v5_0_Beta1/user-active.png differ
diff --git a/docs/en/CLI-New-Command-Samples.md b/docs/en/CLI-New-Command-Samples.md
index 9eae987925..430ac01064 100644
--- a/docs/en/CLI-New-Command-Samples.md
+++ b/docs/en/CLI-New-Command-Samples.md
@@ -1,4 +1,4 @@
-# ABP CLI Create Solution Sample Commands
+# ABP CLI - New Solution Sample Commands
The `abp new` command creates an ABP solution or other artifacts based on an ABP template. [ABP CLI](CLI.md) has several parameters to create a new ABP solution. In this document we will show you some sample commands to create a new solution. All the project names are `Acme.BookStore`. Currently, the only available mobile project is a `React Native` mobile app. Available database providers are `Entity Framework Core` and `MongoDB`. All the commands starts with `abp new`.
@@ -87,6 +87,28 @@ The following commands are for creating Blazor projects:
abp new Acme.BookStore -u blazor --database-provider mongodb --mobile none -csf
```
+## Blazor Server
+
+The following commands are for creating Blazor projects:
+
+* **Entity Framework Core**, no mobile app:
+
+ ```bash
+ abp new Acme.BookStore -t app -u blazor-server --mobile none
+ ```
+
+* **Entity Framework Core**, **separate Identity Server**, **separate API Host**, mobile app included:
+
+ ```bash
+ abp new Acme.BookStore -u blazor-server --tiered
+ ```
+
+* **MongoDB**, no mobile app, creates the project in a new folder:
+
+ ```bash
+ abp new Acme.BookStore -u blazor --database-provider mongodb --mobile none -csf
+ ```
+
## No UI
In the default app template, there is always a frontend project. In this option there is no frontend project. It has a `HttpApi.Host` project to serve your HTTP WebAPIs. It's appropriate if you want to create a WebAPI service.
@@ -101,6 +123,8 @@ In the default app template, there is always a frontend project. In this option
```bash
abp new Acme.BookStore -u none --mobile none --database-provider mongodb
```
+
+
## Console application
diff --git a/docs/en/CLI.md b/docs/en/CLI.md
index 0638543e44..b8f69b1ee4 100644
--- a/docs/en/CLI.md
+++ b/docs/en/CLI.md
@@ -1,4 +1,4 @@
-# ABP CLI
+# ABP CLI
ABP CLI (Command Line Interface) is a command line tool to perform some common operations for ABP based solutions.
@@ -89,12 +89,14 @@ For more samples, go to [ABP CLI Create Solution Samples](CLI-New-Command-Sample
* `--ui` or `-u`: Specifies the UI framework. Default framework is `mvc`. Available frameworks:
* `mvc`: ASP.NET Core MVC. There are some additional options for this template:
* `--tiered`: Creates a tiered solution where Web and Http API layers are physically separated. If not specified, it creates a layered solution which is less complex and suitable for most scenarios.
- * `angular`: Angular. There are some additional options for this template:
- * `--separate-identity-server`: Separates the identity server application from the API host application. If not specified, you will have a single endpoint in the server side.
- * `blazor`: Blazor. There are some additional options for this template:
- * `--separate-identity-server`: Separates the identity server application from the API host application. If not specified, you will have a single endpoint in the server side.
- * `none`: Without UI. There are some additional options for this template:
- * `--separate-identity-server`: Separates the identity server application from the API host application. If not specified, you will have a single endpoint in the server side.
+ * `angular`: Angular UI. There are some additional options for this template:
+ * `--separate-identity-server`: The Identity Server project comes as a separate project and runs at a different endpoint. It separates the Identity Server from the API Host application. If not specified, you will have a single endpoint in the server side.
+ * `blazor`: Blazor UI. There are some additional options for this template:
+ * `--separate-identity-server`The Identity Server project comes as a separate project and runs at a different endpoint. It separates the Identity Server from the API Host application. If not specified, you will have a single endpoint in the server side.
+ * `blazor-server`: Blazor Server UI. There are some additional options for this template:
+ * `--tiered`: The Identity Server and the API Host project comes as separate projects and run at different endpoints. It has 3 startup projects: *HttpApi.Host*, *IdentityServer* and *Blazor* and and each runs on different endpoints. If not specified, you will have a single endpoint for your web project.
+ * `none`: Without UI. No front-end layer will be created. There are some additional options for this template:
+ * `--separate-identity-server`: The Identity Server project comes as a separate project and runs at a different endpoint. It separates the Identity Server from the API Host application. If not specified, you will have a single endpoint in the server side.
* `--mobile` or `-m`: Specifies the mobile application framework. If not specified, no mobile application will be created. Available options:
* `react-native`: React Native.
* `--database-provider` or `-d`: Specifies the database provider. Default provider is `ef`. Available providers:
@@ -264,43 +266,75 @@ abp get-source Volo.Blogging --local-framework-ref --abp-path D:\GitHub\abp
### generate-proxy
-Generates Angular service proxies for your HTTP APIs to make easy to consume your services from the client side. Your host (server) application must be up and running before running this command.
+Generates Angular, C# or JavaScript service proxies for your HTTP APIs to make easy to consume your services from the client side. Your host (server) application must be up and running before running this command.
Usage:
````bash
-abp generate-proxy
+abp generate-proxy -t [options]
+````
+
+Examples:
+
+````bash
+abp generate-proxy -t ng
+abp generate-proxy -t js -url https://localhost:44302/
+abp generate-proxy -t csharp -url https://localhost:44302/
````
#### Options
+* `--type` or `-t`: The name of client type. Available clients:
+ * `csharp`: C#, work in the `*.HttpApi.Client` project directory. There are some additional options for this client:
+ * `--folder`: Folder name to place generated CSharp code in. Default value: `ClientProxies`.
+ * `ng`: Angular. There are some additional options for this client:
+ * `--api-name` or `-a`: The name of the API endpoint defined in the `/src/environments/environment.ts`. Default value: `default`.
+ * `--source` or `-s`: Specifies the Angular project name to resolve the root namespace & API definition URL from. Default value: `defaultProject`.
+ * `--target`: Specifies the Angular project name to place generated code in. Default value: `defaultProject`.
+ * `--prompt` or `-p`: Asks the options from the command line prompt (for the unspecified options).
+ * `js`: JavaScript. work in the `*.Web` project directory. There are some additional options for this client:
+ * `--output` or `-o`: JavaScript file path or folder to place generated code in.
* `--module` or `-m`: Specifies the name of the backend module you wish to generate proxies for. Default value: `app`.
-* `--api-name` or `-a`: The name of the API endpoint defined in the `/src/environments/environment.ts`. Default value: `default`.
-* `--source` or `-s`: Specifies the Angular project name to resolve the root namespace & API definition URL from. Default value: `defaultProject`.
-* `--target` or `-t`: Specifies the Angular project name to place generated code in. Default value: `defaultProject`.
-* `--prompt` or `-p`: Asks the options from the command line prompt (for the unspecified options).
+* `--working-directory` or `-wd`: Execution directory. For `csharp` and `js` client types.
+* `--url` or `-u`: API definition URL from. For `csharp` and `js` client types.
> See the [Angular Service Proxies document](UI/Angular/Service-Proxies.md) for more.
### remove-proxy
-Removes previously generated proxy code from the Angular application. Your host (server) application must be up and running before running this command.
+Removes previously generated proxy code from the Angular, CSharp or JavaScript application. Your host (server) application must be up and running before running this command.
This can be especially useful when you generate proxies for multiple modules before and need to remove one of them later.
Usage:
````bash
-abp remove-proxy
+abp remove-proxy -t [options]
+````
+
+Examples:
+
+````bash
+abp remove-proxy -t ng
+abp remove-proxy -t js -m identity -o Pages/Identity/client-proxies.js
+abp remove-proxy -t csharp --folder MyProxies/InnerFolder
````
#### Options
-* `--module` or `-m`: Specifies the name of the backend module you wish to remove proxies for. Default value: `app`.
-* `--api-name` or `-a`: The name of the API endpoint defined in the `/src/environments/environment.ts`. Default value: `default`.
-* `--source` or `-s`: Specifies the Angular project name to resolve the root namespace & API definition URL from. Default value: `defaultProject`.
-* `--target` or `-t`: Specifies the Angular project name to place generated code in. Default value: `defaultProject`.
-* `--prompt` or `-p`: Asks the options from the command line prompt (for the unspecified options).
+* `--type` or `-t`: The name of client type. Available clients:
+ * `csharp`: C#, work in the `*.HttpApi.Client` project directory. There are some additional options for this client:
+ * `--folder`: Folder name to place generated CSharp code in. Default value: `ClientProxies`.
+ * `ng`: Angular. There are some additional options for this client:
+ * `--api-name` or `-a`: The name of the API endpoint defined in the `/src/environments/environment.ts`. Default value: `default`.
+ * `--source` or `-s`: Specifies the Angular project name to resolve the root namespace & API definition URL from. Default value: `defaultProject`.
+ * `--target`: Specifies the Angular project name to place generated code in. Default value: `defaultProject`.
+ * `--prompt` or `-p`: Asks the options from the command line prompt (for the unspecified options).
+ * `js`: JavaScript. work in the `*.Web` project directory. There are some additional options for this client:
+ * `--output` or `-o`: JavaScript file path or folder to place generated code in.
+* `--module` or `-m`: Specifies the name of the backend module you wish to generate proxies for. Default value: `app`.
+* `--working-directory` or `-wd`: Execution directory. For `csharp` and `js` client types.
+* `--url` or `-u`: API definition URL from. For `csharp` and `js` client types.
> See the [Angular Service Proxies document](UI/Angular/Service-Proxies.md) for more.
diff --git a/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/1.png b/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/1.png
new file mode 100644
index 0000000000..adb430b2ce
Binary files /dev/null and b/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/1.png differ
diff --git a/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/2.png b/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/2.png
new file mode 100644
index 0000000000..8d617c0367
Binary files /dev/null and b/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/2.png differ
diff --git a/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/POST.md b/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/POST.md
new file mode 100644
index 0000000000..cb1b21d7fd
--- /dev/null
+++ b/docs/en/Community-Articles/2021-09-25-How-to-Override-Localization-Strings-Of-Depending-Modules/POST.md
@@ -0,0 +1,88 @@
+# How to override localization strings of depending modules
+
+## Source Code
+
+You can find the source of the example solution used in this article [here](https://github.com/abpframework/abp-samples/tree/master/DocumentationSamples/ExtendLocalizationResource).
+
+## Getting Started
+
+This example is based on the following document
+https://docs.abp.io/en/abp/latest/Localization#extending-existing-resource
+
+We will change the default `DisplayName:Abp.Timing.Timezone` and `Description:Abp.Timing.Timezone` of [`AbpTimingResource`](https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/AbpTimingResource.cs) and add localized text in [Russian language(`ru`)](https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/en.json).
+
+I created the `AbpTiming` folder in the `Localization` directory of the `ExtendLocalizationResource.Domain.Shared` project.
+
+Create `en.json` and `ru.json` in its directory.
+
+`en.json`
+```json
+{
+ "culture": "en",
+ "texts": {
+ "DisplayName:Abp.Timing.Timezone": "My Time zone",
+ "Description:Abp.Timing.Timezone": "My Application time zone"
+ }
+}
+```
+
+`ru.json`
+```json
+{
+ "culture": "ru",
+ "texts": {
+ "DisplayName:Abp.Timing.Timezone": "Часовой пояс",
+ "Description:Abp.Timing.Timezone": "Часовой пояс приложения"
+ }
+}
+```
+
+
+
+We have below content in `ExtendLocalizationResource.Domain.Shared.csproj` file, See [Virtual-File-System](https://docs.abp.io/en/abp/latest/Virtual-File-System#working-with-the-embedded-files) understand how it works.
+
+```xml
+
+
+
+
+
+
+
+
+```
+
+Change the code of the `ConfigureServices` method in `ExtendLocalizationResourceDomainSharedModule`.
+
+```cs
+Configure(options =>
+{
+ options.Resources
+ .Add("en")
+ .AddBaseTypes(typeof(AbpValidationResource))
+ .AddVirtualJson("/Localization/ExtendLocalizationResource");
+
+ //add following code
+ options.Resources
+ .Get()
+ .AddVirtualJson("/Localization/AbpTiming");
+
+ options.DefaultResourceType = typeof(ExtendLocalizationResourceResource);
+});
+```
+
+Execute `ExtendLocalizationResource.DbMigrator` to migrate the database and run `ExtendLocalizationResource.Web`.
+
+We have changed the English localization text and added Russian localization.
+
+### Index page
+
+```cs
+