Browse Source

Merge branch 'rel-4.0' into dev

pull/6255/head
Alper Ebicoglu 5 years ago
parent
commit
4a95ab9057
  1. 14
      abp_io/AbpIoLocalization/AbpIoLocalization/Account/Localization/Resources/es.json
  2. 199
      abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/es.json
  3. 33
      abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/es.json
  4. 35
      abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json
  5. 90
      abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/es.json
  6. 189
      abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/es.json
  7. 121
      docs/en/UI/Blazor/Message.md
  8. 102
      docs/en/UI/Blazor/Notification.md
  9. BIN
      docs/en/images/blazor-message-confirm.png
  10. BIN
      docs/en/images/blazor-message-error.png
  11. BIN
      docs/en/images/blazor-message-success.png
  12. BIN
      docs/en/images/blazor-notification-success.png
  13. 2
      framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Localization/Resources/AbpDdd/es.json
  14. 30
      framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/es.json
  15. 34
      framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/es.json
  16. 20
      framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/es.json
  17. 7
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/es.json
  18. 2
      framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/es.json
  19. 52
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/es.json
  20. 52
      framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json
  21. 31
      modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json
  22. 6
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/Localization/es.json
  23. 58
      modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/es.json
  24. 22
      modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json
  25. 10
      modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/es.json
  26. 59
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/es.json
  27. 38
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/es.json
  28. 10
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/es.json
  29. 120
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json
  30. 14
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/es.json
  31. 10
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/es.json
  32. 7
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/es.json
  33. 23
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/es.json
  34. 14
      modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/es.json
  35. 8
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/es.json
  36. 26
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs
  37. 1
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs
  38. 1
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs
  39. 1
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyProjectNameIdentityServerModule.cs
  40. 1
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs
  41. 26
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/IdentityServer/IdentityServerDataSeedContributor.cs
  42. 7
      templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/es.json

14
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"
}
}

199
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": "",
"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": "",
"PhoneNumber": "",
"ProjectDescription": "",
"Referrer": "",
"DiscountRequests": "",
"Copylink": "",
"Disable": "",
"Enable": "",
"EnableSendEmail": "",
"SendEmail": "",
"SuccessfullyDisabled": "",
"SuccessfullyEnabled": "",
"EmailSent": "",
"SuccessfullySent": "",
"SuccessfullyDeleted": "",
"DiscountRequestDeletionWarningMessage": "",
"BusinessType": "",
"TotalQuestionCount": "",
"RemainingQuestionCount": "",
"TotalQuestionMustBeGreaterWarningMessage": "",
"QuestionCountsMustBeGreaterThanZero": "",
"UnlimitedQuestionCount": "",
"Notes": "",
"Menu:Community": "",
"Menu:Articles": "",
"Wait": "",
"Approve": "",
"Reject": "",
"Details": "",
"Url": "",
"Title": "",
"ContentSource": "",
"Status": "",
"ReadArticle": "",
"ArticleHasBeenWaiting": "",
"ArticleHasBeenApproved": "",
"ArticleHasBeenRejected": "",
"Permission:Community": "",
"Permission:CommunityArticle": "",
"Link": "",
"Enum:ContentSource:0": "",
"Enum:ContentSource:1": "",
"Enum:Status:0": "",
"Enum:Status:1": "",
"Enum:Status:2": "",
"Summary": "",
"AuthorName": "",
"CoverImage": "",
"RemoveCacheConfirmationMessage": "",
"SuccessfullyRemoved": "",
"RemoveCache": ""
}
}

33
abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/es.json

@ -0,0 +1,33 @@
{
"culture": "es",
"texts": {
"Volo.AbpIo.Domain:010004": "",
"Volo.AbpIo.Domain:010005": "",
"Volo.AbpIo.Domain:010006": "",
"Volo.AbpIo.Domain:010007": "",
"Volo.AbpIo.Domain:010008": "",
"Volo.AbpIo.Domain:010009": "",
"Volo.AbpIo.Domain:010010": "",
"Volo.AbpIo.Domain:010011": "",
"Volo.AbpIo.Domain:010012": "",
"Volo.AbpIo.Domain:020001": "",
"Volo.AbpIo.Domain:020002": "",
"Volo.AbpIo.Domain:020003": "",
"Volo.AbpIo.Domain:020004": "",
"WantToLearn?": "",
"ReadyToGetStarted?": "",
"JoinOurCommunity": "",
"GetStartedUpper": "",
"ForkMeOnGitHub": "",
"Features": "",
"GetStarted": "",
"Documents": "",
"Community": "",
"ContributionGuide": "",
"Blog": "",
"Commercial": "",
"MyAccount": "",
"SeeDocuments": "",
"Samples": ""
}
}

35
abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/es.json

@ -0,0 +1,35 @@
{
"culture": "es",
"texts": {
"OrganizationManagement": "",
"OrganizationList": "",
"Volo.AbpIo.Commercial:010003": "",
"OrganizationNotFoundMessage": "",
"DeveloperCount": "",
"QuestionCount": "",
"Unlimited": "",
"Owners": "",
"AddMember": "",
"AddOwner": "",
"AddDeveloper": "",
"UserName": "",
"Name": "",
"EmailAddress": "",
"Developers": "",
"LicenseType": "Tipo de licencia",
"Manage": "",
"StartDate": "",
"EndDate": "",
"Modules": "Módulos",
"LicenseExtendMessage": "",
"LicenseUpgradeMessage": "",
"LicenseAddDeveloperMessage": "",
"Volo.AbpIo.Commercial:010004": "",
"MyOrganizations": "",
"ApiKey": "",
"UserNameNotFound": "",
"SuccessfullyAddedToNewsletter": "",
"MyProfile": "",
"EmailNotValid": ""
}
}

90
abp_io/AbpIoLocalization/AbpIoLocalization/Community/Localization/Resources/es.json

@ -0,0 +1,90 @@
{
"culture": "es",
"texts": {
"Permission:CommunityArticle": "",
"Permission:Edit": "",
"Waiting": "",
"Approved": "",
"Rejected": "",
"Wait": "",
"Approve": "",
"Reject": "",
"ReadArticle": "",
"Status": "",
"ContentSource": "",
"Details": "",
"Url": "",
"Title": "",
"CreationTime": "",
"Save": "Guardar",
"SameUrlAlreadyExist": "",
"UrlIsNotValid": "",
"UrlNotFound": "",
"UrlContentNotFound": "",
"Summary": "",
"MostRead": "",
"Latest": "",
"ContributeAbpCommunity": "",
"SubmitYourArticle": "",
"ContributionGuide": "",
"BugReport": "",
"SeeAllArticles": "",
"WelcomeToABPCommunity!": "",
"MyProfile": "",
"MyOrganizations": "",
"EmailNotValid": "",
"FeatureRequest": "",
"CreateArticleTitleInfo": "",
"CreateArticleUrlInfo": "",
"CreateArticleSummaryInfo": "",
"CreateArticleCoverInfo": "",
"ThisExtensionIsNotAllowed": "",
"TheFileIsTooLarge": "",
"GoToTheArticle": "",
"Contribute": "",
"OverallProgress": "",
"Done": "",
"Open": "",
"Closed": "",
"LatestQuestionOnThe": "",
"Stackoverflow": "",
"Votes": "",
"Answer": "",
"Views": "",
"Answered": "",
"WaitingForYourAnswer": "",
"Asked": "",
"AllQuestions": "",
"NextVersion": "",
"MilestoneErrorMessage": "",
"QuestionItemErrorMessage": "",
"Oops": "",
"CreateArticleSuccessMessage": "",
"ChooseCoverImage": "",
"CoverImage": "",
"ShareYourExperiencesWithTheABPFramework": "",
"Optional": "",
"UpdateUserWebSiteInfo": "",
"UpdateUserTwitterInfo": "",
"UpdateUserGithubInfo": "",
"UpdateUserLinkedinInfo": "",
"UpdateUserCompanyInfo": "",
"UpdateUserJobTitleInfo": "",
"UserName": "",
"Company": "",
"PersonalWebsite": "",
"RegistrationDate": "",
"Social": "",
"Biography": "",
"HasNoPublishedArticlesYet": "",
"Author": "",
"LatestGithubAnnouncements": "",
"SeeAllAnnouncements": "",
"LatestBlogPost": "",
"Edit": "",
"ProfileImageChange": "",
"BlogItemErrorMessage": "",
"PlannedReleaseDate": "",
"CommunityArticleRequestErrorMessage": ""
}
}

189
abp_io/AbpIoLocalization/AbpIoLocalization/Www/Localization/Resources/es.json

