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/es.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/es.json
new file mode 100644
index 0000000000..dbd028baae
--- /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": "",
+ "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/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/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/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/Www/Localization/Resources/es.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/es.json
new file mode 100644
index 0000000000..3c36634f56
--- /dev/null
+++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/es.json
@@ -0,0 +1,189 @@
+{
+ "culture": "es",
+ "texts": {
+ "GetStarted": "Comencemos - Plantillas de inicio",
+ "Create": "Crear",
+ "NewProject": "Nuevo proyecto",
+ "DirectDownload": "Descarga directa",
+ "ProjectName": "Nombre de proyecto",
+ "ProjectType": "Tipo de proyecto",
+ "DatabaseProvider": "Proveedor de base de datos",
+ "NTier": "N-Capas",
+ "IncludeUserInterface": "Incluir interface de usuario",
+ "CreateNow": "Crear ahora",
+ "TheStartupProject": "El proyecto de inicio",
+ "Tutorial": "Tutorial",
+ "UsingCLI": "Usando CLI",
+ "SeeDetails": "Ver detalles",
+ "AbpShortDescription": "ABP Framework es una completa infraestructure para crear modernas aplicaciones web que sigue las mejores prácticas y convenciones de desarrollo de software.",
+ "SourceCodeUpper": "CÓDIGO FUENTE",
+ "LatestReleaseLogs": "Últimos registros de lanzamiento",
+ "Infrastructure": "infraestructura",
+ "Architecture": "Arquitectura",
+ "Modular": "Modular",
+ "DontRepeatYourself": "No te repitas tu mismo",
+ "DeveloperFocused": "Pensado para el desarrollador",
+ "FullStackApplicationInfrastructure": "infraestructura de aplicación Full stack",
+ "DomainDrivenDesign": "",
+ "DomainDrivenDesignExplanation": "Diseñado y desarrollado basandose en los patrones y principios de DDD. Promorciona una capa de modelo para tus aplicaciones.",
+ "Authorization": "Autorización",
+ "AuthorizationExplanation": "Sistema de autorización avanzado con usuarios, roles y permisos de granularidad-fina. Construido sobre la librería Microsoft Identity.",
+ "MultiTenancy": "Multi-inquilino",
+ "MultiTenancyExplanationShort": "Aplicaciones SaaS sencillas!, integradas con multi-inquilino desde la base de datos hasta la UI.",
+ "CrossCuttingConcerns": "Requerimientos comunes",
+ "CrossCuttingConcernsExplanationShort": "Completa infraestructura de autorización, validación, manejo de excepciones, caching, auditoría, gestión de transacciones y más.",
+ "BuiltInBundlingMinification": "Empaquetado y minificado integrado",
+ "BuiltInBundlingMinificationExplanation": "No se necesitan usar herramientas externas para el empaquetado y minificado. ABP ofrece un camino simple, dinámico, potente, modular e integrado.",
+ "VirtualFileSystem": "Sistema de ficheros virtual",
+ "VirtualFileSystemExplanation": "Incrusta vistas, scripts, estilos, imágenes en paquetes/ librerias y reusalos en diferentes aplicaciones.",
+ "Theming": "Temas",
+ "ThemingExplanationShort": "Usa y personaliza la UI estandar basada en bootstrap o crea tu propio tema.",
+ "BootstrapTagHelpersDynamicForms": "Boostrap Tag Helpers y formularios dinámicos",
+ "BootstrapTagHelpersDynamicFormsExplanation": "",
+ "HTTPAPIsDynamicProxies": "HTTP APIs y proxies dinámicos",
+ "HTTPAPIsDynamicProxiesExplanation": "Expon servicios de aplicación como REST HTPP APIs y consumelos dinámicamente desde proxies JavaScript y C#.",
+ "CompleteArchitectureInfo": "Arquitectura moderna para crear soluciones software sostenibles.",
+ "DomainDrivenDesignBasedLayeringModelExplanation": "Ayuda a implementar ",
+ "DomainDrivenDesignBasedLayeringModelExplanationCont": "Promorciona plantillas de inicio, clases base, servicios, documentación y guías de ayuda para desarrollar tu aplicación basada en patrones y principios DDD.",
+ "MicroserviceCompatibleModelExplanation": "El núcleo del framework y los modules pre-construidos están diseñados con una arquitectura microservicios en mente.",
+ "MicroserviceCompatibleModelExplanationCont": "Proporciona la infraestructura, integraciones, ejemplos y documentación para implementar soluciones microservicios más facilmente, mientras no trae complejidad adicional si quieres una aplicación monolítica.",
+ "ModularInfo": "ABP proporciona un sistema de modulos que te permite desarrollar modulos de aplicacion resusables. Conectado en el ciclo de eventos de aplicación y mínimas dependencias entre las partes principales de tu sistema.",
+ "PreBuiltModulesThemes": "Modulos y temas integrados",
+ "PreBuiltModulesThemesExplanation": "Módulos y temas de código abierto y comerciales preparados para usar en tu aplicación de negocio.",
+ "NuGetNPMPackages": "Paquetes Nuget y NPM",
+ "NuGetNPMPackagesExplanation": "Paquetes distribuidos a través de Nuget y NPM para instalar y actualizar.",
+ "ExtensibleReplaceable": "Extensible/ Reemplazable",
+ "ExtensibleReplaceableExplanation": "Todos los serivios y módulos están diseñados para ser extensibles. Tu puedes reemplazar servicios, páginas, estilos y componentes.",
+ "CrossCuttingConcernsExplanation2": "Mantiene tu código base más pequeño y te permite enforcate en el código que es especifico en tu negocio.",
+ "CrossCuttingConcernsExplanation3": "No pierdas tiempo implementando requerimientos comunes de aplicación en múltiples proyectos.",
+ "AuthenticationAuthorization": "Autenticación y autorización",
+ "ExceptionHandling": "Manejo de excepciones.",
+ "Validation": "Validación",
+ "DatabaseConnection": "Conexión a la base de datos",
+ "TransactionManagement": "Gestión de transacciones",
+ "AuditLogging": "Registro de auditoría",
+ "Caching": "Caché",
+ "Multitenancy": "Multi-inquilino",
+ "DataFiltering": "Filtrado de datos",
+ "ConventionOverConfiguration": "Convención sobre la configuración",
+ "ConventionOverConfigurationExplanation": "ABP implementa comunes convenciones de aplicación por defecto con una mínima o nula configuración.",
+ "ConventionOverConfigurationExplanationList1": "Los registradores conocen los servicios para la inyección de dependencias.",
+ "ConventionOverConfigurationExplanationList2": "Expone servicios de aplicación como APIs HTTP mediante convenciones de nomenclatura.",
+ "ConventionOverConfigurationExplanationList3": "Crea clientes proxies HTTP dinámicos para C# y JavaScript.",
+ "ConventionOverConfigurationExplanationList4": "Proporciona repositorios por defecto para tus entidades.",
+ "ConventionOverConfigurationExplanationList5": "Maneja Unit of Work por cada petición web o metodo de servicio de aplicación.",
+ "ConventionOverConfigurationExplanationList6": "Publica, crea, actualiza y borra eventos para tus entidades.",
+ "BaseClasses": "Clase base",
+ "BaseClassesExplanation": "Clases base integradas para patrones comunes de aplicación.",
+ "DeveloperFocusedExplanation": "ABP es para desarrolladores.",
+ "DeveloperFocusedExplanationCont": "Su objetivo es simplificar su desarrollo diario de software sin restringirle la escritura de código de bajo nivel.",
+ "SeeAllFeatures": "Ver todas las características",
+ "CLI_CommandLineInterface": "CLI (Command Line Interface)",
+ "CLI_CommandLineInterfaceExplanation": "Incluye un CLI que te ayuda a automatizar la creación de nuevos proyectos y añadir nuevos módulos.",
+ "StartupTemplates": "Plantillas de inicio",
+ "StartupTemplatesExplanation": "Varias plantillas de inicio proporcionan una solución completamente configurada lista para comenzar el desarrollo.",
+ "BasedOnFamiliarTools": "Basado en herramientas familiares",
+ "BasedOnFamiliarToolsExplanation": "Construido y diseñado con herramientas populares que tu ya conoces. Baja curva de aprendizaje, facil adaptación y desarrollo confortable.",
+ "ORMIndependent": "Independiente del ORM",
+ "ORMIndependentExplanation": "El núcleo del core es independiente del ORM/ base de datos y puedes trabajar con cualquier fuente de datos. Entity Framework Core y MongoDB están actualmente disponibles.",
+ "Features": "Explora las características de ABP Framework",
+ "ABPCLI": "ABP CLI",
+ "Modularity": "Modularidad",
+ "BootstrapTagHelpers": "Bootstrap Tag Helpers",
+ "DynamicForms": "Formularios dinámicos",
+ "BundlingMinification": "Empaquetado y Minimificación",
+ "BackgroundJobs": "",
+ "BackgroundJobsExplanation": "Defina clases simples para ejecutar trabajos en segundo plano como en cola. Utilice el administrador de trabajos integrado o integre el suyo propio. Hangfire & RabbitMQ integraciones están actualmente disponibles.",
+ "DDDInfrastructure": "infraestructura DSS",
+ "DomainDrivenDesignInfrastructure": "infraestructura Domain Driven Design",
+ "AutoRESTAPIs": "Auto REST APIs",
+ "DynamicClientProxies": "Clientes proxies dinámicos",
+ "DistributedEventBus": "Bus de eventos distribuido",
+ "DistributedEventBusWithRabbitMQIntegration": "Bus de eventos distribuido con la integración RabbitMQ ",
+ "TestInfrastructure": "infraestructura de Test",
+ "AuditLoggingEntityHistories": "Registro de auditoría y historial de entidades",
+ "ObjectToObjectMapping": "Mapeado objeto a objeto",
+ "ObjectToObjectMappingExplanation": "Mapeado objeto a objeto abstracción integrada con AutoMapper.",
+ "EmailSMSAbstractions": "Abstracciones para Email y SMS",
+ "EmailSMSAbstractionsWithTemplatingSupport": "Abstracciones para Email y SMS con soporte para plantillas",
+ "Localization": "Localización",
+ "SettingManagement": "Gestión de la configuración",
+ "ExtensionMethods": "Extension Methods",
+ "ExtensionMethodsHelpers": "Extension Methods & Helpers",
+ "AspectOrientedProgramming": "Programación orientada a aspectos",
+ "DependencyInjection": "Inyección de dependencias",
+ "DependencyInjectionByConventions": "Inyección de dependencias por convenciones",
+ "ABPCLIExplanation": "ABP CLI (Command Line Interface) es una herramienta en línea de comandos que proporciona ciertas tareas comunes para soluciones basadas en ABP.",
+ "ModularityExplanation": "ABP proporciona una infraestructura completa para construir tu propios módulos de aplicación que pueden contener entidades, servicios, base de datos integradas, APIs, componentes de UI y otros...",
+ "MultiTenancyExplanation": "ABP framework no sólo soporta el desarrollo de aplicaciones multi-inquilino, si no también hace que tu código no tenga que preocuparse de multi-inquilino.",
+ "MultiTenancyExplanation2": "Puedes determinar automaticamente el inquilino actual, y aislar los datos de diferentes inquilinos entre sí. ",
+ "MultiTenancyExplanation3": "Soporta base de datos única, base de datos por inquilino y enfoques híbridos.",
+ "MultiTenancyExplanation4": "Enfocate en tu código y deja al framework que maneje multi-inquilino en tu nombre.",
+ "BootstrapTagHelpersExplanation": "En vez de escribir repetidamente los detalle de componentes bootstrap, usa ABP's tag helpers para simplificarlo y obtener ventaja de intellisence. Tu puedes definitivamente usar Bootstrp cuando tu lo necesites.",
+ "DynamicFormsExplanation": "Los formularios dinámicos y tag helpers de entrada pueden crear el formulario completo a partir de una clase de C# como modelo. ",
+ "AuthenticationAuthorizationExplanation": "Autenticación enriquecidad y opciones de autorización integradas con ASP.NET Core Identity & IdentityServer4. Proporciona un extensible y detallado sistema de permisos.",
+ "CrossCuttingConcernsExplanation": "No te repitas tu mismo al implementar todas esas cosas comunes una y otra vez. Enfocate en tu negocio y permite a ABP automatizarlos por convención.",
+ "DatabaseConnectionTransactionManagement": "Conexión de base de datos y gestión de transacciones",
+ "CorrelationIdTracking": "Correlation-Id de seguimiento",
+ "BundlingMinificationExplanation": "ABP ofrece un sistema simple, dinámico, potente, modular y empaquetado & minificación ",
+ "VirtualFileSystemnExplanation": "El sistema de archivos virtuales permite administrar archivos que no existen físicamente en el sistema de archivos (disco). Se utiliza principalmente para incrustar (js, css, image, cshtml...) en ensamblados y utilizarlos como archivos físicos en tiempo de ejecución.",
+ "ThemingExplanation": "El sistema de temas permite desarrollar el tema de su aplicación y módulos independiente mediante la definición de un conjunto de bibliotecas y diseños base comunes, basado en el último marco de Trabajo bootstrap.",
+ "DomainDrivenDesignInfrastructureExplanation": "Una infraestructura completa para crear aplicaciones en capas basadas en los patrones y principios DDD",
+ "Specification": "Especificación",
+ "Repository": "Repositorios",
+ "DomainService": "Servicio de dominio",
+ "ValueObject": "Objetos de valor",
+ "ApplicationService": "Servicio de aplicación",
+ "DataTransferObject": "Objetos de transferencia de datos",
+ "AggregateRootEntity": "Agregado ráiz, Entidad",
+ "AutoRESTAPIsExplanation": "ABP puede configurar automáticamente los servicios de aplicación como controladores de API por convención.",
+ "DynamicClientProxiesExplanation": "Consuma fácilmente sus API de clientes de JavaScript y C#",
+ "DistributedEventBusWithRabbitMQIntegrationExplanation": "Publique y consuma eventos distribuidos fácilmente mediante el bus de eventos distribuido integrado con la integración RabbitMQ disponible.",
+ "TestInfrastructureExplanation": "El framework se ha desarrollado unitariamente y pruebas de integración. Proporciona clases base para que sea más fácil. Las plantillas de inicio vienen preconfiguradas para las pruebas.",
+ "AuditLoggingEntityHistoriesExplanation": "Registro de auditoría integrado para aplicaciones críticas para el negocio. Registro de auditorías de solicitud, servicio, nivel de método e historiales de entidades con detalles de nivel de propiedad.",
+ "EmailSMSAbstractionsWithTemplatingSupportExplanation": "Las abstracciones IEmailSender e ISmsSender desacoplan la lógica de la aplicación de la infraestructura. El sistema avanzado de plantillas de correo electrónico permite crear y localizar plantillas de correo electrónico y utilizarlas fácilmente cuando sea necesario.",
+ "LocalizationExplanation": "El sistema de localización permite crear recursos en archivos JSON sin formato y utilizarlos para localizar la interfaz de usuario. Admite escenarios avanzados como herencia, extensiones e integración de JavaScript, mientras que es totalmente compatible con el sistema de localización de AspNet Core.",
+ "SettingManagementExplanation": "Defina la configuración de la aplicación y obtenga valores en tiempo de ejecución en función de la configuración actual, el inquilino y el usuario.",
+ "ExtensionMethodsHelpersExplanation": "No te repitas ni siquiera para partes de código triviales. Extensiones y ayudantes para tipos estándar hace que su código sea mucho más limpio y fácil de escribir.",
+ "AspectOrientedProgrammingExplanation": "Proporciona una infraestructura cómoda para crear servidores proxy dinámicos e implementar la programación orientada a aspectos. Interceptar cualquier clase y ejecutar el código antes y después de cada ejecución del método.",
+ "DependencyInjectionByConventionsExplanation": "No es necesario registrar las clases en la inserción de dependencias manualmente. Registra automáticamente los tipos de servicio comunes por convención. Para otro tipo de servicios, puede utilizar interfaces y atributos para que sea más fácil y in situ.",
+ "DataFilteringExplanation": "Definir y usar filtros de datos que se aplican automáticamente al consultar entidades desde la base de datos. Los filtros Soft Delete & MultiTenant se proporcionan de fábrica cuando se implementan interfaces sencillas.",
+ "PublishEvents": "Publicar eventos",
+ "HandleEvents": "Manejar eventos",
+ "AndMore": "y más...",
+ "Code": "Código",
+ "Result": "Resultado",
+ "SeeTheDocumentForMoreInformation": "Ver el {0} documento para más información.",
+ "IndexPageHeroSection": "Código fuente abiertoWeb Application
Framework para asp.net core",
+ "UiFramework": "UI Framework",
+ "EmailAddress": "Dirección de correo",
+ "Mobile": "Móvil",
+ "ReactNative": "React Nativo",
+ "Strong": "Fuerte",
+ "Complete": "Completar",
+ "BasedLayeringModel": "Módelo basado en capas",
+ "Microservice": "Microservicio",
+ "Compatible": "Compatible",
+ "MeeTTheABPCommunityInfo": "Nuestra misión es crear un entorno en el que los desarrolladores puedan ayudarse entre sí con artículos, tutoriales, estudios de casos, etc. y conocer personas de ideas afines.",
+ "JoinTheABPCommunityInfo": "¡Participe en una comunidad vibrante y conviértase en colaborador del Marco ABP!",
+ "AllArticles": "Todos los artículos",
+ "SubmitYourArticle": "Envía tu artículo",
+ "DynamicClientProxyDocument": "Ver la documentación del cliente proxy dinámico para JavaScript & C#.",
+ "EmailSMSAbstractionsDocument": "Ver los documentos de emailing y envío SMS para más información.",
+ "CreateProjectWizard": "Este asistente crea un nuevo proyecto a partir de la plantilla de inicio que está correctamente configurado para comenzar con su proyecto.",
+ "TieredOption": "Crea una solución por niveles en la que las capas de API Web y HTTP están separadas físicamente. Si no se marca, crea una solución en capas que es menos compleja y adecuada para la mayoría de los escenarios.",
+ "SeparateIdentityServerOption": "Separa el lado del servidor en dos aplicaciones: la primera es para el servidor de identidad y la segunda es para la API HTTP del lado del servidor.",
+ "UseslatestPreVersion": "Usar la última versión pre-release",
+ "ReadTheDocumentation": "LeerLa Documentación",
+ "Documentation": "Documentación",
+ "GettingStartedTutorial": "Tutorial para iniciarse",
+ "ApplicationDevelopmentTutorial": "Tutorial de desarrollo de aplicación",
+ "TheStartupTemplate": "La Plantilla de Inicio",
+ "InstallABPCLIInfo": "ABP CLI es la forma más rápida de iniciar una nueva solución con el marco ABP. Instale la CLI de ABP mediante una ventana de línea de comandos:",
+ "DifferentLevelOfNamespaces": "Tu puedes usar diferentes niveles de espacio de nombres; ej. BookStore, Acme.BookStore or Acme.Retail.BookStore.",
+ "ABPCLIExamplesInfo": "nuevo comando crea una aplicación MVC por capas con Entity Framework Core como proveedor de base de datos. Sin embargo, tiene distintas opciones. Ejemplos:",
+ "SeeCliDocumentForMoreInformation": "Ver el documento ABP CLI para más opciones o selecciona la \"Direct Download\" pestaña de arriba.",
+ "Optional": "Opcional",
+ "LocalFrameworkRef": "Mantén la referencia al proyecto local para los paquetes del framework."
+ }
+}
\ No newline at end of file