+
+### 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:
\ No newline at end of file
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/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/Account/Localization/Resources/zh-Hans.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/zh-Hans.json
index adc808ed7e..0d66f1288d 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/zh-Hans.json
@@ -8,6 +8,7 @@
"FrameworkDocumentation": "框架文档",
"OfficialBlog": "官方博客",
"CommercialHomePage": "商业版首页",
- "CommercialSupportWebSite": "商业版支持网站"
+ "CommercialSupportWebSite": "商业版支持网站",
+ "CommunityWebSite": "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/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/zh-Hans.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/zh-Hans.json
index bc78a54119..f5cbeb0213 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/zh-Hans.json
@@ -3,6 +3,12 @@
"texts": {
"Permission:Organizations": "组织",
"Permission:Manage": "管理组织",
+ "Permission:DiscountRequests": "折扣请求",
+ "Permission:DiscountManage": "管理折扣请求",
+ "Permission:Disable": "禁用",
+ "Permission:Enable": "启动",
+ "Permission:EnableSendEmail": "启用发送邮件",
+ "Permission:SendEmail": "发送邮件",
"Permission:NpmPackages": "NPM包",
"Permission:NugetPackages": "Nuget包",
"Permission:Maintenance": "维护",
@@ -13,8 +19,13 @@
"Permission:Edit": "编辑",
"Permission:Delete": "删除",
"Permission:Create": "创建",
+ "Permission:Accounting": "账单",
+ "Permission:Accounting:Quotation": "报价",
+ "Permission:Accounting:Invoice": "发票",
"Menu:Organizations": "组织",
+ "Menu:Accounting": "账单",
"Menu:Packages": "包",
+ "Menu:DiscountRequests": "折扣请求",
"NpmPackageDeletionWarningMessage": "该NPM包将会被删除. 你确定吗?",
"NugetPackageDeletionWarningMessage": "该Nuget包将会被删除. 你确定吗?",
"ModuleDeletionWarningMessage": "该模块将会被删除. 你确定吗?",
@@ -24,6 +35,7 @@
"NameFilter": "名称",
"CreationTime": "创建时间",
"IsPro": "是否为专业版",
+ "ShowOnModuleList": "展示模块列表",
"EfCoreConfigureMethodName": "配置方法法",
"IsProFilter": "是否为专业版",
"ApplicationType": "应用程序类型",
@@ -53,6 +65,7 @@
"CreateANugetPackage": "创建Nuget包",
"AddNew": "新建",
"PackageAlreadyExist{0}": "\"{0}\"已经被添加.",
+ "ModuleAlreadyExist{0}": "\"{0}\" 模块已经添加.",
"ClearCache": "清除缓存",
"SuccessfullyCleared": "清除成功",
"Menu:NpmPackages": "NPM包",
@@ -63,6 +76,7 @@
"Organizations": "组织",
"LongName": "完整名称",
"LicenseType": "授权类型",
+ "MissingLicenseTypeField": "许可证类型字段是必需的!",
"LicenseStartTime": "授权开始时间",
"LicenseEndTime": "授权结束时间",
"AllowedDeveloperCount": "允许的开发人员数量",
@@ -74,14 +88,112 @@
"AddDeveloper": "添加开发者",
"Create": "创建",
"UserNotFound": "用户不存在",
- "{0}WillBeRemovedFromMembers": "{0} 将从成员中删除",
+ "{0}WillBeRemovedFromDevelopers": "{0} 将从开发者中移除, 你确定吗?",
+ "{0}WillBeRemovedFromOwners": "{0} 将从所有者中移除, 你确定吗?",
"Computers": "计算机",
"UniqueComputerId": "计算机唯一ID",
"LastSeenDate": "上次查看日期",
"{0}Computer{1}WillBeRemovedFromRecords": "计算机 {0} ({1}) 将从记录中删除",
"OrganizationDeletionWarningMessage": "组织将被删除",
+ "DeletingLastOwnerWarningMessage": "一个组织必须至少有一个所有者!因此你不能删除此所有者",
"This{0}AlreadyExistInThisOrganization": "该组织中已经存在此 {0}",
"AreYouSureYouWantToDeleteAllComputers": "您确定要删除所有计算机吗?",
- "DeleteAll": "删除所有"
+ "DeleteAll": "删除所有",
+ "DoYouWantToCreateNewUser": "你想要创建一个新用户吗",
+ "MasterModules": "主模块",
+ "OrganizationName": "组织名称",
+ "CreationDate": "创建时间",
+ "LicenseStartDate": "许可开始时间",
+ "LicenseEndDate": "许可结束时间",
+ "OrganizationNamePlaceholder": "组织名称...",
+ "TotalQuestionCountPlaceholder": "问题总数...",
+ "RemainingQuestionCountPlaceholder": "剩下的问题数...",
+ "LicenseTypePlaceholder": "许可类型...",
+ "CreationDatePlaceholder": "创建时间...",
+ "LicenseStartDatePlaceholder": "许可开始时间...",
+ "LicenseEndDatePlaceholder": "许可结束时间...",
+ "UsernameOrEmail": "用户名或邮箱",
+ "UsernameOrEmailPlaceholder": "用户名或邮箱...",
+ "Member": "成员",
+ "PurchaseOrderNo": "订单编号",
+ "QuotationDate": "报价日期",
+ "CompanyName": "公司名称",
+ "CompanyAddress": "公司地址",
+ "Price": "价格",
+ "DiscountText": "折扣文字",
+ "DiscountQuantity": "折扣数量",
+ "DiscountPrice": "折扣价格",
+ "Quotation": "报价单",
+ "ExtraText": "额外文字",
+ "ExtraAmount": "额外金额",
+ "DownloadQuotation": "下载报价单",
+ "Invoice": "发票",
+ "TaxNumber": "税号",
+ "InvoiceNumber": "发票数字",
+ "InvoiceDate": "发票日期",
+ "InvoiceNote": "发票说明",
+ "Quantity": "数量",
+ "AddProduct": "添加产品",
+ "AddProductWarning": "你需要添加产品",
+ "TotalPrice": "总价",
+ "Generate": "生成",
+ "MissingQuantityField": "数量字段为必填项!",
+ "MissingPriceField": "价格字段为必填项!",
+ "CodeUsageStatus": "状态",
+ "Country": "国家",
+ "DeveloperCount": "开发者数量",
+ "RequestCode": "请求码",
+ "WebSite": "网站",
+ "GithubUsername": "Github用户名",
+ "PhoneNumber": "手机号",
+ "ProjectDescription": "产品描述",
+ "Referrer": "推荐人",
+ "DiscountRequests": "折扣请求",
+ "Copylink": "拷贝链接",
+ "Disable": "禁用",
+ "Enable": "启用",
+ "EnableSendEmail": "启用发送邮件",
+ "SendEmail": "发送邮件",
+ "SuccessfullyDisabled": "禁用成功",
+ "SuccessfullyEnabled": "启用成功",
+ "EmailSent": "邮件发送",
+ "SuccessfullySent": "发送成功",
+ "SuccessfullyDeleted": "删除成功",
+ "DiscountRequestDeletionWarningMessage": "折扣成功将被删除",
+ "BusinessType": "商业类型",
+ "TotalQuestionCount": "问题总数",
+ "RemainingQuestionCount": "剩余问题数",
+ "TotalQuestionMustBeGreaterWarningMessage": "TotalQuestionCount必须大于RemainingQuestionCount!",
+ "QuestionCountsMustBeGreaterThanZero": "TotalQuestionCount和RemainingQuestionCount必须为0或大于0",
+ "UnlimitedQuestionCount": "无限的问题计数",
+ "Notes": "笔记",
+ "Menu:Community": "社区",
+ "Menu:Articles": "文章",
+ "Wait": "等待",
+ "Approve": "批准",
+ "Reject": "拒绝",
+ "Details": "详情",
+ "Url": "Url",
+ "Title": "标题",
+ "ContentSource": "内容源",
+ "Status": "状态",
+ "ReadArticle": "阅读文章",
+ "ArticleHasBeenWaiting": "文章还在等待",
+ "ArticleHasBeenApproved": "文章已被批准",
+ "ArticleHasBeenRejected": "文章已被拒绝",
+ "Permission:Community": "社区",
+ "Permission:CommunityArticle": "文字",
+ "Link": "链接",
+ "Enum:ContentSource:0": "Github",
+ "Enum:ContentSource:1": "外部",
+ "Enum:Status:0": "等待中",
+ "Enum:Status:1": "已拒绝",
+ "Enum:Status:2": "已批准",
+ "Summary": "概要",
+ "AuthorName": "作者名称",
+ "CoverImage": "封面图片",
+ "RemoveCacheConfirmationMessage": "你确定要删除\"{0}\" 文章缓存?",
+ "SuccessfullyRemoved": "清除成功",
+ "RemoveCache": "删除缓存"
}
}
\ 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.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json
index d6f334f7cd..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,9 @@
"Blog": "Blog",
"Commercial": "Commercial",
"MyAccount": "My account",
- "SeeDocuments": "See Documents"
+ "Permission:License": "License",
+ "Permission:UserInfo": "Usere info",
+ "SeeDocuments": "See Documents",
+ "Samples": "Samples"
}
}
\ No newline at end of file
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 986d1fdc2c..79493b537e 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/zh-Hans.json
@@ -26,6 +26,8 @@
"ContributionGuide": "贡献指南",
"Blog": "博客",
"Commercial": "商业版",
- "SeeDocuments": "查看文档"
+ "MyAccount": "我的账户",
+ "SeeDocuments": "查看文档",
+ "Samples": "示例"
}
}
\ No newline at end of file
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.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
index 2a57c6b25d..e029499b06 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json
@@ -30,6 +30,8 @@
"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."
}
}
\ 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 e80457377f..0147e71a05 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/zh-Hans.json
@@ -6,6 +6,8 @@
"Volo.AbpIo.Commercial:010003": "你不是该组织的所有者!",
"OrganizationNotFoundMessage": "找不到任何组织!",
"DeveloperCount": "开发者数量",
+ "QuestionCount": "剩余 / 问题总数",
+ "Unlimited": "无限制",
"Owners": "所有者",
"AddMember": "添加成员",
"AddOwner": "添加所有者",
@@ -25,6 +27,9 @@
"Volo.AbpIo.Commercial:010004": "不能找到指定的用户! 用户必须已经注册.",
"MyOrganizations": "我的组织",
"ApiKey": "API key",
- "UserNameNotFound": "没有用户名为{0}的用户"
+ "UserNameNotFound": "没有用户名为{0}的用户",
+ "SuccessfullyAddedToNewsletter": "感谢你订阅我们的新闻通讯!",
+ "MyProfile": "我的资料",
+ "EmailNotValid": "请输入有效的电子邮件地址"
}
}
\ 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.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
index ea5237bc29..c570e6fb1e 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/en.json
@@ -83,6 +83,22 @@
"LatestBlogPost": "Latest Blog Post",
"Edit": "Edit",
"ProfileImageChange": "Change the profile image",
- "BlogItemErrorMessage": "Could not get the latest blog post details from ABP."
+ "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.",
+ "ArticleRequestFromGithubIssue": "There are not any article requests now.",
+ "LatestArticles": "Latest Articles",
+ "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."
}
}
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 307ff066a7..fa793c91a0 100644
--- a/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/zh-Hans.json
@@ -1,64 +1,89 @@
{
- "culture": "zh-Hans",
- "texts": {
- "Permission:CommunityArticle": "社区文章",
- "Permission:Edit": "修改",
- "Waiting": "等待中",
- "Approved": "已批准",
- "Rejected": "已拒绝",
- "Wait": "等待",
- "Approve": "批准",
- "Reject": "拒绝",
- "ReadArticle": "阅读文章",
- "Status": "状态",
- "ContentSource": "内容来源",
- "Details": "详情",
- "Url": "url",
- "Title": "标题",
- "CreationTime": "创建时间",
- "Save": "保存",
- "SameUrlAlreadyExist": "url已存在,如果你想要添加这篇文章,你需要更改url!",
- "UrlIsNotValid": "Url无效.",
- "UrlNotFound" : "Url未找到.",
- "UrlContentNotFound": "Url内容未找到.",
- "Summary": "摘要",
- "MostRead": "阅读最多",
- "Latest": "最新",
- "ContributeAbpCommunity": "为ABP社区做贡献",
- "SubmitYourArticle": "提交你的文章",
- "ContributionGuide": "贡献指南",
- "BugReport": "Bug报告",
- "SeeAllArticles": "查看所有的文章",
- "WelcomeToABPCommunity!": "欢迎来到ABP社区!",
- "MyProfile": "我的资料",
- "MyOrganizations": "我的组织",
- "EmailNotValid": "请输入有效的电子邮箱地址.",
- "FeatureRequest": "功能请求",
- "CreateArticleTitleInfo": "文章标题显示在文章列表中.",
- "CreateArticleUrlInfo": "文章的原始GitHub/外部URL.",
- "CreateArticleSummaryInfo": "文章的简短摘要将显示在文章列表中.",
- "CreateArticleCoverInfo": "为了创建有效的文章,请添加封面图. 仅支持16:9的图片!",
- "ThisExtensionIsNotAllowed": "不允许此扩展名.",
- "TheFileIsTooLarge": "文件过大.",
- "GoToTheArticle": "转到文章",
- "Contribute": "贡献",
- "OverallProgress": "总体流程",
- "Done": "完成",
- "Open": "打开",
- "Closed": "关闭",
- "LatestQuestionOnThe": "有关的最新问题",
- "Stackoverflow": "Stackoverflow",
- "Votes": "票数",
- "Answer": "回答",
- "Views": "观看次数",
- "Answered": "已回答",
- "WaitingForYourAnswer": "等待你的回答",
- "Asked": "提问",
- "AllQuestions": "所有的问题",
- "NextVersion": "下一个版本",
- "MilestoneErrorMessage": "无法从Github获取当前的里程碑详细信息.",
- "QuestionItemErrorMessage": "无法从Stackoverflow获取最新的问题详细信息.",
- "Oops": "哎呀!"
- }
+ "culture": "zh-Hans",
+ "texts": {
+ "Permission:CommunityArticle": "社区文章",
+ "Permission:Edit": "修改",
+ "Waiting": "等待中",
+ "Approved": "已批准",
+ "Rejected": "已拒绝",
+ "Wait": "等待",
+ "Approve": "批准",
+ "Reject": "拒绝",
+ "ReadArticle": "阅读文章",
+ "Status": "状态",
+ "ContentSource": "内容来源",
+ "Details": "详情",
+ "Url": "url",
+ "Title": "标题",
+ "CreationTime": "创建时间",
+ "Save": "保存",
+ "SameUrlAlreadyExist": "url已存在,如果你想要添加这篇文章,你需要更改url!",
+ "UrlIsNotValid": "Url无效.",
+ "UrlNotFound": "Url未找到.",
+ "UrlContentNotFound": "Url内容未找到.",
+ "Summary": "摘要",
+ "MostRead": "阅读最多",
+ "Latest": "最新",
+ "ContributeAbpCommunity": "为ABP社区做贡献",
+ "SubmitYourArticle": "提交你的文章",
+ "ContributionGuide": "贡献指南",
+ "BugReport": "Bug报告",
+ "SeeAllArticles": "查看所有的文章",
+ "WelcomeToABPCommunity!": "欢迎来到ABP社区!",
+ "MyProfile": "我的资料",
+ "MyOrganizations": "我的组织",
+ "EmailNotValid": "请输入有效的电子邮箱地址.",
+ "FeatureRequest": "功能请求",
+ "CreateArticleTitleInfo": "文章标题显示在文章列表中.",
+ "CreateArticleUrlInfo": "文章的原始GitHub/外部URL.",
+ "CreateArticleSummaryInfo": "文章的简短摘要将显示在文章列表中.",
+ "CreateArticleCoverInfo": "为了创建有效的文章,请添加封面图. 仅支持16:9的图片!",
+ "ThisExtensionIsNotAllowed": "不允许此扩展名.",
+ "TheFileIsTooLarge": "文件过大.",
+ "GoToTheArticle": "转到文章",
+ "Contribute": "贡献",
+ "OverallProgress": "总体流程",
+ "Done": "完成",
+ "Open": "打开",
+ "Closed": "关闭",
+ "LatestQuestionOnThe": "有关的最新问题",
+ "Stackoverflow": "Stackoverflow",
+ "Votes": "票数",
+ "Answer": "回答",
+ "Views": "观看次数",
+ "Answered": "已回答",
+ "WaitingForYourAnswer": "等待你的回答",
+ "Asked": "提问",
+ "AllQuestions": "所有的问题",
+ "NextVersion": "下一个版本",
+ "MilestoneErrorMessage": "无法从Github获取当前的里程碑详细信息.",
+ "QuestionItemErrorMessage": "无法从Stackoverflow获取最新的问题详细信息.",
+ "Oops": "哎呀!",
+ "CreateArticleSuccessMessage": "文章提交成功. 网站管理员审核通过后将被发布.",
+ "ChooseCoverImage": "选项一张封面图片",
+ "CoverImage": "封面图片",
+ "ShareYourExperiencesWithTheABPFramework": "分享你的ABP Framework经验!",
+ "Optional": "可选的",
+ "UpdateUserWebSiteInfo": "示例: https://johndoe.com",
+ "UpdateUserTwitterInfo": "示例: johndoe",
+ "UpdateUserGithubInfo": "示例: johndoe",
+ "UpdateUserLinkedinInfo": "示例: https://www.linkedin.com/...",
+ "UpdateUserCompanyInfo": "示例v: Volosoft",
+ "UpdateUserJobTitleInfo": "示例: Software Developer",
+ "UserName": "用户名",
+ "Company": "公司",
+ "PersonalWebsite": "个人网站",
+ "RegistrationDate": "注册时间",
+ "Social": "社交",
+ "Biography": "传记",
+ "HasNoPublishedArticlesYet": "尚未发表文章",
+ "Author": "作者",
+ "LatestGithubAnnouncements": "最新的Github公告",
+ "SeeAllAnnouncements": "查看所有公告",
+ "LatestBlogPost": "最新博客文章",
+ "Edit": "修改",
+ "ProfileImageChange": "更改资料图片",
+ "BlogItemErrorMessage": "无法从ABP获取最新的博客文章详细信息.",
+ "PlannedReleaseDate": "计划发布日期"
}
-
\ No newline at end of file
+}
\ 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..6f9f0726cf
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/de-DE.json
@@ -0,0 +1,189 @@
+{
+ "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| + + + | +
@upcomingEvent.Title
+@upcomingEvent.Description.TruncateWithPostfix(150)
+@Event.Description
+You are registered in this event
+ + } +
-[Web application development tutorial](Tutorials/Part-1.md) is a complete tutorial to develop a full stack application using the ABP Framework.
+### Database Provider Options
-### ABP Community Articles
+
-See also the [ABP Community](https://community.abp.io/) articles.
+## Exploring the Documentation
-## Samples
+ABP has a **comprehensive documentation** that not only explains the ABP Framework, but also includes **guides** and **samples** to help you on creating a **maintainable solution** by introducing and discussing common **software development principle and best practices**.
-See the [sample projects](Samples/Index.md) built with the ABP Framework.
+### Architecture
+
+ABP offers a complete, modular and layered software architecture based on [Domain Driven Design](Domain-Driven-Design.md) principles and patterns. It also provides the necessary infrastructure to implement this architecture.
+
+* See the [Modularity](Module-Development-Basics.md) document to understand the module system.
+* [Implementing Domain Driven Design](Domain-Driven-Design-Implementation-Guide.md) document is an ultimate guide for who want to understand and implement the DDD.
+* [Microservice Architecture](Microservice-Architecture.md) document explains how ABP helps to create a microservice solution.
+
+### Infrastructure
+
+There are a lot of features provided by the ABP Framework to achieve real world scenarios easier, like [Event Bus](Event-Bus.md), [Background Job System](Background-Jobs.md), [Audit Logging](Audit-Logging.md), [BLOB Storing](Blob-Storing.md), [Data Seeding](Data-Seeding.md), [Data Filtering](Data-Filtering.md).
+
+### Cross Cutting Concerns
+
+ABP also simplifies (and even automates wherever possible) cross cutting concerns and common non-functional requirements like [Exception Handling](Exception-Handling.md), [Validation](Validation.md), [Authorization](Authorization.md), [Localization](Localization.md), [Caching](Caching.md), [Dependency Injection](Dependency-Injection.md), [Setting Management](Settings.md), etc.
+
+### Application Modules
+
+Application Modules provides pre-built application functionalities;
+
+* [**Account**](Modules/Account.md): Provides UI for the account management and allows user to login/register to the application.
+* **[Identity](Modules/Identity.md)**: Manages organization units, roles, users and their permissions, based on the Microsoft Identity library.
+* [**IdentityServer**](Modules/IdentityServer.md): Integrates to IdentityServer4.
+* [**Tenant Management**](Modules/Tenant-Management.md): Manages tenants for a [multi-tenant](Multi-Tenancy.md) (SaaS) application.
-## Source Code
+See the [Application Modules](Modules/Index.md) document for all pre-built modules.
+
+### Startup Templates
+
+The [Startup templates](Startup-Templates/Index.md) are pre-built Visual Studio solution templates. You can create your own solution based on these templates to **immediately start your development**.
+
+## ABP Community
+
+### The Source Code
ABP is hosted on GitHub. See [the source code](https://github.com/abpframework).
-## Want to Contribute?
+### 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](Samples/Index.md) built with the ABP Framework.
+
+### Want to Contribute?
ABP is a community-driven open source project. See [the contribution guide](Contribution/Index.md) if you want to be a part of this project.
diff --git a/docs/en/Integration-Tests.md b/docs/en/Integration-Tests.md
index f9f6830956..35d66171a6 100644
--- a/docs/en/Integration-Tests.md
+++ b/docs/en/Integration-Tests.md
@@ -1,3 +1 @@
-# Integration Tests
-
-TODO!
\ No newline at end of file
+This document has been [moved to here](Testing.md).
\ No newline at end of file
diff --git a/docs/en/JavaScript/Dynamic-JavaScript-API-Clients.md b/docs/en/JavaScript/Dynamic-JavaScript-API-Clients.md
deleted file mode 100644
index 539d3ac15a..0000000000
--- a/docs/en/JavaScript/Dynamic-JavaScript-API-Clients.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Dynamic JavaScript API Clients
-
-TODO
\ No newline at end of file
diff --git a/docs/en/Localization.md b/docs/en/Localization.md
index 37104a4878..089567422c 100644
--- a/docs/en/Localization.md
+++ b/docs/en/Localization.md
@@ -100,8 +100,6 @@ Configure