@ -0,0 +1,189 @@
{
"culture": "es",
"texts": {
"GetStarted": "",
"Create": "",
"NewProject": "",
"DirectDownload": "",
"ProjectName": "",
"ProjectType": "",
"DatabaseProvider": "",
"NTier": "",
"IncludeUserInterface": "",
"CreateNow": "",
"TheStartupProject": "",
"Tutorial": "",
"UsingCLI": "",
"SeeDetails": "",
"AbpShortDescription": "",
"SourceCodeUpper": "",
"LatestReleaseLogs": "",
"Infrastructure": "",
"Architecture": "",
"Modular": "",
"DontRepeatYourself": "",
"DeveloperFocused": "",
"FullStackApplicationInfrastructure": "",
"DomainDrivenDesign": "",
"DomainDrivenDesignExplanation": "",
"Authorization": "",
"AuthorizationExplanation": "",
"MultiTenancy": "",
"MultiTenancyExplanationShort": "",
"CrossCuttingConcerns": "",
"CrossCuttingConcernsExplanationShort": "",
"BuiltInBundlingMinification": "",
"BuiltInBundlingMinificationExplanation": "",
"VirtualFileSystem": "",
"VirtualFileSystemExplanation": "",
"Theming": "",
"ThemingExplanationShort": "",
"BootstrapTagHelpersDynamicForms": "",
"BootstrapTagHelpersDynamicFormsExplanation": "",
"HTTPAPIsDynamicProxies": "",
"HTTPAPIsDynamicProxiesExplanation": "",
"CompleteArchitectureInfo": "",
"DomainDrivenDesignBasedLayeringModelExplanation": "",
"DomainDrivenDesignBasedLayeringModelExplanationCont": "",
"MicroserviceCompatibleModelExplanation": "",
"MicroserviceCompatibleModelExplanationCont": "",
"ModularInfo": "",
"PreBuiltModulesThemes": "",
"PreBuiltModulesThemesExplanation": "",
"NuGetNPMPackages": "",
"NuGetNPMPackagesExplanation": "",
"ExtensibleReplaceable": "",
"ExtensibleReplaceableExplanation": "",
"CrossCuttingConcernsExplanation2": "",
"CrossCuttingConcernsExplanation3": "",
"AuthenticationAuthorization": "",
"ExceptionHandling": "",
"Validation": "",
"DatabaseConnection": "",
"TransactionManagement": "",
"AuditLogging": "",
"Caching": "",
"Multitenancy": "",
"DataFiltering": "",
"ConventionOverConfiguration": "",
"ConventionOverConfigurationExplanation": "",
"ConventionOverConfigurationExplanationList1": "",
"ConventionOverConfigurationExplanationList2": "",
"ConventionOverConfigurationExplanationList3": "",
"ConventionOverConfigurationExplanationList4": "",
"ConventionOverConfigurationExplanationList5": "",
"ConventionOverConfigurationExplanationList6": "",
"BaseClasses": "",
"BaseClassesExplanation": "",
"DeveloperFocusedExplanation": "",
"DeveloperFocusedExplanationCont": "",
"SeeAllFeatures": "",
"CLI_CommandLineInterface": "",
"CLI_CommandLineInterfaceExplanation": "",
"StartupTemplates": "",
"StartupTemplatesExplanation": "",
"BasedOnFamiliarTools": "",
"BasedOnFamiliarToolsExplanation": "",
"ORMIndependent": "",
"ORMIndependentExplanation": "",
"Features": "",
"ABPCLI": "",
"Modularity": "",
"BootstrapTagHelpers": "",
"DynamicForms": "",
"BundlingMinification": "",
"BackgroundJobs": "",
"BackgroundJobsExplanation": "",
"DDDInfrastructure": "",
"DomainDrivenDesignInfrastructure": "",
"AutoRESTAPIs": "",
"DynamicClientProxies": "",
"DistributedEventBus": "",
"DistributedEventBusWithRabbitMQIntegration": "",
"TestInfrastructure": "",
"AuditLoggingEntityHistories": "",
"ObjectToObjectMapping": "",
"ObjectToObjectMappingExplanation": "",
"EmailSMSAbstractions": "",
"EmailSMSAbstractionsWithTemplatingSupport": "",
"Localization": "",
"SettingManagement": "",
"ExtensionMethods": "",
"ExtensionMethodsHelpers": "",
"AspectOrientedProgramming": "",
"DependencyInjection": "",
"DependencyInjectionByConventions": "",
"ABPCLIExplanation": "",
"ModularityExplanation": "",
"MultiTenancyExplanation": "",
"MultiTenancyExplanation2": "",
"MultiTenancyExplanation3": "",
"MultiTenancyExplanation4": "",
"BootstrapTagHelpersExplanation": "",
"DynamicFormsExplanation": "",
"AuthenticationAuthorizationExplanation": "",
"CrossCuttingConcernsExplanation": "",
"DatabaseConnectionTransactionManagement": "",
"CorrelationIdTracking": "",
"BundlingMinificationExplanation": "",
"VirtualFileSystemnExplanation": "",
"ThemingExplanation": "",
"DomainDrivenDesignInfrastructureExplanation": "",
"Specification": "",
"Repository": "",
"DomainService": "",
"ValueObject": "",
"ApplicationService": "",
"DataTransferObject": "",
"AggregateRootEntity": "",
"AutoRESTAPIsExplanation": "",
"DynamicClientProxiesExplanation": "",
"DistributedEventBusWithRabbitMQIntegrationExplanation": "",
"TestInfrastructureExplanation": "",
"AuditLoggingEntityHistoriesExplanation": "",
"EmailSMSAbstractionsWithTemplatingSupportExplanation": "",
"LocalizationExplanation": "",
"SettingManagementExplanation": "",
"ExtensionMethodsHelpersExplanation": "",
"AspectOrientedProgrammingExplanation": "",
"DependencyInjectionByConventionsExplanation": "",
"DataFilteringExplanation": "",
"PublishEvents": "",
"HandleEvents": "",
"AndMore": "",
"Code": "",
"Result": "",
"SeeTheDocumentForMoreInformation": "",
"IndexPageHeroSection": "",
"UiFramework": "",
"EmailAddress": "",
"Mobile": "",
"ReactNative": "",
"Strong": "",
"Complete": "",
"BasedLayeringModel": "",
"Microservice": "",
"Compatible": "",
"MeeTTheABPCommunityInfo": "",
"JoinTheABPCommunityInfo": "",
"AllArticles": "",
"SubmitYourArticle": "",
"DynamicClientProxyDocument": "",
"EmailSMSAbstractionsDocument": "",
"CreateProjectWizard": "",
"TieredOption": "",
"SeparateIdentityServerOption": "",
"UseslatestPreVersion": "",
"ReadTheDocumentation": "",
"Documentation": "",
"GettingStartedTutorial": "",
"ApplicationDevelopmentTutorial": "",
"TheStartupTemplate": "",
"InstallABPCLIInfo": "",
"DifferentLevelOfNamespaces": "",
"ABPCLIExamplesInfo": "",
"SeeCliDocumentForMoreInformation": "",
"Optional": "",
"LocalFrameworkRef": ""
}
}

121
docs/en/UI/Blazor/Message.md

