diff --git a/.gitignore b/.gitignore
index eb4dbedfae..9a855fd898 100644
--- a/.gitignore
+++ b/.gitignore
@@ -293,3 +293,10 @@ samples/MicroserviceDemo/applications/ConsoleClientDemo/Logs/logs.txt
modules/docs/app/Volo.DocsTestApp/Logs/logs.txt
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Demo/Logs/logs.txt
samples/MicroserviceDemo/microservices/TenantManagementService.Host/Logs/logs.txt
+/modules/client-simulation/demo/Volo.ClientSimulation.Demo/package-lock.json
+/samples/BookStore/src/Acme.BookStore.Web/package-lock.json
+/samples/DashboardDemo/src/DashboardDemo.Web/package-lock.json
+/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/package-lock.json
+/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package-lock.json
+/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/package-lock.json
+/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/package-lock.json
diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/es.json b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/es.json
new file mode 100644
index 0000000000..33c59be8b5
--- /dev/null
+++ b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/es.json
@@ -0,0 +1,23 @@
+{
+ "culture": "es",
+ "texts": {
+ "DisplayName:Abp.Mailing.DefaultFromAddress": "Dirección de envío",
+ "DisplayName:Abp.Mailing.DefaultFromDisplayName": "Nombre de envío",
+ "DisplayName:Abp.Mailing.Smtp.Host": "Host",
+ "DisplayName:Abp.Mailing.Smtp.Port": "Puerto",
+ "DisplayName:Abp.Mailing.Smtp.UserName": "Nombre de usuario",
+ "DisplayName:Abp.Mailing.Smtp.Password": "Contraseña",
+ "DisplayName:Abp.Mailing.Smtp.Domain": "Dominio",
+ "DisplayName:Abp.Mailing.Smtp.EnableSsl": "Habilitar SSL",
+ "DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials": "Usar las credenciales por defecto",
+ "Description:Abp.Mailing.DefaultFromAddress": "La dirección de envío por defecto",
+ "Description:Abp.Mailing.DefaultFromDisplayName": "El nombre de envío por defecto",
+ "Description:Abp.Mailing.Smtp.Host": "El nombre o dirección del host para transacciones SMTP.",
+ "Description:Abp.Mailing.Smtp.Port": "El puerto usado para transacciones SMTP.",
+ "Description:Abp.Mailing.Smtp.UserName": "Nombre de usuario asociado a las credenciales.",
+ "Description:Abp.Mailing.Smtp.Password": "La contraseña del ususario asociado a las credenciales.",
+ "Description:Abp.Mailing.Smtp.Domain": "El dominio o equipo que valida las credenciales.",
+ "Description:Abp.Mailing.Smtp.EnableSsl": "Si SmtpClient usa Secure Sockets Layer (SSL) para encriptar la conección.",
+ "Description:Abp.Mailing.Smtp.UseDefaultCredentials": "Si las credenciales por defecto se envían con los request."
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj b/framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
index 0fd10d94ca..88c3bf0e81 100644
--- a/framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
+++ b/framework/src/Volo.Abp.Localization/Volo.Abp.Localization.csproj
@@ -28,5 +28,4 @@
-
diff --git a/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/es.json b/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/es.json
index ba27a9193c..0fc6660fac 100644
--- a/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/es.json
+++ b/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/es.json
@@ -1,6 +1,6 @@
{
"culture": "es",
"texts": {
- "Menu:Administration": "Administración"
+ "Menu:Administration": "Administración"
}
}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/es.json b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/es.json
index b52c56510b..be137f013b 100644
--- a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/es.json
+++ b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/es.json
@@ -1,20 +1,20 @@
{
"culture": "es",
"texts": {
- "InternalServerErrorMessage": "Ocurrió un error interno en su pedido!",
- "ValidationErrorMessage": "Su pedido no es válido!",
- "ValidationNarrativeErrorMessageTitle": "Los siguientes errores se encontraton durante la validación.",
- "DefaultErrorMessage": "Ocurrió un error!",
- "DefaultErrorMessageDetail": "El servidor no envió el detalle del error.",
- "DefaultErrorMessage401": "Usted no ha iniciado sessión!",
- "DefaultErrorMessage401Detail": "Debe iniciar sessión para ejecutar esta operación.",
- "DefaultErrorMessage403": "Usted no está autorizado!",
- "DefaultErrorMessage403Detail": "Usted no puede hacer esta operación!",
- "DefaultErrorMessage404": "No se encontró el recurso!",
- "DefaultErrorMessage404Detail": "El recurso solicitado no se encontró en el servidor!",
+ "InternalServerErrorMessage": "Ocurrió un error interno en su pedido!",
+ "ValidationErrorMessage": "Su pedido no es válido!",
+ "ValidationNarrativeErrorMessageTitle": "Los siguientes errores se encontraton durante la validación.",
+ "DefaultErrorMessage": "Ocurrió un error!",
+ "DefaultErrorMessageDetail": "El servidor no envió el detalle del error.",
+ "DefaultErrorMessage401": "Usted no ha iniciado sessión!",
+ "DefaultErrorMessage401Detail": "Debe iniciar sessión para ejecutar esta operación.",
+ "DefaultErrorMessage403": "Usted no está autorizado!",
+ "DefaultErrorMessage403Detail": "Usted no puede hacer esta operación!",
+ "DefaultErrorMessage404": "No se encontró el recurso!",
+ "DefaultErrorMessage404Detail": "El recurso solicitado no se encontró en el servidor!",
"EntityNotFoundErrorMessage": "No hay una entidad {0} con el id = {1}!",
"Error": "Error",
- "AreYouSure": "¿Está seguro?",
+ "AreYouSure": "¿Está seguro?",
"Cancel": "Cancelar",
"Yes": "Si",
"No": "No",
@@ -30,14 +30,14 @@
"Welcome": "Bienvenido",
"Login": "Iniciar session",
"Register": "Registrarse",
- "Logout": "Cerrar sessión",
+ "Logout": "Cerrar sessión",
"Submit": "Enviar",
- "Back": "Atrás",
+ "Back": "Atrás",
"PagerSearch": "Buscar",
"PagerNext": "Siguiente",
"PagerPrevious": "Anterior",
"PagerFirst": "Primero",
- "PagerLast": "Último",
+ "PagerLast": "Último",
"PagerInfo": "Mostrando desde _START_ hasta _END_ total _TOTAL_",
"PagerInfo{0}{1}{2}": "Mostrando desde {0} hasta {1} total {2}",
"PagerInfoEmpty": "Mostrando desde 0 hasta 0 de 0 registros",
@@ -45,15 +45,15 @@
"NoDataAvailableInDatatable": "No hay datos",
"PagerShowMenuEntries": "Mostrar _MENU_ registros",
"DatatableActionDropdownDefaultText": "Acciones",
- "ChangePassword": "Cambiar contraseña",
+ "ChangePassword": "Cambiar contraseña",
"PersonalInfo": "My perfil",
"AreYouSureYouWantToCancelEditingWarningMessage": "Tiene cambios sin guardar.",
- "UnhandledException": "Excepción no controlada!",
+ "UnhandledException": "Excepción no controlada!",
"401Message": "No autorizado",
"403Message": "Prohibido",
- "404Message": "La página no existe",
+ "404Message": "La página no existe",
"500Message": "Error interno del servidor",
- "GoHomePage": "Ir a la página principal",
+ "GoHomePage": "Ir a la página principal",
"GoBack": "Atras"
}
}
diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json
index 3f84a158aa..bb7cb733fe 100644
--- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json
+++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json
@@ -1,4 +1,4 @@
-{
+{
"culture": "es",
"texts": {
"'{0}' and '{1}' do not match.": "'{0} \" y \"{1} \" no coinciden.",
@@ -11,7 +11,7 @@
"The {0} field is not a valid phone number.": "{0} no es un número de teléfono válido.",
"The field {0} must be between {1} and {2}.": "El campo {0} debe ser entre {1} y {2}.",
"The field {0} must match the regular expression '{1}'.": "El campo {0} no coincide con el formato solicitado.",
- "The {0} field is required.": "La {0} campo es obligatorio.",
+ "The {0} field is required.": "El {0} campo es obligatorio.",
"The field {0} must be a string with a maximum length of {1}.": "El campo {0} debe ser una cadena con una longitud máxima de {1}.",
"The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "El campo {0} debe ser una cadena con una longitud mÃnima de {2} y una longitud máxima de {1}.",
"The {0} field is not a valid fully-qualified http, https, or ftp URL.": "El campo {0} no es una dirección URL válida http, https o ftp.",
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/es.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/es.json
index d9b29895b8..13a6c2db61 100644
--- a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/es.json
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/es.json
@@ -1,4 +1,4 @@
-{
+{
"culture": "es",
"texts": {
"USA": "Estados unidos de América",
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/es.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/es.json
index 04e85b5f12..a83091e2c8 100644
--- a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/es.json
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/es.json
@@ -1,4 +1,4 @@
-{
+{
"culture": "es",
"texts": {
"ThisFieldIsRequired": "El campo no puede estar vacÃo",
diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/es.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/es.json
index 7b68ff6f2c..f68ed052c3 100644
--- a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/es.json
+++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/es.json
@@ -1,4 +1,4 @@
-{
+{
"culture": "es",
"texts": {
"Hello {0}.": "Hola {0}.",
diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json
new file mode 100644
index 0000000000..43554b2311
--- /dev/null
+++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json
@@ -0,0 +1,45 @@
+{
+ "culture": "es",
+ "texts": {
+ "UserName": "Nombre de usuario",
+ "EmailAddress": "Dirección de correo electrónico",
+ "UserNameOrEmailAddress": "Nombre de usuario o dirección de correo electrónico",
+ "Password": "Contraseña",
+ "RememberMe": "Recuérdame",
+ "UseAnotherServiceToLogin": "Usar otro servicio para iniciar sesión",
+ "UserLockedOutMessage": "La cuenta de usuario ha sido bloqueada debido a los intentos de inicio de sesión no válidos. Por favor, espere unos minutos y vuelve a intentarlo.",
+ "InvalidUserNameOrPassword": "El nombre de usuario o la contraseña no son válidos",
+ "LoginIsNotAllowed": "No está permitido el inicio de sesión! Usted tendrá que confirmar su correo electrónico o número de teléfono.",
+ "SelfRegistrationDisabledMessage": "El autoregistro de usuario está deshabilitado para esta aplicación. Póngase en contacto con el administrador de la aplicación para registrar un nuevo usuario.",
+ "LocalLoginDisabledMessage": "No está habilitado el login local para esta aplicación.",
+ "Login": "Iniciar sesión",
+ "Cancel": "Cancelar",
+ "Register": "Registrarse",
+ "AreYouANewUser": "¿Usted es un usuario nuevo?",
+ "AlreadyRegistered": "¿Está registrado en esta aplicación?",
+ "InvalidLoginRequest": "Solicitud de inicio de sesión no válido",
+ "ThereAreNoLoginSchemesConfiguredForThisClient": "No hay ningún esquema de inicio de sesión configurado para este cliente.",
+ "LogInUsingYourProviderAccount": "Inicia sesión con tu cuenta de {0} ",
+ "DisplayName:CurrentPassword": "Contraseña actual",
+ "DisplayName:NewPassword": "Nueva contraseña",
+ "DisplayName:NewPasswordConfirm": "Confirmar nueva contraseña",
+ "PasswordChangedMessage": "Su contraseña ha sido cambiada con éxito.",
+ "DisplayName:UserName": "Nombre de usuario",
+ "DisplayName:Email": "Correo electrónico",
+ "DisplayName:Name": "Nombre",
+ "DisplayName:Surname": "Apellido",
+ "DisplayName:Password": "Contraseña",
+ "DisplayName:EmailAddress": "Dirección de correo electrónico",
+ "DisplayName:PhoneNumber": "Número de teléfono",
+ "PersonalSettings": "Configuración Personal",
+ "PersonalSettingsSaved": "Ajustes personales guardados",
+ "PasswordChanged": "Cambiar la contraseña",
+ "NewPasswordConfirmFailed": "Por favor, confirme la nueva contraseña.",
+ "Manage": "Administrar",
+ "ManageYourProfile": "Gestionar su perfil",
+ "DisplayName:Abp.Account.IsSelfRegistrationEnabled": "Habilitar el registro de usuario",
+ "Description:Abp.Account.IsSelfRegistrationEnabled": "Si está habilitado los usuarios pueden crear una cuenta mediante el registro automático.",
+ "DisplayName:Abp.Account.EnableLocalLogin": "Habilitar cuenta local",
+ "Description:Abp.Account.EnableLocalLogin": "Indica que el servidor permite iniciar sessión con una cuenta local."
+ }
+}
\ No newline at end of file
diff --git a/npm/ng-packs/scripts/publish.ts b/npm/ng-packs/scripts/publish.ts
index 5570602813..9228a752ca 100644
--- a/npm/ng-packs/scripts/publish.ts
+++ b/npm/ng-packs/scripts/publish.ts
@@ -28,7 +28,15 @@ const publish = async () => {
await execa(
'yarn',
- ['lerna', 'version', program.nextVersion, '--yes', '--no-commit-hooks', '--skip-git'],
+ [
+ 'lerna',
+ 'version',
+ program.nextVersion,
+ '--yes',
+ '--no-commit-hooks',
+ '--skip-git',
+ '--force-publish',
+ ],
{ stdout: 'inherit', cwd: '../' },
);