+
+### Database Provider Options
+
+
+
+## What ABP Provides?
+
+ABP provides a **full stack developer experience**.
+
+### Architecture
+
+
+
+ABP offers a complete, **modular** and **layered** software architecture based on **[Domain Driven Design](https://docs.abp.io/en/abp/latest/Domain-Driven-Design)** principles and patterns. It also provides the necessary infrastructure and guiding to [implement this architecture](https://docs.abp.io/en/abp/latest/Domain-Driven-Design-Implementation-Guide).
+
+ABP Framework is suitable for **[microservice solutions](https://docs.abp.io/en/abp/latest/Microservice-Architecture)** as well as monolithic applications.
+
+### Infrastructure
+
+There are a lot of features provided by the ABP Framework to achieve real world scenarios easier, like [Event Bus](https://docs.abp.io/en/abp/latest/Event-Bus), [Background Job System](https://docs.abp.io/en/abp/latest/Background-Jobs), [Audit Logging](https://docs.abp.io/en/abp/latest/Audit-Logging), [BLOB Storing](https://docs.abp.io/en/abp/latest/Blob-Storing), [Data Seeding](https://docs.abp.io/en/abp/latest/Data-Seeding), [Data Filtering](https://docs.abp.io/en/abp/latest/Data-Filtering), etc.
+
+### Cross Cutting Concerns
+
+ABP also simplifies (and even automates wherever possible) cross cutting concerns and common non-functional requirements like [Exception Handling](https://docs.abp.io/en/abp/latest/Exception-Handling), [Validation](https://docs.abp.io/en/abp/latest/Validation), [Authorization](https://docs.abp.io/en/abp/latest/Authorization), [Localization](https://docs.abp.io/en/abp/latest/Localization), [Caching](https://docs.abp.io/en/abp/latest/Caching), [Dependency Injection](https://docs.abp.io/en/abp/latest/Dependency-Injection), [Setting Management](https://docs.abp.io/en/abp/latest/Settings), etc.
+
+### Application Modules
+
+ABP is a modular framework and the Application Modules provide **pre-built application functionalities**;
+
+- [**Account**](https://docs.abp.io/en/abp/latest/Modules/Account): Provides UI for the account management and allows user to login/register to the application.
+- **[Identity](https://docs.abp.io/en/abp/latest/Modules/Identity)**: Manages organization units, roles, users and their permissions, based on the Microsoft Identity library.
+- [**IdentityServer**](https://docs.abp.io/en/abp/latest/Modules/IdentityServer): Integrates to IdentityServer4.
+- [**Tenant Management**](https://docs.abp.io/en/abp/latest/Modules/Tenant-Management): Manages tenants for a [multi-tenant](https://docs.abp.io/en/abp/latest/Multi-Tenancy) (SaaS) application.
+
+See the [Application Modules](https://docs.abp.io/en/abp/latest/Modules/Index) document for all pre-built modules.
+
+### Startup Templates
+
+The [Startup templates](https://docs.abp.io/en/abp/latest/Startup-Templates/Index) are pre-built Visual Studio solution templates. You can create your own solution based on these templates to **immediately start your development**.
+
+## ABP Community
+
+### ABP Community Web Site
+
+The [ABP Community](https://community.abp.io/) is a website to publish **articles** and share **knowledge** about the ABP Framework. You can also create content for the community!
+
+### Blog
+
+Follow the [ABP Blog](https://blog.abp.io/) to learn the latest happenings in the ABP Framework.
+
+### Samples
+
+See the [sample projects](https://docs.abp.io/en/abp/latest/Samples/Index) built with the ABP Framework.
+
+### Want to Contribute?
+
+ABP is a community-driven open source project. See [the contribution guide](https://docs.abp.io/en/abp/latest/Contribution/Index) if you want to be a part of this project.
+
+## Official Links
+
+* Main Web Site
* Get Started
* Features
- * Documentation
- * Samples
- * Blog
+* Documentation
+* Samples
+* Blog
+* Community
* Stack overflow
* Twitter
-## Contribution
+## Support the ABP Framework
-ABP is an open source platform. Check [the contribution guide](docs/en/Contribution/Index.md) if you want to contribute to the project.
+Love ABP Framework? **Please give a star** to this repository :star:
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/de-DE.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/de-DE.json
new file mode 100644
index 0000000000..b0418f082f
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/de-DE.json
@@ -0,0 +1,14 @@
+{
+ "culture": "de-DE",
+ "texts": {
+ "Account": "ABP Benutzerkonto - Anmeldung & Registrierung | ABP.IO",
+ "Welcome": "Willkommen",
+ "UseOneOfTheFollowingLinksToContinue": "Nutzen Sie einen der nachfolgenden Links um fortzusetzen",
+ "FrameworkHomePage": "Framework Website",
+ "FrameworkDocumentation": "Framework Dokumentation",
+ "OfficialBlog": "Offizieller Blog",
+ "CommercialHomePage": "Commercial Website",
+ "CommercialSupportWebSite": "Commercial Support-Website",
+ "CommunityWebSite": "ABP Community-Website"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/en-GB.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/en-GB.json
new file mode 100644
index 0000000000..c1f56de865
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/en-GB.json
@@ -0,0 +1,14 @@
+{
+ "culture": "en-GB",
+ "texts": {
+ "Account": "ABP Account - Login & Register | ABP.IO",
+ "Welcome": "Welcome",
+ "UseOneOfTheFollowingLinksToContinue": "Use one of the following links to continue",
+ "FrameworkHomePage": "Framework home page",
+ "FrameworkDocumentation": "Framework documentation",
+ "OfficialBlog": "Official blog",
+ "CommercialHomePage": "Commercial home page",
+ "CommercialSupportWebSite": "Commercial support web site",
+ "CommunityWebSite": "ABP community web site"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/es.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/es.json
new file mode 100644
index 0000000000..44ec873da0
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/es.json
@@ -0,0 +1,14 @@
+{
+ "culture": "es",
+ "texts": {
+ "Account": "Cuenta de ABP - Iniciar sesión y registrarse | ABP.IO",
+ "Welcome": "Bienvenido",
+ "UseOneOfTheFollowingLinksToContinue": "Usa uno de los siguientes links para continuar",
+ "FrameworkHomePage": "Página de inicio del framework",
+ "FrameworkDocumentation": "Documentación del framework",
+ "OfficialBlog": "Blog Oficial",
+ "CommercialHomePage": "Página de inicio comercial",
+ "CommercialSupportWebSite": "Sitio web de soporte comercial",
+ "CommunityWebSite": "Sitio web comunidad ABP"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/de-DE.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/de-DE.json
new file mode 100644
index 0000000000..60725c437b
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/de-DE.json
@@ -0,0 +1,199 @@
+{
+ "culture": "de-DE",
+ "texts": {
+ "Permission:Organizations": "Organisationen",
+ "Permission:Manage": "Organisationen verwalten",
+ "Permission:DiscountRequests": "Rabattanfragen",
+ "Permission:DiscountManage": "Rabattanfragen verwalten",
+ "Permission:Disable": "Deaktivieren",
+ "Permission:Enable": "Aktivieren",
+ "Permission:EnableSendEmail": "E-Mail-Senden aktivieren",
+ "Permission:SendEmail": "E-Mail senden",
+ "Permission:NpmPackages": "NPM-Pakete",
+ "Permission:NugetPackages": "Nuget-Pakete",
+ "Permission:Maintenance": "Wartung",
+ "Permission:Maintain": "Warten",
+ "Permission:ClearCaches": "Caches leeren",
+ "Permission:Modules": "Module",
+ "Permission:Packages": "Pakete",
+ "Permission:Edit": "Bearbeiten",
+ "Permission:Delete": "Löschen",
+ "Permission:Create": "Erstellen",
+ "Permission:Accounting": "Abrechnung",
+ "Permission:Accounting:Quotation": "Angebot",
+ "Permission:Accounting:Invoice": "Rechnung",
+ "Menu:Organizations": "Organisationen",
+ "Menu:Accounting": "Abrechnung",
+ "Menu:Packages": "Pakete",
+ "Menu:DiscountRequests": "Rabattanfragen",
+ "NpmPackageDeletionWarningMessage": "Dieses NPM-Paket wird entfernt. Bestätigen Sie das?",
+ "NugetPackageDeletionWarningMessage": "Dieses Nuget-Paket wird entfernt. Bestägiten Sie das?",
+ "ModuleDeletionWarningMessage": "Dieses Modul wird entfernt. Bestätigen Sie das?",
+ "Name": "Name",
+ "DisplayName": "Anzeigename",
+ "ShortDescription": "Kurzbeschreibung",
+ "NameFilter": "Name",
+ "CreationTime": "Erstellungszeitpunkt",
+ "IsPro": "Ist pro",
+ "ShowOnModuleList": "In Modulliste anzeigen",
+ "EfCoreConfigureMethodName": "Methodenname konfigurieren",
+ "IsProFilter": "Ist pro",
+ "ApplicationType": "Anwendungstyp",
+ "Target": "Ziel",
+ "TargetFilter": "Ziel",
+ "ModuleClass": "Modulklasse",
+ "NugetPackageTarget.DomainShared": "Gemeinsame Domain",
+ "NugetPackageTarget.Domain": "Domain",
+ "NugetPackageTarget.Application": "Anwendung",
+ "NugetPackageTarget.ApplicationContracts": "Anwedungsverträge",
+ "NugetPackageTarget.HttpApi": "HTTP-API",
+ "NugetPackageTarget.HttpApiClient": "HTTP-API-Client",
+ "NugetPackageTarget.Web": "Web",
+ "NugetPackageTarget.EntityFrameworkCore": "DeleteAllEntityFramework Core",
+ "NugetPackageTarget.MongoDB": "MongoDB",
+ "Edit": "Bearbeiten",
+ "Delete": "Löschen",
+ "Refresh": "Aktualisieren",
+ "NpmPackages": "NPM-Pakete",
+ "NugetPackages": "Nuget-Pakete",
+ "NpmPackageCount": "NPM-Paketanzahl",
+ "NugetPackageCount": "Nuget-Paketanzahl",
+ "Module": "Module",
+ "ModuleInfo": "Modulinfo",
+ "CreateANpmPackage": "Erstellen Sie ein NPM Paket",
+ "CreateAModule": "Erstellen Sie in Modul",
+ "CreateANugetPackage": "Erstellen Sei ein Nuget-Paket",
+ "AddNew": "Neu hinzufügen",
+ "PackageAlreadyExist{0}": "\"{0}\" Paket ist bereits hinzugefügt.",
+ "ModuleAlreadyExist{0}": "\"{0}\" Modul ist bereits hinzugefügt.",
+ "ClearCache": "Cache leeren",
+ "SuccessfullyCleared": "Erfolgreich geleert",
+ "Menu:NpmPackages": "NPM-Pakete",
+ "Menu:Modules": "Module",
+ "Menu:Maintenance": "Wartung",
+ "Menu:NugetPackages": "Nuget-Pakete",
+ "CreateAnOrganization": "Erstellen Sie eine Organisation",
+ "Organizations": "Organisationen",
+ "LongName": "Lange Name",
+ "LicenseType": "Lizenztyp",
+ "MissingLicenseTypeField": "Das Feld Lizenztyp ist erforderlich!",
+ "LicenseStartTime": "Startzeit der Lizenz",
+ "LicenseEndTime": "Endzeit der Lizenz",
+ "AllowedDeveloperCount": "Zulässige Entwickleranzahl",
+ "UserNameOrEmailAddress": "Benutzername oder E-Mail-Adresse",
+ "AddOwner": "Besitzer hinzufügen",
+ "UserName": "Benutzername",
+ "Email": "E-Mail",
+ "Developers": "Entwickler",
+ "AddDeveloper": "Entwickler hinzufügen",
+ "Create": "Erstellen",
+ "UserNotFound": "Benutzer nicht gefunden",
+ "{0}WillBeRemovedFromDevelopers": "{0} wird von den Entwicklern entfernt. Bestätigen Sie das?",
+ "{0}WillBeRemovedFromOwners": "{0} wird von den Besitzern entfernt. Bestätigen Sie das?",
+ "Computers": "Computer",
+ "UniqueComputerId": "Eindeutig Computer-ID",
+ "LastSeenDate": "Zuletzt gesehenes Datum",
+ "{0}Computer{1}WillBeRemovedFromRecords": "Computer von {0} ({1}) wird aus den Datensätzen entfernt",
+ "OrganizationDeletionWarningMessage": "Organisation wird gelöscht",
+ "DeletingLastOwnerWarningMessage": "Eine Organisation muss zumindest einen Besitzer aufweisen! Daher können Sie diesen Besitzer nicht entfernen",
+ "This{0}AlreadyExistInThisOrganization": "Dies {0} existiert bereits in dieser Organisation",
+ "AreYouSureYouWantToDeleteAllComputers": "Sind Sie sicher, dass Sie alle Computer löschen möchten?",
+ "DeleteAll": "Alles Löschen",
+ "DoYouWantToCreateNewUser": "Möchten Sie einen neuen Benutzer erstellen?",
+ "MasterModules": "Master-Module",
+ "OrganizationName": "Organisationsname",
+ "CreationDate": "Erstellungsdatum",
+ "LicenseStartDate": "Startdatum der Lizenz",
+ "LicenseEndDate": "Enddatum der Lizenz",
+ "OrganizationNamePlaceholder": "Organisationsname...",
+ "TotalQuestionCountPlaceholder": "Gesamtzahl der Fragen...",
+ "RemainingQuestionCountPlaceholder": "Anzahl verbleibender Fragen...",
+ "LicenseTypePlaceholder": "Lizenztyp...",
+ "CreationDatePlaceholder": "Erstellungsdatum...",
+ "LicenseStartDatePlaceholder": "Startdatum der Lizenz...",
+ "LicenseEndDatePlaceholder": "Enddatum der Lizenz...",
+ "UsernameOrEmail": "Benutzername oder E-Mail-Adresse",
+ "UsernameOrEmailPlaceholder": "Benutzername oder E-Mail-Adresse...",
+ "Member": "Mitglied",
+ "PurchaseOrderNo": "Bestellnummer",
+ "QuotationDate": "Angebotsdatum",
+ "CompanyName": "Firmenname",
+ "CompanyAddress": "Firmenanschrift",
+ "Price": "Preis",
+ "DiscountText": "Rabatttext",
+ "DiscountQuantity": "Rabattmenge",
+ "DiscountPrice": "Rabattpreis",
+ "Quotation": "Angebot",
+ "ExtraText": "Zusätzlicher Text",
+ "ExtraAmount": "Zusätzliche Menge",
+ "DownloadQuotation": "Angebot herunterladen",
+ "Invoice": "Rechnung",
+ "TaxNumber": "Steuernummer",
+ "InvoiceNumber": "Rechnungsnummer",
+ "InvoiceDate": "Rechnungsdatum",
+ "InvoiceNote": "Rechnungsnotiz",
+ "Quantity": "Menge",
+ "AddProduct": "Produkt hinzufügen",
+ "AddProductWarning": "Sie müssen ein Produkt hinzufügen!",
+ "TotalPrice": "Gesamtpreis",
+ "Generate": "Generieren",
+ "MissingQuantityField": "Das Feld Menge ist erforderlich!",
+ "MissingPriceField": "Das Feld Preis ist erforderlich!",
+ "CodeUsageStatus": "Status",
+ "Country": "Land",
+ "DeveloperCount": "Entwickleranzahl",
+ "RequestCode": "Anfrage-Code",
+ "WebSite": "Webseite",
+ "GithubUsername": "Github Benutzername",
+ "PhoneNumber": "Telefonnummer",
+ "ProjectDescription": "Projektbeschreibung",
+ "Referrer": "Referrer",
+ "DiscountRequests": "Rabattanfrage",
+ "Copylink": "Link kopieren",
+ "Disable": "Deaktivieren",
+ "Enable": "Aktivieren",
+ "EnableSendEmail": "E-Mail-Senden aktivieren",
+ "SendEmail": "E-Mail senden",
+ "SuccessfullyDisabled": "Erfolgreich deaktiviert",
+ "SuccessfullyEnabled": "Erfolgreich aktiviert",
+ "EmailSent": "E-Mail gesendet",
+ "SuccessfullySent": "Erfolgreich gesendet",
+ "SuccessfullyDeleted": "Erfolgreich gelöscht",
+ "DiscountRequestDeletionWarningMessage": "Rabattanfrage wird gelöscht",
+ "BusinessType": "Unternehmensart",
+ "TotalQuestionCount": "Gesamtzahl der Fragen",
+ "RemainingQuestionCount": "Anzahl verbleibender Fragen",
+ "TotalQuestionMustBeGreaterWarningMessage": "TotalQuestionCount muss größer sein als RemainingQuestionCount !",
+ "QuestionCountsMustBeGreaterThanZero": "TotalQuestionCount und RemainingQuestionCount müssen Null oder größer als Null sein !",
+ "UnlimitedQuestionCount": "Unbegrenzte Anzahl von Fragen",
+ "Notes": "Anmerkungen",
+ "Menu:Community": "Community",
+ "Menu:Articles": "Beiträge",
+ "Wait": "Warten",
+ "Approve": "Genehmigen",
+ "Reject": "Ablehnen",
+ "Details": "Details",
+ "Url": "URL",
+ "Title": "Titel",
+ "ContentSource": "Inhaltsquelle",
+ "Status": "Status",
+ "ReadArticle": "Beitrag lesen",
+ "ArticleHasBeenWaiting": "Beitrag hat gewartet",
+ "ArticleHasBeenApproved": "Beitrag wurde genehmigt",
+ "ArticleHasBeenRejected": "Beitrag wurde abgelehnt",
+ "Permission:Community": "Community",
+ "Permission:CommunityArticle": "Beitrag",
+ "Link": "Link",
+ "Enum:ContentSource:0": "Github",
+ "Enum:ContentSource:1": "Extern",
+ "Enum:Status:0": "Wartend",
+ "Enum:Status:1": "Abgelehnt",
+ "Enum:Status:2": "Genehmigt",
+ "Summary": "Zusammenfassung",
+ "AuthorName": "Autorenname",
+ "CoverImage": "Titelbild",
+ "RemoveCacheConfirmationMessage": "Sind Sie sicher, dass Sie den Cache für den Artikel \"{0}\" entfernen wollen?",
+ "SuccessfullyRemoved": "Erfolgreich geleert",
+ "RemoveCache": "Cache entfernen"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en-GB.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en-GB.json
new file mode 100644
index 0000000000..970e04d24e
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en-GB.json
@@ -0,0 +1,202 @@
+{
+ "culture": "en-GB",
+ "texts": {
+ "Permission:Organizations": "Organisations",
+ "Permission:Manage": "Manage Organisations",
+ "Permission:DiscountRequests": "Discount Requests",
+ "Permission:DiscountManage": "Manage Discount Requests",
+ "Permission:Disable": "Disable",
+ "Permission:Enable": "Enable",
+ "Permission:EnableSendEmail": "Enable Send Email",
+ "Permission:SendEmail": "Send Email",
+ "Permission:NpmPackages": "NPM Packages",
+ "Permission:NugetPackages": "Nuget Packages",
+ "Permission:Maintenance": "Maintenance",
+ "Permission:Maintain": "Maintain",
+ "Permission:ClearCaches": "Clear caches",
+ "Permission:Modules": "Modules",
+ "Permission:Packages": "Packages",
+ "Permission:Edit": "Edit",
+ "Permission:Delete": "Delete",
+ "Permission:Create": "Create",
+ "Permission:Accounting": "Accounting",
+ "Permission:Accounting:Quotation": "Quotation",
+ "Permission:Accounting:Invoice": "Invoice",
+ "Menu:Organizations": "Organisations",
+ "Menu:Accounting": "Accounting",
+ "Menu:Packages": "Packages",
+ "Menu:DiscountRequests": "Discount Requests",
+ "NpmPackageDeletionWarningMessage": "This NPM Package will be deleted. Please confirm this?",
+ "NugetPackageDeletionWarningMessage": "This Nuget Package will be deleted. Please confirm this?",
+ "ModuleDeletionWarningMessage": "This Module will be deleted. Please confirm this?",
+ "Name": "Name",
+ "DisplayName": "Display name",
+ "ShortDescription": "Short description",
+ "NameFilter": "Name",
+ "CreationTime": "Creation time",
+ "IsPro": "Is pro",
+ "ShowOnModuleList": "Show in module list",
+ "EfCoreConfigureMethodName": "Configure method name",
+ "IsProFilter": "Is pro",
+ "ApplicationType": "Application type",
+ "Target": "Target",
+ "TargetFilter": "Target",
+ "ModuleClass": "Module class",
+ "NugetPackageTarget.DomainShared": "Domain Shared",
+ "NugetPackageTarget.Domain": "Domain",
+ "NugetPackageTarget.Application": "Application",
+ "NugetPackageTarget.ApplicationContracts": "Application Contracts",
+ "NugetPackageTarget.HttpApi": "Http Api",
+ "NugetPackageTarget.HttpApiClient": "Http Api Client",
+ "NugetPackageTarget.Web": "Web",
+ "NugetPackageTarget.EntityFrameworkCore": "Delete Entity Framework Core",
+ "NugetPackageTarget.MongoDB": "MongoDB",
+ "Edit": "Edit",
+ "Delete": "Delete",
+ "Refresh": "Refresh",
+ "NpmPackages": "NPM Packages",
+ "NugetPackages": "Nuget Packages",
+ "NpmPackageCount": "NPM Package Count",
+ "NugetPackageCount": "Nuget Package Count",
+ "Module": "Modules",
+ "ModuleInfo": "Module info",
+ "CreateANpmPackage": "Create a NPM package",
+ "CreateAModule": "Create a module",
+ "CreateANugetPackage": "Create a Nuget package",
+ "AddNew": "Add new",
+ "PackageAlreadyExist{0}": "\"{0}\" package has already been added.",
+ "ModuleAlreadyExist{0}": "\"{0}\" module has already been added.",
+ "ClearCache": "Clear cache",
+ "SuccessfullyCleared": "Successfully cleared",
+ "Menu:NpmPackages": "NPM Packages",
+ "Menu:Modules": "Modules",
+ "Menu:Maintenance": "Maintenance",
+ "Menu:NugetPackages": "Nuget Packages",
+ "CreateAnOrganization": "Create an organisation",
+ "Organizations": "Organisations",
+ "LongName": "Long name",
+ "LicenseType": "License type",
+ "MissingLicenseTypeField": "The license type field is required!",
+ "LicenseStartTime": "License start time",
+ "LicenseEndTime": "License end time",
+ "AllowedDeveloperCount": "Allowed developer count",
+ "UserNameOrEmailAddress": "Username or email address",
+ "AddOwner": "Add owner",
+ "UserName": "Username",
+ "Email": "Email",
+ "Developers": "Developers",
+ "AddDeveloper": "Add developer",
+ "Create": "Create",
+ "UserNotFound": "User not found",
+ "{0}WillBeRemovedFromDevelopers": "{0} Will be removed from developers, please confirm?",
+ "{0}WillBeRemovedFromOwners": "{0} Will be removed from owners, please confirm?",
+ "Computers": "Computers",
+ "UniqueComputerId": "Unique computer id",
+ "LastSeenDate": "Last seen date",
+ "{0}Computer{1}WillBeRemovedFromRecords": "Computer of {0} ({1}) will be removed from records",
+ "OrganizationDeletionWarningMessage": "Organisation will be deleted",
+ "DeletingLastOwnerWarningMessage": "An organisation must have at least one owner, therefore you cannot remove this owner",
+ "This{0}AlreadyExistInThisOrganization": "{0} already exist in this organisation",
+ "AreYouSureYouWantToDeleteAllComputers": "Are you sure you want to delete all computers?",
+ "DeleteAll": "Delete all",
+ "DoYouWantToCreateNewUser": "Do you want to create new user?",
+ "MasterModules": "Master Modules",
+ "OrganizationName": "Organisation name",
+ "CreationDate": "Creation date",
+ "LicenseStartDate": "License start date",
+ "LicenseEndDate": "License end date",
+ "OrganizationNamePlaceholder": "Organisation name...",
+ "TotalQuestionCountPlaceholder": "Total question count...",
+ "RemainingQuestionCountPlaceholder": "Remaining question count...",
+ "LicenseTypePlaceholder": "License type...",
+ "CreationDatePlaceholder": "Creation date...",
+ "LicenseStartDatePlaceholder": "License start date...",
+ "LicenseEndDatePlaceholder": "License end date...",
+ "UsernameOrEmail": "Username or email",
+ "UsernameOrEmailPlaceholder": "Username or email...",
+ "Member": "Member",
+ "PurchaseOrderNo": "Purchase Order No.",
+ "QuotationDate": "Quotation date",
+ "CompanyName": "Company name",
+ "CompanyAddress": "Company address",
+ "Price": "Price",
+ "DiscountText": "Discount text",
+ "DiscountQuantity": "Discount quantity",
+ "DiscountPrice": "Discount price",
+ "Quotation": "Quotation",
+ "ExtraText": "Extra text",
+ "ExtraAmount": "Extra Amount",
+ "DownloadQuotation": "Download Quotation",
+ "Invoice": "Invoice",
+ "TaxNumber": "Tax No.",
+ "InvoiceNumber": "Invoice No.",
+ "InvoiceDate": "Invoice Date",
+ "InvoiceNote": "Invoice Note",
+ "Quantity": "Quantity",
+ "AddProduct": "Add Product",
+ "AddProductWarning": "You need to add a Product!",
+ "TotalPrice": "Total Price",
+ "Generate": "Generate",
+ "MissingQuantityField": "The Quantity field is required!",
+ "MissingPriceField": "The Price field is required!",
+ "CodeUsageStatus": "Status",
+ "Country": "Country",
+ "DeveloperCount": "Developer Count",
+ "RequestCode": "Request Code",
+ "WebSite": "Website",
+ "GithubUsername": "Github Username",
+ "PhoneNumber": "Phone Number",
+ "ProjectDescription": "Project Description",
+ "Referrer": "Referrer",
+ "DiscountRequests": "Discount Request",
+ "Copylink": "Copy Link",
+ "Disable": "Disable",
+ "Enable": "Enable",
+ "EnableSendEmail": "Enable Send Email",
+ "SendEmail": "Send Email",
+ "SuccessfullyDisabled": "Successfully disabled",
+ "SuccessfullyEnabled": "Successfully enabled",
+ "EmailSent": "Email sent",
+ "SuccessfullySent": "Successfully sent",
+ "SuccessfullyDeleted": "Successfully deleted",
+ "DiscountRequestDeletionWarningMessage": "Discount request will be deleted",
+ "BusinessType": "Business Type",
+ "TotalQuestionCount": "Total question count",
+ "RemainingQuestionCount": "Remaining question count",
+ "TotalQuestionMustBeGreaterWarningMessage": "TotalQuestionCount must be greater than RemainingQuestionCount!",
+ "QuestionCountsMustBeGreaterThanZero": "TotalQuestionCount and RemainingQuestionCount must be zero or greater than zero!",
+ "UnlimitedQuestionCount": "Unlimited question count",
+ "Notes": "Notes",
+ "Menu:Community": "Community",
+ "Menu:Articles": "Articles",
+ "Wait": "Wait",
+ "Approve": "Approve",
+ "Reject": "Reject",
+ "Details": "Details",
+ "Url": "Url",
+ "Title": "Title",
+ "ContentSource": "Content source",
+ "Status": "Status",
+ "ReadArticle": "Read article",
+ "ArticleHasBeenWaiting": "Article has been waiting",
+ "ArticleHasBeenApproved": "Article has been approved",
+ "ArticleHasBeenRejected": "Article has been rejected",
+ "Permission:Community": "Community",
+ "Permission:CommunityArticle": "Article",
+ "Link": "Link",
+ "Enum:ContentSource:0": "Github",
+ "Enum:ContentSource:1": "External",
+ "Enum:Status:0": "Waiting",
+ "Enum:Status:1": "Author name",
+ "Enum:Status:2": "Approved",
+ "Summary": "Summary",
+ "AuthorName": "Author",
+ "CoverImage": "Cover Image",
+ "RemoveCacheConfirmationMessage": "Are you sure you want remove the cache for \"{0}\" article?",
+ "SuccessfullyRemoved": "Successfully cleared",
+ "RemoveCache": "Remove Cache",
+ "Language": "Language",
+ "Optional": "Optional",
+ "CreateArticleLanguageInfo": "The language in which the article is written"
+ }
+}
\ 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 6e3c1df3ce..cf6b6a124c 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json
@@ -194,6 +194,14 @@
"CoverImage": "Cover Image",
"RemoveCacheConfirmationMessage": "Are you sure you remove the cache for \"{0}\" article?",
"SuccessfullyRemoved": "Successfully cleared",
- "RemoveCache": "Remove Cache"
+ "RemoveCache": "Remove Cache",
+ "Language": "Language",
+ "Optional": "Optional",
+ "CreateArticleLanguageInfo": "The language in which the post is written",
+ "Enum:ContentSource:2": "Video Post",
+ "DeleteCoverImage": "Delete Cover Image",
+ "DeleteCoverImageConfirmationMessage": "Are you sure you want to delete the cover image for \"{0}\"?",
+ "DeleteCoverImageSuccessMessage": "Cover image successfully deleted"
+
}
-}
\ No newline at end of file
+}
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/es.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/es.json
new file mode 100644
index 0000000000..89ef8706e0
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/es.json
@@ -0,0 +1,199 @@
+{
+ "culture": "es",
+ "texts": {
+ "Permission:Organizations": "Organizaciones",
+ "Permission:Manage": "Gestionar organizaciones",
+ "Permission:DiscountRequests": "Solicitudes de descuento",
+ "Permission:DiscountManage": "Gestionar solicitudes de descuento",
+ "Permission:Disable": "Desactivar",
+ "Permission:Enable": "Activar",
+ "Permission:EnableSendEmail": "Activar enviar email",
+ "Permission:SendEmail": "Enviar email",
+ "Permission:NpmPackages": "Paquetes NPM",
+ "Permission:NugetPackages": "Paquetes Nuget",
+ "Permission:Maintenance": "Mantenimiento",
+ "Permission:Maintain": "Mantener",
+ "Permission:ClearCaches": "Borrar cachés",
+ "Permission:Modules": "Módulos",
+ "Permission:Packages": "Paquetes",
+ "Permission:Edit": "Editar",
+ "Permission:Delete": "Borrar",
+ "Permission:Create": "Crear",
+ "Permission:Accounting": "Contabilidad",
+ "Permission:Accounting:Quotation": "Cotización",
+ "Permission:Accounting:Invoice": "Factura",
+ "Menu:Organizations": "Organizaciones",
+ "Menu:Accounting": "Contabilidad",
+ "Menu:Packages": "Paquetes",
+ "Menu:DiscountRequests": "Solicitudes de descuento",
+ "NpmPackageDeletionWarningMessage": "Este NPM paquete será borrado. ¿Quieres confirmar?",
+ "NugetPackageDeletionWarningMessage": "Este NPM paquete será borrado. ¿Quieres confirmar?",
+ "ModuleDeletionWarningMessage": "Este NPM paquete será borrado. ¿Quieres confirmar?",
+ "Name": "Nombre",
+ "DisplayName": "Nombre para mostrar",
+ "ShortDescription": "Descripción corta",
+ "NameFilter": "Nombre",
+ "CreationTime": "Fecha de creación",
+ "IsPro": "Es pro",
+ "ShowOnModuleList": "Mostrar en la lista de módulos",
+ "EfCoreConfigureMethodName": "configurar nombre de método",
+ "IsProFilter": "Es pro",
+ "ApplicationType": "tipo de aplicación",
+ "Target": "Destino",
+ "TargetFilter": "Destino",
+ "ModuleClass": "Módulo de clase",
+ "NugetPackageTarget.DomainShared": "Dominio compartido",
+ "NugetPackageTarget.Domain": "Dominio",
+ "NugetPackageTarget.Application": "Aplicación",
+ "NugetPackageTarget.ApplicationContracts": "Contratos de aplicación",
+ "NugetPackageTarget.HttpApi": "Http Api",
+ "NugetPackageTarget.HttpApiClient": "Cliente Http Api",
+ "NugetPackageTarget.Web": "Web",
+ "NugetPackageTarget.EntityFrameworkCore": "Delete todo EntityFramework Core",
+ "NugetPackageTarget.MongoDB": "MongoDB",
+ "Edit": "Editar",
+ "Delete": "Borrar",
+ "Refresh": "Refrescar",
+ "NpmPackages": "Paquetes NPM",
+ "NugetPackages": "Paquetes Nuget",
+ "NpmPackageCount": "Número de paquetes NPM",
+ "NugetPackageCount": "Número de paquetes Nuget",
+ "Module": "Módulos",
+ "ModuleInfo": "Info de módulo",
+ "CreateANpmPackage": "Crear un paquete NPM",
+ "CreateAModule": "Crear un módulo",
+ "CreateANugetPackage": "Crear un paquete de Nuget",
+ "AddNew": "Añadir nuevo",
+ "PackageAlreadyExist{0}": "\"{0}\" paquete ya se encuentra añadido",
+ "ModuleAlreadyExist{0}": "\"{0}\" módulo ya se encuentra añadido.",
+ "ClearCache": "Borrar caché",
+ "SuccessfullyCleared": "Borrado satisfactoriamente",
+ "Menu:NpmPackages": "Paquetes de NPM",
+ "Menu:Modules": "Módulos",
+ "Menu:Maintenance": "Mantenimiento",
+ "Menu:NugetPackages": "Paquetes Nuget",
+ "CreateAnOrganization": "Crear una organización",
+ "Organizations": "Organizaciones",
+ "LongName": "Nombre largo",
+ "LicenseType": "Tipo de licencia",
+ "MissingLicenseTypeField": "El campo tipo de licencia es requerido!",
+ "LicenseStartTime": "Fecha de inicio de licencia",
+ "LicenseEndTime": "Fecha de caducidad de licencia",
+ "AllowedDeveloperCount": "Número de desarrolladores permitidos",
+ "UserNameOrEmailAddress": "Nombre de usuario o",
+ "AddOwner": "Añadir propietario",
+ "UserName": "Nombre de usuario",
+ "Email": "Email",
+ "Developers": "Desarrolladores",
+ "AddDeveloper": "Añadir desarrollador",
+ "Create": "Crear",
+ "UserNotFound": "Usuario no encontrado",
+ "{0}WillBeRemovedFromDevelopers": "{0} será eliminado de desarrolladores, ¿deseas continuar?",
+ "{0}WillBeRemovedFromOwners": "{0} será eliminado de propietarios, ¿deseas continuar?",
+ "Computers": "Ordenadores",
+ "UniqueComputerId": "Id única de ordenador",
+ "LastSeenDate": "Fecha de visto por última vez",
+ "{0}Computer{1}WillBeRemovedFromRecords": "El ordenador {0} ({1}) será eliminado de los registros",
+ "OrganizationDeletionWarningMessage": "La organización será eliminada",
+ "DeletingLastOwnerWarningMessage": "Una organización debe tener al menos un propietario!. Por lo tanto, tu no puedes eliminar este propietario",
+ "This{0}AlreadyExistInThisOrganization": "Este/a {0} ya existe en esta organización",
+ "AreYouSureYouWantToDeleteAllComputers": "Estás seguro tu quieres eliminar todos los ordenadores",
+ "DeleteAll": "Eliminar todo",
+ "DoYouWantToCreateNewUser": "¿Quieres crear un nuevo usuario?",
+ "MasterModules": "Módulos maestros",
+ "OrganizationName": "Nombre de organización",
+ "CreationDate": "Fecha de creación",
+ "LicenseStartDate": "Fecha de inicio de licencia",
+ "LicenseEndDate": "Fecha de caducidad de licencia",
+ "OrganizationNamePlaceholder": "Nombre de organización...",
+ "TotalQuestionCountPlaceholder": "Número total de preguntas...",
+ "RemainingQuestionCountPlaceholder": "Número de preguntas pendientes",
+ "LicenseTypePlaceholder": "Tipo de licencia...",
+ "CreationDatePlaceholder": "Fecha de creación...",
+ "LicenseStartDatePlaceholder": "Fecha de inicio de licencia...",
+ "LicenseEndDatePlaceholder": "Fecha de caducidad de licencia...",
+ "UsernameOrEmail": "Usuario o email",
+ "UsernameOrEmailPlaceholder": "Usuario o email...",
+ "Member": "Miembro",
+ "PurchaseOrderNo": "Número de orden de compra",
+ "QuotationDate": "Fecha de presupuesto",
+ "CompanyName": "Nombre de empresa",
+ "CompanyAddress": "Dirección de empresa",
+ "Price": "Precio",
+ "DiscountText": "Texto de descuento",
+ "DiscountQuantity": "Cantidad de descuento",
+ "DiscountPrice": "Precio de descuento",
+ "Quotation": "Presupuesto",
+ "ExtraText": "Texto extra",
+ "ExtraAmount": "Cantidad extra",
+ "DownloadQuotation": "Descarga el presupuesto",
+ "Invoice": "Factura",
+ "TaxNumber": "Identificación fiscal",
+ "InvoiceNumber": "Número de factura",
+ "InvoiceDate": "Fecha de factura",
+ "InvoiceNote": "Nota de factura",
+ "Quantity": "Cantidad",
+ "AddProduct": "Añadir producto",
+ "AddProductWarning": "Tu necesitas añadir un producto!",
+ "TotalPrice": "Precio total",
+ "Generate": "Generar",
+ "MissingQuantityField": "El campo cantidad es requerido!",
+ "MissingPriceField": "El campo precio es requerido!",
+ "CodeUsageStatus": "Estado",
+ "Country": "País",
+ "DeveloperCount": "Cuentas de desarrollo",
+ "RequestCode": "Solicitud de código",
+ "WebSite": "Sitio web",
+ "GithubUsername": "Nombre de usuario Github",
+ "PhoneNumber": "Número de teléfono",
+ "ProjectDescription": "Descripción del proyecto",
+ "Referrer": "Referente",
+ "DiscountRequests": "Solicitud de descuento",
+ "Copylink": "Copiar Link",
+ "Disable": "Deshabilitar",
+ "Enable": "Habilitar",
+ "EnableSendEmail": "Habilitar el envío de Email",
+ "SendEmail": "Enviar Email",
+ "SuccessfullyDisabled": "Deshabilitado correctamente",
+ "SuccessfullyEnabled": "Habilitado correctamente",
+ "EmailSent": "Email enviado",
+ "SuccessfullySent": "Enviado correctamente",
+ "SuccessfullyDeleted": "Borrado correctamente",
+ "DiscountRequestDeletionWarningMessage": "La solicitud de descuento será borrada",
+ "BusinessType": "Tipo de negocio",
+ "TotalQuestionCount": "Número total de preguntas",
+ "RemainingQuestionCount": "Número de preguntas restantes",
+ "TotalQuestionMustBeGreaterWarningMessage": "TotalQuestionCount debe ser mayor que RemainingQuestionCount !",
+ "QuestionCountsMustBeGreaterThanZero": "TotalQuestionCount y RemainingQuestionCount debe ser cero o más grande que cero !",
+ "UnlimitedQuestionCount": "Número de preguntas ilimitadas",
+ "Notes": "Notas",
+ "Menu:Community": "Comunidad",
+ "Menu:Articles": "Artículos",
+ "Wait": "Esperar",
+ "Approve": "Aprobar",
+ "Reject": "Rechazar",
+ "Details": "Detalles",
+ "Url": "Url",
+ "Title": "Título",
+ "ContentSource": "Fuente de contenido",
+ "Status": "Estado",
+ "ReadArticle": "Leer artículo",
+ "ArticleHasBeenWaiting": "El artículo ha sido puesto en espera",
+ "ArticleHasBeenApproved": "El artículo ha sido aprobado",
+ "ArticleHasBeenRejected": "El artículo ha sido rechazado",
+ "Permission:Community": "Comunidad",
+ "Permission:CommunityArticle": "Artículo",
+ "Link": "Link",
+ "Enum:ContentSource:0": "Github",
+ "Enum:ContentSource:1": "Externo",
+ "Enum:Status:0": "En espera",
+ "Enum:Status:1": "Rechazado",
+ "Enum:Status:2": "Aprobado",
+ "Summary": "Resumen",
+ "AuthorName": "Nombre del autor",
+ "CoverImage": "Imagen de portada",
+ "RemoveCacheConfirmationMessage": "¿Estás seguro que quieres borrar la caché para \"{0}\" artículo?",
+ "SuccessfullyRemoved": "Borrada correctamente",
+ "RemoveCache": ""
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json
index b7f7cb41a5..1884b0025f 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/tr.json
@@ -156,6 +156,13 @@
"RemainingQuestionCount": "Kalan soru sayısı",
"TotalQuestionMustBeGreaterWarningMessage": "Toplam soru sayısı kalan soru sayısından büyük olmalıdır!",
"QuestionCountsMustBeGreaterThanZero": "Toplam soru sayısı ve kalan soru sayısı sıfır veya sıfırdan daha büyük olmalıdır!",
- "UnlimitedQuestionCount": "Sınırsız soru sayısı"
+ "UnlimitedQuestionCount": "Sınırsız soru sayısı",
+ "Language": "Dil",
+ "Optional": "Opsiyonel",
+ "CreateArticleLanguageInfo": "Makalenin yazıldığı dil",
+ "Enum:ContentSource:2": "Video İçerik",
+ "DeleteCoverImage": "Kapak Fotoğrafını Sil",
+ "DeleteCoverImageConfirmationMessage": "Kapak fotoğrafını \"{0}\" isimli makale için silmek istediğinize emin misiniz?",
+ "DeleteCoverImageSuccessMessage": "Kapak fotoğrafı başarılı bir şekilde silinmiştir"
}
}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/de-DE.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/de-DE.json
new file mode 100644
index 0000000000..77e1b2090a
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/de-DE.json
@@ -0,0 +1,33 @@
+{
+ "culture": "de-DE",
+ "texts": {
+ "Volo.AbpIo.Domain:010004": "Maximale Mitgliederanzahl erreicht!",
+ "Volo.AbpIo.Domain:010005": "Miximale Besizeranzahl erreicht!",
+ "Volo.AbpIo.Domain:010006": "Dieser Benutzer ist bereits ein Besitzer in dieser Organisation!",
+ "Volo.AbpIo.Domain:010007": "Dieser Benutzer ist bereits ein Entwickler in dieser Organisation!",
+ "Volo.AbpIo.Domain:010008": "Die zulässige Entwickleranzahl darf nicht geringer sein als die aktuelle Entwickleranzahl!",
+ "Volo.AbpIo.Domain:010009": "Die zulässige Entwickleranzahl darf nicht kleiner als 0 sein!",
+ "Volo.AbpIo.Domain:010010": "Die maximale Anzahl der Mac-Adressen ist überschritten!",
+ "Volo.AbpIo.Domain:010011": "Die persönliche Lizenz kann nicht mehr als 1 Entwickler haben!",
+ "Volo.AbpIo.Domain:010012": "Die Lizenz kann nicht einen Monat nach Ablauf der Lizenz verlängert werden!",
+ "Volo.AbpIo.Domain:020001": "Dieses NPM-Paket konnte nicht gelöscht werden, da \"{NugetPackages}\" Nuget-Pakete von diesem Paket abhängig sind.",
+ "Volo.AbpIo.Domain:020002": "Dieses NPM-Paket konnte nicht gelöscht werden, da \"{Module}\" Module dieses Paket verwenden.",
+ "Volo.AbpIo.Domain:020003": "Dieses NPM-Paket konnte nicht gelöscht werden, da \"{Module}\" Module dieses Paket verwenden und \"{NugetPackages}\" Nuget-Pakete von diesem Paket abhängig sind.",
+ "Volo.AbpIo.Domain:020004": "Dieses Nuget-Paket konnte nicht gelöscht werden, da \"{Module}\" Module dieses Paket verwenden.",
+ "WantToLearn?": "Wollen Sie sich einlernen?",
+ "ReadyToGetStarted?": "Bereit anzufangen?",
+ "JoinOurCommunity": "Tritt unserer Community bei",
+ "GetStartedUpper": "LOSLEGEN",
+ "ForkMeOnGitHub": "Fork me on GitHub",
+ "Features": "Features",
+ "GetStarted": "Loslegen",
+ "Documents": "Unterlagen",
+ "Community": "Community",
+ "ContributionGuide": "Leitfaden für Mitwirkende",
+ "Blog": "Blog",
+ "Commercial": "Commercial",
+ "MyAccount": "Mein Benutzerkonto",
+ "SeeDocuments": "Siehe Unterlagen",
+ "Samples": "Beispiele"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en-GB.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en-GB.json
new file mode 100644
index 0000000000..235a7c61d0
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en-GB.json
@@ -0,0 +1,35 @@
+{
+ "culture": "en-GB",
+ "texts": {
+ "Volo.AbpIo.Domain:010004": "Maximum member count reached!",
+ "Volo.AbpIo.Domain:010005": "Maximum owner count reached!",
+ "Volo.AbpIo.Domain:010006": "This user is already an owner in this organisation!",
+ "Volo.AbpIo.Domain:010007": "This user is already a developer in this organisation!",
+ "Volo.AbpIo.Domain:010008": "Allowed Developer Count can not be less then current developer count!",
+ "Volo.AbpIo.Domain:010009": "Allowed Developer Count can not be less then 0!",
+ "Volo.AbpIo.Domain:010010": "Maximum mac address count has been exceeded!",
+ "Volo.AbpIo.Domain:010011": "Personal license can't have more than 1 developer!",
+ "Volo.AbpIo.Domain:010012": "License can't be extended one month after license expires!",
+ "Volo.AbpIo.Domain:020001": "Couldn't delete this NPM Package because \"{NugetPackages}\" Nuget Packages are dependent to this package.",
+ "Volo.AbpIo.Domain:020002": "Couldn't delete this NPM Package because \"{Modules}\" Modules are using this package.",
+ "Volo.AbpIo.Domain:020003": "Couldn't delete this NPM Package because \"{Modules}\" Modules are using this package and \"{NugetPackages}\" Nuget Packages are dependent to this package.",
+ "Volo.AbpIo.Domain:020004": "Couldn't delete this Nuget Package because \"{Modules}\" Modules are using this package.",
+ "WantToLearn?": "Want to learn?",
+ "ReadyToGetStarted?": "Ready to get started?",
+ "JoinOurCommunity": "Join our community",
+ "GetStartedUpper": "GET STARTED",
+ "ForkMeOnGitHub": "Fork me on GitHub",
+ "Features": "Features",
+ "GetStarted": "Get Started",
+ "Documents": "Documents",
+ "Community": "Community",
+ "ContributionGuide": "Contribution Guide",
+ "Blog": "Blog",
+ "Commercial": "Commercial",
+ "MyAccount": "My account",
+ "Permission:License": "License",
+ "Permission:UserInfo": "User info",
+ "SeeDocuments": "See Documents",
+ "Samples": "Samples"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json
index a916cd82d9..71dc425dc6 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json
@@ -27,6 +27,8 @@
"Blog": "Blog",
"Commercial": "Commercial",
"MyAccount": "My account",
+ "Permission:License": "License",
+ "Permission:UserInfo": "Usere info",
"SeeDocuments": "See Documents",
"Samples": "Samples"
}
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/es.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/es.json
new file mode 100644
index 0000000000..9974232511
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/es.json
@@ -0,0 +1,33 @@
+{
+ "culture": "es",
+ "texts": {
+ "Volo.AbpIo.Domain:010004": "Número máximo de miembros alcanzado!",
+ "Volo.AbpIo.Domain:010005": "Número máximo de propietarios alcanzado!",
+ "Volo.AbpIo.Domain:010006": "Este usuario ya es un propietario de esta organización!",
+ "Volo.AbpIo.Domain:010007": "Este usuario ya es un desarrollador en este organización!",
+ "Volo.AbpIo.Domain:010008": "Número de desarrolladores permitido no puede ser menor que el número actual de desarrolladores!",
+ "Volo.AbpIo.Domain:010009": "El número de desarrolladores no puede ser menor que cero!",
+ "Volo.AbpIo.Domain:010010": "Número máximo de dirección mac excedido!",
+ "Volo.AbpIo.Domain:010011": "Una licencia personal no puede tener más de un desarrollador!",
+ "Volo.AbpIo.Domain:010012": "La licencia no puede ser extendida un mes despues de que expire!",
+ "Volo.AbpIo.Domain:020001": "Este paquete NPM no pudo ser borrado porque \"{NugetPackages}\" paquetes Nuget son dependientes de este paquete.",
+ "Volo.AbpIo.Domain:020002": "Este paquete NPM no pudo ser borrado porque \"{Modules}\" modulos están usando este paquete.",
+ "Volo.AbpIo.Domain:020003": "Este paquete NPM no pudo ser borrado porque \"{Modules}\" modulos están usando este paquete.y \"{NugetPackages}\" paquetes Nuget son dependientes de este paquete.",
+ "Volo.AbpIo.Domain:020004": "Este paquete Nuget no pudo ser borrado porque \"{Modules}\" modulos están usando este paquete.",
+ "WantToLearn?": "¿Quieres aprender?",
+ "ReadyToGetStarted?": "¿Preparado para comenzar?",
+ "JoinOurCommunity": "Unete a nuestra comunidad",
+ "GetStartedUpper": "COMENZAR",
+ "ForkMeOnGitHub": "Fork en GitHub",
+ "Features": "Características",
+ "GetStarted": "Comenzar",
+ "Documents": "Documentos",
+ "Community": "Comunidad",
+ "ContributionGuide": "Guia de contribución",
+ "Blog": "Blog",
+ "Commercial": "Comercial",
+ "MyAccount": "Mi cuenta",
+ "SeeDocuments": "Ver documentos",
+ "Samples": "Ejemplos"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json
index 79493b537e..f061408c98 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json
@@ -27,6 +27,8 @@
"Blog": "博客",
"Commercial": "商业版",
"MyAccount": "我的账户",
+ "Permission:License": "许可",
+ "Permission:UserInfo": "用户信息",
"SeeDocuments": "查看文档",
"Samples": "示例"
}
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de-DE.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de-DE.json
new file mode 100644
index 0000000000..ddc493e63b
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/de-DE.json
@@ -0,0 +1,35 @@
+{
+ "culture": "de-DE",
+ "texts": {
+ "OrganizationManagement": "Organisationsverwaltung",
+ "OrganizationList": "Organisationsauflistung",
+ "Volo.AbpIo.Commercial:010003": "Sie sind der Besitzer dieser Organisation!",
+ "OrganizationNotFoundMessage": "Keine Organisation gefunden!",
+ "DeveloperCount": "Zugeordnete / Gesamte Entwickler",
+ "QuestionCount": "Verbleibende / Gesamte Fragen",
+ "Unlimited": "Unbegrenzt",
+ "Owners": "Besitzer",
+ "AddMember": "Mitglied hinzufügen",
+ "AddOwner": "Besizer hinzufügen",
+ "AddDeveloper": "Entwickler hinzufügen",
+ "UserName": "Benutzername",
+ "Name": "Name",
+ "EmailAddress": "E-Mail-Adress",
+ "Developers": "Entwickler",
+ "LicenseType": "Lizenztyp",
+ "Manage": "Verwalten",
+ "StartDate": "Startdatum",
+ "EndDate": "Enddatum",
+ "Modules": "Module",
+ "LicenseExtendMessage": "Ihr Lizenzenddatum wird auf {0} verlängert",
+ "LicenseUpgradeMessage": "Ihre Lizenz wird auf {0} aktualisiert",
+ "LicenseAddDeveloperMessage": "{0} Entwickler zu Ihrer Lizenz hinzugefügt",
+ "Volo.AbpIo.Commercial:010004": "Kann den angegebenen Benutzer nicht finden! Der Benutzer muss sich bereits registriert haben.",
+ "MyOrganizations": "Meine Organisationen",
+ "ApiKey": "API-Schlüssel",
+ "UserNameNotFound": "Es gibt keinen Benutzer mit dem Benutzernamen {0}",
+ "SuccessfullyAddedToNewsletter": "Vielen Dank, dass Sie unseren Newsletter abonniert haben!",
+ "MyProfile": "Mein Profil",
+ "EmailNotValid": "Bitte geben Sie eine gültige E-Mail-Adresse ein."
+ }
+}
\ 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
new file mode 100644
index 0000000000..56f4ed934f
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en-GB.json
@@ -0,0 +1,39 @@
+{
+ "culture": "en-GB",
+ "texts": {
+ "OrganizationManagement": "Organisation Management",
+ "OrganizationList": "Organisation list",
+ "Volo.AbpIo.Commercial:010003": "You are not owner of this organisation!",
+ "OrganizationNotFoundMessage": "Organisation not found!",
+ "DeveloperCount": "Allocated / total developers",
+ "QuestionCount": "Remaining / total questions",
+ "Unlimited": "Unlimited",
+ "Owners": "Owners",
+ "AddMember": "Add member",
+ "AddOwner": "Add owner",
+ "AddDeveloper": "Add developer",
+ "UserName": "Username",
+ "Name": "Name",
+ "EmailAddress": "Email address",
+ "Developers": "Developers",
+ "LicenseType": "License type",
+ "Manage": "Manage",
+ "StartDate": "Start date",
+ "EndDate": "End date",
+ "Modules": "Modules",
+ "LicenseExtendMessage": "Your license end date is extended to {0}",
+ "LicenseUpgradeMessage": "Your license is upgraded to {0}",
+ "LicenseAddDeveloperMessage": "{0} developers added to your license",
+ "Volo.AbpIo.Commercial:010004": "Cannot find the specified user! The user must have already registered.",
+ "MyOrganizations": "My organisations",
+ "ApiKey": "API key",
+ "UserNameNotFound": "There is no user with username {0}",
+ "SuccessfullyAddedToNewsletter": "Thank you for subscribing to our newsletter!",
+ "MyProfile": "My Profile",
+ "EmailNotValid": "Please enter a valid email address.",
+ "JoinOurMarketingNewsletter": "Join our marketing newsletter",
+ "WouldLikeToReceiveMarketingMaterials": "I would like to receive marketing materials e.g. product deals & special offers.",
+ "StartUsingYourLicenseNow": "Start using your license now!",
+ "WelcomePage": "Welcome Page"
+ }
+}
\ 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 2a57c6b25d..c6eb1ad645 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
@@ -30,6 +30,10 @@
"UserNameNotFound": "There is no user with username {0}",
"SuccessfullyAddedToNewsletter": "Thanks you for subscribing to our newsletter!",
"MyProfile": "My profile",
- "EmailNotValid": "Please enter a valid email address."
+ "EmailNotValid": "Please enter a valid email address.",
+ "JoinOurMarketingNewsletter": "Join our marketing newsletter",
+ "WouldLikeToReceiveMarketingMaterials": "I would like to receive marketing materials like product deals & special offers.",
+ "StartUsingYourLicenseNow": "Start using your license now!",
+ "WelcomePage": "Welcome Page"
}
}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
new file mode 100644
index 0000000000..80647e85e9
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
@@ -0,0 +1,35 @@
+{
+ "culture": "es",
+ "texts": {
+ "OrganizationManagement": "Gestión de la organización",
+ "OrganizationList": "Lista organización",
+ "Volo.AbpIo.Commercial:010003": "Tu no eres el propietario de esta organización!",
+ "OrganizationNotFoundMessage": "Organización no encontrada!",
+ "DeveloperCount": "Total desarrolladores asignados",
+ "QuestionCount": "Total de preguntas restantes",
+ "Unlimited": "Ilimitado",
+ "Owners": "Propietarios",
+ "AddMember": "Añadir miembro",
+ "AddOwner": "Añadir propietario",
+ "AddDeveloper": "Añadir desarrollador",
+ "UserName": "Nombre de usuario",
+ "Name": "Nombre",
+ "EmailAddress": "Dirección de Email",
+ "Developers": "Desarrolladores",
+ "LicenseType": "Tipo de licencia",
+ "Manage": "Gestionar",
+ "StartDate": "Fecha de inicio",
+ "EndDate": "Fecha de fin",
+ "Modules": "Módulos",
+ "LicenseExtendMessage": "Tu fecha de finalización de tu licencia ha sido extendido a {0}",
+ "LicenseUpgradeMessage": "Tu licencia esta actualizada a {0}",
+ "LicenseAddDeveloperMessage": "{0} desarrolladores añadidos a tu licencia",
+ "Volo.AbpIo.Commercial:010004": "No se pudo encontrar el usuario especificado. El usuario debe estar ya registrado.",
+ "MyOrganizations": "Mis organizaciones",
+ "ApiKey": "API Key",
+ "UserNameNotFound": "No hay un usuario con el nombre de usuario {0}",
+ "SuccessfullyAddedToNewsletter": "Gracias por suscribirte a nuestro boletín de noticias!",
+ "MyProfile": "Mi perfil",
+ "EmailNotValid": "Por favor, introduce una dirección de email válida."
+ }
+}
\ 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 0147e71a05..82c23450a0 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
@@ -28,8 +28,12 @@
"MyOrganizations": "我的组织",
"ApiKey": "API key",
"UserNameNotFound": "没有用户名为{0}的用户",
- "SuccessfullyAddedToNewsletter": "感谢你订阅我们的新闻通讯!",
+ "SuccessfullyAddedToNewsletter": "感谢你订阅我们的新闻简讯!",
"MyProfile": "我的资料",
- "EmailNotValid": "请输入有效的电子邮件地址"
+ "EmailNotValid": "请输入有效的电子邮件地址",
+ "JoinOurMarketingNewsletter": "加入我们的营销简讯",
+ "WouldLikeToReceiveMarketingMaterials": "我想收到市场营销资料,例如产品交易和特别优惠.",
+ "StartUsingYourLicenseNow": "立即开始使用你的许可证",
+ "WelcomePage": "欢迎页面"
}
}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/de-DE.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/de-DE.json
new file mode 100644
index 0000000000..0db3c9b29b
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/de-DE.json
@@ -0,0 +1,90 @@
+{
+ "culture": "de-DE",
+ "texts": {
+ "Permission:CommunityArticle": "Community-Beitrag",
+ "Permission:Edit": "Bearbeiten",
+ "Waiting": "Wartend",
+ "Approved": "Genehmigt",
+ "Rejected": "Abgelehnt",
+ "Wait": "Warten",
+ "Approve": "Genehmigen",
+ "Reject": "Ablehnen",
+ "ReadArticle": "Beitrag lesen",
+ "Status": "Status",
+ "ContentSource": "Inhaltsquelle",
+ "Details": "Details",
+ "Url": "URL",
+ "Title": "Titel",
+ "CreationTime": "Erstellungszeitpunkt",
+ "Save": "Speichern",
+ "SameUrlAlreadyExist": "Dieselbe URL existiert bereits, wenn Sie diesen Beitrag hinzufügen möchten, sollten Sie die URL ändern!",
+ "UrlIsNotValid": "Der URL ist nicht korrekt.",
+ "UrlNotFound": "URL nicht gefunden.",
+ "UrlContentNotFound": "URL-Inhalt nicht gefunden",
+ "Summary": "Zusammenfassung",
+ "MostRead": "Meist gelesen",
+ "Latest": "Neueste",
+ "ContributeAbpCommunity": "Tragen Sie zur ABP Community bei",
+ "SubmitYourArticle": "Reichen Sie Ihren Beitrag ein",
+ "ContributionGuide": "Leitfaden für Mitwirkende",
+ "BugReport": "Fehler melden",
+ "SeeAllArticles": "Alle Beiträge anzeigen",
+ "WelcomeToABPCommunity!": "Willkommen in der ABP Community!",
+ "MyProfile": "Mein Profil",
+ "MyOrganizations": "Meine Organisationen",
+ "EmailNotValid": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
+ "FeatureRequest": "Featureanfrage",
+ "CreateArticleTitleInfo": "Titel des Beitrags, der in der Beitragsliste angezeigt werden soll.",
+ "CreateArticleUrlInfo": "Original GitHub-/externe URL des Beitrags.",
+ "CreateArticleSummaryInfo": "Eine kurze Zusammenfassung des Beitrags, der in der Beitragsliste angezeigt werden soll.",
+ "CreateArticleCoverInfo": "Fügen Sie zum Erstellen eines effektiven Beitrags ein Titelbild hinzu. Laden Sie Bilder mit einem Seitenverhältnis von 16: 9 hoch, um die beste Ansicht zu erhalten.",
+ "ThisExtensionIsNotAllowed": "Diese Erweiterung ist nicht zulässig.",
+ "TheFileIsTooLarge": "Die Datei ist zu groß.",
+ "GoToTheArticle": "Gehe zum Beitrag",
+ "Contribute": "Beitragen",
+ "OverallProgress": "Gesamtfortschritt",
+ "Done": "Fertig",
+ "Open": "Offen",
+ "Closed": "Geschlossen",
+ "LatestQuestionOnThe": "Letzte Frage zum",
+ "Stackoverflow": "Stackoverflow",
+ "Votes": "Stimmen",
+ "Answer": "Antwort",
+ "Views": "Ansichten",
+ "Answered": "Beantwortet",
+ "WaitingForYourAnswer": "Warten auf Ihre Antwort",
+ "Asked": "gefragt",
+ "AllQuestions": "Alle Fragen",
+ "NextVersion": "Nächste Version",
+ "MilestoneErrorMessage": "Die aktuellen Meilensteindetails konnten von Github nicht abgerufen werden.",
+ "QuestionItemErrorMessage": "Die neuesten Fragendetails konnten von Stackoverflow nicht abgerufen werden.",
+ "Oops": "Hoppla!",
+ "CreateArticleSuccessMessage": "Der Beitrag wurde erfolgreich eingereicht. Er wird nach einer Überprüfung durch den Site-Administrator veröffentlicht.",
+ "ChooseCoverImage": "Ein Titelbild auswählen...",
+ "CoverImage": "Titelbild",
+ "ShareYourExperiencesWithTheABPFramework": "Ihre Erfahrungen mit dem ABP Framework teilen!",
+ "Optional": "Optional",
+ "UpdateUserWebSiteInfo": "Beispiel: https://johndoe.com",
+ "UpdateUserTwitterInfo": "Beispiel: johndoe",
+ "UpdateUserGithubInfo": "Beispiel: johndoe",
+ "UpdateUserLinkedinInfo": "Beispiel: https://www.linkedin.com/...",
+ "UpdateUserCompanyInfo": "Beispiel: Volosoft",
+ "UpdateUserJobTitleInfo": "Beispiel: Software Developer",
+ "UserName": "Benutzername",
+ "Company": "Firma",
+ "PersonalWebsite": "Persönliche Website",
+ "RegistrationDate": "Registrierungsdatum",
+ "Social": "Social",
+ "Biography": "Biographie",
+ "HasNoPublishedArticlesYet": "hat noch keine Beiträge veröffentlicht",
+ "Author": "Autor",
+ "LatestGithubAnnouncements": "Neueste Github-Ankündigungen",
+ "SeeAllAnnouncements": "Alle Ankündigungen anzeigen",
+ "LatestBlogPost": "Letzter Blog-Beitrag",
+ "Edit": "Bearbeiten",
+ "ProfileImageChange": "Ändern Sie das Profilbild",
+ "BlogItemErrorMessage": "Die neuesten Blogpost-Details konnten nicht abgerufen werden.",
+ "PlannedReleaseDate": "Geplantes Erscheinungsdatum",
+ "CommunityArticleRequestErrorMessage": "Die Anfrage nach den neuesten Beiträgen von Github konnte nicht abgerufen werden."
+ }
+}
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en-GB.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en-GB.json
new file mode 100644
index 0000000000..652090d864
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en-GB.json
@@ -0,0 +1,106 @@
+{
+ "culture": "en-GB",
+ "texts": {
+ "Permission:CommunityArticle": "Community Article",
+ "Permission:Edit": "Edit",
+ "Waiting": "Waiting",
+ "Approved": "Approved",
+ "Rejected": "Rejected",
+ "Wait": "Wait",
+ "Approve": "Approve",
+ "Reject": "Reject",
+ "ReadArticle": "Read Article",
+ "Status": "Status",
+ "ContentSource": "Content Source",
+ "Details": "Details",
+ "Url": "Url",
+ "Title": "Title",
+ "CreationTime": "Creation time",
+ "Save": "Save",
+ "SameUrlAlreadyExist": "The Url already exists. If you want to add this article, you should change the url!",
+ "UrlIsNotValid": "Url is not valid.",
+ "UrlNotFound": "Url not found.",
+ "UrlContentNotFound": "Url content not found.",
+ "Summary": "Summary",
+ "MostRead": "Most Read",
+ "Latest": "Latest",
+ "ContributeAbpCommunity": "Contribute to the ABP Community",
+ "SubmitYourArticle": "Submit Your Article",
+ "ContributionGuide": "Contribution Guide",
+ "BugReport": "Bug Report",
+ "SeeAllArticles": "See All Articles",
+ "WelcomeToABPCommunity!": "Welcome to the ABP Community!",
+ "MyProfile": "My Profile",
+ "MyOrganizations": "My Organisations",
+ "EmailNotValid": "Please enter a valid email address.",
+ "FeatureRequest": "Feature Request",
+ "CreateArticleTitleInfo": "Title of the article to be shown on the article list.",
+ "CreateArticleUrlInfo": "Original GitHub/External URL of the article.",
+ "CreateArticleSummaryInfo": "A short summary of the article to be shown on the article list.",
+ "CreateArticleCoverInfo": "To create an effective article, add a cover photo and an upload 16:9 aspect ratio pictures for the best view (Maximum file size: 1MB)",
+ "ThisExtensionIsNotAllowed": "The extension is not allowed.",
+ "TheFileIsTooLarge": "The file is too large.",
+ "GoToTheArticle": "Go to the Article",
+ "Contribute": "Contribute",
+ "OverallProgress": "Overall Progress",
+ "Done": "Done",
+ "Open": "Open",
+ "Closed": "Closed",
+ "LatestQuestionOnThe": "Latest Question on the",
+ "Stackoverflow": "Stackoverflow",
+ "Votes": "votes",
+ "Answer": "Answer",
+ "Views": "views",
+ "Answered": "Answered",
+ "WaitingForYourAnswer": "Waiting for your answer",
+ "Asked": "asked",
+ "AllQuestions": "All Questions",
+ "NextVersion": "Next Version",
+ "MilestoneErrorMessage": "Couldn't get the current milestone details from Github.",
+ "QuestionItemErrorMessage": "Couldn't get the latest question details from Stackoverflow.",
+ "Oops": "Oops!",
+ "CreateArticleSuccessMessage": "The Article has been successfully submitted. It will be published once it has been reviewed by the site admin.",
+ "ChooseCoverImage": "Choose a cover image...",
+ "CoverImage": "Cover Image",
+ "ShareYourExperiencesWithTheABPFramework": "Share your experiences with the ABP Framework!",
+ "Optional": "Optional",
+ "UpdateUserWebSiteInfo": "Example: https://johndoe.com",
+ "UpdateUserTwitterInfo": "Example: johndoe",
+ "UpdateUserGithubInfo": "Example: johndoe",
+ "UpdateUserLinkedinInfo": "Example: https://www.linkedin.com/...",
+ "UpdateUserCompanyInfo": "Example: Volosoft",
+ "UpdateUserJobTitleInfo": "Example: Software Developer",
+ "UserName": "UserName",
+ "Company": "Company",
+ "PersonalWebsite": "Personal website",
+ "RegistrationDate": "Registration date",
+ "Social": "Social",
+ "Biography": "Biography",
+ "HasNoPublishedArticlesYet": "has no published articles yet",
+ "Author": "Author",
+ "LatestGithubAnnouncements": "Latest GitHub Announcements",
+ "SeeAllAnnouncements": "View all Announcements",
+ "LatestBlogPost": "Latest Blog Post",
+ "Edit": "Edit",
+ "ProfileImageChange": "Change the profile image",
+ "BlogItemErrorMessage": "Couldn't get the latest blog post details from ABP.",
+ "PlannedReleaseDate": "Planned release date",
+ "CommunityArticleRequestErrorMessage": "Couldn't get the latest article request from GitHub.",
+ "ArticleRequestFromGithubIssue": "There aren't any article requests at the moment.",
+ "LatestArticles": "Latest Articles",
+ "ArticleRequests": "Article Requests",
+ "AllArticleRequests": "See all Article requests",
+ "SubscribeToTheNewsletter": "Subscribe to the Newsletter",
+ "NewsletterEmailDefinition": "Receive information about what's happening in ABP; new releases, free sources, articles, and more.",
+ "NoThanks": "No thanks",
+ "MaybeLater": "Maybe later",
+ "JoinOurArticleNewsletter": "Join our article newsletter",
+ "Community": "Community",
+ "Marketing": "Marketing",
+ "CommunityPrivacyPolicyConfirmation": "I agree to the Terms & Conditions and Privacy Policy.",
+ "ArticleRequestMessageTitle": "Open an issue on the GitHub to request an article/tutorial you want to see on this web site.",
+ "ArticleRequestMessageBody": "Here is the list of the requested articles by the Community. Do you want to write a requested article? Please click on the request and join the discussion.",
+ "Language": "Language",
+ "CreateArticleLanguageInfo": "The language in which the article is written"
+ }
+}
\ 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 87db8c931a..5bf922f012 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
@@ -25,19 +25,18 @@
"MostRead": "Most Read",
"Latest": "Latest",
"ContributeAbpCommunity": "Contribute to the ABP Community",
- "SubmitYourArticle": "Submit Your Article",
+ "SubmitYourArticle": "Submit Your Post",
"ContributionGuide": "Contribution Guide",
"BugReport": "Bug Report",
- "SeeAllArticles": "See All Articles",
+ "SeeAllArticles": "See All Posts",
"WelcomeToABPCommunity!": "Welcome to the ABP Community!",
"MyProfile": "My profile",
"MyOrganizations": "My organizations",
"EmailNotValid": "Please enter a valid email address.",
"FeatureRequest": "Feature Request",
- "CreateArticleTitleInfo": "Title of the article to be shown on the article list.",
- "CreateArticleUrlInfo": "Original GitHub/External URL of the article.",
- "CreateArticleSummaryInfo": "A short summary of the article to be shown on the article list.",
- "CreateArticleCoverInfo": "For creating an effective article, add a cover photo. Upload 16:9 aspect ratio pictures for the best view.",
+ "CreateArticleTitleInfo": "Title of the post to be shown on the post list.",
+ "CreateArticleSummaryInfo": "A short summary of the post to be shown on the post list.",
+ "CreateArticleCoverInfo": "For creating an effective article, add a cover photo. Upload 16:9 aspect ratio pictures for the best view. Maximum file size: 1MB.",
"ThisExtensionIsNotAllowed": "This extension is not allowed.",
"TheFileIsTooLarge": "The file is too large.",
"GoToTheArticle": "Go to the Article",
@@ -85,6 +84,54 @@
"ProfileImageChange": "Change the profile image",
"BlogItemErrorMessage": "Could not get the latest blog post details from ABP.",
"PlannedReleaseDate": "Planned release date",
- "CommunityArticleRequestErrorMessage": "Could not get the latest article request from Github."
+ "CommunityArticleRequestErrorMessage": "Could not get the latest article request from Github.",
+ "ArticleRequestFromGithubIssue": "There are not any article requests now.",
+ "LatestArticles": "Latest Posts",
+ "ArticleRequests": "Article Requests",
+ "AllArticleRequests": "See All Article Requests",
+ "SubscribeToTheNewsletter": "Subscribe to the Newsletter",
+ "NewsletterEmailDefinition": "Get information about happenings in ABP like new releases, free sources, articles, and more.",
+ "NoThanks": "No, thanks",
+ "MaybeLater": "Maybe later",
+ "JoinOurArticleNewsletter": "Join our article newsletter",
+ "Community": "Community",
+ "Marketing": "Marketing",
+ "CommunityPrivacyPolicyConfirmation": "I agree to the Terms & Conditions and Privacy Policy.",
+ "ArticleRequestMessageTitle": "Open an issue on the GitHub to request an article/tutorial you want to see on this web site.",
+ "ArticleRequestMessageBody": "Here, the list of the requested articles by the community. Do you want to write a requested article? Please click to the request and join to the discussion.",
+ "Language": "Language",
+ "CreateArticleLanguageInfo": "The language for the post content.",
+ "VideoPost": "Video Post",
+ "Article": "Article",
+ "Read": "Read",
+ "CreateGithubArticleUrlInfo": "Original GitHub URL of the article.",
+ "CreateVideoContentUrlInfo": "Original Youtube URL of the post.",
+ "CreateExternalArticleUrlInfo": "Original External Url of the article.",
+ "VideoContentForm": "Submit Video on YouTube",
+ "GithubPostForm": "Submit Article on GitHub",
+ "ExternalPostForm": "Submit an External Content",
+ "HowToPost": "How to Post?",
+ "Posts": "Posts",
+ "VideoUrl": "Video Url",
+ "GithubArticleUrl": "Github Article Url",
+ "ExternalArticleUrl": "External Article Url",
+ "CreatePostCoverInfo": "For creating an effective post, add a cover photo. Upload 16:9 aspect ratio pictures for the best view. Maximum file size: 1MB.",
+ "ThankYouForContribution": "Thank you for contributing to the ABP Community.",
+ "GithubArticle": "Github Article",
+ "GithubArticleSubmitStepOne": "1. Write an article on any public GitHub repository with the Markdown format. example",
+ "GithubArticleSubmitStepTwo": "2. Submit your article URL using the form.",
+ "GithubArticleSubmitStepThree": "3. Your article will be rendered in this web site.",
+ "YoutubeVideo": "Youtube Video",
+ "YoutubeVideoSubmitStepOne": "1. Publish your video on YouTube.",
+ "YoutubeVideoSubmitStepTwo": "2. Submit the video URL using the form.",
+ "YoutubeVideoSubmitStepThree": "3. Visitors will be able to watch your video content directly on this website.",
+ "ExternalContent": "External Content",
+ "ExternalContentSubmitStepOne": "1. Create a content on any public platform (medium, your own blog or anywhere you like).",
+ "ExternalContentSubmitStepTwo": "2. Submit your content URL using the form.",
+ "ExternalContentSubmitStepThree": "3. Visitors are redirected to the content on the original website.",
+ "ChooseYourContentType": "Please choose the way you want to add your content.",
+ "PostContentViaGithub": "I want to add my article with GitHub in accordance with the markdown rules.",
+ "PostContentViaYoutube": "I want to share my videos available on Youtube here.",
+ "PostContentViaExternalSource": "I want to add the content I published on another platform here."
}
}
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/es.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/es.json
new file mode 100644
index 0000000000..433de31852
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/es.json
@@ -0,0 +1,90 @@
+{
+ "culture": "es",
+ "texts": {
+ "Permission:CommunityArticle": "Artículo de comunidad",
+ "Permission:Edit": "Editar",
+ "Waiting": "Esperando",
+ "Approved": "Aprobado",
+ "Rejected": "Rechazado",
+ "Wait": "Esperar",
+ "Approve": "Aprobar",
+ "Reject": "Rechazar",
+ "ReadArticle": "Leer artículo",
+ "Status": "Estado",
+ "ContentSource": "Fuente de contenido",
+ "Details": "Detalles",
+ "Url": "Url",
+ "Title": "Título",
+ "CreationTime": "Fecha de creación",
+ "Save": "Guardar",
+ "SameUrlAlreadyExist": "La url ya existe si tu quieres añadir este artículo, tu debes cambiar la url!",
+ "UrlIsNotValid": "Url no es valida",
+ "UrlNotFound": "Url no encontrada",
+ "UrlContentNotFound": "Contenido de la Url no encontrado",
+ "Summary": "Resumen",
+ "MostRead": "Más leído",
+ "Latest": "Últimos",
+ "ContributeAbpCommunity": "Contribuye a la comunidad ABP",
+ "SubmitYourArticle": "Envía tu artículo",
+ "ContributionGuide": "Guía de contribución",
+ "BugReport": "Informe de errores",
+ "SeeAllArticles": "Ver todos los artículos",
+ "WelcomeToABPCommunity!": "Bienvenido a la comunidad ABP",
+ "MyProfile": "Mi perfil",
+ "MyOrganizations": "Mis organizaciones",
+ "EmailNotValid": "Por favor entra una dirección de email válida.",
+ "FeatureRequest": "Solucitud de característica",
+ "CreateArticleTitleInfo": "Título del artículo para ser mostrado en la lista de artículos.",
+ "CreateArticleUrlInfo": "Url original del artículo GitHub/ Externo",
+ "CreateArticleSummaryInfo": "Un pequeño resumen del artículo para ser mostrado en la lista de artículos.",
+ "CreateArticleCoverInfo": "Para crear un artículo eficaz, agregue una foto de portada. Cargue imágenes con una relación de aspecto de 16: 9 para obtener la mejor vista.",
+ "ThisExtensionIsNotAllowed": "Esta extensión no está permitida.",
+ "TheFileIsTooLarge": "El fichero es demasiado grande.",
+ "GoToTheArticle": "Ir a el artículo",
+ "Contribute": "Contribuir",
+ "OverallProgress": "Progreso general",
+ "Done": "Hecho",
+ "Open": "Abrir",
+ "Closed": "Cerrado",
+ "LatestQuestionOnThe": "Última pregunta en la",
+ "Stackoverflow": "Stackoverflow",
+ "Votes": "Votos",
+ "Answer": "Respuesta",
+ "Views": "Vistas",
+ "Answered": "Respondido",
+ "WaitingForYourAnswer": "Esperando tu respuesta",
+ "Asked": "Preguntado",
+ "AllQuestions": "Todas las preguntas",
+ "NextVersion": "Siguiente versión",
+ "MilestoneErrorMessage": "No se pudieron obtener los detalles del hito actual en Github.",
+ "QuestionItemErrorMessage": "no se pudieron obtener los detalles de pregunta actual en Stackoverflow.",
+ "Oops": "Oops!",
+ "CreateArticleSuccessMessage": "El artículo se ha enviado correctamente. Se publicará después de una revisión del administrador del sitio.",
+ "ChooseCoverImage": "Elige una imagen de portada...",
+ "CoverImage": "Imagen de portada",
+ "ShareYourExperiencesWithTheABPFramework": "Comparte tus experiencias con el ABP Framework!",
+ "Optional": "Opcional",
+ "UpdateUserWebSiteInfo": "Ejemplo: https://johndoe.com",
+ "UpdateUserTwitterInfo": "Ejemplo: johndoe",
+ "UpdateUserGithubInfo": "Ejemplo: johndoe",
+ "UpdateUserLinkedinInfo": "Ejemplo: https://www.linkedin.com/...",
+ "UpdateUserCompanyInfo": "Ejemplo: Volosoft",
+ "UpdateUserJobTitleInfo": "Ejemplo: desarrollador de software",
+ "UserName": "Nombre de usuario",
+ "Company": "Empresa",
+ "PersonalWebsite": "Sitio web personal",
+ "RegistrationDate": "Fecha de registro",
+ "Social": "Social",
+ "Biography": "Biografía",
+ "HasNoPublishedArticlesYet": "No has publicado articules todavía",
+ "Author": "Autor",
+ "LatestGithubAnnouncements": "Últimas notificaciones de Github",
+ "SeeAllAnnouncements": "Ver todos las notificaciones",
+ "LatestBlogPost": "",
+ "Edit": "Editar",
+ "ProfileImageChange": "Cambiar la imagen de perfil",
+ "BlogItemErrorMessage": "No se pudo obtener los detalles del último blog desde ABP.",
+ "PlannedReleaseDate": "Fecha de entrega planificada",
+ "CommunityArticleRequestErrorMessage": "No se pudo obtener la última petición de artículo desde Github"
+ }
+}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json
index fa793c91a0..49b819227f 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json
@@ -35,7 +35,6 @@
"EmailNotValid": "请输入有效的电子邮箱地址.",
"FeatureRequest": "功能请求",
"CreateArticleTitleInfo": "文章标题显示在文章列表中.",
- "CreateArticleUrlInfo": "文章的原始GitHub/外部URL.",
"CreateArticleSummaryInfo": "文章的简短摘要将显示在文章列表中.",
"CreateArticleCoverInfo": "为了创建有效的文章,请添加封面图. 仅支持16:9的图片!",
"ThisExtensionIsNotAllowed": "不允许此扩展名.",
@@ -84,6 +83,34 @@
"Edit": "修改",
"ProfileImageChange": "更改资料图片",
"BlogItemErrorMessage": "无法从ABP获取最新的博客文章详细信息.",
- "PlannedReleaseDate": "计划发布日期"
+ "PlannedReleaseDate": "计划发布日期",
+ "CommunityArticleRequestErrorMessage": "无法从Github获取最新的文章请求.",
+ "ArticleRequestFromGithubIssue": "现在没有任何文章请求.",
+ "LatestArticles": "最新的帖子",
+ "ArticleRequests": "文章请求",
+ "AllArticleRequests": "查看所有文章请求",
+ "SubscribeToTheNewsletter": "订阅简讯",
+ "NewsletterEmailDefinition": "获取有关ABP发生的信息,例如新版本,免费资源,文章等.",
+ "NoThanks": "不用了,谢谢",
+ "MaybeLater": "以后再说",
+ "JoinOurArticleNewsletter": "加入我们的文章简讯",
+ "Community": "社区",
+ "Marketing": "营销",
+ "CommunityPrivacyPolicyConfirmation": "我同意条款和条件以及隐私政策.",
+ "ArticleRequestMessageTitle": "在GitHub上创建一个Issue,以请求你要在此网站上查看的文章/教程.",
+ "ArticleRequestMessageBody": "在这里,是社区请求的文章列表. 您要写一篇要求的文章吗? 请单击该请求并加入讨论.",
+ "Language": "语言",
+ "CreateArticleLanguageInfo": "本文所用的语言",
+ "VideoPost": "视频",
+ "Article": "文章",
+ "Read": "阅读",
+ "CreateGithubArticleUrlInfo": "文章的原始GitHub链接.",
+ "CreateVideoContentUrlInfo": "文章的原始Youtube链接.",
+ "CreateExternalArticleUrlInfo": "本文的原始外部网址",
+ "VideoContentForm": "视频内容来源",
+ "GithubPostForm": "Github文章来源",
+ "ExternalPostForm": "外部文章来源",
+ "PostSourceTypeChooses": "我们接受文章的三种来源类型;",
+ "Posts": "文章"
}
}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/ar.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/ar.json
index a5d83f9807..3160dd45b4 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/ar.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/ar.json
@@ -156,6 +156,7 @@
"UiFramework": "إطار عمل واجهة المستخدم",
"EmailAddress": "البريد الإلكترونى",
"Mobile": "المحمول",
- "ReactNative": "React Native"
+ "ReactNative": "React Native",
+ "SelectLanguage": "اختار اللغة"
}
}
\ No newline at end of file
diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/de-DE.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/de-DE.json
new file mode 100644
index 0000000000..523247a7b6
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/de-DE.json
@@ -0,0 +1,190 @@
+{
+ "culture": "de-DE",
+ "texts": {
+ "GetStarted": "Erste Schritte - Startvorlagen",
+ "Create": "Erstellen",
+ "NewProject": "Neues Projekt",
+ "DirectDownload": "Direkter Download",
+ "ProjectName": "Proejktname",
+ "ProjectType": "Projekttyp",
+ "DatabaseProvider": "Datenbankanbieter",
+ "NTier": "N-Tier",
+ "IncludeUserInterface": "Benutzeroberfläche einschließen",
+ "CreateNow": "Jetzt erstellen",
+ "TheStartupProject": "Das Startprojekt",
+ "Tutorial": "Lernprogramm",
+ "UsingCLI": "mit CLI",
+ "SeeDetails": "Details ansehen",
+ "AbpShortDescription": "ABP Framework ist eine vollständige Infrastruktur zum Erstellen moderner Webanwendungen unter Befolgung von Best Practices und Konventionen für Softwareentwicklung.",
+ "SourceCodeUpper": "QUELLCODE",
+ "LatestReleaseLogs": "Akteulle Release",
+ "Infrastructure": "Infrastrutkur",
+ "Architecture": "Architektur",
+ "Modular": "Modular",
+ "DontRepeatYourself": "Don't Repeat Yourself",
+ "DeveloperFocused": "Entwickler-Zentriert",
+ "FullStackApplicationInfrastructure": "Full-Stack-Anwendungsinfrastruktur.",
+ "DomainDrivenDesign": "Domain Driven Design",
+ "DomainDrivenDesignExplanation": "Entworfen und entwickelt basierend auf DDD-Mustern und -Prinzipien. Bietet ein Schichtenmodell für Ihre Anwendung.",
+ "Authorization": "Authorization",
+ "AuthorizationExplanation": "Erweiterte Autorisierung mit Benutzer-, Rollen- und fein abgestimmtem Berechtigungssystem. Aufbauend auf der Microsoft Identity-Bibliothek.",
+ "MultiTenancy": "Multi-Tenancy",
+ "MultiTenancyExplanationShort": "SaaS-Anwendungen leicht gemacht! Integrierte Mandantenfähigkeit von der Datenbank bis zur Benutzeroberfläche.",
+ "CrossCuttingConcerns": "Cross Cutting Concerns",
+ "CrossCuttingConcernsExplanationShort": "Komplette Infrastruktur für Autorisierung, Validierung, Ausnahmebehandlung, Caching, Überwachungsprotokollierung, Transaktionsverwaltung und mehr.",
+ "BuiltInBundlingMinification": "Built-In Bundling & Minification",
+ "BuiltInBundlingMinificationExplanation": "Für die Bundling und Minification müssen keine externen Tools verwendet werden. ABP bietet eine einfachere, dynamische, leistungsstarke, modulare und integrierte Methode!",
+ "VirtualFileSystem": "Virtual File System",
+ "VirtualFileSystemExplanation": "Betten Sie Ansichten, Skripte, Stile, Bilder ... in Pakete/Bibliotheken ein und verwenden Sie sie in verschiedenen Anwendungen wieder.",
+ "Theming": "Theming",
+ "ThemingExplanationShort": "Verwenden und passen Sie das Bootstrap-basierte Standard-UI-Design an oder erstellen Sie Ihr eigenes.",
+ "BootstrapTagHelpersDynamicForms": "Bootstrap Tag Helpers & Dynamic Forms",
+ "BootstrapTagHelpersDynamicFormsExplanation": "Anstatt die sich wiederholenden Details von Bootstrap-Komponenten manuell zu schreiben, verwenden Sie die Tag-Helper von ABP, um diese zu vereinfachen und dabei die Vorteile von Intellisense zu nutzen. Erstellen Sie mit dem dynamischen Formular-Tag-Helfer schnell UI-Formulare basierend auf einem C#-Modell.",
+ "HTTPAPIsDynamicProxies": "HTTP APIs & Dynamic Proxies",
+ "HTTPAPIsDynamicProxiesExplanation": "Stellen Sie Anwendungsdienste automatisch als HTTP-APIs im REST-Stil bereit und verwenden Sie diese mit dynamischen JavaScript- und C#-Proxys.",
+ "CompleteArchitectureInfo": "Moderne Architektur zur Erstellung wartbarer Softwarelösungen.",
+ "DomainDrivenDesignBasedLayeringModelExplanation": "Hilft Ihnen bei der Implementierung einer DDD-basierten Schichtarchitektur und beim Aufbau einer wartbaren Codebasis.",
+ "DomainDrivenDesignBasedLayeringModelExplanationCont": "Bietet Startvorlagen, Abstraktionen, Basisklassen, Dienste, Dokumentation und Anleitungen, mit denen Sie Ihre Anwendung basierend auf DDD-Mustern und -Prinzipien entwickeln können.",
+ "MicroserviceCompatibleModelExplanation": "Das Kernframework und die vorgefertigten Module sind unter Berücksichtigung der Microservice-Architektur konzipiert.",
+ "MicroserviceCompatibleModelExplanationCont": "Bietet Infrastruktur, Integrationen, Beispiele und Dokumentation zur einfacheren Implementierung von Microservice-Lösungen, ohne zusätzliche Komplexität zu verursachen, wenn Sie eine monolithische Anwendung wünschen.",
+ "ModularInfo": "ABP bietet ein Modulsystem, mit dem Sie wiederverwendbare Anwendungsmodule entwickeln, Ereignisse im Anwendungslebenszyklus verknüpfen und Abhängigkeiten zwischen Kernteilen Ihres Systems ausdrücken können.",
+ "PreBuiltModulesThemes": "Vorgefertigte Module & Themes",
+ "PreBuiltModulesThemesExplanation": "Open Source- und kommerzielle Module und Themes stehen bereit, um in Ihrer Geschäftsanwendung verwendet zu werden.",
+ "NuGetNPMPackages": "NuGet- & NPM-Pakete",
+ "NuGetNPMPackagesExplanation": "Bereitgestellt als NuGet- & NPM-Pakete. Einfach zu installieren und zu aktualisieren.",
+ "ExtensibleReplaceable": "Erweiterbar/Austauschbar",
+ "ExtensibleReplaceableExplanation": "Alle Dienste und Module sind auf Erweiterbarkeit ausgelegt. Sie können Dienste, Seiten, Stile und Komponenten ersetzen.",
+ "CrossCuttingConcernsExplanation2": "Halten Sie Ihre Codebasis kleiner, damit Sie sich auf ihre geschäftsspezifischen Code konzentrieren können.",
+ "CrossCuttingConcernsExplanation3": "Verbringen Sie keine Zeit damit, grundlegende Anwendungsanforderungen für jedes neue Projekte zu implementieren.",
+ "AuthenticationAuthorization": "Authentifizierung & Autorisierung",
+ "ExceptionHandling": "Fehlerbehandlung",
+ "Validation": "Validierung",
+ "DatabaseConnection": "Datenbankverbindung",
+ "TransactionManagement": "Transaktionsmanagement",
+ "AuditLogging": "Audit Logging",
+ "Caching": "Caching",
+ "Multitenancy": "Multimandantenfähigkeit",
+ "DataFiltering": "Datenfilterung",
+ "ConventionOverConfiguration": "Convention Over Configuration",
+ "ConventionOverConfigurationExplanation": "ABP implementiert standardmäßig allgemeine Anwendungskonventionen mit einer minimalen oder Null-Konfiguration.",
+ "ConventionOverConfigurationExplanationList1": "Automatische Registrierung bekannter Services für Dependency Injection.",
+ "ConventionOverConfigurationExplanationList2": "Stellt Anwendungsdienste mittels Namenskonventionen als HTTP-APIs bereit.",
+ "ConventionOverConfigurationExplanationList3": "Erstellt dynamische HTTP-Client-Proxys für C# und JavaScript.",
+ "ConventionOverConfigurationExplanationList4": "Bietet Standard-Repositorys für Ihre Entities.",
+ "ConventionOverConfigurationExplanationList5": "Verwaltet die Unit-of-Work gemäß Webanforderung oder Anwendungsdienstmethode.",
+ "ConventionOverConfigurationExplanationList6": "Triggert Erstellungs-, Aktualisierungs- und Lösch-Events für Ihre Entities.",
+ "BaseClasses": "Basisklassen",
+ "BaseClassesExplanation": "Vorgefertigte Basisklassen für gängige Anwendungsmuster.",
+ "DeveloperFocusedExplanation": "ABP ist für Entwickler",
+ "DeveloperFocusedExplanationCont": "Es zielt darauf ab, Ihre tägliche Softwareentwicklung zu vereinfachen, ohne Sie daran zu hindern, Low-Level-Code zu schreiben.",
+ "SeeAllFeatures": "Alle Features anzeigen",
+ "CLI_CommandLineInterface": "CLI (Command Line Interface)",
+ "CLI_CommandLineInterfaceExplanation": "Enthält eine CLI, mit der Sie die Erstellung neuer Projekte und das Hinzufügen neuer Module automatisieren können.",
+ "StartupTemplates": "Startvorlagen",
+ "StartupTemplatesExplanation": "Verschiedene Startvorlagen bieten eine vollständig konfigurierte Lösung, um Ihre Entwicklung zu beschleunigen.",
+ "BasedOnFamiliarTools": "Basierend auf vertrauten Tools",
+ "BasedOnFamiliarToolsExplanation": "Aufbauend auf und integriert mit beliebten Tools, die Sie bereits kennen. Geringe Lernkurve, einfache Anpassung, komfortable Entwicklung.",
+ "ORMIndependent": "ORM-unabhängig",
+ "ORMIndependentExplanation": "Das Kernframework ist ORM-/datenbankunabhängig und kann mit jeder Datenquelle arbeiten. Entity Framework Core- und MongoDB-Anbieter sind bereits verfügbar.",
+ "Features": "Entdecken Sie die ABP Framework-Features",
+ "ABPCLI": "ABP CLI",
+ "Modularity": "Modularität",
+ "BootstrapTagHelpers": "Bootstrap Tag Helpers",
+ "DynamicForms": "Dynamische Formulare",
+ "BundlingMinification": "Bundling & Minification",
+ "BackgroundJobs": "Background Jobs",
+ "BackgroundJobsExplanation": "Definieren Sie einfache Klassen, um Jobs im Hintergrund in der Warteschlange auszuführen. Verwenden Sie den integrierten Jobmanager oder integrieren Sie Ihren eigenen. Hangfire & RabbitMQ -Integrationen sind bereits verfügbar.",
+ "DDDInfrastructure": "DDD-Infrastruktur",
+ "DomainDrivenDesignInfrastructure": "Domain Driven Design-Infrastruktur",
+ "AutoRESTAPIs": "Auto REST APIs",
+ "DynamicClientProxies": "Dynamische Client-Proxies",
+ "DistributedEventBus": "Distributed Event Bus",
+ "DistributedEventBusWithRabbitMQIntegration": "Distributed Event Bus mit RabbitMQ-Integration",
+ "TestInfrastructure": "Test-Infrastruktur",
+ "AuditLoggingEntityHistories": "Audit Logging & Entity Histories",
+ "ObjectToObjectMapping": "Object to Object Mapping",
+ "ObjectToObjectMappingExplanation": " Object to Object Mapping Abstraktion mit AutoMapper-Integration.",
+ "EmailSMSAbstractions": "E-Mail & SMS Abstraktionen",
+ "EmailSMSAbstractionsWithTemplatingSupport": "E-Mail- und SMS-Abstraktionen mit Vorlagenunterstützung",
+ "Localization": "Lokalisierung",
+ "SettingManagement": "Einstellungsverwaltung",
+ "ExtensionMethods": "Erweiterungsmethoden",
+ "ExtensionMethodsHelpers": "Erweiterungsmethoden & Helfer",
+ "AspectOrientedProgramming": "Aspektorientierte Programmierung",
+ "DependencyInjection": "Dependency Injection",
+ "DependencyInjectionByConventions": "Dependency Injection durch Konventionen",
+ "ABPCLIExplanation": "ABP CLI (Command Line Interface) ist ein Befehlszeilenprogramm zum Ausführen einiger gängiger Vorgänge für ABP-basierte Lösungen.",
+ "ModularityExplanation": "ABP bietet eine vollständige Infrastruktur zum Erstellen eigener Anwendungsmodule, die Entities, Services, Datenbankintegration, APIs, UI-Komponenten usw. enthalten können.",
+ "MultiTenancyExplanation": "Das ABP-Framework unterstützt nicht nur die Entwicklung von Multi-Mandantenanwendungen, sondern macht Ihren Code von der Mandantenfähigkeit auch weitgehend unabhängig.",
+ "MultiTenancyExplanation2": "Kann den aktuellen Mandanten automatisch ermitteln und Daten verschiedener Mandanten voneinander isolieren.",
+ "MultiTenancyExplanation3": "Unterstützt einzelne Datenbank-, Datenbank-pro-Mandanten- und Hybrid-Ansätze.",
+ "MultiTenancyExplanation4": "Sie konzentrieren sich auf Ihren geschäftsspezifischen Code und lassen das Framework die Mandantenfähigkeit für Sie übernehmen.",
+ "BootstrapTagHelpersExplanation": "Anstatt die sich wiederholenden Details von Bootstrap-Komponenten manuell zu schreiben, verwenden Sie die Tag-Helper von ABP, um diese zu vereinfachen und dabei die Vorteile von Intellisense zu nutzen. Sie können Bootstrap weitherhin verwenden, wann immer Sie es benötigen.",
+ "DynamicFormsExplanation": "Helfer für dynamische Formular- und Input-Tags können das vollständige Formular anhand einer C#-Klasse als Model erstellen.",
+ "AuthenticationAuthorizationExplanation": "Umfangreiche Authentifizierungs- und Autorisierungsoptionen, die in ASP.NET Core Identity & IdentityServer4 integriert sind. Bietet ein erweiterbares und detailliertes Berechtigungssystem.",
+ "CrossCuttingConcernsExplanation": "Wiederholen Sie sich nicht, um all diese allgemeinen Dinge immer wieder zu implementieren. Konzentrieren Sie sich auf Ihren geschäftsspezifischen Code und lassen Sie ihn von ABP durch Konventionen automatisieren.",
+ "DatabaseConnectionTransactionManagement": "Datenbankverbindungs- und Transaktionsmanagement",
+ "CorrelationIdTracking": "Correlation-ID-Verfolgung",
+ "BundlingMinificationExplanation": "ABP bietet ein einfaches, dynamisches, leistungsstarkes, modulares und integriertes Bundling- und Minification-System.",
+ "VirtualFileSystemnExplanation": "Das virtuelle Dateisystem ermöglicht die Verwaltung von Dateien, die physisch nicht auf dem Dateisystem (Datenträger) vorhanden sind. Es wird hauptsächlich verwendet, um Dateien (js, css, image, cshtml ...) in Assemblys einzubetten und sie zur Laufzeit wie physische Dateien zu verwenden.",
+ "ThemingExplanation": "Mit dem Theming-System können Sie Ihre Anwendung & Module Theme-unabhängig entwickeln, indem Sie eine Reihe gemeinsamer Basisbibliotheken und Layouts definieren, die auf dem neuesten Bootstrap-Framework basieren.",
+ "DomainDrivenDesignInfrastructureExplanation": "Eine vollständige Infrastruktur zum Erstellen von mehrschichtigen Anwendungen basierend auf den Domain Driven Design Entwurfsmustern und -prinzipien;",
+ "Specification": "Specification",
+ "Repository": "Repository",
+ "DomainService": "Domain Service",
+ "ValueObject": "Value Object",
+ "ApplicationService": "Application Service",
+ "DataTransferObject": "Data Transfer Object",
+ "AggregateRootEntity": "Aggregate Root, Entity",
+ "AutoRESTAPIsExplanation": "ABP kann Ihre Anwendungsservices gemäß Konvention automatisch als API-Controller konfigurieren.",
+ "DynamicClientProxiesExplanation": "Verwenden Sie Ihre APIs ganz einfach in JavaScript- und C#-Clients.",
+ "DistributedEventBusWithRabbitMQIntegrationExplanation": "Veröffentlichen und konsumieren Sie Distributed Events einfach mithilfe des integrierten Distributed Event Bus mit verfügbarer RabbitMQ-Integration.",
+ "TestInfrastructureExplanation": "Das Framework wurde unter Berücksichtigung von Unit- und Integrationstests entwickelt. Bietet Ihnen Basisklassen, um es einfacher zu machen. Startvorlagen werden mit vorkonfiguriert Tests geliefert.",
+ "AuditLoggingEntityHistoriesExplanation": "Integriertes Audit Logging für geschäftskritische Anwendungen. Audit Logging auf Request-, Service-, und Methodenebene sowie Entity-Historien mit Details auf Property-Ebene.",
+ "EmailSMSAbstractionsWithTemplatingSupportExplanation": "IEmailSender- und ISmsSender-Abstraktionen entkoppeln Ihre Anwendungslogik von der Infrastruktur. Das erweiterte E-Mail-Vorlagensystem ermöglicht das Erstellen und Lokalisieren von E-Mail-Vorlagen und deren einfache Verwendung bei Bedarf.",
+ "LocalizationExplanation": "Das Lokalisierungssystem ermöglicht das Erstellen von Ressourcen in einfachen JSON-Dateien und die Lokalisierung Ihrer Benutzeroberfläche. Es unterstützt erweiterte Szenarien wie Vererbung, Erweiterungen und JavaScript-Integration und ist vollständig mit dem Lokalisierungssystem von AspNet Core kompatibel.",
+ "SettingManagementExplanation": "Definieren Sie Einstellungen für Ihre Anwendung und erhalten Sie zur Laufzeit Werte basierend auf der aktuellen Konfiguration, dem Mandanten und dem Benutzer.",
+ "ExtensionMethodsHelpersExplanation": "Wiederholen Sie sich nicht einmal für triviale Codeteile. Erweiterungen und Helfer für Standardtypen machen Ihren Code viel sauberer und einfacher zu schreiben.",
+ "AspectOrientedProgrammingExplanation": "Bietet eine komfortable Infrastruktur zum Erstellen dynamischer Proxys und zum Implementieren der aspektorientierten Programmierung. Fangen Sie eine Klasse ab und führen Sie Ihren Code vor und nach jeder Methodenausführung aus.",
+ "DependencyInjectionByConventionsExplanation": "Sie müssen Ihre Klassen nicht manuell für die Dependency Injection registrieren. Registriert gängige Servicetypen automatisch gemäß Konvention. Für andere Arten von Services können Sie Schnittstellen und Attribute verwenden, um dies einfacher gestalten und an Ort und Stelle zu ermöglichen.",
+ "DataFilteringExplanation": "Definieren und verwenden Sie Datenfilter, die automatisch angewendet werden, wenn Sie Entities aus der Datenbank abfragen. Soft Delete- und Multimandanten-Filter sind sofort verfügbar, wenn Sie einfache Schnittstellen implementieren.",
+ "PublishEvents": "Events veröffentlichen",
+ "HandleEvents": "Auf Events reagieren",
+ "AndMore": "und mehr...",
+ "Code": "Code",
+ "Result": "Resultat",
+ "SeeTheDocumentForMoreInformation": "Weitere Informationen finden Sie in der {0} -Dokumentation ",
+ "IndexPageHeroSection": "Open SourceWebanwendung
> What if I want Azure AD as my authorization server and not IdentityServer?
-This means your application will be using AzureAD user store for authentication. By registering both angular app and HttpApi to AzureAD, authentication might work but **authorization won't**. Users need to be registered to Abp identity system for auditing, permissions etc. So the flow should be 3rd party registration.
+This means your application will be using AzureAD user store for authentication. By registering both Angular app and HttpApi to AzureAD, authentication might work but **authorization won't**. Users need to be registered to ABP identity system for auditing, permissions etc. So the flow should be 3rd party registration.
## Setting up OpenId Connection
diff --git a/docs/en/Community-Articles/2020-11-02-How-To-Add-New-Language/POST.md b/docs/en/Community-Articles/2020-11-02-How-To-Add-New-Language/POST.md
new file mode 100644
index 0000000000..f1387b2a50
--- /dev/null
+++ b/docs/en/Community-Articles/2020-11-02-How-To-Add-New-Language/POST.md
@@ -0,0 +1,46 @@
+# How to add a new language to your ABP project?
+
+Adding a new language to your ABP project is pretty simple. Let's add the German language to our ABP project:
+
+
+
+1. Go to your solution's root folder and write the following CLI command. This command will generate an empty translation file from English.
+ ```bash
+ abp translate -c de-DE
+ ```
+
+ Check out for [the complete supported culture codes](https://docs.microsoft.com/en-us/bingmaps/rest-services/common-parameters-and-types/supported-culture-codes).
+ (For internal development `D:\Github\abp` and `D:\Github\volo\abp`)
+
+2. Fill the `target` fields in your target language.
+
+ 
+
+3. Copy `abp-translation.json` your solution's root folder (Do not change the filename!)
+
+4. Run the following command. This command will create the necessary `json` files.
+ ```bash
+ abp translate --apply
+ ```
+
+5. Open your solution and add the new language to the language list. To do this;
+
+ * open `MyProjectNameDomainModule.cs` and in `ConfigureServices` you'll find `Configure@upcomingEvent.Title
+@upcomingEvent.Description.TruncateWithPostfix(150)
+@Event.Description
+You are registered in this event
+ + } +Email: @Comment.Email
++ Message: @Comment.Body +
+| + {{'::Name' | abpLocalization}} + | +{{element.name}} | ++ {{'::Type' | abpLocalization}} + | ++ {{ '::Enum:BookType:' + element.type | abpLocalization }} + | +
|---|
{{ data.description | abpLocalization }}
+| + {{'::Actions' | abpLocalization}} + | ++ + | + {{'::Name' | abpLocalization}} + | +{{element.name}} | ++ {{'::BirthDate' | abpLocalization}} + | ++ {{ element.birthDate | date }} + | +
|---|