@ -1,3 +1,122 @@
# Blazor: UI Message Service
TODO
UI message service is used to show nice-looking messages to the user as a blocking dialog.
## Quick Example
Simply inject `IUiMessageService` to your page or component and call the `Success` method to show a success message.
```csharp
namespace MyProject.Blazor.Pages
{
public partial class Index
{
public IUiMessageService UiMessageService { get; }
public Index(IUiMessageService uiMessageService)
{
UiMessageService = uiMessageService;
}
public async Task SaveAsync()
{
await UiMessageService.Success("Your changes have been successfully saved!", "Congratulations");
}
}
}
```
It will show a dialog on the UI:
![blazor-message-success](../../images/blazor-message-success.png)
If you inherit your page or component from `AbpComponentBase` class, you can use the `Message` property to access the `IUiMessageService`.
```csharp
namespace MyProject.Blazor.Pages
{
public partial class Index : AbpComponentBase
{
public async Task SaveAsync()
{
await Message.Success("Your changes have been successfully saved!", "Congratulations");
}
}
}
```
## Informative Messages
There are four types of informative message functions:
* `Info(...)`
* `Success(...)`
* `Warn(...)`
* `Error(...)`
All of these methods get three parameters:
* `message`: The message (`string`) to be shown.
* `title`: An optional (`string`) title.
* `options`: An optional (`Action`) to configure UI message options.
**Example: Show an error message**
````csharp
UiMessageService.Error('Your credit card number is not valid!');
````
![blazor-message-success](../../images/blazor-message-error.png)
## Confirmation Message
`IUiMessageService.Confirm(...)` method can be used to get a confirmation from the user.
**Example**
Use the following code to get a confirmation result from the user:
```csharp
public async Task DeleteAsync()
{
var confirmed = await UiMessageService.Confirm("Are you sure to delete the 'admin' role?");
if(confirmed)
{
//Delete the 'admin' role here.
}
}
```
The resulting UI will be like shown below:
![blazor-message-confirm](../../images/blazor-message-confirm.png)
If the user has clicked the `Yes` button, the `Confirm` method's return value will be `true`.
## UI Message Configuration
It is easy to change default UI Message options if you like to customize messages. Provide an `action` to the `options` parameter and change the default values.
```csharp
await UiMessageService.Success("Your changes have been successfully saved!", "Congratulations", (options) =>
{
options.MessageIcon = "msg-icon-new";
options.CenterMessage = false;
});
```
List of the options that you can change by providing the `action` parameter.
* `CenterMessage` : (Default: true) If true, the message dialogue will be centered on the screen.
* `ShowMessageIcon` : (Default: true) If true, the message dialogue will show the large icon for the current message type.
* `MessageIcon` : Overrides the build-in message icon.
* `OkButtonText` : Custom text for the Ok button.
* `OkButtonIcon` : Custom icon for the Ok button.
* `ConfirmButtonText` : Custom text for the Confirmation button.
* `ConfirmButtonIcon` : Custom icon for the Confirmation button.
* `CancelButtonText` : Custom text for the Cancel button.
* `CancelButtonIcon` : Custom icon for the Cancel button.
> "Confirm", "Cancel" and "Yes" texts are automatically localized based on the current language.

102
docs/en/UI/Blazor/Notification.md

@ -1,3 +1,103 @@
# Blazor UI: Notification Service
`IUiNotificationService` is used to show toastr style notifications on the user interface. The documentation is in progress...
`IUiNotificationService` is used to show toast style notifications on the user interface.
## Quick Example
Simply [inject](../../Dependency-Injection.md) `IUiNotificationService` to your page or component and call the `Success` method to show a success message.
```csharp
namespace MyProject.Blazor.Pages
{
public partial class Index
{
private readonly IUiNotificationService _uiNotificationService;
public Index(IUiNotificationService uiNotificationService)
{
_uiNotificationService = uiNotificationService;
}
public async Task DeleteAsync()
{
await _uiNotificationService.Success(
"The product 'Acme Atom Re-Arranger' has been successfully deleted."
);
}
}
}
```
![blazor-notification-sucess](../../images/blazor-notification-success.png)
If you inherit your page or component from the `AbpComponentBase` class, you can use the the `Notify` property to access the `IUiNotificationService` as a pre-injected property.
```csharp
namespace MyProject.Blazor.Pages
{
public partial class Index : AbpComponentBase
{
public async Task DeleteAsync()
{
await Notify.Success(
"The product 'Acme Atom Re-Arranger' has been successfully deleted."
);
}
}
}
```
> You typically use `@inherits AbpComponentBase` in the `.razor` file to inherit from the `AbpComponentBase`, instead of inheriting in the code behind file.
## Notification Types
There are four types of pre-defined notifications;
* `Info(...)`
* `Success(...)`
* `Warn(...)`
* `Error(...)`
All of the methods above gets the following parameters;
* `message`: The message (`string`) to be shown.
* `title`: An optional (`string`) title.
* `options`: An optional (`Action`) to configure notification options.
## Configuration
### Per Notification
It is easy to change default notification options if you like to customize it per notification. Provide an action to the `options` parameter as shown below:
```csharp
await UiNotificationService.Success(
"The product 'Acme Atom Re-Arranger' has been successfully deleted.",
options: (options) =>
{
options.OkButtonText =
LocalizableString.Create<MyProjectNameResource>("CustomOK");
});
```
### Available Options
Here, the list of all available options;
* `OkButtonText` : Custom text for the OK button.
* `OkButtonIcon` : Custom icon for the OK button
### Global Configuration
You can also configure global notification options to control the it in a single point. Configure the `UiNotificationOptions` [options class](../../Options.md) in the `ConfigureServices` of your [module](../../Module-Development-Basics.md):
````csharp
Configure<UiNotificationOptions>(options =>
{
options.OkButtonText = LocalizableString.Create<MyProjectNameResource>("CustomOK");
});
````
The same options are available here.
> *Per notification* configuration overrides the default values.

BIN
docs/en/images/blazor-message-confirm.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
docs/en/images/blazor-message-error.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
docs/en/images/blazor-message-success.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
docs/en/images/blazor-notification-success.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

2
framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Localization/Resources/AbpDdd/es.json

@ -1,6 +1,6 @@
{
"culture": "es",
"texts": {
"MaxResultCountExceededExceptionMessage": "{0} no puede tener más de {1}! Incremente {2}.{3} en el lado del servidor para obtener más resultados."
"MaxResultCountExceededExceptionMessage": "{0} no puede ser más de {1}! Aumente {2}. {3} en el lado del servidor para permitir más resultados."
}
}

30
framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/es.json

@ -1,25 +1,25 @@
{
"culture": "es",
"texts": {
"DisplayName:Abp.Mailing.DefaultFromAddress": "Dirección de envío",
"DisplayName:Abp.Mailing.DefaultFromDisplayName": "Nombre de envío",
"DisplayName:Abp.Mailing.DefaultFromAddress": "Por defecto desde dirección",
"DisplayName:Abp.Mailing.DefaultFromDisplayName": "Por defecto desde nombre a mostrar",
"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.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.",
"TextTemplate:StandardEmailTemplates.Layout": "Plantilla de email por defecto",
"TextTemplate:StandardEmailTemplates.Message": "Plantilla de mensaje simple para emails"
"DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials": "Usar credenciales por defecto",
"Description:Abp.Mailing.DefaultFromAddress": "Por defecto desde dirección",
"Description:Abp.Mailing.DefaultFromDisplayName": "Por defecto desde nombre a mostrar",
"Description:Abp.Mailing.Smtp.Host": "El nombre o dirección IP del host usado para transacciones SMTP.",
"Description:Abp.Mailing.Smtp.Port": "El puerto usado por transacciones SMTP.",
"Description:Abp.Mailing.Smtp.UserName": "Nombre de usuario asociado con los credenciales.",
"Description:Abp.Mailing.Smtp.Password": "La contraseña para el nombre de usuario asociado con los credenciales.",
"Description:Abp.Mailing.Smtp.Domain": "El dominio o nombre de equipo que verifica los credenciales.",
"Description:Abp.Mailing.Smtp.EnableSsl": "Cuando el cliente SMTP usa Secure Sockets Layer (SSL) para encriptar la conexión.",
"Description:Abp.Mailing.Smtp.UseDefaultCredentials": "Cuando los credenciales por defecto son enviados con las peticiones.",
"TextTemplate:StandardEmailTemplates.Layout": "Plantilla de Email por defecto",
"TextTemplate:StandardEmailTemplates.Message": "Simple plantilla de mensaje para emails"
}
}

34
framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/es.json

@ -1,23 +1,25 @@
{
"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!",
"EntityNotFoundErrorMessage": "No hay una entidad {0} con el id = {1}!",
"InternalServerErrorMessage": "Un error interno ocurrido durante tu Solicitud!",
"ValidationErrorMessage": "Tu Solicitud no es valida.",
"ValidationNarrativeErrorMessageTitle": "Los siguientes errores fueron detectados durante la validación.",
"DefaultErrorMessage": "Un error ha ocurrido!",
"DefaultErrorMessageDetail": "Detalles del error no enviado por el servidor.",
"DefaultErrorMessage401": "Tu no estás autenticado!",
"DefaultErrorMessage401Detail": "Tu deberías iniciar sesión para realizar esta operación.",
"DefaultErrorMessage403": "Tu no estás autorizado!",
"DefaultErrorMessage403Detail": "No tienes permitido realizar esta operación!",
"DefaultErrorMessage404": "Recurso no encontrado!",
"DefaultErrorMessage404Detail": "El recurso solitiado podría no encontrarse en el servidor!",
"EntityNotFoundErrorMessage": "No hay una entidad {0} con id = {1}!",
"Error": "Error",
"UnhandledException": "Excepción no controlada!",
"UnhandledException": "Excepción no manejada!",
"401Message": "No autorizado",
"403Message": "Prohibido",
"404Message": "La página no existe",
"500Message": "Error interno del servidor"
"404Message": "Página no encuentrada",
"500Message": "Error interno de servidor",
"403MessageDetail": "Tu no estás autorizado para realizar esta operación!",
"404MessageDetail": "Disculpa, no hay nada en esta dirección."
}
}
}

20
framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/es.json

@ -1,19 +1,15 @@
{
"culture": "es",
"texts": {
"DisplayName:Abp.Ldap.ServerHost": "Server host",
"Description:Abp.Ldap.ServerHost": "Servidor host",
"DisplayName:Abp.Ldap.ServerPort": "Server port",
"Description:Abp.Ldap.ServerPort": "Puerto del servidor host",
"DisplayName:Abp.Ldap.BaseDc": "Base domain component",
"DisplayName:Abp.Ldap.ServerHost": "Host del servidor",
"Description:Abp.Ldap.ServerHost": "Host del servidor",
"DisplayName:Abp.Ldap.ServerPort": "Puerto del servidor",
"Description:Abp.Ldap.ServerPort": "Puerto del servidor",
"DisplayName:Abp.Ldap.BaseDc": "Dominio base",
"Description:Abp.Ldap.BaseDc": "Dominio base",
"DisplayName:Abp.Ldap.UserName": "Username",
"DisplayName:Abp.Ldap.UserName": "Nombre de usuario",
"Description:Abp.Ldap.UserName": "Nombre de usuario",
"DisplayName:Abp.Ldap.Password": "Password",
"Description:Abp.Ldap.Password": "Contraseña"
"DisplayName:Abp.Ldap.Password": "Contraseña",
"Description:Abp.Ldap.Password": "Contraseña"
}
}

7
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/es.json

@ -0,0 +1,7 @@
{
"culture": "es",
"texts": {
"DisplayName:Abp.Localization.DefaultLanguage": "Idioma predeterminado.",
"Description:Abp.Localization.DefaultLanguage": "El idioma predeterminado de la aplicación"
}
}

2
framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/es.json

@ -2,6 +2,6 @@
"culture": "es",
"texts": {
"DisplayName:Abp.Timing.Timezone": "Zona horaria",
"Description:Abp.Timing.Timezone": "Zona horaria de la Aplicacion"
"Description:Abp.Timing.Timezone": "Zona horaria de aplicación"
}
}

52
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/es.json

@ -1,52 +1,52 @@
{
"culture": "es",
"texts": {
"Languages": "Lenguajes",
"AreYouSure": "¿Está seguro?",
"Languages": "Idiomas",
"AreYouSure": "¿Estas seguro?",
"Cancel": "Cancelar",
"Clear": "Limpiar",
"Yes": "Si",
"Yes": "Sí",
"No": "No",
"Ok": "Aceptar",
"Ok": "Ok",
"Close": "Cerrar",
"Save": "Guardar",
"SavingWithThreeDot": "Guardando...",
"Actions": "Acciones",
"Delete": "Eliminar",
"Actions": "Actiones",
"Delete": "Borrar",
"Edit": "Editar",
"Refresh": "Refrescar",
"Language": "Lenguaje",
"Refresh": "Actualizar",
"Language": "Idioma",
"LoadMore": "Cargar más",
"ProcessingWithThreeDot": "Procesando...",
"LoadingWithThreeDot": "Cargando...",
"LoadingWithThreeDot": "Cargardo...",
"Welcome": "Bienvenido",
"Login": "Iniciar session",
"Login": "Iniciar Sesión",
"Register": "Registrarse",
"Logout": "Cerrar sessión",
"Logout": "Cerrar sesión",
"Submit": "Enviar",
"Back": "Atrás",
"Back": "Volver",
"PagerSearch": "Buscar",
"PagerNext": "Siguiente",
"PagerPrevious": "Anterior",
"PagerFirst": "Primero",
"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",
"PagerInfoFiltered": "(filtrado de un total de _MAX_ registros)",
"NoDataAvailableInDatatable": "No hay datos",
"Total": "total",
"Selected": "seleccionado",
"PagerShowMenuEntries": "Mostrar _MENU_ registros",
"PagerInfo": "Mostrando de la _START a la _END_ de _TOTAL_ entradas",
"PagerInfo{0}{1}{2}": "Mostrando de la {0} a la {1} de {2} entradas",
"PagerInfoEmpty": "Mostrando de la 0 a la 0 de 0 entradas",
"PagerInfoFiltered": "(filtrado desde _MAX_ entradas totales)",
"NoDataAvailableInDatatable": "No hay datos disponibles",
"Total": "Total",
"Selected": "Seleccionado",
"PagerShowMenuEntries": "Mostrar _MENU_ entradas",
"DatatableActionDropdownDefaultText": "Acciones",
"ChangePassword": "Cambiar contraseña",
"PersonalInfo": "My perfil",
"AreYouSureYouWantToCancelEditingWarningMessage": "Tiene cambios sin guardar.",
"PersonalInfo": "Mi perfil",
"AreYouSureYouWantToCancelEditingWarningMessage": "Tu tienes cambios sin guardar",
"GoHomePage": "Ir a la página principal",
"GoBack": "Atras",
"GoBack": "Volver atrás",
"Search": "Buscar",
"ItemWillBeDeletedMessageWithFormat": "Se eliminarán {0}!",
"ItemWillBeDeletedMessage": "Este itém será eliminado!",
"ManageYourAccount": "Administre su cuenta"
"ItemWillBeDeletedMessageWithFormat": "{0} serán borrados!",
"ItemWillBeDeletedMessage": "Este elemento será borrado",
"ManageYourAccount": "Gestiona tu cuenta"
}
}

52
framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/es.json

@ -1,34 +1,34 @@
{
"culture": "es",
"texts": {
"'{0}' and '{1}' do not match.": "'{0} \" y \"{1} \" no coinciden.",
"The {0} field is not a valid credit card number.": "{0} no es un número de tarjeta de crédito.",
"{0} is not valid.": "{0} no es válido.",
"The {0} field is not a valid e-mail address.": "{0} no es una dirección de correo electrónico válida.",
"The {0} field only accepts files with the following extensions: {1}": "{0} campo sólo acepta archivos con las siguientes extensiones: {1}",
"The field {0} must be a string or array type with a maximum length of '{1}'.": "El campo {0} debe ser una cadena o un array con una longitud máxima de '{1}'.",
"The field {0} must be a string or array type with a minimum length of '{1}'.": "El campo {0} debe ser una cadena o un array con una longitud mínima de '{1}'.",
"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}.",
"'{0}' and '{1}' do not match.": "'{0}' y '{1}' no coinciden.",
"The {0} field is not a valid credit card number.": "El campo {0} no es un número de tarjeta de crédito valido.",
"{0} is not valid.": "{0} no es valido.",
"The {0} field is not a valid e-mail address.": "El campo {0} no es una dirección de e-mail valida.",
"The {0} field only accepts files with the following extensions: {1}": "El campo {0} sólo acepta ficheros con la siguientes extensiones: {1}",
"The field {0} must be a string or array type with a maximum length of '{1}'.": "El campo {0} debe ser de tipo cadena o lista con una longitud máxima de '{1}'.",
"The field {0} must be a string or array type with a minimum length of '{1}'.": "El campo {0} debe ser de tipo cadena o lista con una longitud máxima de '{1}'.",
"The {0} field is not a valid phone number.": "El campo no tiene un número de teléfono valido.",
"The field {0} must be between {1} and {2}.": "El campo {0} debe estar 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.": "El {0} campo es obligatorio.",
"The {0} field is required.": "El campo {0} es requerido.",
"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.",
"The field {0} is invalid.": "El campo {0} no es válido.",
"ThisFieldIsNotAValidCreditCardNumber.": "Este campo no es un número de tarjeta de crédito.",
"ThisFieldIsNotValid.": "Este campo no es válido.",
"ThisFieldIsNotAValidEmailAddress.": "Este campo no es una dirección de correo electrónico válida.",
"ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "Este campo sólo acepta archivos con las siguientes extensiones: {0}",
"ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}": "Este campo debe ser una cadena o un array con una longitud máxima de '{0}'.",
"ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "Este campo debe ser una cadena o un array con una longitud mínima de '{0}'.",
"ThisFieldIsNotAValidPhoneNumber.": "Este campo no es un número de teléfono válido.",
"ThisFieldMustBeBetween{0}And{1}": "Este campo debe tener un valor entre {0} y {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 máxima de {1}.",
"The {0} field is not a valid fully-qualified http, https, or ftp URL.": "El campo {0} no es una URL (http, https o ftp) valida.",
"The field {0} is invalid.": "El campo {0} no es valido.",
"ThisFieldIsNotAValidCreditCardNumber.": "El campo no es un número de tarjeta de crédito valido.",
"ThisFieldIsNotValid.": "Este campo no es valido.",
"ThisFieldIsNotAValidEmailAddress.": "Este campo no es una dirección de e-mail valida.",
"ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "Este campo sólo acepta ficheros con las siguientes extensiones: {0}",
"ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}": "Este campo debe ser una cadena o lista con una longitud máxima de {1}.",
"ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "Este campo debe ser una cadena o lista con una longitud mínima de {1}.",
"ThisFieldIsNotAValidPhoneNumber.": "Este campo no es un número de teléfono valido.",
"ThisFieldMustBeBetween{0}And{1}": "Este campo debe estar entre {0} y {1}.",
"ThisFieldMustMatchTheRegularExpression{0}": "Este campo debe coincidir con la expresión regular '{0}'.",
"ThisFieldIsRequired.": "Este campo es obligatorio.",
"ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "Este campo debe ser una cadena de caracteres con una longitud máxima de {0}.",
"ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "Este campo debe ser una cadena de caracteres con una longitud mínima de {1} y una longitud máxima de {0}.",
"ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "Este campo no es una dirección URL válida http, https o ftp.",
"ThisFieldIsInvalid.": "Este campo no es válido."
"ThisFieldIsRequired.": "Este campo es requerido",
"ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "Este campo debe ser una cadena con una longitud máxima de {1}.",
"ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "Este campo debe ser una cadena con una longitud mínima de {2} y máxima de {1}.",
"ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "El campo {0} no es una URL (http, https o ftp) valida.",
"ThisFieldIsInvalid.": "Este en un campo no valido."
}
}

31
modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/es.json

@ -11,12 +11,12 @@
"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.",
"LocalLoginDisabledMessage": "Inicio de sesión local ha sido deshabilitado 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?",
"AreYouANewUser": "¿Eres un nuevo usuario?",
"AlreadyRegistered": "¿Ya registrado?",
"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} ",
@ -37,9 +37,26 @@
"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."
"DisplayName:Abp.Account.IsSelfRegistrationEnabled": "¿Está el auto-registro habilitado?",
"Description:Abp.Account.IsSelfRegistrationEnabled": "Cuando un usuario puede registrar la cuenta por él/ ella mismo/a",
"DisplayName:Abp.Account.EnableLocalLogin": "Autenticado con una cuenta local",
"Description:Abp.Account.EnableLocalLogin": "Indica si el servidor permitirá a los usuarios autenticarse con una cuenta local.",
"LoggedOutTitle": "Sesión cerrada",
"LoggedOutText": "La sesión ha sido cerrada y serás redireccionado en breve.",
"ReturnToText": "Haz click aquí para redirigirte a {0}",
"OrLoginWith": "O inicia sesión con;",
"ForgotPassword": "¿Olvidaste la contraseña?",
"SendPasswordResetLink_Information": "Un link para resetear la contraseña será enviado a tu e-mail. Si no recibes el e-mail en unos minutos, por favor re-intenta.",
"PasswordResetMailSentMessage": "Un e-mail para recuperar la cuenta ha sido enviado a tu e-mail. Si no recibes el e-mail en unos minutos, por favor re-intentalo.",
"ResetPassword": "Resetear contraseña",
"ConfirmPassword": "Confirmar la contraseña",
"ResetPassword_Information": "Por favor, introduce tu nueva contraseña.",
"YourPasswordIsSuccessfullyReset": "Tu contraseña ha sido reseteada satisfactoriamente.",
"GoToTheApplication": "Ir a la aplicación",
"BackToLogin": "Volver al inicio de sesión",
"ProfileTab:Password": "Cambiar contraseña",
"ProfileTab:PersonalInfo": "Información personal",
"ReturnToApplication": "Volver a la aplicación",
"Volo.Account:InvalidEmailAddress": "No se puede encontrar la dirección de e-mail solicitada: {0}"
}
}

6
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/Localization/es.json

@ -0,0 +1,6 @@
{
"culture": "es",
"texts": {
"ManageYourProfile": "Administra tu perfil"
}
}

58
modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/es.json

@ -0,0 +1,58 @@
{
"culture": "es",
"texts": {
"Menu:Blogs": "Blogs",
"Menu:BlogManagement": "Blogging",
"Permission:Management": "Gestión",
"Permission:Edit": "Editar",
"Permission:Create": "Crear",
"Permission:Delete": "Borrar",
"Permission:Blogging": "Blog",
"Permission:Blogs": "Blogs",
"Permission:Posts": "Entradas",
"Permission:Tags": "Etiquetas",
"Permission:Comments": "Comentarios",
"Title": "Título",
"Delete": "Borrar",
"Reply": "Respondere",
"ReplyTo": "Responder a {0}",
"ContinueReading": "Continuar leyendo",
"DaysAgo": "Hace {0} días",
"YearsAgo": "Hace {0} años",
"MonthsAgo": "Hace {0} meses",
"WeeksAgo": "Hace {0} semanas",
"MinutesAgo": "Hacer {0} minutos",
"SecondsAgo": "Hace {0} segundos",
"HoursAgo": "Hace {0} horas",
"Now": "Ahora",
"Content": "Contenido",
"SeeAll": "Ver todo",
"PopularTags": "Etiquetas populares",
"WiewsWithCount": "{0} visualizaciones",
"LastPosts": "Última entrada",
"LeaveComment": "Deja un comentario",
"TagsInThisArticle": "Etiquetas en este artículo",
"Posts": "Entradas",
"Edit": "Editar",
"BLOG": "BLOG",
"CommentDeletionWarningMessage": "El comentario será borrado",
"PostDeletionWarningMessage": "La entrada será borrada.",
"BlogDeletionWarningMessage": "El blog será borrado.",
"AreYouSure": "¿Estás seguro?",
"CommentWithCount": "{0} comentarios",
"Comment": "Comentario",
"ShareOnTwitter": "Comparte en Twitter",
"CoverImage": "Imágen de portada",
"CreateANewPost": "Crear una nueva entrada",
"CreateANewBlog": "Crear un nuevo blog",
"WhatIsNew": "Novedades",
"Name": "Nombre",
"ShortName": "Nombre corto",
"CreationTime": "Fecha de creación",
"Description": "Descripción",
"Blogs": "Blogs",
"Tags": "Etiquetas",
"ShareOn": "Compartir en",
"TitleLengthWarning": "Manten el tamaño del título por debajo de 60 caracteres para ser amigable al SEO"
}
}

22
modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/es.json

@ -0,0 +1,22 @@
{
"culture": "es",
"texts": {
"PickYourReaction": "Recoge tu reación",
"YourComment": "Tu comentario",
"YourReply": "Tu respuesta",
"Comments": "Comentarios",
"Send": "Enviar",
"Delete": "Borrar",
"Reply": "Responder",
"Update": "Actualizar",
"Edit": "Editar",
"LoginToAddComment": "Inicia sesión para añadir comentarios",
"LoginToReply": "Inicia sesión para responder",
"MessageDeletionConfirmationMessage": "Este comentario será completamente borrado.",
"CommentAuthorizationExceptionMessage": "Esos comentarios no están permitidos mostrarlos al público.",
"Undo": "Deshacer",
"RatingUndoMessage": "Tu puntuación sera removida.",
"LoginToRate": "Inicia sesión para puntuar",
"Star": "Valoración"
}
}

10
modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/es.json

@ -0,0 +1,10 @@
{
"culture": "es",
"texts": {
"DocsTitle": "VoloDocs",
"WelcomeVoloDocs": "Bienvenidos a VoloDocs",
"NoProjectWarning": "No hay proyectos definidos todavía!",
"CreateYourFirstProject": "Click aquí para comenzar to primer proyecto",
"NoProject": "No proyecto!"
}
}

59
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/es.json

@ -0,0 +1,59 @@
{
"culture": "es",
"texts": {
"Permission:DocumentManagement": "Gestión de documentos",
"Permission:Projects": "Proyectos",
"Permission:Edit": "Editar",
"Permission:Delete": "Borrar",
"Permission:Create": "Crear",
"Permission:Documents": "Documentos",
"Menu:Documents": "Documentos",
"Menu:DocumentManagement": "Documentos",
"Menu:ProjectManagement": "Proyectos",
"CreateANewProject": "Crear nuevo proyecto",
"Edit": "Editar",
"Create": "Crear",
"Pull": "Extraer",
"Projects": "Proyectos",
"Name": "Nombre",
"ShortName": "ShortName",
"DocumentStoreType": "DocumentStoreType",
"Format": "Formato",
"ShortNameInfoText": "Será usado para crear una URL única",
"DisplayName:Name": "Nombre",
"DisplayName:ShortName": "Nombre corto",
"DisplayName:Format": "Formato",
"DisplayName:DefaultDocumentName": "Nombre del documento predeterminado",
"DisplayName:NavigationDocumentName": "Nombre del documento de navegación",
"DisplayName:MinimumVersion": "Versión mínima",
"DisplayName:MainWebsiteUrl": "URL principal del sitio web",
"DisplayName:LatestVersionBranchName": "Nombre de la rama de la última versión ",
"DisplayName:GitHubRootUrl": "URL raíz de GitHub",
"DisplayName:GitHubAccessToken": "Token de acceso a GitHub",
"DisplayName:GitHubUserAgent": "Usuario agente de GitHub",
"DisplayName:GithubVersionProviderSource": "Versión del proveedor de Github",
"DisplayName:VersionBranchPrefix": "Prefijo de la rama de la versión",
"DisplayName:All": "Extraer tódo",
"DisplayName:LanguageCode": "Código de idioma",
"DisplayName:Version": "Versión",
"Documents": "Documentos",
"RemoveFromCache": "Borrado de caché",
"Reindex": "Reindexado",
"ReindexCompleted": "Reindexado completado",
"RemovedFromCache": "Borrar la caché",
"RemoveFromCacheConfirmation": "¿Estás seguro que quieres borrar este elemento de la caché?",
"ReIndexDocumentConfirmation": "¿Estás seguro que quieres reindexar este elemento?",
"DeleteFromDatabase": "Eliminado de la base de datos",
"Deleted": "Eliminado",
"Search": "Buscar",
"StartDate": "Fecha de inicio",
"EndDate": "Fecha de fin",
"CreationTime": "Fecha de creación",
"LastUpdateTime": "Última actualización",
"LastSignificantUpdateTime": "Última actualización significativa",
"Version": "Versión",
"LanguageCode": "Código de idioma",
"FileName": "Nombre de fichero",
"LastCachedTime": "Última actualización de caché"
}
}

38
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/es.json

@ -2,18 +2,38 @@
"culture": "es",
"texts": {
"Documents": "Documentos",
"BackToWebsite": "Regresar al sitio",
"BackToWebsite": "Volver al sitio web",
"Contributors": "Contribuidores",
"ShareOn": "Compartilhar no",
"Version": "Versão",
"ShareOn": "Compartir en",
"Version": "Versión",
"Edit": "Editar",
"Delete": "Excluir",
"LastEditTime": "Última edición",
"Delete": "Borrar",
"ClearCache": "Borrar caché",
"ClearCacheConfirmationMessage": "Estas seguro que quieres borrar todas las cachés para el proyecto",
"ReIndexAllProjects": "Reindexar todos los proyectos",
"ReIndexProject": "Reindexar proyecto",
"ReIndexProjectConfirmationMessage": "¿Estás seguro que quieres reindexar el proyecto \"{0}\"?",
"SuccessfullyReIndexProject": "La reidexación para el proyecto \"{0}\" se completo correctamente",
"ReIndexAllProjectConfirmationMessage": "¿Estás seguro que quieres reindexar todos los proyectos?",
"SuccessfullyReIndexAllProject": "La reidexación para todos los proyectos se completo correctamente",
"InThisDocument": "En este documento",
"GoToTop": "Subir",
"GoToTop": "Ir hacia arriba",
"Projects": "Proyecto(s)",
"NoProjectWarning": "Não há projetos ainda!",
"DocumentNotFound": "Ups! O documento solicitado não foi encontrado!",
"NavigationDocumentNotFound": "Esta versão não possui um documento de navegação!",
"DocumentNotFoundInSelectedLanguage": "Documento no idioma desejado não foi encontrado. Documento no idioma padrão é mostrado."
"NoProjectWarning": "No hay proyectos todavía!",
"DocumentNotFound": "Oops, El documento solicitado no fue encontrado!",
"ProjectNotFound": "Oops, El proyecto solicitado no fue encontrado!",
"NavigationDocumentNotFound": "Esta versión no tiene un documento de navegación!",
"DocumentNotFoundInSelectedLanguage": "documento en el idioma que solicitaste no encontrado. El documento será mostrado en el idioma por defecto.",
"FilterTopics": "Filtrar temas ",
"FullSearch": "Buscar en documentos",
"Volo.Docs.Domain:010001": "Búsqueda elástica no habilida",
"MultipleVersionDocumentInfo": "Este documento tiene múltiple versiones. Selecciona las opciones que más te interesan.",
"New": "Nuevo",
"Upd": "Upd",
"NewExplanation": "Creado en las últimas dos semanas.",
"UpdatedExplanation": "Actualizo en las dos últimas semanas",
"Volo.Docs.Domain:010002": "ShortName {ShortName} ya existe.",
"Preview": "Previsualizar"
}
}

10
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/es.json

@ -0,0 +1,10 @@
{
"culture": "es",
"texts": {
"Features": "Características",
"NoFeatureFoundMessage": "No hay ninguna característica disponible.",
"Permission:FeatureManagement": "Gestión de características",
"Permission:FeatureManagement.ManageHostFeatures": "Gestionar características del Host",
"Volo.Abp.FeatureManagement:InvalidFeatureValue": "{0} valor de característica no es valido!"
}
}

120
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/es.json

@ -0,0 +1,120 @@
{
"culture": "es",
"texts": {
"Menu:IdentityManagement": "Gestión de identidades",
"Users": "Usuarios",
"NewUser": "Nuevo Usuario",
"UserName": "Nombre de usuario",
"EmailAddress": "Dirección e-mail",
"PhoneNumber": "Número de teléfono",
"UserInformations": "Información de usuario",
"DisplayName:IsDefault": "Predeterminado",
"DisplayName:IsStatic": "Estático",
"DisplayName:IsPublic": "Público",
"Roles": "Roles",
"Password": "Contraseña",
"PersonalInfo": "Mi perfil",
"PersonalSettings": "Configuración personal",
"UserDeletionConfirmationMessage": "El usuario '{0}' será eliminado. ¿Quieres continuar?",
"RoleDeletionConfirmationMessage": "El role '{0}' será eliminado. ¿Quieres continuar? ",
"DisplayName:RoleName": "Nombre de Role",
"DisplayName:UserName": "Nombre de usuario",
"DisplayName:Name": "Nombre",
"DisplayName:Surname": "Apellido",
"DisplayName:Password": "Contraseña",
"DisplayName:Email": "Dirección de e-mail",
"DisplayName:PhoneNumber": "Número de teléfono",
"DisplayName:TwoFactorEnabled": "Autenticación en dos pasos",
"DisplayName:LockoutEnabled": "Bloquear la cuenta después de intentos de inicio de sesión fallidos",
"NewRole": "Nuevo role",
"RoleName": "Nombre de role",
"CreationTime": "Fecha de creación",
"Permissions": "Permisos",
"DisplayName:CurrentPassword": "Contraseña actual",
"DisplayName:NewPassword": "Nueva contraseña",
"DisplayName:NewPasswordConfirm": "Confirmar nueva contraseña",
"PasswordChangedMessage": "Tu contraseña ha sido cambiada satisfactoriamente.",
"PersonalSettingsSavedMessage": "Tu configuración personal ha sido guardada satisfactoriamente.",
"Volo.Abp.Identity:DefaultError": "Error desconocido.",
"Volo.Abp.Identity:ConcurrencyFailure": "Fallo de concurrencia optimista",
"Volo.Abp.Identity:DuplicateEmail": "E-mail '{0}' está en uso.",
"Volo.Abp.Identity:DuplicateRoleName": "Nombre de role '{0}' está en uso.",
"Volo.Abp.Identity:DuplicateUserName": "Nombre de usuario '{0}' está en uso.",
"Volo.Abp.Identity:InvalidEmail": "E-mail '{0}' no es válido.",
"Volo.Abp.Identity:InvalidPasswordHasherCompatibilityMode": "El PasswordHasherCompatibilityMode proporcionado no es válido.",
"Volo.Abp.Identity:InvalidPasswordHasherIterationCount": "La cuenta iterativa debe ser una entero positivo.",
"Volo.Abp.Identity:InvalidRoleName": "El nombre de role '{0}' no es válido.",
"Volo.Abp.Identity:InvalidToken": "token no válido",
"Volo.Abp.Identity:InvalidUserName": "Nombre de usuario '{0}' no es válido. Sólo puede contener letras o dígitos",
"Volo.Abp.Identity:LoginAlreadyAssociated": "Usuario con este inicio de sesión en uso.",
"Volo.Abp.Identity:PasswordMismatch": "Contraseña incorrecta.",
"Volo.Abp.Identity:PasswordRequiresDigit": "Contraseñas deben tener al menos un dígito ('0'-'9').",
"Volo.Abp.Identity:PasswordRequiresLower": "Contraseñas deben tener al menos un caráctere en minúscula ('a'-'z').",
"Volo.Abp.Identity:PasswordRequiresNonAlphanumeric": "Contraseñas deben tener al menos un carácter no alfanumérico",
"Volo.Abp.Identity:PasswordRequiresUpper": "Contraseñas deben tener al menos un carácter en mayúsculas ('A'-'Z').",
"Volo.Abp.Identity:PasswordTooShort": "Contraseñas deben tener al menos {0} caracteres",
"Volo.Abp.Identity:RoleNotFound": "El role {0} no existe.",
"Volo.Abp.Identity:UserAlreadyHasPassword": "El usuario tiene la contraseña establecida",
"Volo.Abp.Identity:UserAlreadyInRole": "El usuario ya tiene asignado el rol '{0}'´.",
"Volo.Abp.Identity:UserLockedOut": "El usuario está bloqueado.",
"Volo.Abp.Identity:UserLockoutNotEnabled": "El bloqueo no está habilitado para este usuario.",
"Volo.Abp.Identity:UserNameNotFound": "El usuario {0} no existe.",
"Volo.Abp.Identity:UserNotInRole": "El usuario no tiene asignado el rol '{0}'.",
"Volo.Abp.Identity:PasswordConfirmationFailed": "La contraseña no coincide con la confirmación.",
"Volo.Abp.Identity:010001": "Tu no puedes borrar tu propia cuenta!",
"Volo.Abp.Identity:010002": "No puedes establecer más de {MaxUserMembershipCount} unidades organizativas para un usuario!",
"Volo.Abp.Identity:010003": "No puedes cambiar la contraseña de un usuario que inicio sesión desde un servicio externo!",
"Volo.Abp.Identity:010004": "Hay una unidad organizativa con nombre {0}. Dos unidades con el mismo nombre no pueden ser creadas en el mismo nivel.",
"Volo.Abp.Identity:010005": "Roles estáticos no pueden ser renombrados.",
"Volo.Abp.Identity:010006": "Roles estáticos no pueden ser borrados.",
"Volo.Abp.Identity:010007": "No puedes cambiar tu configuración de autentificación de dos pasos.",
"Volo.Abp.Identity:010008": "No está permitido cambiar la configuración de autenticación de dos pasos.",
"Identity.OrganizationUnit.MaxUserMembershipCount": "Número máximo de unidades organizativas por usuario",
"Permission:IdentityManagement": "Gestión de identidades",
"Permission:RoleManagement": "Gestión de roles",
"Permission:Create": "Crear",
"Permission:Edit": "Editar",
"Permission:Delete": "Borrar",
"Permission:ChangePermissions": "Cambiar permisos",
"Permission:UserManagement": "Gestión de usuarios",
"Permission:UserLookup": "Busqueda de usuario",
"Feature:IdentityGroup": "Identidad",
"Feature:TwoFactor": "Autenticatión de dos pasos",
"Feature:TwoFactorDescription": "Establecer autenticación de dos pasos. Valores opcionales: Opcional, Deshabilitado, Obligatorio",
"Feature:TwoFactor.Optional": "Opcional",
"Feature:TwoFactor.Disabled": "Deshabilitado",
"Feature:TwoFactor.Forced": "Obligatorio",
"DisplayName:Abp.Identity.Password.RequiredLength": "Longitud requerida",
"DisplayName:Abp.Identity.Password.RequiredUniqueChars": "Caracteres únicos requeridos",
"DisplayName:Abp.Identity.Password.RequireNonAlphanumeric": "Caracteres no alfanuméricos requeridos",
"DisplayName:Abp.Identity.Password.RequireLowercase": "Carácter en minúsculas requerido",
"DisplayName:Abp.Identity.Password.RequireUppercase": "Carácter en mayúsculas requerido",
"DisplayName:Abp.Identity.Password.RequireDigit": "Dígito requerido",
"DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Habilitado para nuevos usuarios",
"DisplayName:Abp.Identity.Lockout.LockoutDuration": "Duración del bloqueo (segundos)",
"DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Número máximo de accesos fallidos",
"DisplayName:Abp.Identity.SignIn.RequireConfirmedEmail": "Confirmación de e-mail requerida",
"DisplayName:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Permitir usuarios confirmar su número de teléfono",
"DisplayName:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Requerir confirmación de número de teléfono",
"DisplayName:Abp.Identity.User.IsUserNameUpdateEnabled": "Permitir a los usuarios cambiar su nombre de usuario.",
"DisplayName:Abp.Identity.User.IsEmailUpdateEnabled": "Permitir usuarios cambiar sus direcciones de e-mail",
"Description:Abp.Identity.Password.RequiredLength": "La mínima longitud de una contraseña debe ser.",
"Description:Abp.Identity.Password.RequiredUniqueChars": "El mínimo número de caracteres unicos que una contraseña debe contener.",
"Description:Abp.Identity.Password.RequireNonAlphanumeric": "Si las contraseñas deben contener un no alfanumérico carácter.",
"Description:Abp.Identity.Password.RequireLowercase": "Si las contraseñas deben contener un carácter en minúscula.",
"Description:Abp.Identity.Password.RequireUppercase": "Si las contreseñas deben contener un carácter en mayúscula",
"Description:Abp.Identity.Password.RequireDigit": "Si las contraseñas deben contener un dígito",
"Description:Abp.Identity.Lockout.AllowedForNewUsers": "Si un nuevo usuario puede ser bloqueado.",
"Description:Abp.Identity.Lockout.LockoutDuration": "La duración del bloqueo de un usuario cuando el bloqueo ocurre.",
"Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "El número de accessos fallidos permitidos antes de que un usuario sea bloqueado, el bloqueo de usuario debe estar habilitado.",
"Description:Abp.Identity.SignIn.RequireConfirmedEmail": "Si la confirmación de dirección de e-mail es requerida para iniciar sesión.",
"Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Si el número de teléfono puede ser confirmado por el usuario. ",
"Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Sí un número de teléfono confirmado es requerido para iniciar sesión.",
"Description:Abp.Identity.User.IsUserNameUpdateEnabled": "Si el nombre de usuario puede ser actualizado por el usuario.",
"Description:Abp.Identity.User.IsEmailUpdateEnabled": "Si el e-mail puede ser actualizado por el usuario.",
"DisplayName:Abp.Identity.TwoFactorBehaviour": "Autenticación de dos pasos",
"Description:Abp.Identity.TwoFactorBehaviour": "Autenticación de dos pasos",
"DisplayName:Abp.Identity.UsersCanChange": "Permitir a los usuario cambiar su autenticación de dos pasos.",
"Description:Abp.Identity.UsersCanChange": "Permitir a los usuario cambiar su autenticación de dos pasos."
}
}

14
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/es.json

@ -0,0 +1,14 @@
{
"culture": "es",
"texts": {
"Volo.IdentityServer:DuplicateIdentityResourceName": "El nombre de recurso de identidad ya existe: {Name}",
"Volo.IdentityServer:DuplicateApiResourceName": "El nombre de recurso de Api ya existe: {Name}",
"Volo.IdentityServer:DuplicateApiScopeName": "El nombre de ámbito de Api ya existe: {Name}",
"Volo.IdentityServer:DuplicateClientId": "ClientId ya existe: {ClientId}",
"UserLockedOut": "La cuenta de usuario ha sido bloqueada debido a inicios de sesión no validos. Por favor, espera un rato e intentalo de nuevo.",
"InvalidUserNameOrPassword": "Nombre de usuario o contraseña no válido!",
"LoginIsNotAllowed": "No puedes iniciar sesión!, necesitas confirmar tu e-mail/ número de teléfono.",
"InvalidUsername": "",
"TheTargetUserIsNotLinkedToYou": "El usuario de destino no está asociado a tí"
}
}

10
modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/es.json

@ -0,0 +1,10 @@
{
"culture": "es",
"texts": {
"Permissions": "Permisos",
"OnlyProviderPermissons": "Sólo este proveedor",
"All": "Todos",
"SelectAllInAllTabs": "Condeder todos los permisos",
"SelectAllInThisTab": "Seleccionar todo"
}
}

7
modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/es.json

@ -0,0 +1,7 @@
{
"culture": "es",
"texts": {
"Settings": "Configuraciones",
"SuccessfullySaved": "Guardado correctamente"
}
}

23
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/es.json

@ -0,0 +1,23 @@
{
"culture": "es",
"texts": {
"Menu:TenantManagement": "Gestión de tenants",
"Tenants": "Inquilinos",
"NewTenant": "Nuevo inquilino",
"TenantName": "Nombre del inquilino",
"DisplayName:TenantName": "Nombre del inquilino",
"TenantDeletionConfirmationMessage": "Se eliminará el inquilino '{0}'. Confirmas eso?",
"ConnectionStrings": "Connection Strings",
"DisplayName:DefaultConnectionString": "Connection String predeterminado",
"DisplayName:UseSharedDatabase": "Usar la base de datos compartida",
"ManageHostFeatures": "Administrar funciones de host",
"Permission:TenantManagement": "Gestión de tenants",
"Permission:Create": "Crear",
"Permission:Edit": "Editar",
"Permission:Delete": "Borrar",
"Permission:ManageConnectionStrings": "Gestión de cadenas de conexión",
"Permission:ManageFeatures": "Gestión de características",
"DisplayName:AdminEmailAddress": "Dirección de e-mail de administrador",
"DisplayName:AdminPassword": "Contraseña de administrador"
}
}

14
modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/es.json

@ -0,0 +1,14 @@
{
"culture": "es",
"texts": {
"VirtualFileExplorer": "Explorador de ficheros virtual",
"VirtualFileType": "Tipo de fichero virtual",
"Menu:VirtualFileExplorer": "explorador de ficheros virtuales",
"LastUpdateTime": "Última fecha de actualización",
"VirtualFileName": "Nombre del fichero virtual",
"FileContent": "Contenido del fichero",
"Size": "Tamaño",
"BackToRoot": "Volver al raíz",
"EmptyFileInfoList": "No hay ficheros virtuales"
}
}

8
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/es.json

@ -0,0 +1,8 @@
{
"culture": "es",
"texts": {
"Menu:Home": "Inicio",
"Welcome": "Bienvenido",
"LongWelcomeMessage": "Bienvenido a la aplicación, este es un proyecto base basado en el framework ABP. Para más información, visita abp.io."
}
}

26
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs

@ -158,7 +158,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
secret: (configurationSection["MyProjectName_Web:ClientSecret"] ?? "1q2w3e*").Sha256(),
redirectUri: $"{webClientRootUrl}signin-oidc",
postLogoutRedirectUri: $"{webClientRootUrl}signout-callback-oidc",
frontChannelLogoutUri: $"{webClientRootUrl}Account/FrontChannelLogout"
frontChannelLogoutUri: $"{webClientRootUrl}Account/FrontChannelLogout",
corsOrigins: new[] { webClientRootUrl.RemovePostFix("/") }
);
}
@ -175,7 +176,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
secret: (configurationSection["MyProjectName_App:ClientSecret"] ?? "1q2w3e*").Sha256(),
requireClientSecret: false,
redirectUri: webClientRootUrl,
postLogoutRedirectUri: webClientRootUrl
postLogoutRedirectUri: webClientRootUrl,
corsOrigins: new[] { webClientRootUrl.RemovePostFix("/") }
);
}
@ -192,7 +194,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
secret: configurationSection["MyProjectName_Blazor:ClientSecret"]?.Sha256(),
requireClientSecret: false,
redirectUri: $"{blazorRootUrl}/authentication/login-callback",
postLogoutRedirectUri: $"{blazorRootUrl}/authentication/logout-callback"
postLogoutRedirectUri: $"{blazorRootUrl}/authentication/logout-callback",
corsOrigins: new[] { blazorRootUrl.RemovePostFix("/") }
);
}
@ -208,7 +211,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
grantTypes: new[] { "authorization_code" },
secret: configurationSection["MyProjectName_Swagger:ClientSecret"]?.Sha256(),
requireClientSecret: false,
redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html"
redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html",
corsOrigins: new[] { swaggerRootUrl.RemovePostFix("/") }
);
}
}
@ -223,7 +227,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
string frontChannelLogoutUri = null,
bool requireClientSecret = true,
bool requirePkce = false,
IEnumerable<string> permissions = null)
IEnumerable<string> permissions = null,
IEnumerable<string> corsOrigins = null)
{
var client = await _clientRepository.FindByClientIdAsync(name);
if (client == null)
@ -302,6 +307,17 @@ namespace MyCompanyName.MyProjectName.IdentityServer
);
}
if (corsOrigins != null)
{
foreach (var origin in corsOrigins)
{
if (client.FindCorsOrigin(origin) == null)
{
client.AddCorsOrigin(origin);
}
}
}
return await _clientRepository.UpdateAsync(client);
}
}

1
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs

@ -136,6 +136,7 @@ namespace MyCompanyName.MyProjectName
options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文"));
options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文"));
options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsche", "de"));
options.Languages.Add(new LanguageInfo("es", "es", "Español", "es"));
});
}

1
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs

@ -153,6 +153,7 @@ namespace MyCompanyName.MyProjectName
options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文"));
options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文"));
options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsche", "de"));
options.Languages.Add(new LanguageInfo("es", "es", "Español", "es"));
});
}

1
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyProjectNameIdentityServerModule.cs

@ -71,6 +71,7 @@ namespace MyCompanyName.MyProjectName
options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文"));
options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文"));
options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsche", "de"));
options.Languages.Add(new LanguageInfo("es", "es", "Español", "es"));
});
Configure<AbpBundlingOptions>(options =>

1
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs

@ -169,6 +169,7 @@ namespace MyCompanyName.MyProjectName.Web
options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文"));
options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文"));
options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsche", "de"));
options.Languages.Add(new LanguageInfo("es", "es", "Español"));
});
}

26
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/IdentityServer/IdentityServerDataSeedContributor.cs

@ -158,7 +158,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
secret: (configurationSection["MyProjectName_Web:ClientSecret"] ?? "1q2w3e*").Sha256(),
redirectUri: $"{webClientRootUrl}signin-oidc",
postLogoutRedirectUri: $"{webClientRootUrl}signout-callback-oidc",
frontChannelLogoutUri: $"{webClientRootUrl}Account/FrontChannelLogout"
frontChannelLogoutUri: $"{webClientRootUrl}Account/FrontChannelLogout",
corsOrigins: new[] { webClientRootUrl.RemovePostFix("/") }
);
}
@ -175,7 +176,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
secret: (configurationSection["MyProjectName_App:ClientSecret"] ?? "1q2w3e*").Sha256(),
requireClientSecret: false,
redirectUri: webClientRootUrl,
postLogoutRedirectUri: webClientRootUrl
postLogoutRedirectUri: webClientRootUrl,
corsOrigins: new[] { webClientRootUrl.RemovePostFix("/") }
);
}
@ -192,7 +194,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
secret: configurationSection["MyProjectName_Blazor:ClientSecret"]?.Sha256(),
requireClientSecret: false,
redirectUri: $"{blazorRootUrl}/authentication/login-callback",
postLogoutRedirectUri: $"{blazorRootUrl}/authentication/logout-callback"
postLogoutRedirectUri: $"{blazorRootUrl}/authentication/logout-callback",
corsOrigins: new[] { blazorRootUrl.RemovePostFix("/") }
);
}
@ -208,7 +211,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
grantTypes: new[] { "authorization_code" },
secret: configurationSection["MyProjectName_Swagger:ClientSecret"]?.Sha256(),
requireClientSecret: false,
redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html"
redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html",
corsOrigins: new[] { swaggerRootUrl.RemovePostFix("/") }
);
}
}
@ -223,7 +227,8 @@ namespace MyCompanyName.MyProjectName.IdentityServer
string frontChannelLogoutUri = null,
bool requireClientSecret = true,
bool requirePkce = false,
IEnumerable<string> permissions = null)
IEnumerable<string> permissions = null,
IEnumerable<string> corsOrigins = null)
{
var client = await _clientRepository.FindByClientIdAsync(name);
if (client == null)
@ -302,6 +307,17 @@ namespace MyCompanyName.MyProjectName.IdentityServer
);
}
if (corsOrigins != null)
{
foreach (var origin in corsOrigins)
{
if (client.FindCorsOrigin(origin) == null)
{
client.AddCorsOrigin(origin);
}
}
}
return await _clientRepository.UpdateAsync(client);
}
}

7
templates/module/aspnet-core/src/MyCompanyName.MyProjectName.Domain.Shared/Localization/MyProjectName/es.json

@ -0,0 +1,7 @@
{
"culture": "es",
"texts": {
"ManageYourProfile": "Gestiona tu perfil",
"SamplePageMessage": "Una página de ejemplo para el módulo MyProjectName "
}
}
Loading…
Cancel
Save