From 3eb04969e066c96431cb159e488e6581c865de4d Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Wed, 15 Jun 2022 16:14:44 +0300 Subject: [PATCH 01/26] Add DisabledFn on ExtensibleFormPropComponent --- .../extensible-form/extensible-form-prop.component.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts index b022f7e35f..fa679d3dbd 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts @@ -62,7 +62,11 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { readonly!: boolean; - disabled!: boolean; + disabledFn = (data:PropData) => false; + + get disabled() { + return this.disabledFn(this.data) + } private readonly form: FormGroup; @@ -175,7 +179,10 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { if (options) this.options$ = options(this.data); if (readonly) this.readonly = readonly(this.data); - if (disabled) this.disabled = disabled(this.data); + + if (disabled) { + this.disabledFn = disabled; + } if (validators) { this.validators = validators(this.data); this.setAsterisk(); From 7fa00f47b1a794f18ba9f61ffc767146f904f15c Mon Sep 17 00:00:00 2001 From: "Marcelo M. M" <4993482+marcelo-maciel@users.noreply.github.com> Date: Thu, 16 Jun 2022 06:54:32 -0300 Subject: [PATCH 02/26] PT-BR localization correction PT-BR localization correction --- .../Localization/Resources/AbpUi/pt-BR.json | 4 +- .../Abp/Validation/Localization/pt-BR.json | 14 ++-- .../Volo/Abp/Http/Localization/pt-BR.json | 2 +- .../Account/Localization/Resources/en.json | 2 +- .../Account/Localization/Resources/pt-BR.json | 6 +- .../Blogging/Localization/Resources/en.json | 2 +- .../CmsKit/Localization/Resources/en.json | 2 +- .../CmsKit/Localization/Resources/pt-BR.json | 65 +++++++++++++------ .../Docs/ApplicationContracts/en.json | 2 +- .../Docs/ApplicationContracts/pt-BR.json | 14 ++-- .../Volo/Docs/Localization/Domain/en.json | 2 +- .../Volo/Docs/Localization/Domain/pt-BR.json | 12 ++-- .../Localization/Domain/pt-BR.json | 2 +- .../Volo/Abp/Identity/Localization/en.json | 2 +- .../Volo/Abp/Identity/Localization/pt-BR.json | 4 +- .../Volo.Abp.OpenIddict.Domain.Shared.csproj | 4 ++ .../Localization/Domain/pt-BR.json | 3 +- .../Resources/AbpSettingManagement/pt-BR.json | 10 +++ .../Localization/Resources/pt-BR.json | 4 +- .../Localization/Resources/en.json | 18 ++--- 20 files changed, 106 insertions(+), 68 deletions(-) diff --git a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pt-BR.json b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pt-BR.json index e03a77f7fa..aa915a704f 100644 --- a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pt-BR.json +++ b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pt-BR.json @@ -15,9 +15,9 @@ "Delete": "Excluir", "SuccessfullyDeleted": "Excluído com sucesso", "Edit": "Editar", - "Refresh": "Refrescar", + "Refresh": "Atualizar", "Language": "Língua", - "LoadMore": "Carregue mais", + "LoadMore": "Carregar mais", "ProcessingWithThreeDot": "Processando...", "LoadingWithThreeDot": "Carregando...", "Welcome": "Bem Vindo", diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pt-BR.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pt-BR.json index 2af525b373..4adbd81e80 100644 --- a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pt-BR.json +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/pt-BR.json @@ -1,11 +1,11 @@ { "culture": "pt-BR", "texts": { - "'{0}' and '{1}' do not match.": "'{0}' e '{1}' não encontrado.", + "'{0}' and '{1}' do not match.": "'{0}' e '{1}' não coincidem.", "The {0} field is not a valid credit card number.": "O campo {0} não é um número de cartão de crédito válido.", "{0} is not valid.": "{0} é inválido.", "The {0} field is not a valid e-mail address.": "O campo {0} não é um e-mail válido.", - "The {0} field only accepts files with the following extensions: {1}": "O campo {0} aceita somente arquivos com estensões: {1}", + "The {0} field only accepts files with the following extensions: {1}": "O campo {0} aceita somente arquivos com extensões: {1}", "The field {0} must be a string or array type with a maximum length of '{1}'.": "O campo {0} deve ser uma palavra ou matriz com o tamanho máximo de '{1}'.", "The field {0} must be a string or array type with a minimum length of '{1}'.": "O campo {0} deve ser uma palavra ou matriz com o tamanho mínimo de '{1}'.", "The {0} field is not a valid phone number.": "O campo {0} não é um telefone válido.", @@ -19,16 +19,16 @@ "ThisFieldIsNotAValidCreditCardNumber.": "Não é um cartão de crédito válido.", "ThisFieldIsNotValid.": "Campo inválido.", "ThisFieldIsNotAValidEmailAddress.": "E-mail inválido.", - "ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "Este campo só aceita arquivos com asseguintes extensões: {0}", - "ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}": "This field must be a string or array type with a maximum length of '{0}'.", - "ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "This field must be a string or array type with a minimum length of '{0}'.", + "ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "Este campo só aceita arquivos com as seguintes extensões: {0}", + "ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}": "Este campo deve ser do tipo palavra ou matriz com comprimento máximo de '{0}'.", + "ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "Este campo deve ser do tipo palavra ou matriz com comprimento mínimo de '{0}'.", "ThisFieldIsNotAValidPhoneNumber.": "Número de telefone inválido.", "ThisFieldMustBeBetween{0}And{1}": "Este campo deve estar entre {0} e {1}.", - "ThisFieldMustMatchTheRegularExpression{0}": "Este campo deve ser compatível com a expressao regular: '{0}'.", + "ThisFieldMustMatchTheRegularExpression{0}": "Este campo deve ser compatível com a expressão regular: '{0}'.", "ThisFieldIsRequired.": "Campo Obrigatório.", "ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "Campo com no máximo {0} caracteres.", "ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "Este campo deve possuir entre {1} e {0} caracteres.", - "ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "Este campo não é um http, https, ou ftp complatamente qualificado.", + "ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "Este campo não é um http, https, ou ftp completamente qualificado.", "ThisFieldIsInvalid.": "Campo inválido." } } \ No newline at end of file diff --git a/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Localization/pt-BR.json b/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Localization/pt-BR.json index a28533e079..1de3028774 100644 --- a/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Localization/pt-BR.json +++ b/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Localization/pt-BR.json @@ -1,6 +1,6 @@ { "culture": "pt-BR", "texts": { - "Volo.Abp.Http.DynamicProxying:10001": "Exceção comercial com dados: {0}" + "Volo.Abp.Http.DynamicProxying:10001": "Exceção de negócio com dados: {0}" } } \ No newline at end of file diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json index 17f05fe29b..d5f881e365 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/en.json @@ -65,4 +65,4 @@ "AccessDenied": "Access denied!", "AccessDeniedMessage": "You do not have access to this resource." } -} +} \ No newline at end of file diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json index b590b50d8a..71adf7be31 100644 --- a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json @@ -8,7 +8,7 @@ "Password": "Senha", "RememberMe": "Lembrar", "UseAnotherServiceToLogin": "Usar outro serviço para entrar", - "UserLockedOutMessage": "Esta conta de usuário está bloqueada devido a muitas tentativas de acesso. Por favor, espero alguns instantes e tente novamente.", + "UserLockedOutMessage": "Esta conta de usuário está bloqueada devido a muitas tentativas de acesso. Por favor, espere alguns instantes e tente novamente.", "InvalidUserNameOrPassword": "Usuário ou senha estão incorretos!", "LoginIsNotAllowed": "Você não tem permissão para fazer o login! Sua conta está inativa ou precisa confirmar seu e-mail/número de telefone.", "SelfRegistrationDisabledMessage": "Não é permitido que você crie uma nova conta neste site. Contate um administrador para que ele crie uma conta para você.", @@ -42,13 +42,13 @@ "Description:Abp.Account.IsSelfRegistrationEnabled": "Se um usuário pode registrar a conta por si mesmo.", "DisplayName:Abp.Account.EnableLocalLogin": "Autenticar com uma conta local", "Description:Abp.Account.EnableLocalLogin": "Indica se o servidor permitirá que os usuários se autentiquem com uma conta local.", - "LoggedOutTitle": "Assinado", + "LoggedOutTitle": "Desconectado", "LoggedOutText": "Você foi desconectado e será redirecionado em breve.", "ReturnToText": "Clique aqui para retornar ao aplicativo", "OrLoginWith": "Ou faça login com:", "ForgotPassword": "Esqueceu sua senha?", "SendPasswordResetLink_Information": "Um link de redefinição de senha será enviado ao seu e-mail para redefinir sua senha. Se você não receber um e-mail em alguns minutos, tente novamente.", - "PasswordResetMailSentMessage": "Email de recuperação de conta enviado para o seu endereço de e-mail. Se você não vir este e-mail em sua caixa de entrada em 15 minutos, procure-o na pasta de lixo eletrônico. Se você encontrá-lo lá, marque-o como -Não Lixo-.", + "PasswordResetMailSentMessage": "E-mail de recuperação de conta enviado para o seu endereço de e-mail. Se você não vir este e-mail em sua caixa de entrada em 15 minutos, procure-o na pasta de lixo eletrônico. Se você encontrá-lo lá, marque-o como -Não é Lixo Eletrônico-.", "ResetPassword": "Redefinir senha", "ConfirmPassword": "Confirme (repita) a senha", "ResetPassword_Information": "Por favor insira sua nova senha.", diff --git a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/en.json b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/en.json index 2219aa9fcd..9823d30f73 100644 --- a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/en.json +++ b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/en.json @@ -58,4 +58,4 @@ "ClearCache": "Clear cache", "ClearCacheConfirmationMessage": "Are you sure you want to clear the cache?" } -} +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json index 7b63218493..6926fdb771 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/en.json @@ -183,4 +183,4 @@ "Status": "Status", "CmsKit.BlogPost.ScrollIndex": "Quick navigation bar in blog posts" } -} +} \ No newline at end of file diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json index 2aa9c1b768..5ec2a64799 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/pt-BR.json @@ -22,23 +22,23 @@ "CmsKit:Comments:0001": "A entidade {EntityType} não pode ser comentada.", "CmsKit:Media:0001": "'{Name}' não é um nome de mídia válido.", "CmsKit:Media:0002": "A entidade não pode ter mídia.", - "CmsKit:Page:0001": "O url fornecido ({Slug}) já existe. Por favor, tente com url diferente.", + "CmsKit:Page:0001": "A url fornecida ({Slug}) já existe. Por favor, tente com uma url diferente.", "CmsKit:Rating:0001": "A entidade {EntityType} não pode ser avaliada.", "CmsKit:Reaction:0001": "A entidade {EntityType} não pode ter reações.", "CmsKit:Tag:0002": "A entidade não pode ser etiquetada!", "CommentAuthorizationExceptionMessage": "Esses comentários não são permitidos para exibição pública.", "CommentDeletionConfirmationMessage": "Este comentário e todas as respostas serão excluídos!", "Comments": "Comentários", - "Content": "Contente", + "Content": "Conteúdo", "ContentDeletionConfirmationMessage": "Tem certeza de que deseja excluir este conteúdo?", - "Contents": "Conteúdo", + "Contents": "Conteúdos", "CoverImage": "Imagem de capa", "CreateBlogPostPage": "Nova postagem no blog", "CreationTime": "Tempo de Criação", "Delete": "Excluir", "Detail": "Detalhe", "Details": "Detalhes", - "DisplayName": "Nome em Exibição", + "DisplayName": "Nome para Exibição", "DoYouPreferAdditionalEmails": "Você prefere e-mails adicionais?", "Edit": "Editar", "EndDate": "Data final", @@ -51,8 +51,8 @@ "LastModification": "Última modificação", "LastModificationTime": "Hora da Última Modificação", "LoginToAddComment": "Faça login para adicionar comentário", - "LoginToRate": "Faça login para avaliar", - "LoginToReact": "Faça login para reagir", + "LoginToRate": "Entre para avaliar", + "LoginToReact": "Entre para reagir", "LoginToReply": "Entre para responder", "MainMenu": "Menu principal", "MakeMainMenu": "Faça o Menu Principal", @@ -75,46 +75,48 @@ "PageDeletionConfirmationMessage": "Tem certeza que deseja deletar esta página?", "PageId": "Página", "Pages": "Páginas", - "PageSlugInformation": "Slug é usado no url. Seu url será '/pages/{{slug}}'.", + "PageSlugInformation": "Slug é usado na url. Sua url será '/pages/{{slug}}'.", "Permission:BlogManagement": "Gerenciamento de blogs", - "Permission:BlogManagement.Create": "Crio", + "Permission:BlogManagement.Create": "Criar", "Permission:BlogManagement.Delete": "Excluir", "Permission:BlogManagement.Features": "Recursos", "Permission:BlogManagement.Update": "Atualizar", "Permission:BlogPostManagement": "Gerenciamento de postagem no blog", - "Permission:BlogPostManagement.Create": "Crio", + "Permission:BlogPostManagement.Create": "Criar", "Permission:BlogPostManagement.Delete": "Excluir", "Permission:BlogPostManagement.Update": "Atualizar", + "Permission:BlogPostManagement.Publish": "Publicar", "Permission:CmsKit": "CmsKit", "Permission:Comments": "Gerenciamento de comentários", "Permission:Comments.Delete": "Excluir", "Permission:Contents": "Gerenciamento de conteúdo", "Permission:Contents.Create": "Criar conteúdo", "Permission:Contents.Delete": "Excluir conteúdo", - "Permission:Contents.Update": "Conteúdo de atualização", + "Permission:Contents.Update": "Editar conteúdo", "Permission:MediaDescriptorManagement": "Gestão de mídia", - "Permission:MediaDescriptorManagement:Create": "Crio", + "Permission:MediaDescriptorManagement:Create": "Criar", "Permission:MediaDescriptorManagement:Delete": "Excluir", "Permission:MenuItemManagement": "Gerenciamento de item de menu", - "Permission:MenuItemManagement.Create": "Crio", + "Permission:MenuItemManagement.Create": "Criar", "Permission:MenuItemManagement.Delete": "Excluir", "Permission:MenuItemManagement.Update": "Atualizar", "Permission:MenuManagement": "Gestão do Menu", - "Permission:MenuManagement.Create": "Crio", + "Permission:MenuManagement.Create": "Criar", "Permission:MenuManagement.Delete": "Excluir", "Permission:MenuManagement.Update": "Atualizar", "Permission:Menus": "Gestão do Menu", - "Permission:Menus.Create": "Crio", + "Permission:Menus.Create": "Criar", "Permission:Menus.Delete": "Excluir", "Permission:Menus.Update": "Atualizar", "Permission:PageManagement": "Gerenciamento de página", - "Permission:PageManagement:Create": "Crio", + "Permission:PageManagement:Create": "Criar", "Permission:PageManagement:Delete": "Excluir", "Permission:PageManagement:Update": "Atualizar", "Permission:TagManagement": "Gestão de Tag", - "Permission:TagManagement.Create": "Crio", + "Permission:TagManagement.Create": "Criar", "Permission:TagManagement.Delete": "Excluir", "Permission:TagManagement.Update": "Atualizar", + "Permission:GlobalResources": "Recursos globais", "PickYourReaction": "Escolha sua reação", "Rating": "Avaliação", "RatingUndoMessage": "Sua classificação será desfeita.", @@ -127,10 +129,11 @@ "SaveChanges": "Salvar alterações", "Script": "Roteiro", "SelectAll": "Selecionar tudo", - "Send": "Mandar", + "Send": "Enviar", "SendMessage": "Enviar mensagem", + "SelectedAuthor": "Autor", "ShortDescription": "Pequena descrição", - "Slug": "Lesma", + "Slug": "Slug", "Source": "Fonte", "SourceUrl": "URL da fonte", "Star": "Estrela", @@ -139,7 +142,7 @@ "Subject": "Sujeito", "SubjectPlaceholder": "Por favor digite um assunto", "Submit": "Enviar", - "Subscribe": "Se inscrever", + "Subscribe": "Inscrever-se", "SuccessfullySaved": "Salvo com sucesso!", "TagDeletionConfirmationMessage": "Tem certeza que deseja excluir a tag '{0}'?", "Tags": "Tag", @@ -155,9 +158,29 @@ "UserId": "ID do usuário", "Username": "Nome do usuário", "YourComment": "Seu comentário", - "YourEmailAddress": "Seu endereço de email", + "YourEmailAddress": "Seu endereço de e-mail", "YourFullName": "Seu nome completo", "YourMessage": "Sua mensagem", - "YourReply": "Sua resposta" + "YourReply": "Sua resposta", + "MarkdownSupported": "Markdown supported.", + "GlobalResources": "Recursos globais", + "SavedSuccessfully": "Salvo com sucesso", + "CmsKit.BlogPost.Status.0": "Rascunho", + "CmsKit.BlogPost.Status.1": "Publicado", + "CmsKit.BlogPost.Status.2": "Aguardando revisão", + "BlogPostPublishConfirmationMessage": "Tem certeza que deseja publicar a postagem \"{0}\"?", + "SuccessfullyPublished": "Publicado com sucesso!", + "Draft": "Rascunho", + "Publish": "Publicado", + "BlogPostDraftConfirmationMessage": "Tem certeza que deseja marcar a postagem \"{0}\" como rascunho?", + "BlogPostSendToReviewConfirmationMessage": "Tem certeza que deseja enviar a postagem \"{0}\" para o admin revisor para publicação?", + "SaveAsDraft": "Salvar como rascunho", + "SendToReview": "Enviar para revisão", + "SendToReviewToPublish": "Enviar para revisão para publicar", + "BlogPostSendToReviewSuccessMessage": "A postagem \"{0}\" foi enviada para o admin revisor para publicação.", + "HasBlogPostWaitingForReviewMessage": "Você tem uma postagem para revisão. Clique para listar.", + "SelectAStatus": "Selecione um status", + "Status": "Status", + "CmsKit.BlogPost.ScrollIndex": "Barra de navegação rápida em postagens" } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/en.json b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/en.json index fa6a130c94..d19bef7adf 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/en.json +++ b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/en.json @@ -56,4 +56,4 @@ "FileName": "File name", "LastCachedTime": "Cache time" } -} +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pt-BR.json b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pt-BR.json index 98447e6427..7daa4964b3 100644 --- a/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pt-BR.json +++ b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pt-BR.json @@ -19,18 +19,18 @@ "ShortName": "Nome Curto", "DocumentStoreType": "DocumentStoreType", "Format": "Formato", - "ShortNameInfoText": "Ser� utilizado para URL �nica.", + "ShortNameInfoText": "Será utilizado para URL única.", "DisplayName:Name": "Nome", "DisplayName:ShortName": "Nome Curto", "DisplayName:Format": "Formatar", - "DisplayName:DefaultDocumentName": "Nome padr�o do documento", - "DisplayName:NavigationDocumentName": "Nome de navega��o do documento", - "DisplayName:MinimumVersion": "Vers�o m�nima", + "DisplayName:DefaultDocumentName": "Nome padrão do documento", + "DisplayName:NavigationDocumentName": "Nome de navegação do documento", + "DisplayName:MinimumVersion": "Versão mínima", "DisplayName:MainWebsiteUrl": "URL do site principal", - "DisplayName:LatestVersionBranchName": "Nome do branch da �ltima vers�o", - "DisplayName:GitHubRootUrl": "URL ra�z do GitHub", + "DisplayName:LatestVersionBranchName": "Nome do branch da última versão", + "DisplayName:GitHubRootUrl": "URL raíz do GitHub", "DisplayName:GitHubAccessToken": "Token de acesso do GitHub", - "DisplayName:GitHubUserAgent": "Usu�rio agente do GitHub", + "DisplayName:GitHubUserAgent": "Usuário agente do GitHub", "DisplayName:GithubVersionProviderSource": "Fonte do provedor de versão do GitHub", "DisplayName:VersionBranchPrefix": "Prefixo da ramificação da versão", "DisplayName:All": "Puxe tudo", diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json index 62913fa806..bc5c7cf826 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json @@ -38,4 +38,4 @@ "Search": "Search", "SearchResults": "Search Results" } -} +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pt-BR.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pt-BR.json index 1009a2a90e..ec0e91eb56 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pt-BR.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pt-BR.json @@ -11,9 +11,9 @@ "Delete": "Excluir", "ClearCache": "Limpar cache", "ClearCacheConfirmationMessage": "Tem certeza que deseja limpar todos os caches do projeto \"{0}\"", - "ReIndexAllProjects": "ReIndexar todos os projetos", - "ReIndexProject": "Projeto ReIndex", - "ReIndexProjectConfirmationMessage": "Tem certeza que deseja reindexar para o projeto \"{0}\"", + "ReIndexAllProjects": "Reindexar todos os projetos", + "ReIndexProject": "Reindexar Projeto", + "ReIndexProjectConfirmationMessage": "Tem certeza que deseja reindexar o projeto \"{0}\"", "SuccessfullyReIndexProject": "Reindexado com sucesso: \"{0}\"", "ReIndexAllProjectConfirmationMessage": "Tem certeza de que deseja reindexar todos os projetos?", "SuccessfullyReIndexAllProject": "Todos os projetos foram reindexados com sucesso", @@ -30,11 +30,11 @@ "Volo.Docs.Domain:010001": "A pesquisa elástica não está ativada.", "MultipleVersionDocumentInfo": "Este documento possui várias versões. Selecione as opções mais adequadas para você.", "New": "Novo", - "Upd": "Upd", + "Upd": "Atualizar", "NewExplanation": "Criado nas últimas duas semanas.", "UpdatedExplanation": "Atualizado nas últimas duas semanas.", - "Volo.Docs.Domain:010002": "ShortName {ShortName} já existe.", - "Preview": "antevisão", + "Volo.Docs.Domain:010002": "Nome curto {ShortName} já existe.", + "Preview": "Previsualizar", "Search": "Procurar", "SearchResults": "Procurar Resultados" } diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/pt-BR.json b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/pt-BR.json index f87f7ae811..a50ec6d471 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/pt-BR.json +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/pt-BR.json @@ -2,7 +2,7 @@ "culture": "pt-BR", "texts": { "Features": "Funcionalidades", - "NoFeatureFoundMessage": "N�o h� nenhuma funcionalidade dispon�vel.", + "NoFeatureFoundMessage": "Não há nenhuma funcionalidade disponivel.", "Permission:FeatureManagement": "Gerenciamento de recursos", "Permission:FeatureManagement.ManageHostFeatures": "Gerenciar recursos do Host", "Volo.Abp.FeatureManagement:InvalidFeatureValue": "O valor do recurso {0} não é válido!" diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json index d0485b1e93..97d5bbcd75 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/en.json @@ -109,4 +109,4 @@ "Description:Abp.Identity.User.IsUserNameUpdateEnabled": "Whether the username can be updated by the user.", "Description:Abp.Identity.User.IsEmailUpdateEnabled": "Whether the email can be updated by the user." } -} +} \ No newline at end of file diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json index 1701a17613..23befda585 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/pt-BR.json @@ -65,7 +65,7 @@ "Volo.Abp.Identity:010001": "Você não pode deletar sua própria conta!", "Volo.Abp.Identity:010002": "Não é possível definir mais de {MaxUserMembershipCount} unidade de organização para um usuário!", "Volo.Abp.Identity:010003": "Não é possível alterar a senha de um usuário conectado externamente!", - "Volo.Abp.Identity:010004": "Já existe uma unidade organizacional com o nome {0}. Duas unidades com o mesmo nome não pode ser criada no mesmo nível.", + "Volo.Abp.Identity:010004": "Já existe uma unidade organizacional com o nome {0}. Duas unidades com o mesmo nome não podem ser criadas no mesmo nível.", "Volo.Abp.Identity:010005": "Perfis estáticos não podem ser renomeados.", "Volo.Abp.Identity:010006": "Perfis estáticos não podem ser excluídos.", "Volo.Abp.Identity:010007": "Você não pode alterar sua configuração de dois fatores.", @@ -104,7 +104,7 @@ "Description:Abp.Identity.Lockout.LockoutDuration": "A duração que um usuário fica bloqueado quando ocorre um bloqueio.", "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "O número de tentativas de acesso malsucedidas permitidas antes que um usuário seja bloqueado, assumindo que o bloqueio esteja habilitado.", "Description:Abp.Identity.SignIn.RequireConfirmedEmail": "Se um endereço de e-mail confirmado é necessário para fazer login.", - "Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Se o phoneNumber pode ser confirmado pelo usuário.", + "Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Se o número de telefone pode ser confirmado pelo usuário.", "Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Se um número de telefone confirmado é necessário para fazer login.", "Description:Abp.Identity.User.IsUserNameUpdateEnabled": "Se o nome de usuário pode ser atualizado pelo usuário.", "Description:Abp.Identity.User.IsEmailUpdateEnabled": "Se o e-mail pode ser atualizado pelo usuário." diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo.Abp.OpenIddict.Domain.Shared.csproj b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo.Abp.OpenIddict.Domain.Shared.csproj index 34a4d6c334..fc5080b687 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo.Abp.OpenIddict.Domain.Shared.csproj +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo.Abp.OpenIddict.Domain.Shared.csproj @@ -23,4 +23,8 @@ + + + + diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/pt-BR.json b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/pt-BR.json index ac1a771466..c70a1b190b 100644 --- a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/pt-BR.json +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/pt-BR.json @@ -5,6 +5,7 @@ "OnlyProviderPermissons": "Apenas este provedor", "All": "Todos", "SelectAllInAllTabs": "Conceder todas as permissões", - "SelectAllInThisTab": "Selecionar todos" + "SelectAllInThisTab": "Selecionar todos", + "SaveWithoutAnyPermissionsWarningMessage": "Tem certeza que deseja salvar sem nenhuma permissão?" } } \ No newline at end of file diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/pt-BR.json b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/pt-BR.json index 27e0cf58d7..4237afe6ea 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/pt-BR.json +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/pt-BR.json @@ -5,6 +5,16 @@ "SuccessfullySaved": "Salvo com sucesso!", "Permission:SettingManagement": "Gestão de Cenários", "Permission:Emailing": "Enviando por e-mail", + "Permission:EmailingTest": "Teste de e-mail", + "SendTestEmail": "Enviar e-mail de teste", + "SenderEmailAddress": "E-mail remetente", + "TargetEmailAddress": "E-mail destinatário", + "Subject": "Título", + "Body": "Corpo", + "TestEmailSubject": "E-mail teste {0}", + "TestEmailBody": "Corpo de e-mail de teste aqui", + "SuccessfullySent": "Enviado com sucesso", + "Send": "Enviar", "Menu:Emailing": "Enviando por e-mail", "SmtpHost": "Hospedeiro", "SmtpPort": "Porta", diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/pt-BR.json b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/pt-BR.json index 672d2c49ad..6f43740161 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/pt-BR.json +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/pt-BR.json @@ -7,8 +7,8 @@ "TenantName": "Inquilino", "DisplayName:TenantName": "Inquilino", "TenantDeletionConfirmationMessage": "Inquilino '{0}' será excluído. Tem certeza?", - "ConnectionStrings": "String de Conexão", - "DisplayName:DefaultConnectionString": "String de Conexão Padrão", + "ConnectionStrings": "Cadeia de Conexão", + "DisplayName:DefaultConnectionString": "Cadeia de Conexão Padrão", "DisplayName:UseSharedDatabase": "Use o banco de dados compartilhado", "ManageHostFeatures": "Gerenciar recursos do Host", "Permission:TenantManagement": "Inquilinos", diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/en.json b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/en.json index dceede4439..6b794bf791 100644 --- a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/en.json +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/en.json @@ -1,14 +1,14 @@ { "culture": "en", "texts": { - "VirtualFileExplorer" : "Virtual file explorer", - "VirtualFileType" : "Virtual file type", - "Menu:VirtualFileExplorer" : "Virtual file explorer", - "LastUpdateTime" : "Last update time", - "VirtualFileName" : "Virtual file name", - "FileContent" : "File content", - "Size" : "Size", - "BackToRoot" : "Back to root", - "EmptyFileInfoList" : "There are no virtual files" + "VirtualFileExplorer": "Virtual file explorer", + "VirtualFileType": "Virtual file type", + "Menu:VirtualFileExplorer": "Virtual file explorer", + "LastUpdateTime": "Last update time", + "VirtualFileName": "Virtual file name", + "FileContent": "File content", + "Size": "Size", + "BackToRoot": "Back to root", + "EmptyFileInfoList": "There are no virtual files" } } From 30786a0e53dfd47eba8271c145c7334155c4ace9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 16 Jun 2022 14:21:50 +0300 Subject: [PATCH 03/26] Implement ContractAnnotation for IsNullOrEmpty & IsNullOrWhiteSpace extension methods. --- framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs | 2 ++ .../System/Collections/Generic/AbpCollectionExtensions.cs | 1 + 2 files changed, 3 insertions(+) diff --git a/framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs b/framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs index 0e71df6b59..d433fff59b 100644 --- a/framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs +++ b/framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs @@ -46,6 +46,7 @@ public static class AbpStringExtensions /// /// Indicates whether this string is null or an System.String.Empty string. /// + [ContractAnnotation("str:null => true")] public static bool IsNullOrEmpty(this string str) { return string.IsNullOrEmpty(str); @@ -54,6 +55,7 @@ public static class AbpStringExtensions /// /// indicates whether this string is null, empty, or consists only of white-space characters. /// + [ContractAnnotation("str:null => true")] public static bool IsNullOrWhiteSpace(this string str) { return string.IsNullOrWhiteSpace(str); diff --git a/framework/src/Volo.Abp.Core/System/Collections/Generic/AbpCollectionExtensions.cs b/framework/src/Volo.Abp.Core/System/Collections/Generic/AbpCollectionExtensions.cs index 4df3010aba..83fbf59629 100644 --- a/framework/src/Volo.Abp.Core/System/Collections/Generic/AbpCollectionExtensions.cs +++ b/framework/src/Volo.Abp.Core/System/Collections/Generic/AbpCollectionExtensions.cs @@ -12,6 +12,7 @@ public static class AbpCollectionExtensions /// /// Checks whatever given collection object is null or has no item. /// + [ContractAnnotation("source:null => true")] public static bool IsNullOrEmpty([CanBeNull] this ICollection source) { return source == null || source.Count <= 0; From 806c640bc566137fdf38ed690d4282af7248a986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 16 Jun 2022 14:27:13 +0300 Subject: [PATCH 04/26] Use ContractAnnotation attributed for string extensions. --- .../src/Volo.Abp.Core/System/AbpStringExtensions.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs b/framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs index d433fff59b..c7e1bef3b2 100644 --- a/framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs +++ b/framework/src/Volo.Abp.Core/System/AbpStringExtensions.cs @@ -119,6 +119,7 @@ public static class AbpStringExtensions /// The string. /// one or more postfix. /// Modified string or the same string if it has not any of given postfixes + [ContractAnnotation("null <= str:null")] public static string RemovePostFix(this string str, params string[] postFixes) { return str.RemovePostFix(StringComparison.Ordinal, postFixes); @@ -131,6 +132,7 @@ public static class AbpStringExtensions /// String comparison type /// one or more postfix. /// Modified string or the same string if it has not any of given postfixes + [ContractAnnotation("null <= str:null")] public static string RemovePostFix(this string str, StringComparison comparisonType, params string[] postFixes) { if (str.IsNullOrEmpty()) @@ -160,6 +162,7 @@ public static class AbpStringExtensions /// The string. /// one or more prefix. /// Modified string or the same string if it has not any of given prefixes + [ContractAnnotation("null <= str:null")] public static string RemovePreFix(this string str, params string[] preFixes) { return str.RemovePreFix(StringComparison.Ordinal, preFixes); @@ -172,6 +175,7 @@ public static class AbpStringExtensions /// String comparison type /// one or more prefix. /// Modified string or the same string if it has not any of given prefixes + [ContractAnnotation("null <= str:null")] public static string RemovePreFix(this string str, StringComparison comparisonType, params string[] preFixes) { if (str.IsNullOrEmpty()) @@ -264,6 +268,7 @@ public static class AbpStringExtensions /// set true to use current culture. Otherwise, invariant culture will be used. /// set true to if you want to convert 'XYZ' to 'xyz'. /// camelCase of the string + [ContractAnnotation("null <= str:null")] public static string ToCamelCase(this string str, bool useCurrentCulture = false, bool handleAbbreviations = false) { if (string.IsNullOrWhiteSpace(str)) @@ -290,6 +295,7 @@ public static class AbpStringExtensions /// /// String to convert. /// set true to use current culture. Otherwise, invariant culture will be used. + [ContractAnnotation("null <= str:null")] public static string ToSentenceCase(this string str, bool useCurrentCulture = false) { if (string.IsNullOrWhiteSpace(str)) @@ -307,6 +313,7 @@ public static class AbpStringExtensions /// /// String to convert. /// set true to use current culture. Otherwise, invariant culture will be used. + [ContractAnnotation("null <= str:null")] public static string ToKebabCase(this string str, bool useCurrentCulture = false) { if (string.IsNullOrWhiteSpace(str)) @@ -440,6 +447,7 @@ public static class AbpStringExtensions /// String to convert /// set true to use current culture. Otherwise, invariant culture will be used. /// PascalCase of the string + [ContractAnnotation("null <= str:null")] public static string ToPascalCase(this string str, bool useCurrentCulture = false) { if (string.IsNullOrWhiteSpace(str)) @@ -458,7 +466,7 @@ public static class AbpStringExtensions /// /// Gets a substring of a string from beginning of the string if it exceeds maximum length. /// - /// Thrown if is null + [ContractAnnotation("null <= str:null")] public static string Truncate(this string str, int maxLength) { if (str == null) @@ -477,7 +485,7 @@ public static class AbpStringExtensions /// /// Gets a substring of a string from Ending of the string if it exceeds maximum length. /// - /// Thrown if is null + [ContractAnnotation("null <= str:null")] public static string TruncateFromBeginning(this string str, int maxLength) { if (str == null) @@ -510,6 +518,7 @@ public static class AbpStringExtensions /// Returning string can not be longer than maxLength. /// /// Thrown if is null + [ContractAnnotation("null <= str:null")] public static string TruncateWithPostfix(this string str, int maxLength, string postfix) { if (str == null) From a90470cf28ced42482e20aa8c9073363af1271b6 Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Thu, 16 Jun 2022 16:16:12 +0300 Subject: [PATCH 05/26] Change IdentityServer Index page --- .../Pages/Index.cshtml | 119 ++++++++++++++---- .../Pages/Index.cshtml.cs | 19 ++- 2 files changed, 111 insertions(+), 27 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml index db9f1f100a..c61632e453 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml @@ -1,34 +1,103 @@ @page +@using Microsoft.AspNetCore.Mvc.Localization @using MyCompanyName.MyProjectName.Pages +@using MyCompanyName.MyProjectName.Localization @using Volo.Abp.Users +@using Volo.Abp.AspNetCore.Mvc.UI.Theming +@using Volo.Abp.Ui.Branding @model IndexModel +@inject IHtmlLocalizer L @inject ICurrentUser CurrentUser -@if (CurrentUser.IsAuthenticated) -{ -
+@inject IBrandingProvider BrandingProvider +@inject ITheme Theme + +@{ + Layout = Theme.GetEmptyLayout(); +} + +
+
- - - Logout - - -

@CurrentUser.UserName

-
@CurrentUser.Email
-
- Roles: @CurrentUser.Roles.JoinAsString(", ") -
- Claims:
- @Html.Raw(CurrentUser.GetAllClaims().Select(c => $"{c.Type}={c.Value}").JoinAsString("
")) + + -} + + + + +
+
+
+ +
+
+ @if (CurrentUser.IsAuthenticated) + { + + @L["Welcome"] @CurrentUser.UserName + + @CurrentUser.Email + + } + else + { + @L["Login"] + } +
+
-@if (!CurrentUser.IsAuthenticated) -{ -
-

- Login +
+ + + + @foreach (var client in Model.Clients.Where(x => x.RedirectUris.Count > 0)) + { + + + + + @if (!client.LogoUri.IsNullOrEmpty()) + { +
+ +
+ } + +

@client.ClientName

+ @{ + var redirectUri = new Uri(@client.RedirectUris.First().RedirectUri); + var url = @redirectUri.AbsoluteUri.RemovePostFix(redirectUri.AbsolutePath); + } + @url +
+ Visit +
+
+
+
+ } + +
+
+ + + + +
+ +
-} +
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml.cs index e8230ee00c..df43e3a798 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml.cs @@ -1,10 +1,25 @@ using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; +using IdentityServer4.Stores; +using Volo.Abp.IdentityServer.Clients; +using System.Threading.Tasks; +using System.Collections.Generic; namespace MyCompanyName.MyProjectName.Pages; public class IndexModel : AbpPageModel { - public void OnGet() + public List Clients { get; protected set; } + + // TODO: Consider using IClientStore here. + protected IClientRepository ClientRepository { get; } + + public IndexModel(IClientRepository clientRepository) + { + this.ClientRepository = clientRepository; + } + + public async Task OnGetAsync() { + Clients = await ClientRepository.GetListAsync(includeDetails: true); } -} +} \ No newline at end of file From 9be612f93865290364908c891e4aa05c5fc7be0e Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Thu, 16 Jun 2022 16:16:16 +0300 Subject: [PATCH 06/26] Update IdentityServerDataSeedContributor.cs --- .../IdentityServerDataSeedContributor.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs index da0b56a6d0..466f36658e 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/IdentityServer/IdentityServerDataSeedContributor.cs @@ -152,6 +152,7 @@ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransien await CreateClientAsync( name: webClientId, + clientUri: webClientRootUrl, scopes: commonScopes, grantTypes: new[] { "hybrid" }, secret: (configurationSection["MyProjectName_Web:ClientSecret"] ?? "1q2w3e*").Sha256(), @@ -172,6 +173,7 @@ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransien await CreateClientAsync( name: consoleAndAngularClientId, + clientUri: webClientRootUrl, scopes: commonScopes, grantTypes: new[] { "password", "client_credentials", "authorization_code" }, secret: (configurationSection["MyProjectName_App:ClientSecret"] ?? "1q2w3e*").Sha256(), @@ -192,6 +194,7 @@ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransien await CreateClientAsync( name: blazorClientId, + clientUri: blazorRootUrl, scopes: commonScopes, grantTypes: new[] { "authorization_code" }, secret: configurationSection["MyProjectName_Blazor:ClientSecret"]?.Sha256(), @@ -217,6 +220,7 @@ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransien await CreateClientAsync( name: blazorServerTieredClientId, + clientUri: blazorServerTieredClientRootUrl, scopes: commonScopes, grantTypes: new[] { "hybrid" }, secret: (configurationSection["MyProjectName_BlazorServerTiered:ClientSecret"] ?? "1q2w3e*").Sha256(), @@ -237,6 +241,7 @@ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransien await CreateClientAsync( name: swaggerClientId, + clientUri: swaggerRootUrl, scopes: commonScopes, grantTypes: new[] { "authorization_code" }, secret: configurationSection["MyProjectName_Swagger:ClientSecret"]?.Sha256(), @@ -251,6 +256,7 @@ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransien string name, IEnumerable scopes, IEnumerable grantTypes, + string clientUri = null, string secret = null, string redirectUri = null, string postLogoutRedirectUri = null, @@ -270,6 +276,7 @@ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransien ) { ClientName = name, + ClientUri = clientUri, ProtocolType = "oidc", Description = name, AlwaysIncludeUserClaimsInIdToken = true, @@ -287,6 +294,11 @@ public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransien ); } + if (client.ClientUri != clientUri) + { + client.ClientUri = clientUri; + } + foreach (var scope in scopes) { if (client.FindScope(scope) == null) From 0db591f4d1cd6b5b67f91396a67904a8910bcbc4 Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Thu, 16 Jun 2022 16:18:54 +0300 Subject: [PATCH 07/26] Update Index.cshtml.cs --- .../Pages/Index.cshtml.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml.cs index df43e3a798..dee9e692d8 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/Pages/Index.cshtml.cs @@ -9,8 +9,7 @@ namespace MyCompanyName.MyProjectName.Pages; public class IndexModel : AbpPageModel { public List Clients { get; protected set; } - - // TODO: Consider using IClientStore here. + protected IClientRepository ClientRepository { get; } public IndexModel(IClientRepository clientRepository) From 7206583617a26d4f68ee6f28bf368c44ea66e750 Mon Sep 17 00:00:00 2001 From: Berkan Sasmaz Date: Thu, 16 Jun 2022 17:11:02 +0300 Subject: [PATCH 08/26] Update en.json --- .../AbpIoLocalization/Commercial/Localization/Resources/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json index 4b3abd4d6d..d0022b30a5 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json @@ -376,7 +376,7 @@ "StartTrial": "Start My Free Trial", "ContactUsQuestions": "Contact us if you have any questions", "TrialActivatedWarning": "A user is entitled to have only 1 free trial period. You already used your trial period.", - "ActivationRequirement": "You are last one step away from starting a free trial.
After checking your information, we will activate your license. Once your license is activated, we will send an email to {0}. Don't worry, this process won't take long!", + "ActivationRequirement": "You are last one step away from starting your trial.
After checking your information, we will activate your license. Once your license is activated, we will send an email to {0}. Don't worry, this process won't take long!", "SaveAndDownload": "Save And Download", "CompanyNameValidationMessage": "Company name is too long!", "AddressValidationMessage": "Address is too long!", From 2978e4ac524d84b102ef373a70e6cbcb7500a96c Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Thu, 16 Jun 2022 20:02:41 +0300 Subject: [PATCH 09/26] Added revocation permission to refresh_token grant --- .../OpenIddict/OpenIddictDataSeedContributor.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs index 125a029e1c..130ee66428 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs @@ -292,6 +292,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep if (grantType == OpenIddictConstants.GrantTypes.RefreshToken) { application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.RefreshToken); + application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Revocation); } if (grantType == OpenIddictConstants.GrantTypes.Implicit) From 3476f08449f39c255517532772ecb3aef0c3659d Mon Sep 17 00:00:00 2001 From: Elan Hasson <234704+ElanHasson@users.noreply.github.com> Date: Thu, 16 Jun 2022 22:26:02 -0400 Subject: [PATCH 10/26] Update Authorization.md missing word --- docs/en/Authorization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/Authorization.md b/docs/en/Authorization.md index 199b73d1c8..869c49a52a 100644 --- a/docs/en/Authorization.md +++ b/docs/en/Authorization.md @@ -4,7 +4,7 @@ Authorization is used to check if a user is allowed to perform some specific ope ABP extends [ASP.NET Core Authorization](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction) by adding **permissions** as auto [policies](https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies) and allowing authorization system to be usable in the **[application services](Application-Services.md)** too. -So, all the ASP.NET Core authorization features and the documentation are valid in an ABP based application. This document focuses on the features that added on top of ASP.NET Core authorization features. +So, all the ASP.NET Core authorization features and the documentation are valid in an ABP based application. This document focuses on the features that are added on top of ASP.NET Core authorization features. ## Authorize Attribute From 91529752d8a7d08fe0a9835435e57ce810309af7 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 17 Jun 2022 10:55:15 +0800 Subject: [PATCH 11/26] Added revocation permission. --- .../Data/OpenIddictDataSeedContributor.cs | 1 + .../Data/OpenIddictDataSeedContributor.cs | 1 + .../OpenIddict/OpenIddictDataSeedContributor.cs | 2 +- .../OpenIddict/OpenIddictDataSeedContributor.cs | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/Data/OpenIddictDataSeedContributor.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/Data/OpenIddictDataSeedContributor.cs index c7e2925aa5..23317f8aaf 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/Data/OpenIddictDataSeedContributor.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/Data/OpenIddictDataSeedContributor.cs @@ -197,6 +197,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep grantType == OpenIddictConstants.GrantTypes.DeviceCode) { application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Token); + application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Revocation); } if (grantType == OpenIddictConstants.GrantTypes.ClientCredentials) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Data/OpenIddictDataSeedContributor.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Data/OpenIddictDataSeedContributor.cs index c7e2925aa5..23317f8aaf 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Data/OpenIddictDataSeedContributor.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Data/OpenIddictDataSeedContributor.cs @@ -197,6 +197,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep grantType == OpenIddictConstants.GrantTypes.DeviceCode) { application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Token); + application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Revocation); } if (grantType == OpenIddictConstants.GrantTypes.ClientCredentials) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs index 130ee66428..6b306c1f0a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs @@ -272,6 +272,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep grantType == OpenIddictConstants.GrantTypes.DeviceCode) { application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Token); + application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Revocation); } if (grantType == OpenIddictConstants.GrantTypes.ClientCredentials) @@ -292,7 +293,6 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep if (grantType == OpenIddictConstants.GrantTypes.RefreshToken) { application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.RefreshToken); - application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Revocation); } if (grantType == OpenIddictConstants.GrantTypes.Implicit) diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs index 057cc82167..9fc3a722ba 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs @@ -249,6 +249,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep grantType == OpenIddictConstants.GrantTypes.DeviceCode) { application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Token); + application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Revocation); } if (grantType == OpenIddictConstants.GrantTypes.ClientCredentials) From d3b82172d42a1318d6cfa70f392427161a474c6a Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Fri, 17 Jun 2022 14:11:22 +0800 Subject: [PATCH 12/26] Update OpenIddictDataSeedContributor --- .../OpenIddict/OpenIddictDataSeedContributor.cs | 2 +- .../OpenIddict/OpenIddictDataSeedContributor.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs index 6b306c1f0a..3394913dd8 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs @@ -90,7 +90,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep type: OpenIddictConstants.ClientTypes.Confidential, consentType: OpenIddictConstants.ConsentTypes.Implicit, displayName: "Web Application", - secret: configurationSection["MyProjectName_App:ClientSecret"] ?? "1q2w3e*", + secret: configurationSection["MyProjectName_Web:ClientSecret"] ?? "1q2w3e*", grantTypes: new List //Hybrid flow { OpenIddictConstants.GrantTypes.AuthorizationCode, diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs index 9fc3a722ba..fd9024b03a 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs @@ -90,7 +90,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep type: OpenIddictConstants.ClientTypes.Confidential, consentType: OpenIddictConstants.ConsentTypes.Implicit, displayName: "Web Application", - secret: configurationSection["MyProjectName_App:ClientSecret"] ?? "1q2w3e*", + secret: configurationSection["MyProjectName_Web:ClientSecret"] ?? "1q2w3e*", grantTypes: new List //Hybrid flow { OpenIddictConstants.GrantTypes.AuthorizationCode, From 4db6fe874e45f148833b9abb642b786c60932ca7 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Fri, 17 Jun 2022 15:06:59 +0800 Subject: [PATCH 13/26] Update OpenIddictDataSeedContributor --- .../OpenIddict/OpenIddictDataSeedContributor.cs | 6 +++--- .../OpenIddict/OpenIddictDataSeedContributor.cs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs index 3394913dd8..add52f7437 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Domain/OpenIddict/OpenIddictDataSeedContributor.cs @@ -106,7 +106,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep var consoleAndAngularClientId = configurationSection["MyProjectName_App:ClientId"]; if (!consoleAndAngularClientId.IsNullOrWhiteSpace()) { - var webClientRootUrl = configurationSection["MyProjectName_App:RootUrl"]?.TrimEnd('/'); + var consoleAndAngularClientRootUrl = configurationSection["MyProjectName_App:RootUrl"]?.TrimEnd('/'); await CreateApplicationAsync( name: consoleAndAngularClientId, type: OpenIddictConstants.ClientTypes.Public, @@ -121,8 +121,8 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep OpenIddictConstants.GrantTypes.RefreshToken }, scopes: commonScopes, - redirectUri: webClientRootUrl, - postLogoutRedirectUri: webClientRootUrl + redirectUri: consoleAndAngularClientRootUrl, + postLogoutRedirectUri: consoleAndAngularClientRootUrl ); } diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs index fd9024b03a..872920cb82 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/OpenIddict/OpenIddictDataSeedContributor.cs @@ -106,7 +106,7 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep var consoleAndAngularClientId = configurationSection["MyProjectName_App:ClientId"]; if (!consoleAndAngularClientId.IsNullOrWhiteSpace()) { - var webClientRootUrl = configurationSection["MyProjectName_App:RootUrl"]?.TrimEnd('/'); + var consoleAndAngularClientRootUrl = configurationSection["MyProjectName_App:RootUrl"]?.TrimEnd('/'); await CreateApplicationAsync( name: consoleAndAngularClientId, type: OpenIddictConstants.ClientTypes.Public, @@ -121,8 +121,8 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep OpenIddictConstants.GrantTypes.RefreshToken }, scopes: commonScopes, - redirectUri: webClientRootUrl, - postLogoutRedirectUri: webClientRootUrl + redirectUri: consoleAndAngularClientRootUrl, + postLogoutRedirectUri: consoleAndAngularClientRootUrl ); } From 7a830637eca9c5e0c9d72908c0d3c256eac0f824 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 17 Jun 2022 16:30:30 +0800 Subject: [PATCH 14/26] Add `ClientUri ` and `LogoUri ` to `OpenIddictApplication`. --- .../OpenIddict/AbpOpenIddictDomainModule.cs | 6 ++ .../Applications/AbpApplicationDescriptor.cs | 16 +++++ .../Applications/AbpApplicationManager.cs | 61 +++++++++++++++++++ .../AbpOpenIddictApplicationStore.cs | 19 +++++- .../Applications/IAbpApplicationManager.cs | 12 ++++ .../IAbpOpenIdApplicationStore.cs | 12 ++++ .../Applications/OpenIddictApplication.cs | 10 +++ .../OpenIddictApplicationExtensions.cs | 10 ++- .../OpenIddictApplicationModel.cs | 10 +++ 9 files changed, 151 insertions(+), 5 deletions(-) create mode 100644 modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationDescriptor.cs create mode 100644 modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationManager.cs create mode 100644 modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/IAbpApplicationManager.cs create mode 100644 modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/IAbpOpenIdApplicationStore.cs diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/AbpOpenIddictDomainModule.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/AbpOpenIddictDomainModule.cs index 16c3ab49c5..428f5a7062 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/AbpOpenIddictDomainModule.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/AbpOpenIddictDomainModule.cs @@ -1,6 +1,8 @@ using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; +using OpenIddict.Abstractions; using Volo.Abp.BackgroundWorkers; using Volo.Abp.Caching; using Volo.Abp.DistributedLocking; @@ -68,6 +70,10 @@ public class AbpOpenIddictDomainModule : AbpModule .AddScopeStore() .AddTokenStore(); + builder.ReplaceApplicationManager(typeof(AbpApplicationManager)); + + builder.Services.TryAddScoped(provider => (IAbpApplicationManager)provider.GetRequiredService()); + services.ExecutePreConfiguredActions(builder); }); diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationDescriptor.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationDescriptor.cs new file mode 100644 index 0000000000..3b5a4fc247 --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationDescriptor.cs @@ -0,0 +1,16 @@ +using OpenIddict.Abstractions; + +namespace Volo.Abp.OpenIddict.Applications; + +public class AbpApplicationDescriptor : OpenIddictApplicationDescriptor +{ + /// + /// URI to further information about client. + /// + public string ClientUri { get; set; } + + /// + /// URI to client logo. + /// + public string LogoUri { get; set; } +} diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationManager.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationManager.cs new file mode 100644 index 0000000000..b205f60be2 --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpApplicationManager.cs @@ -0,0 +1,61 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using JetBrains.Annotations; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using OpenIddict.Abstractions; +using OpenIddict.Core; + +namespace Volo.Abp.OpenIddict.Applications; + +public class AbpApplicationManager : OpenIddictApplicationManager, IAbpApplicationManager +{ + public AbpApplicationManager( + [NotNull] IOpenIddictApplicationCache cache, + [NotNull] ILogger logger, + [NotNull] IOptionsMonitor options, + [NotNull] IOpenIddictApplicationStoreResolver resolver) + : base(cache, logger, options, resolver) + { + + } + + public async override ValueTask PopulateAsync(OpenIddictApplicationDescriptor descriptor, OpenIddictApplicationModel application, CancellationToken cancellationToken = default) + { + await base.PopulateAsync(descriptor, application, cancellationToken); + + if (descriptor is AbpApplicationDescriptor model) + { + application.ClientUri = model.ClientUri; + application.LogoUri = model.LogoUri; + } + } + + public async override ValueTask PopulateAsync(OpenIddictApplicationModel application, OpenIddictApplicationDescriptor descriptor, CancellationToken cancellationToken = default) + { + await base.PopulateAsync(application, descriptor, cancellationToken); + + if (descriptor is AbpApplicationDescriptor model) + { + application.ClientUri = model.ClientUri; + application.LogoUri = model.LogoUri; + } + } + + public virtual async ValueTask GetClientUriAsync(object application, CancellationToken cancellationToken = default) + { + Check.NotNull(application, nameof(application)); + Check.AssignableTo(application.GetType(), nameof(application)); + + return await Store.As().GetClientUriAsync(application.As(), cancellationToken); + } + + public virtual async ValueTask GetLogoUriAsync(object application, CancellationToken cancellationToken = default) + { + Check.NotNull(application, nameof(application)); + Check.AssignableTo(application.GetType(), nameof(application)); + + return await Store.As().GetLogoUriAsync(application.As(), cancellationToken); + } +} diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpOpenIddictApplicationStore.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpOpenIddictApplicationStore.cs index 35c37bb657..1f740ecfcd 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpOpenIddictApplicationStore.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/AbpOpenIddictApplicationStore.cs @@ -8,14 +8,13 @@ using System.Runtime.CompilerServices; using System.Text.Json; using System.Threading; using System.Threading.Tasks; -using OpenIddict.Abstractions; using Volo.Abp.Guids; using Volo.Abp.OpenIddict.Tokens; using Volo.Abp.Uow; namespace Volo.Abp.OpenIddict.Applications; -public class AbpOpenIddictApplicationStore : AbpOpenIddictStoreBase, IOpenIddictApplicationStore +public class AbpOpenIddictApplicationStore : AbpOpenIddictStoreBase, IAbpOpenIdApplicationStore { protected IOpenIddictTokenRepository TokenRepository { get; } @@ -44,7 +43,7 @@ public class AbpOpenIddictApplicationStore : AbpOpenIddictStoreBase GetClientUriAsync(OpenIddictApplicationModel application, CancellationToken cancellationToken = default) + { + Check.NotNull(application, nameof(application)); + + return new ValueTask(application.ClientUri); + } + + public virtual ValueTask GetLogoUriAsync(OpenIddictApplicationModel application, CancellationToken cancellationToken = default) + { + Check.NotNull(application, nameof(application)); + + return new ValueTask(application.LogoUri); + } } diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/IAbpApplicationManager.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/IAbpApplicationManager.cs new file mode 100644 index 0000000000..1f12a9d088 --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/IAbpApplicationManager.cs @@ -0,0 +1,12 @@ +using System.Threading; +using System.Threading.Tasks; +using OpenIddict.Abstractions; + +namespace Volo.Abp.OpenIddict.Applications; + +public interface IAbpApplicationManager : IOpenIddictApplicationManager +{ + ValueTask GetClientUriAsync(object application, CancellationToken cancellationToken = default); + + ValueTask GetLogoUriAsync(object application, CancellationToken cancellationToken = default); +} diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/IAbpOpenIdApplicationStore.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/IAbpOpenIdApplicationStore.cs new file mode 100644 index 0000000000..ca2cd50102 --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/IAbpOpenIdApplicationStore.cs @@ -0,0 +1,12 @@ +using System.Threading; +using System.Threading.Tasks; +using OpenIddict.Abstractions; + +namespace Volo.Abp.OpenIddict.Applications; + +public interface IAbpOpenIdApplicationStore : IOpenIddictApplicationStore +{ + ValueTask GetClientUriAsync(OpenIddictApplicationModel application, CancellationToken cancellationToken = default); + + ValueTask GetLogoUriAsync(OpenIddictApplicationModel application, CancellationToken cancellationToken = default); +} diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplication.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplication.cs index 6ef1fea798..6098f67392 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplication.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplication.cs @@ -77,4 +77,14 @@ public class OpenIddictApplication : FullAuditedAggregateRoot /// Gets or sets the application type associated with the current application. /// public virtual string Type { get; set; } + + /// + /// URI to further information about client. + /// + public string ClientUri { get; set; } + + /// + /// URI to client logo. + /// + public string LogoUri { get; set; } } diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplicationExtensions.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplicationExtensions.cs index 8f492efe06..87ef747f7b 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplicationExtensions.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplicationExtensions.cs @@ -18,7 +18,9 @@ public static class OpenIddictApplicationExtensions Properties = model.Properties, RedirectUris = model.RedirectUris, Requirements = model.Requirements, - Type = model.Type + Type = model.Type, + ClientUri = model.ClientUri, + LogoUri = model.LogoUri }; foreach (var extraProperty in model.ExtraProperties) @@ -45,6 +47,8 @@ public static class OpenIddictApplicationExtensions entity.RedirectUris = model.RedirectUris; entity.Requirements = model.Requirements; entity.Type = model.Type; + entity.ClientUri = model.ClientUri; + entity.LogoUri = model.LogoUri; foreach (var extraProperty in model.ExtraProperties) { @@ -75,7 +79,9 @@ public static class OpenIddictApplicationExtensions Properties = entity.Properties, RedirectUris = entity.RedirectUris, Requirements = entity.Requirements, - Type = entity.Type + Type = entity.Type, + ClientUri = entity.ClientUri, + LogoUri = entity.LogoUri }; foreach (var extraProperty in entity.ExtraProperties) diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplicationModel.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplicationModel.cs index 762099cc89..ff13ef2355 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplicationModel.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Applications/OpenIddictApplicationModel.cs @@ -72,4 +72,14 @@ public class OpenIddictApplicationModel : ExtensibleObject /// Gets or sets the application type associated with the current application. /// public virtual string Type { get; set; } + + /// + /// URI to further information about client. + /// + public string ClientUri { get; set; } + + /// + /// URI to client logo. + /// + public string LogoUri { get; set; } } From b9ab7e1b8c573df4942bab438b9fe8e9157a1d80 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 17 Jun 2022 16:41:55 +0800 Subject: [PATCH 15/26] Update templates migrations. --- ...signer.cs => 20220617083820_Initial.Designer.cs} | 13 ++++++++++--- ...9051356_Initial.cs => 20220617083820_Initial.cs} | 2 ++ .../MyProjectNameDbContextModelSnapshot.cs | 11 +++++++++-- ...signer.cs => 20220617083539_Initial.Designer.cs} | 13 ++++++++++--- ...9051355_Initial.cs => 20220617083539_Initial.cs} | 2 ++ .../MyProjectNameDbContextModelSnapshot.cs | 11 +++++++++-- ...signer.cs => 20220617083649_Initial.Designer.cs} | 13 ++++++++++--- ...9051401_Initial.cs => 20220617083649_Initial.cs} | 2 ++ .../MyProjectNameDbContextModelSnapshot.cs | 11 +++++++++-- ...signer.cs => 20220617083228_Initial.Designer.cs} | 8 +++++++- ...6082402_Initial.cs => 20220617083228_Initial.cs} | 2 ++ .../MyProjectNameDbContextModelSnapshot.cs | 6 ++++++ ...signer.cs => 20220617083652_Initial.Designer.cs} | 13 ++++++++++--- ...0080813_Initial.cs => 20220617083652_Initial.cs} | 2 ++ .../Migrations/AuthServerDbContextModelSnapshot.cs | 8 +++++++- ...signer.cs => 20220617083658_Initial.Designer.cs} | 7 ++++--- ...4020351_Initial.cs => 20220617083658_Initial.cs} | 0 .../Migrations/UnifiedDbContextModelSnapshot.cs | 5 +++-- ...signer.cs => 20220617083659_Initial.Designer.cs} | 7 ++++--- ...4020406_Initial.cs => 20220617083659_Initial.cs} | 0 .../Migrations/UnifiedDbContextModelSnapshot.cs | 5 +++-- 21 files changed, 111 insertions(+), 30 deletions(-) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/{20220519051356_Initial.Designer.cs => 20220617083820_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/{20220519051356_Initial.cs => 20220617083820_Initial.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/{20220519051355_Initial.Designer.cs => 20220617083539_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/{20220519051355_Initial.cs => 20220617083539_Initial.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/{20220519051401_Initial.Designer.cs => 20220617083649_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/{20220519051401_Initial.cs => 20220617083649_Initial.cs} (99%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/{20220606082402_Initial.Designer.cs => 20220617083228_Initial.Designer.cs} (99%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/{20220606082402_Initial.cs => 20220617083228_Initial.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/{20220520080813_Initial.Designer.cs => 20220617083652_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/{20220520080813_Initial.cs => 20220617083652_Initial.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/{20211124020351_Initial.Designer.cs => 20220617083658_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/{20211124020351_Initial.cs => 20220617083658_Initial.cs} (100%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20211124020406_Initial.Designer.cs => 20220617083659_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20211124020406_Initial.cs => 20220617083659_Initial.cs} (100%) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220519051356_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220617083820_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220519051356_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220617083820_Initial.Designer.cs index 423841ae21..9e1a8f9cd8 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220519051356_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220617083820_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20220519051356_Initial")] + [Migration("20220617083820_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -21,7 +21,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.1") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -598,7 +598,8 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() @@ -944,6 +945,9 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -994,6 +998,9 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220519051356_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220617083820_Initial.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220519051356_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220617083820_Initial.cs index 906d908cb4..85d36d8b57 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220519051356_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20220617083820_Initial.cs @@ -271,6 +271,8 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations RedirectUris = table.Column(type: "nvarchar(max)", nullable: true), Requirements = table.Column(type: "nvarchar(max)", nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ClientUri = table.Column(type: "nvarchar(max)", nullable: true), + LogoUri = table.Column(type: "nvarchar(max)", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs index cbb2af9f96..0a32c8664e 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.1") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -596,7 +596,8 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() @@ -942,6 +943,9 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -992,6 +996,9 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220519051355_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220617083539_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220519051355_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220617083539_Initial.Designer.cs index 17e18cfdaf..5b55ca75a9 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220519051355_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220617083539_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Host.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20220519051355_Initial")] + [Migration("20220617083539_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -21,7 +21,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.1") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -598,7 +598,8 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() @@ -944,6 +945,9 @@ namespace MyCompanyName.MyProjectName.Host.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -994,6 +998,9 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220519051355_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220617083539_Initial.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220519051355_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220617083539_Initial.cs index bddc83db55..29cc53b046 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220519051355_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20220617083539_Initial.cs @@ -271,6 +271,8 @@ namespace MyCompanyName.MyProjectName.Host.Migrations RedirectUris = table.Column(type: "nvarchar(max)", nullable: true), Requirements = table.Column(type: "nvarchar(max)", nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ClientUri = table.Column(type: "nvarchar(max)", nullable: true), + LogoUri = table.Column(type: "nvarchar(max)", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs index de96183c79..2597920679 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.1") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -596,7 +596,8 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() @@ -942,6 +943,9 @@ namespace MyCompanyName.MyProjectName.Host.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -992,6 +996,9 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220519051401_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220617083649_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220519051401_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220617083649_Initial.Designer.cs index c0a1035988..213ce02572 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220519051401_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220617083649_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Mvc.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20220519051401_Initial")] + [Migration("20220617083649_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -21,7 +21,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.1") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -598,7 +598,8 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() @@ -944,6 +945,9 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -994,6 +998,9 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220519051401_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220617083649_Initial.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220519051401_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220617083649_Initial.cs index 012a5de1ad..2a30fba759 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220519051401_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20220617083649_Initial.cs @@ -271,6 +271,8 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations RedirectUris = table.Column(type: "nvarchar(max)", nullable: true), Requirements = table.Column(type: "nvarchar(max)", nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ClientUri = table.Column(type: "nvarchar(max)", nullable: true), + LogoUri = table.Column(type: "nvarchar(max)", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs index 6366763ca2..350f086968 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.1") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -596,7 +596,8 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() @@ -942,6 +943,9 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -992,6 +996,9 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220606082402_Initial.Designer.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220617083228_Initial.Designer.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220606082402_Initial.Designer.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220617083228_Initial.Designer.cs index 3def67345f..1ea724aa5b 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220606082402_Initial.Designer.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220617083228_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20220606082402_Initial")] + [Migration("20220617083228_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -997,6 +997,9 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -1047,6 +1050,9 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220606082402_Initial.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220617083228_Initial.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220606082402_Initial.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220617083228_Initial.cs index 6025706c2a..55ae609199 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220606082402_Initial.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20220617083228_Initial.cs @@ -292,6 +292,8 @@ namespace MyCompanyName.MyProjectName.Migrations RedirectUris = table.Column(type: "nvarchar(max)", nullable: true), Requirements = table.Column(type: "nvarchar(max)", nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ClientUri = table.Column(type: "nvarchar(max)", nullable: true), + LogoUri = table.Column(type: "nvarchar(max)", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs index 8526ba02de..781691a3d2 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -995,6 +995,9 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -1045,6 +1048,9 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220520080813_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220617083652_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220520080813_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220617083652_Initial.Designer.cs index 77eab9db55..ae32d5daa9 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220520080813_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220617083652_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(AuthServerDbContext))] - [Migration("20220520080813_Initial")] + [Migration("20220617083652_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -21,7 +21,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.0") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -598,7 +598,8 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() @@ -944,6 +945,9 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -994,6 +998,9 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220520080813_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220617083652_Initial.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220520080813_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220617083652_Initial.cs index 4a83874cba..cbc01e3dfe 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220520080813_Initial.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20220617083652_Initial.cs @@ -271,6 +271,8 @@ namespace MyCompanyName.MyProjectName.Migrations RedirectUris = table.Column(type: "nvarchar(max)", nullable: true), Requirements = table.Column(type: "nvarchar(max)", nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), + ClientUri = table.Column(type: "nvarchar(max)", nullable: true), + LogoUri = table.Column(type: "nvarchar(max)", nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), CreationTime = table.Column(type: "datetime2", nullable: false), diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs index 3181405337..e483e20a49 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.0") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -943,6 +943,9 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("ClientSecret") .HasColumnType("nvarchar(max)"); + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasMaxLength(40) @@ -993,6 +996,9 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("uniqueidentifier") .HasColumnName("LastModifierId"); + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + b.Property("Permissions") .HasColumnType("nvarchar(max)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20211124020351_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20220617083658_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20211124020351_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20220617083658_Initial.Designer.cs index 11fbd05d18..da5ce77b3f 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20211124020351_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20220617083658_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20211124020351_Initial")] + [Migration("20220617083658_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -21,7 +21,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.0") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -598,7 +598,8 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20211124020351_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20220617083658_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20211124020351_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20220617083658_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs index 3b693ab607..7ef4a80da0 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.0") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -596,7 +596,8 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20211124020406_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20220617083659_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20211124020406_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20220617083659_Initial.Designer.cs index c29ed70204..e9f1df7c94 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20211124020406_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20220617083659_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20211124020406_Initial")] + [Migration("20220617083659_Initial")] partial class Initial { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -21,7 +21,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.0") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -598,7 +598,8 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20211124020406_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20220617083659_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20211124020406_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20220617083659_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs index 55e6741d12..39b8871ef6 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "6.0.0") + .HasAnnotation("ProductVersion", "6.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); @@ -596,7 +596,8 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnName("ExtraProperties"); b.Property("IsActive") - .HasColumnType("bit"); + .HasColumnType("bit") + .HasColumnName("IsActive"); b.Property("IsDeleted") .ValueGeneratedOnAdd() From a1044013565ddf970b36424d30807eac462ad188 Mon Sep 17 00:00:00 2001 From: "Marcelo M. M" <4993482+marcelo-maciel@users.noreply.github.com> Date: Fri, 17 Jun 2022 05:46:36 -0300 Subject: [PATCH 16/26] add missing file and refreshing .csproj file --- .../Volo.Abp.OpenIddict.Domain.Shared.csproj | 4 ---- .../Localization/OpenIddict/pt-BR.json | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/pt-BR.json diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo.Abp.OpenIddict.Domain.Shared.csproj b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo.Abp.OpenIddict.Domain.Shared.csproj index fc5080b687..34a4d6c334 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo.Abp.OpenIddict.Domain.Shared.csproj +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo.Abp.OpenIddict.Domain.Shared.csproj @@ -23,8 +23,4 @@ - - - - diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/pt-BR.json b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/pt-BR.json new file mode 100644 index 0000000000..7a8cbc7b4e --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/pt-BR.json @@ -0,0 +1,17 @@ +{ + "culture": "en", + "texts": { + "TheOpenIDConnectRequestCannotBeRetrieved": "Não foi possivel recuperar a requisição do OpenID Connect", + "TheUserDetailsCannotBbeRetrieved": "Não foi possivel recuperar os detalhes do usuário", + "TheApplicationDetailsCannotBeFound": "Os detalhes da aplicação não foram encontrados", + "DetailsConcerningTheCallingClientApplicationCannotBeFound": "Os detalhes relativos ao aplicativo cliente requisitante não firam encontrados.", + "TheSpecifiedGrantTypeIsNotImplemented.": "O tipo de permissão {0} não está implementando.", + "Authorization": "Autorização", + "DoYouWantToGrantAccessToYourData": "Deseja permitir {0} acesse seus dados?", + "ScopesRequested": "Escopo solicitado", + "Accept": "Aceitar", + "Deny": "Negar", + "LogOut": "Sair", + "AreYouSureYouWantToSignOut": "Tem certeza que deseja sair??" + } +} \ No newline at end of file From db7733b00836211f770806f3ff497489af818545 Mon Sep 17 00:00:00 2001 From: Berkan Sasmaz Date: Fri, 17 Jun 2022 16:04:10 +0300 Subject: [PATCH 17/26] Update localization for platform --- .../AbpIoLocalization/Admin/Localization/Resources/en.json | 3 ++- .../Commercial/Localization/Resources/en.json | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json index 6fb597d335..22ef0df894 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Admin/Localization/Resources/en.json @@ -396,6 +396,7 @@ "CreateABookDiscount": "Create a book discount", "BookDiscountDeletionConfirmationMessage": "Are you sure you want to delete this book discount?", "CustomPaymentFlexSwitchDescription": "With license", - "AllowFeatureUpgradeOnLicenseExpire": "Allow feature upgrade on license expire" + "AllowFeatureUpgradeOnLicenseExpire": "Allow feature upgrade on license expire", + "Deleted{0}": "[Deleted {0}]" } } diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json index 25c4093a4d..0fdcd10747 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json @@ -603,7 +603,6 @@ "Trainings_Content": "Content of Training", "Trial_Page_StartYourFreeTrial": "Start Your Free Trial", "TrialLicenseFeatures": "You'll be able to benefit from all ABP commercial features", - "WhatHappensWhenTrialLicenseExpires": "You cannot continue to develop your project after the license expiration", "TrialPeriodDays": "You'll have a {0} days Team License", "TrialForumSupportIncident": "You'll have {0} forum support incidents", "Contact_Page_Title": "Contact with ABP Development Team", From 94b9f3809965e7ba40294716ac79c3b462380e40 Mon Sep 17 00:00:00 2001 From: Berkan Sasmaz Date: Fri, 17 Jun 2022 16:53:32 +0300 Subject: [PATCH 18/26] Update pt-BR.json --- .../Abp/OpenIddict/Localization/OpenIddict/pt-BR.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/pt-BR.json b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/pt-BR.json index 7a8cbc7b4e..ebcf57b00e 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/pt-BR.json +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/pt-BR.json @@ -1,9 +1,9 @@ { - "culture": "en", + "culture": "pt-BR", "texts": { - "TheOpenIDConnectRequestCannotBeRetrieved": "Não foi possivel recuperar a requisição do OpenID Connect", - "TheUserDetailsCannotBbeRetrieved": "Não foi possivel recuperar os detalhes do usuário", - "TheApplicationDetailsCannotBeFound": "Os detalhes da aplicação não foram encontrados", + "TheOpenIDConnectRequestCannotBeRetrieved": "Não foi possivel recuperar a requisição do OpenID Connect.", + "TheUserDetailsCannotBbeRetrieved": "Não foi possivel recuperar os detalhes do usuário.", + "TheApplicationDetailsCannotBeFound": "Os detalhes da aplicação não foram encontrados.", "DetailsConcerningTheCallingClientApplicationCannotBeFound": "Os detalhes relativos ao aplicativo cliente requisitante não firam encontrados.", "TheSpecifiedGrantTypeIsNotImplemented.": "O tipo de permissão {0} não está implementando.", "Authorization": "Autorização", @@ -12,6 +12,6 @@ "Accept": "Aceitar", "Deny": "Negar", "LogOut": "Sair", - "AreYouSureYouWantToSignOut": "Tem certeza que deseja sair??" + "AreYouSureYouWantToSignOut": "Tem certeza que deseja sair?" } } \ No newline at end of file From 05fbf30c71ad29e60b871602a4a2144736276633 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Sat, 18 Jun 2022 13:48:57 +0800 Subject: [PATCH 19/26] Initialize rebus event bus before use rebus --- .../Volo/Abp/EventBus/Rebus/AbpEventBusRebusModule.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpEventBusRebusModule.cs b/framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpEventBusRebusModule.cs index e5c045f316..351f575f46 100644 --- a/framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpEventBusRebusModule.cs +++ b/framework/src/Volo.Abp.EventBus.Rebus/Volo/Abp/EventBus/Rebus/AbpEventBusRebusModule.cs @@ -41,11 +41,11 @@ public class AbpEventBusRebusModule : AbpModule public override void OnApplicationInitialization(ApplicationInitializationContext context) { - context.ServiceProvider.UseRebus(); - context .ServiceProvider .GetRequiredService() .Initialize(); + + context.ServiceProvider.UseRebus(); } } From 27c8d408204ad9e00df3d40f10e87a997a9da0b8 Mon Sep 17 00:00:00 2001 From: wangjun Date: Sat, 18 Jun 2022 13:58:25 +0800 Subject: [PATCH 20/26] refactor OnAfterRenderAsync of AbpCrudPageBase --- framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index f777eb2cdc..500a3dfd86 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -224,10 +224,10 @@ public abstract class AbpCrudPageBase< { if (firstRender) { - await base.OnAfterRenderAsync(firstRender); await SetToolbarItemsAsync(); await SetBreadcrumbItemsAsync(); } + await base.OnAfterRenderAsync(firstRender); } From eb7f1961d461d6cac747505c0b673fa186f92fb8 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 20 Jun 2022 10:58:17 +0300 Subject: [PATCH 21/26] Cli: Switch-To commands update all available solutions in subfolders --- .../PackagePreviewSwitcher.cs | 134 +++++++++--------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackagePreviewSwitcher.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackagePreviewSwitcher.cs index 0673606572..03fcf65036 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackagePreviewSwitcher.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/PackagePreviewSwitcher.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; @@ -29,114 +30,113 @@ public class PackagePreviewSwitcher : ITransientDependency public async Task SwitchToPreview(CommandLineArgs commandLineArgs) { - var solutionPath = GetSolutionPath(commandLineArgs); - var solutionFolder = GetSolutionFolder(commandLineArgs); - var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder); + var solutionPaths = GetSolutionPaths(commandLineArgs); - await _nugetPackagesVersionUpdater.UpdateSolutionAsync( - solutionPath, - includeReleaseCandidates: true); + foreach (var solutionPath in solutionPaths) + { + var solutionFolder = Path.GetDirectoryName(solutionPath); + var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder); - await _npmPackagesUpdater.Update( - solutionFolder, - false, - true); + await _nugetPackagesVersionUpdater.UpdateSolutionAsync( + solutionPath, + includeReleaseCandidates: true); - if (solutionAngularFolder != null) - { await _npmPackagesUpdater.Update( - solutionAngularFolder, + solutionFolder, false, true); + + if (solutionAngularFolder != null) + { + await _npmPackagesUpdater.Update( + solutionAngularFolder, + false, + true); + } } } public async Task SwitchToNightlyPreview(CommandLineArgs commandLineArgs) { - var solutionPath = GetSolutionPath(commandLineArgs); - var solutionFolder = GetSolutionFolder(commandLineArgs); - var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder); - - _packageSourceManager.Add(solutionFolder, "ABP Nightly", "https://www.myget.org/F/abp-nightly/api/v3/index.json"); + var solutionPaths = GetSolutionPaths(commandLineArgs); - if (solutionPath != null) + foreach (var solutionPath in solutionPaths) { - await _nugetPackagesVersionUpdater.UpdateSolutionAsync( - solutionPath, - true); - } + var solutionFolder = Path.GetDirectoryName(solutionPath); + var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder); - await _npmPackagesUpdater.Update( - solutionFolder, - true); + _packageSourceManager.Add(solutionFolder, "ABP Nightly", "https://www.myget.org/F/abp-nightly/api/v3/index.json"); + + if (solutionPath != null) + { + await _nugetPackagesVersionUpdater.UpdateSolutionAsync( + solutionPath, + true); + } - if (solutionAngularFolder != null) - { await _npmPackagesUpdater.Update( - solutionAngularFolder, + solutionFolder, true); + + if (solutionAngularFolder != null) + { + await _npmPackagesUpdater.Update( + solutionAngularFolder, + true); + } } } public async Task SwitchToStable(CommandLineArgs commandLineArgs) { - var solutionPath = GetSolutionPath(commandLineArgs); - var solutionFolder = GetSolutionFolder(commandLineArgs); - var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder); + var solutionPaths = GetSolutionPaths(commandLineArgs); - _packageSourceManager.Remove(solutionFolder, "ABP Nightly"); - - if (solutionPath != null) + foreach (var solutionPath in solutionPaths) { - await _nugetPackagesVersionUpdater.UpdateSolutionAsync( - solutionPath, - false, - false, - true); - } + var solutionFolder = Path.GetDirectoryName(solutionPath); + var solutionAngularFolder = GetSolutionAngularFolder(solutionFolder); - await _npmPackagesUpdater.Update( - solutionFolder, - false, - false, - true); + _packageSourceManager.Remove(solutionFolder, "ABP Nightly"); + + if (solutionPath != null) + { + await _nugetPackagesVersionUpdater.UpdateSolutionAsync( + solutionPath, + false, + false, + true); + } - if (solutionAngularFolder != null) - { await _npmPackagesUpdater.Update( - solutionAngularFolder, + solutionFolder, false, false, true); + + if (solutionAngularFolder != null) + { + await _npmPackagesUpdater.Update( + solutionAngularFolder, + false, + false, + true); + } } } - private string GetSolutionPath(CommandLineArgs commandLineArgs) + private List GetSolutionPaths(CommandLineArgs commandLineArgs) { var directory = commandLineArgs.Options.GetOrNull(Options.SolutionDirectory.Short, Options.SolutionDirectory.Long) ?? Directory.GetCurrentDirectory(); - var solutionPath = Directory.GetFiles(directory, "*.sln").FirstOrDefault(); + var solutionPaths = Directory.GetFiles(directory, "*.sln", SearchOption.AllDirectories); - if (solutionPath == null) + if (!solutionPaths.Any()) { - var subDirectories = Directory.GetDirectories(directory); - - foreach (var subDirectory in subDirectories) - { - var slnInSubDirectory = Directory.GetFiles(subDirectory, "*.sln").FirstOrDefault(); - - if (slnInSubDirectory != null) - { - return Path.Combine(subDirectory, slnInSubDirectory); - } - } - - Logger.LogWarning("There is no solution or more that one solution in current directory."); - return null; + Logger.LogWarning("No solution (.sln) found to change version."); } - return solutionPath; + return solutionPaths.ToList(); } private string GetSolutionFolder(CommandLineArgs commandLineArgs) From 4f67be5f82079452c08bd6e2f84163ae176b0c41 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 20 Jun 2022 17:21:27 +0800 Subject: [PATCH 22/26] Use the appropriate `Builder` object and call `Build`. --- .../Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs b/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs index d488da98a9..8c72e7f023 100644 --- a/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs +++ b/framework/src/Volo.Abp.BlobStoring.Minio/Volo/Abp/BlobStoring/Minio/MinioBlobProvider.cs @@ -95,14 +95,17 @@ public class MinioBlobProvider : BlobProviderBase, ITransientDependency protected virtual MinioClient GetMinioClient(BlobProviderArgs args) { var configuration = args.Configuration.GetMinioConfiguration(); - var client = new MinioClient(configuration.EndPoint, configuration.AccessKey, configuration.SecretKey); + + var client = new MinioClient() + .WithEndpoint(configuration.EndPoint) + .WithCredentials(configuration.AccessKey, configuration.SecretKey); if (configuration.WithSSL) { client.WithSSL(); } - return client; + return client.Build(); } protected virtual async Task CreateBucketIfNotExists(MinioClient client, string containerName) From f242b442aca454ee7d10fa18403e5699a330a910 Mon Sep 17 00:00:00 2001 From: Ioannis Kappas Date: Mon, 20 Jun 2022 12:18:29 +0300 Subject: [PATCH 23/26] Add greek localization support --- .../Mvc/UI/MultiTenancy/Localization/el.json | 13 ++ .../Abp/Authorization/Localization/el.json | 10 + .../Localization/Resources/AbpDdd/el.json | 6 + .../Volo/Abp/Emailing/Localization/el.json | 25 +++ .../ExceptionHandling/Localization/el.json | 26 +++ .../Volo/Abp/Features/Localization/el.json | 8 + .../Abp/GlobalFeatures/Localization/el.json | 6 + .../Volo/Abp/Ldap/Localization/el.json | 17 ++ .../Resources/AbpLocalization/el.json | 7 + .../Volo/Abp/Timing/Localization/el.json | 7 + .../Navigation/Localization/Resource/el.json | 6 + .../Localization/Resources/AbpUi/el.json | 53 +++++ .../Volo/Abp/Validation/Localization/el.json | 34 ++++ .../Mvc/AbpAspNetCoreMvcTestModule.cs | 1 + .../Mvc/Localization/Resource/el.json | 10 + .../Volo/Abp/Emailing/Localization/el.json | 6 + .../Volo/Abp/Http/Localization/el.json | 6 + .../TestResources/Base/CountryNames/el.json | 7 + .../TestResources/Base/Validation/el.json | 7 + .../Localization/TestResources/Source/el.json | 11 ++ .../TestResources/SourceExt/el.json | 6 + .../Abp/TextTemplating/Localization/el.json | 7 + .../Account/Localization/Resources/el.json | 68 +++++++ .../BlobStoring/Database/Localization/el.json | 6 + .../Blogging/Localization/Resources/el.json | 61 ++++++ .../CmsKitHttpApiHostModule.cs | 1 + .../CmsKitIdentityServerModule.cs | 1 + .../CmsKitWebUnifiedModule.cs | 1 + .../CmsKit/Localization/Resources/el.json | 186 ++++++++++++++++++ .../Resources/VoloDocs/Web/el.json | 10 + .../app/VoloDocs.Web/VoloDocsWebModule.cs | 1 + .../Docs/ApplicationContracts/el.json | 59 ++++++ .../Volo/Docs/Localization/Domain/el.json | 41 ++++ .../Localization/Domain/el.json | 10 + .../Volo/Abp/Identity/Localization/el.json | 112 +++++++++++ .../Identity/LocalizationExtensions/el.json | 7 + .../Localization/Resources/el.json | 15 ++ .../Localization/OpenIddict/el.json | 17 ++ .../Localization/Domain/el.json | 11 ++ .../DemoAppModule.cs | 1 + .../Resources/AbpSettingManagement/el.json | 34 ++++ .../Localization/Resources/el.json | 23 +++ .../AbpVirtualFileExplorerDemoAppModule.cs | 1 + .../Localization/Resources/el.json | 14 ++ .../MyProjectNameModule.cs | 1 + .../MyProjectNameModule.cs | 1 + .../MyProjectNameModule.cs | 1 + .../MyProjectNameModule.cs | 1 + .../MyProjectNameModule.cs | 1 + .../MyProjectNameModule.cs | 1 + .../MyProjectNameAuthServerModule.cs | 1 + .../MyProjectNameBlazorModule.cs | 1 + .../MyProjectNameBlazorModule.cs | 1 + .../MyProjectNameHttpApiHostModule.cs | 1 + .../MyProjectNameHttpApiHostModule.cs | 1 + .../MyProjectNameWebModule.cs | 1 + .../MyProjectNameAuthServerModule.cs | 1 + .../MyProjectNameBlazorHostModule.cs | 1 + .../MyProjectNameHttpApiHostModule.cs | 1 + .../MyProjectNameWebUnifiedModule.cs | 1 + 60 files changed, 975 insertions(+) create mode 100644 framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/el.json create mode 100644 framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Localization/el.json create mode 100644 framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Localization/Resources/AbpDdd/el.json create mode 100644 framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/el.json create mode 100644 framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/el.json create mode 100644 framework/src/Volo.Abp.Features/Volo/Abp/Features/Localization/el.json create mode 100644 framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/Localization/el.json create mode 100644 framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/el.json create mode 100644 framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/el.json create mode 100644 framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/el.json create mode 100644 framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/el.json create mode 100644 framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/el.json create mode 100644 framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/el.json create mode 100644 framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/el.json create mode 100644 framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/el.json create mode 100644 framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Localization/el.json create mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/el.json create mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/el.json create mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/el.json create mode 100644 framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/el.json create mode 100644 framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/el.json create mode 100644 modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/el.json create mode 100644 modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/Localization/el.json create mode 100644 modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/el.json create mode 100644 modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json create mode 100644 modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/el.json create mode 100644 modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/el.json create mode 100644 modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/el.json create mode 100644 modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/el.json create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json create mode 100644 modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/LocalizationExtensions/el.json create mode 100644 modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/el.json create mode 100644 modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/el.json create mode 100644 modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/el.json create mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/el.json create mode 100644 modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/el.json create mode 100644 modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/el.json diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/el.json b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/el.json new file mode 100644 index 0000000000..31e85eadb7 --- /dev/null +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/el.json @@ -0,0 +1,13 @@ +{ + "culture": "el", + "texts": { + "GivenTenantIsNotExist": "O συγκεκριμένος μισθωτής δεν υπάρχει: {0}", + "GivenTenantIsNotAvailable": "Ο συγκεκριμένος μισθωτής δεν είναι διαθέσιμος: {0}", + "Tenant": "Μισθωτής", + "Switch": "Αλλαγή", + "Name": "Όνομα", + "SwitchTenantHint": "Αφήστε το πεδίο ονόματος κενό για μετάβαση στην πλευρά του κεντρικού διακομιστή.", + "SwitchTenant": "Αλλαγή μισθωτή", + "NotSelected": "Μη επιλεγμένο" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Localization/el.json b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Localization/el.json new file mode 100644 index 0000000000..d95477f72d --- /dev/null +++ b/framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Localization/el.json @@ -0,0 +1,10 @@ +{ + "culture": "el", + "texts": { + "Volo.Authorization:010001": "Η εξουσιοδότηση απέτυχε! Δεν έχει χορηγηθεί η δεδομένη πολιτική.", + "Volo.Authorization:010002": "Η εξουσιοδότηση απέτυχε! Δεν έχει χορηγηθεί η δεδομένη πολιτική: {PolicyName}", + "Volo.Authorization:010003": "Η εξουσιοδότηση απέτυχε! Δεν έχει χορηγηθεί η δεδομένη πολιτική για το συγκεκριμένο πόρο: {ResourceName}", + "Volo.Authorization:010004": "Η εξουσιοδότηση απέτυχε! Δεν έχει χορηγηθεί η δεδομένη πολιτική για το συγκεκριμένο πόρο: {ResourceName}", + "Volo.Authorization:010005": "Η εξουσιοδότηση απέτυχε! Δεν έχει χορηγηθεί η δεδομένη πολιτική για το συγκεκριμένο πόρο: {ResourceName}" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Localization/Resources/AbpDdd/el.json b/framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Localization/Resources/AbpDdd/el.json new file mode 100644 index 0000000000..cc55dfff0f --- /dev/null +++ b/framework/src/Volo.Abp.Ddd.Application.Contracts/Volo/Abp/Application/Localization/Resources/AbpDdd/el.json @@ -0,0 +1,6 @@ +{ + "culture": "el", + "texts": { + "MaxResultCountExceededExceptionMessage": "{0} δεν μπορεί να είναι περισσότερο από {1}! Αυξήστε το {2}.{3} στην πλευρά του διακομιστή για να επιτρέψετε περισσότερα αποτελέσματα." + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/el.json b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/el.json new file mode 100644 index 0000000000..42208aae0c --- /dev/null +++ b/framework/src/Volo.Abp.Emailing/Volo/Abp/Emailing/Localization/el.json @@ -0,0 +1,25 @@ +{ + "culture": "el", + "texts": { + "DisplayName:Abp.Mailing.DefaultFromAddress": "Προεπιλογή από τη διεύθυνση", + "DisplayName:Abp.Mailing.DefaultFromDisplayName": "Προεπιλογή από το εμφανιζόμενο όνομα", + "DisplayName:Abp.Mailing.Smtp.Host": "Διακομιστής", + "DisplayName:Abp.Mailing.Smtp.Port": "Θύρα", + "DisplayName:Abp.Mailing.Smtp.UserName": "Όνομα χρήστη", + "DisplayName:Abp.Mailing.Smtp.Password": "Κωδικός πρόσβασης", + "DisplayName:Abp.Mailing.Smtp.Domain": "Τομέας", + "DisplayName:Abp.Mailing.Smtp.EnableSsl": "Ενεργοποίηση SSL", + "DisplayName:Abp.Mailing.Smtp.UseDefaultCredentials": "Χρήση προεπιλεγμένων διαπιστευτηρίων", + "Description:Abp.Mailing.DefaultFromAddress": "Προεπιλογή από τη διεύθυνση", + "Description:Abp.Mailing.DefaultFromDisplayName": "Προεπιλογή από το εμφανιζόμενο όνομα", + "Description:Abp.Mailing.Smtp.Host": "Το όνομα ή διεύθυνση IP του διακομιστή που χρησιμοποιείται για συναλλαγές SMTP.", + "Description:Abp.Mailing.Smtp.Port": "Θύρα που χρησιμοποιείται για συναλλαγές SMTP.", + "Description:Abp.Mailing.Smtp.UserName": "Όνομα χρήστη που συνδέεται με τα διαπιστευτήρια.", + "Description:Abp.Mailing.Smtp.Password": "Κωδικός πρόσβασης για το όνομα χρήστη που συνδέεται με τα διαπιστευτήρια .", + "Description:Abp.Mailing.Smtp.Domain": "Ο τομέας ή το όνομα του διακομιστή που επαληθεύει τα διαπιστευτήρια.", + "Description:Abp.Mailing.Smtp.EnableSsl": "Εάν o SmtpClient χρησιμοποιεί Secure Sockets Layer (SSL) για την κρυπτογράφηση της σύνδεσης.", + "Description:Abp.Mailing.Smtp.UseDefaultCredentials": "Εάν τα προεπιλεγμένα διαπιστευτήρια αποστέλλονται με αιτήματα.", + "TextTemplate:StandardEmailTemplates.Layout": "Προεπιλεγμένο πρότυπο διάταξης email", + "TextTemplate:StandardEmailTemplates.Message": "Απλό πρότυπο μηνυμάτων για email" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/el.json b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/el.json new file mode 100644 index 0000000000..3b51a842ed --- /dev/null +++ b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/ExceptionHandling/Localization/el.json @@ -0,0 +1,26 @@ +{ + "culture": "el", + "texts": { + "InternalServerErrorMessage": "Παρουσιάστηκε εσωτερικό σφάλμα κατά το αίτημά σας!", + "ValidationErrorMessage": "Το αίτημά σας δεν είναι έγκυρο!", + "ValidationNarrativeErrorMessageTitle": "Τα ακόλουθα σφάλματα εντοπίστηκαν κατά την επικύρωση.", + "DefaultErrorMessage": "Παρουσιάστηκε σφάλμα!", + "DefaultErrorMessageDetail": "Λεπτομέρειες σφάλματος δεν αποστάλθηκαν από τον διακομιστή.", + "DefaultErrorMessage401": "Δεν έχετε ταυτοποιηθεί!", + "DefaultErrorMessage401Detail": "Θα πρέπει να συνδεθείτε για να εκτελέσετε αυτήν τη λειτουργία.", + "DefaultErrorMessage403": "Δεν έχετε εξουσιοδότηση!", + "DefaultErrorMessage403Detail": "Η εκτέλεση αυτής της ενέργειας δεν επιτρέπεται!", + "DefaultErrorMessage404": "Ο πόρος δεν βρέθηκε!", + "DefaultErrorMessage404Detail": "Ο πόρος που ζητήθηκε δεν βρέθηκε στον διακομιστή!", + "EntityNotFoundErrorMessage": "Δεν υπάρχει οντότητα {0} με id = {1}!", + "AbpDbConcurrencyErrorMessage": "Τα δεδομένα που έχετε υποβάλλει έχουν ήδη τροποποιηθεί από άλλον χρήστη/πελάτη. Απορρίψτε τις αλλαγές που κάνατε και δοκιμάστε από την αρχή.", + "Error": "Σφάλμα", + "UnhandledException": "Απρόσμενη Εξαίρεση!", + "401Message": "Μη εξουσιοδοτημένο", + "403Message": "Απαγορευμένο", + "404Message": "Η σελίδα δεν βρέθηκε", + "500Message": "Εσωτερικό Σφάλμα Διακομιστή", + "403MessageDetail": "Δεν είστε εξουσιοδοτημένοι να εκτελέσετε αυτήν τη λειτουργία!", + "404MessageDetail": "Λυπούμαστε, δεν υπάρχει τίποτα σε αυτή τη διεύθυνση." + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Features/Volo/Abp/Features/Localization/el.json b/framework/src/Volo.Abp.Features/Volo/Abp/Features/Localization/el.json new file mode 100644 index 0000000000..9fd8002de4 --- /dev/null +++ b/framework/src/Volo.Abp.Features/Volo/Abp/Features/Localization/el.json @@ -0,0 +1,8 @@ +{ + "culture": "el", + "texts": { + "Volo.Feature:010001": "Η λειτουργία δεν είναι ενεργοποιημένη: {FeatureName}", + "Volo.Feature:010002": "Οι απαιτούμενες λειτουργίες δεν είναι ενεργοποιημένες. Όλες αυτές οι λειτουργίες πρέπει να είναι ενεργοποιημένες: {FeatureNames}", + "Volo.Feature:010003": "Οι απαιτούμενες λειτουργίες δεν είναι ενεργοποιημένες. Τουλάχιστον μία από αυτές τις λειτουργίες πρέπει να είναι ενεργοποιημένη: {FeatureNames}" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/Localization/el.json b/framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/Localization/el.json new file mode 100644 index 0000000000..0dd828cae6 --- /dev/null +++ b/framework/src/Volo.Abp.GlobalFeatures/Volo/Abp/GlobalFeatures/Localization/el.json @@ -0,0 +1,6 @@ +{ + "culture": "el", + "texts": { + "Volo.GlobalFeature:010001": "Η υπηρεσία '{ServiceName}' απαιτεί την ενεργοποίηση της λειτουργίας '{GlobalFeatureName}'" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/el.json b/framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/el.json new file mode 100644 index 0000000000..d0389c90f0 --- /dev/null +++ b/framework/src/Volo.Abp.Ldap/Volo/Abp/Ldap/Localization/el.json @@ -0,0 +1,17 @@ +{ + "culture": "el", + "texts": { + "DisplayName:Abp.Ldap.ServerHost": "Κεντρικός διακομιστής", + "Description:Abp.Ldap.ServerHost": "Κεντρικός διακομιστής", + "DisplayName:Abp.Ldap.ServerPort": "Θύρα", + "Description:Abp.Ldap.ServerPort": "Θύρα", + "DisplayName:Abp.Ldap.BaseDc": "Στοιχείο Βασικού τομέα", + "Description:Abp.Ldap.BaseDc": "Στοιχείο Βασικού τομέα", + "DisplayName:Abp.Ldap.Domain": "Τομέας", + "Description:Abp.Ldap.Domain": "Τομέας", + "DisplayName:Abp.Ldap.UserName": "Όνομα χρήστη", + "Description:Abp.Ldap.UserName": "Όνομα χρήστη", + "DisplayName:Abp.Ldap.Password": "Κωδικός Πρόσβασης", + "Description:Abp.Ldap.Password": "Κωδικός Πρόσβασης" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/el.json b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/el.json new file mode 100644 index 0000000000..55b5badc0b --- /dev/null +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpLocalization/el.json @@ -0,0 +1,7 @@ +{ + "culture": "el", + "texts": { + "DisplayName:Abp.Localization.DefaultLanguage": "Προεπιλεγμένη γλώσσα", + "Description:Abp.Localization.DefaultLanguage": "Η προεπιλεγμένη γλώσσα της εφαρμογής." + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/el.json b/framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/el.json new file mode 100644 index 0000000000..510a32415b --- /dev/null +++ b/framework/src/Volo.Abp.Timing/Volo/Abp/Timing/Localization/el.json @@ -0,0 +1,7 @@ +{ + "culture": "el", + "texts": { + "DisplayName:Abp.Timing.Timezone": "Ζώνη Ώρας", + "Description:Abp.Timing.Timezone": "Ζώνη Ώρας εφαρμογής" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/el.json b/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/el.json new file mode 100644 index 0000000000..4730b94b3a --- /dev/null +++ b/framework/src/Volo.Abp.UI.Navigation/Volo/Abp/Ui/Navigation/Localization/Resource/el.json @@ -0,0 +1,6 @@ +{ + "culture": "el", + "texts": { + "Menu:Administration": "Διαχείριση" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/el.json b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/el.json new file mode 100644 index 0000000000..6bba8ee140 --- /dev/null +++ b/framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/el.json @@ -0,0 +1,53 @@ +{ + "culture": "el", + "texts": { + "Languages": "Γλώσσες", + "AreYouSure": "Είσαι σίγουρος;", + "Cancel": "Ακύρωση", + "Clear": "Εκκαθάριση", + "Yes": "Ναι", + "No": "όχι", + "Ok": "Οκ", + "Close": "Κλείσιμο", + "Save": "Αποθήκευση", + "SavingWithThreeDot": "Αποθηκεύεται...", + "Actions": "Ενέργειες", + "Delete": "Διαγραφή", + "SuccessfullyDeleted": "Διαγράφηκε με επιτυχία", + "Edit": "Επεξεργασία", + "Refresh": "Ανανέωση", + "Language": "Γλώσσα", + "LoadMore": "Φόρτωση περισσοτέρων", + "ProcessingWithThreeDot": "Επεξεργασία...", + "LoadingWithThreeDot": "Φόρτωση...", + "Welcome": "Καλώς ήρθατε", + "Login": "Σύνδεση", + "Register": "Εγγραφή", + "Logout": "Αποσύνδεση", + "Submit": "Υποβολή", + "Back": "Πίσω", + "PagerSearch": "Αναζήτηση", + "PagerNext": "Επόμενο", + "PagerPrevious": "Προηγούμενο", + "PagerFirst": "Πρώτο", + "PagerLast": "Τελευταίο", + "PagerInfo": "Εμφάνιση _START_ έως _END_ από _TOTAL_ εγγραφές", + "PagerInfo{0}{1}{2}": "Εμφάνιση {0} έως {1} από {2} εγγραφές", + "PagerInfoEmpty": "Εμφάνιση 0 έως 0 από 0 εγγραφές", + "PagerInfoFiltered": "(φιλτραρισμένο από _MAX_ συνολικές εγγραφές)", + "NoDataAvailableInDatatable": "Δεν υπάρχουν διαθέσιμα δεδομένα", + "Total": "Σύνολο", + "Selected": "Έχει γίνει επιλογή", + "PagerShowMenuEntries": "Εμφάνιση στοιχείων _MENU_", + "DatatableActionDropdownDefaultText": "Ενέργειες", + "ChangePassword": "Αλλαγή Κωδικού", + "PersonalInfo": "Το προφίλ μου", + "AreYouSureYouWantToCancelEditingWarningMessage": "Έχετε μη αποθηκευμένες αλλαγές.", + "GoHomePage": "Μετάβαση στην αρχική σελίδα", + "GoBack": "Πίσω", + "Search": "Αναζήτηση", + "ItemWillBeDeletedMessageWithFormat": "Το {0} θα διαγραφεί", + "ItemWillBeDeletedMessage": "Αυτό το στοιχείο θα διαγραφεί!", + "ManageYourAccount": "Διαχείριση Λογαριασμού" + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/el.json b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/el.json new file mode 100644 index 0000000000..e2df0315f3 --- /dev/null +++ b/framework/src/Volo.Abp.Validation/Volo/Abp/Validation/Localization/el.json @@ -0,0 +1,34 @@ +{ + "culture": "el", + "texts": { + "'{0}' and '{1}' do not match.": "Το '{0}' και το '{1}' δεν ταιριάζουν.", + "The {0} field is not a valid credit card number.": "Το πεδίο {0} δεν είναι έγκυρος αριθμός πιστωτικής κάρτας.", + "{0} is not valid.": "Το {0} δεν είναι έγκυρο.", + "The {0} field is not a valid e-mail address.": "Το πεδίο {0} δεν είναι έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου.", + "The {0} field only accepts files with the following extensions: {1}": "Το πεδίο {0} δέχεται μόνο αρχεία με τις ακόλουθες επεκτάσεις:{1}", + "The field {0} must be a string or array type with a maximum length of '{1}'.": "Το πεδίο {0} πρέπει να είναι τύπος συμβολοσειράς ή πίνακας με μέγιστο μήκος'{1}'.", + "The field {0} must be a string or array type with a minimum length of '{1}'.": "Το πεδίο {0} πρέπει να είναι τύπος συμβολοσειράς ή πίνακας με ελάχιστο μήκος'{1}'.", + "The {0} field is not a valid phone number.": "Το πεδίο {0} δεν είναι έγκυρος αριθμός τηλεφώνου.", + "The field {0} must be between {1} and {2}.": "Το πεδίο {0} πρέπει να βρίσκεται μεταξύ {1} και {2}.", + "The field {0} must match the regular expression '{1}'.": "Το πεδίο {0} δεν ταιριάζει με τη μορφή που ζητήθηκε.", + "The {0} field is required.": "Το πεδίο {0} είναι υποχρεωτικό.", + "The field {0} must be a string with a maximum length of {1}.": "Το πεδίο {0} πρέπει να είναι μια συμβολοσειρά με μέγιστο μήκος {1}.", + "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "Το πεδίο {0} πρέπει να είναι μια συμβολοσειρά με ελάχιστο μήκος {2} και μέγιστο μήκος {1}.", + "The {0} field is not a valid fully-qualified http, https, or ftp URL.": "Το πεδίο {0} δεν είναι έγκυρη πλήρως πιστοποιημένη διεύθυνση URL http, https ή ftp.", + "The field {0} is invalid.": "Το πεδίο {0} δεν είναι έγκυρο.", + "ThisFieldIsNotAValidCreditCardNumber.": "Αυτό το πεδίο δεν περιέχει έγκυρο αριθμό πιστωτικής κάρτας.", + "ThisFieldIsNotValid.": "Αυτό το πεδίο δεν είναι έγκυρο.", + "ThisFieldIsNotAValidEmailAddress.": "Αυτό το πεδίο δεν περιέχει έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου.", + "ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "Αυτό το πεδίο δέχεται μόνο αρχεία με τις ακόλουθες επεκτάσεις: {0}", + "ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthOf{0}": "Αυτό το πεδίο πρέπει να είναι τύπος συμβολοσειράς ή πίνακας με μέγιστο μήκος'{0}'.", + "ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "Αυτό το πεδίο πρέπει να είναι τύπος συμβολοσειράς ή πίνακας με ελάχιστο μήκος'{0}'.", + "ThisFieldIsNotAValidPhoneNumber.": "Αυτό το πεδίο δεν είναι έγκυρος αριθμός τηλεφώνου.", + "ThisFieldMustBeBetween{0}And{1}": "Αυτό το πεδίο πρέπει να είναι μεταξύ {0} και {1}.", + "ThisFieldMustMatchTheRegularExpression{0}": "Αυτό το πεδίο πρέπει να ταιριάζει με την κανονική έκφραση'{0}'.", + "ThisFieldIsRequired.": "Αυτό το πεδίο είναι υποχρεωτικό.", + "ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "Αυτό το πεδίο πρέπει να είναι μια συμβολοσειρά με μέγιστο μήκος{0}.", + "ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "Αυτό το πεδίο πρέπει να είναι μια συμβολοσειρά με ελάχιστο μήκος {1} και μέγιστο μήκος{0}.", + "ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "Αυτό το πεδίο δεν είναι έγκυρη πλήρως πιστοποιημένη διεύθυνση URL http, https ή ftp.", + "ThisFieldIsInvalid.": "Αυτό το πεδίο δεν είναι έγκυρο." + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs index 2a48bbc8e7..2e8d8c4689 100644 --- a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/AbpAspNetCoreMvcTestModule.cs @@ -109,6 +109,7 @@ public class AbpAspNetCoreMvcTestModule : AbpModule options.Languages.Add(new LanguageInfo("ro-RO", "ro-RO", "Română")); options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak")); options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/el.json b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/el.json new file mode 100644 index 0000000000..677383e272 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Localization/Resource/el.json @@ -0,0 +1,10 @@ +{ + "culture": "el", + "texts": { + "DisplayName:PersonModel:BirthDate1": "Ημερομηνία γέννησης1", + "DisplayName:BirthDate2": "Ημερομηνία γέννησης2", + "PersonModel:BirthDate3": "Ημερομηνία γέννησης3", + "BirthDate": "Ημερομηνία γέννησης", + "Value1": "Αξία Ένα" + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/el.json b/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/el.json new file mode 100644 index 0000000000..13960bad4a --- /dev/null +++ b/framework/test/Volo.Abp.Emailing.Tests/Volo/Abp/Emailing/Localization/el.json @@ -0,0 +1,6 @@ +{ + "culture": "el", + "texts": { + "hello": "Γειά" + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Localization/el.json b/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Localization/el.json new file mode 100644 index 0000000000..3b4e64fce2 --- /dev/null +++ b/framework/test/Volo.Abp.Http.Client.Tests/Volo/Abp/Http/Localization/el.json @@ -0,0 +1,6 @@ +{ + "culture": "el", + "texts": { + "Volo.Abp.Http.DynamicProxying:10001": "Επιχείρησιακό σφάλμα με δεδομένα: {0}" + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/el.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/el.json new file mode 100644 index 0000000000..9dcb6bf43c --- /dev/null +++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/CountryNames/el.json @@ -0,0 +1,7 @@ +{ + "culture": "el", + "texts": { + "USA": "Ηνωμένες πολιτείες Αμερικής", + "Brazil": "Βραζιλία" + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/el.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/el.json new file mode 100644 index 0000000000..a011419c87 --- /dev/null +++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/el.json @@ -0,0 +1,7 @@ +{ + "culture": "el", + "texts": { + "ThisFieldIsRequired": "Αυτό το πεδίο είναι υποχρεωτικό", + "MaxLenghtErrorMessage": "Αυτό το πεδίο μπορεί να έχει το μέγιστο '{0}' χαρακτήρες" + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/el.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/el.json new file mode 100644 index 0000000000..b4753cd95a --- /dev/null +++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/el.json @@ -0,0 +1,11 @@ +{ + "culture": "el", + "texts": { + "Hello {0}.": "Γειά σου {0}.", + "Car": "Αυτοκίνητο", + "CarPlural": "Αυτοκίνητα", + "MaxLenghtErrorMessage": "Αυτό το πεδίο μπορεί να έχει το μέγιστο '{0}' χαρακτήρες", + "Universe": "Σύμπαν", + "FortyTwo": "Σαράντα δύο" + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/el.json b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/el.json new file mode 100644 index 0000000000..d4ce10d116 --- /dev/null +++ b/framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/SourceExt/el.json @@ -0,0 +1,6 @@ +{ + "culture": "el", + "texts": { + "SeeYou": "Τα λέμε" + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/el.json b/framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/el.json new file mode 100644 index 0000000000..bf80489ba9 --- /dev/null +++ b/framework/test/Volo.Abp.TextTemplating.Tests/Volo/Abp/TextTemplating/Localization/el.json @@ -0,0 +1,7 @@ +{ + "culture": "el", + "texts": { + "HelloText": "Καλησπέρα {0}", + "HowAreYou": "Πώς είσαι;" + } +} \ No newline at end of file diff --git a/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/el.json b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/el.json new file mode 100644 index 0000000000..e5af66d6fe --- /dev/null +++ b/modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/el.json @@ -0,0 +1,68 @@ +{ + "culture": "el", + "texts": { + "Menu:Account": "Λογαριασμός", + "UserName": "Όνομα χρήστη", + "EmailAddress": "Διεύθυνση ηλεκτρονικού ταχυδρομείου", + "UserNameOrEmailAddress": "Όνομα χρήστη ή διεύθυνση ηλεκτρονικού ταχυδρομείου", + "Password": "Κωδικός πρόσβασης", + "RememberMe": "Να με θυμάσαι", + "UseAnotherServiceToLogin": "Χρησιμοποιήστε άλλη υπηρεσία για να συνδεθείτε", + "UserLockedOutMessage": "Ο λογαριασμός χρήστη έχει κλειδωθεί λόγω μη έγκυρων προσπαθειών σύνδεσης. Περιμένετε λίγο και προσπαθήστε ξανά.", + "InvalidUserNameOrPassword": "Μη έγκυρο όνομα χρήστη ή κωδικός!", + "LoginIsNotAllowed": "Δεν επιτρέπεται να συνδεθείτε! Ο λογαριασμός σας είναι ανενεργός ή χρειάζεται να επιβεβαιώσετε το ηλεκτρονικού ταχυδρομείου/τον αριθμό τηλεφώνου σας.", + "SelfRegistrationDisabledMessage": "Η αυτοεγγραφή είναι απενεργοποιημένη για αυτήν την εφαρμογή. Επικοινωνήστε με τον διαχειριστή της εφαρμογής για να εγγραφείτε ως νέος χρήστης.", + "LocalLoginDisabledMessage": "Η τοπική σύνδεση είναι απενεργοποιημένη για αυτήν την εφαρμογή.", + "Login": "Σύνδεση", + "Cancel": "Ακύρωση", + "Register": "Εγγραφή", + "AreYouANewUser": "Είστε νέος χρήστης;", + "AlreadyRegistered": "Ήδη εγγεγραμμένος;", + "InvalidLoginRequest": "Το αίτημα σύνδεσης δεν ήταν έγκυρο", + "ThereAreNoLoginSchemesConfiguredForThisClient": "Δεν υπάρχουν διαμορφωμένα σχήματα σύνδεσης για αυτόν τον πελάτη.", + "LogInUsingYourProviderAccount": "Συνδεθείτε χρησιμοποιώντας τον λογαριασμό σας {0}", + "DisplayName:CurrentPassword": "Τρέχων κωδικός πρόσβασης", + "DisplayName:NewPassword": "Νέος κωδικός πρόσβασης", + "DisplayName:NewPasswordConfirm": "Επιβεβαιώστε τον νέο σας κωδικό", + "PasswordChangedMessage": "Ο κωδικός πρόσβασής σας άλλαξε με επιτυχία.", + "DisplayName:UserName": "Όνομα χρήστη", + "DisplayName:Email": "Ηλεκτρονικό ταχυδρομείο", + "DisplayName:Name": "Όνομα", + "DisplayName:Surname": "Επώνυμο", + "DisplayName:Password": "Κωδικός πρόσβασης", + "DisplayName:EmailAddress": "Διεύθυνση ηλεκτρονικού ταχυδρομείου", + "DisplayName:PhoneNumber": "Τηλέφωνο", + "PersonalSettings": "Προσωπικές ρυθμίσεις", + "PersonalSettingsSaved": "Οι προσωπικές ρυθμίσεις αποθηκεύτηκαν", + "PasswordChanged": "Ο κωδικός πρόσβασης άλλαξε", + "NewPasswordConfirmFailed": "Παρακαλώ επιβεβαιώστε τον νέο κωδικό πρόσβασης.", + "Manage": "Διαχείρηση", + "MyAccount": "Ο λογαριασμός μου", + "DisplayName:Abp.Account.IsSelfRegistrationEnabled": "Είναι ενεργοποιημένη η αυτοεγγραφή", + "Description:Abp.Account.IsSelfRegistrationEnabled": "Εάν ένας χρήστης μπορεί να εγγράψει τον λογαριασμό μόνος του.", + "DisplayName:Abp.Account.EnableLocalLogin": "Έλεγχος ταυτότητας με τοπικό λογαριασμό", + "Description:Abp.Account.EnableLocalLogin": "Υποδεικνύει εάν ο διακομιστής θα επιτρέψει στους χρήστες τον έλεγχο ταυτότητας με έναν τοπικό λογαριασμό.", + "LoggedOutTitle": "Αποσυνδέθηκατε", + "LoggedOutText": "Έχετε αποσυνδεθεί και θα ανακατευθυνθείτε σύντομα.", + "ReturnToText": "Κάντε κλικ εδώ για να επιστρέψετε στην εφαρμογή", + "OrLoginWith": "Ή συνδεθείτε με:", + "ForgotPassword": "Ξεχάσατε τον κωδικό πρόσβασης σας;", + "SendPasswordResetLink_Information": "Θα αποσταλεί στο email σας ένας σύνδεσμος επαναφοράς κωδικού πρόσβασης μεσα απο τον οποιο θα μπορείτε να επαναφέρετε τον κωδικό πρόσβασής σας. Εάν δεν λάβετε ένα email μέσα σε λίγα λεπτά, δοκιμάστε ξανά.", + "PasswordResetMailSentMessage": "Το email ανάκτησης λογαριασμού στάλθηκε στη διεύθυνση ηλεκτρονικού ταχυδρομείου σας. Εάν δεν δείτε αυτό το μήνυμα ηλεκτρονικού ταχυδρομείου στα εισερχόμενά σας εντός 15 λεπτών, αναζητήστε το στον φάκελο ανεπιθύμητης αλληλογραφίας σας. Εάν το βρείτε εκεί, σημειώστε το ως -Not Junk-.", + "ResetPassword": "Επαναφορά Κωδικού Πρόσβασης", + "ConfirmPassword": "Επιβεβαιώστε (επαναλάβετε) τον κωδικό πρόσβασης", + "ResetPassword_Information": "Εισαγάγετε τον νέο σας κωδικό πρόσβασης.", + "YourPasswordIsSuccessfullyReset": "Ο κωδικός πρόσβασής σας επαναφέρθηκε με επιτυχία", + "GoToTheApplication": "Μεταβείτε στην εφαρμογή", + "BackToLogin": "Επιστροφή στην σελίδα εισόδου", + "ProfileTab:Password": "Αλλάξτε κωδικό", + "ProfileTab:PersonalInfo": "Προσωπικές πληροφορίες", + "ReturnToApplication": "Επιστροφή στην εφαρμογή", + "Volo.Account:InvalidEmailAddress": "Δεν είναι δυνατή η εύρεση της δεδομένης διεύθυνσης ηλεκτρονικού ταχυδρομείου: {0}", + "PasswordReset": "Επαναφορά κωδικού πρόσβασης", + "PasswordResetInfoInEmail": "Λάβαμε ένα αίτημα ανάκτησης λογαριασμού! Εάν υποβάλατε αυτό το αίτημα, κάντε κλικ στον παρακάτω σύνδεσμο για να επαναφέρετε τον κωδικό πρόσβασής σας.", + "ResetMyPassword": "Επαναφορά του κωδικού πρόσβασής μου", + "AccessDenied": "Δεν επιτρέπεται η πρόσβαση!", + "AccessDeniedMessage": "Δεν έχετε πρόσβαση σε αυτόν τον πόρο." + } +} \ No newline at end of file diff --git a/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/Localization/el.json b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/Localization/el.json new file mode 100644 index 0000000000..2511d4c76d --- /dev/null +++ b/modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/Localization/el.json @@ -0,0 +1,6 @@ +{ + "culture": "el", + "texts": { + "MyAccount": "Ο λογαριασμός μου" + } +} \ No newline at end of file diff --git a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/el.json b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/el.json new file mode 100644 index 0000000000..762a50eba3 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Localization/Resources/el.json @@ -0,0 +1,61 @@ +{ + "culture": "el", + "texts": { + "Menu:Blogs": "Ιστολόγια", + "Menu:BlogManagement": "Blogging", + "Permission:Management": "Διαχείριση", + "Permission:Edit": "Επεξεργασία", + "Permission:Create": "Δημιουργία", + "Permission:Delete": "Διαγραφή", + "Permission:Blogging": "Ιστολόγιο", + "Permission:Blogs": "Ιστολόγια", + "Permission:Posts": "Αναρτήσεις", + "Permission:Tags": "Ετικέτα", + "Permission:Comments": "Σχόλια", + "Permission:ClearCache": "Εκκαθάριση προσωρινής μνήμης", + "Title": "Τίτλος", + "Delete": "Διαγραφή", + "Reply": "Απάντηση", + "ReplyTo": "Απάντηση σε", + "ContinueReading": "Συνέχισε να διαβάζεις", + "DaysAgo": "{0} μέρες πριν", + "YearsAgo": "{0} χρόνια πριν", + "MonthsAgo": "{0} μήνες πριν", + "WeeksAgo": "{0} εβδομάδες πριν", + "MinutesAgo": "{0} λεπτά πριν", + "SecondsAgo": "{0} δευτερόλεπτα πριν", + "HoursAgo": "{0} ώρες πριν", + "Now": "τώρα", + "Content": "Περιεχόμενο", + "SeeAll": "Προβολή όλων", + "PopularTags": "Δημοφιλείς", + "WiewsWithCount": "{0} προβολές", + "LastPosts": "Τελευταίες δημοσιεύσεις", + "LeaveComment": "Αφήστε σχόλιο", + "TagsInThisArticle": "Ετικέτες σε αυτό το άρθρο", + "Posts": "Αναρτήσεις", + "Edit": "Επεξεργασία", + "BLOG": "Ισοτλόγιο", + "CommentDeletionWarningMessage": "Το σχόλιο θα διαγραφεί.", + "PostDeletionWarningMessage": "Η ανάρτηση θα διαγραφεί.", + "BlogDeletionWarningMessage": "Το ιστολόγιο θα διαγραφεί.", + "AreYouSure": "Είσαι σίγουρος;", + "CommentWithCount": "{0} σχόλια", + "Comment": "Σχόλιο", + "ShareOnTwitter": "Κοινή χρήση στο Twitter", + "CoverImage": "Εικόνα εξωφύλλου", + "CreateANewPost": "Δημιουργία νέας ανάρτησης", + "CreateANewBlog": "Δημιουργήστε ένα νέο ιστολόγιο", + "WhatIsNew": "Τι είναι νέο;", + "Name": "Όνομα", + "ShortName": "Μικρό όνομα", + "CreationTime": "Χρόνος Δημιουργίας", + "Description": "Περιγραφή", + "Blogs": "ιστολόγια", + "Tags": "ετικέτες", + "ShareOn": "Κοινοποίηση στο", + "TitleLengthWarning": "Διατηρήστε το μέγεθος του τίτλου σας κάτω από 60 χαρακτήρες", + "ClearCache": "Εκκαθάριση προσωρινής μνήμης", + "ClearCacheConfirmationMessage": "Είστε βέβαιοι ότι θέλετε να διαγράψετε την προσωρινή μνήμη;" + } +} \ No newline at end of file diff --git a/modules/cms-kit/host/Volo.CmsKit.HttpApi.Host/CmsKitHttpApiHostModule.cs b/modules/cms-kit/host/Volo.CmsKit.HttpApi.Host/CmsKitHttpApiHostModule.cs index d3ea4874a7..01c8464477 100644 --- a/modules/cms-kit/host/Volo.CmsKit.HttpApi.Host/CmsKitHttpApiHostModule.cs +++ b/modules/cms-kit/host/Volo.CmsKit.HttpApi.Host/CmsKitHttpApiHostModule.cs @@ -111,6 +111,7 @@ public class CmsKitHttpApiHostModule : AbpModule options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) diff --git a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/CmsKitIdentityServerModule.cs b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/CmsKitIdentityServerModule.cs index 62637998be..326e4673b4 100644 --- a/modules/cms-kit/host/Volo.CmsKit.IdentityServer/CmsKitIdentityServerModule.cs +++ b/modules/cms-kit/host/Volo.CmsKit.IdentityServer/CmsKitIdentityServerModule.cs @@ -118,6 +118,7 @@ public class CmsKitIdentityServerModule : AbpModule options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/CmsKitWebUnifiedModule.cs b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/CmsKitWebUnifiedModule.cs index 3a14141c01..9a6be48e5f 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Web.Unified/CmsKitWebUnifiedModule.cs +++ b/modules/cms-kit/host/Volo.CmsKit.Web.Unified/CmsKitWebUnifiedModule.cs @@ -145,6 +145,7 @@ public class CmsKitWebUnifiedModule : AbpModule options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json new file mode 100644 index 0000000000..222cbe0fbd --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/Localization/Resources/el.json @@ -0,0 +1,186 @@ +{ + "culture": "el", + "texts": { + "AddSubMenuItem": "Προσθήκη στοιχείου στο υπομενού", + "AreYouSure": "Είσαι σίγουρος;", + "BlogDeletionConfirmationMessage": "Το ιστολόγιο '{0}' θα διαγραφεί. Είσαι σίγουρος;", + "BlogFeatureNotAvailable": "Αυτή η δυνατότητα δεν είναι διαθέσιμη τώρα. Ενεργοποιήστε το 'GlobalFeatureManager' για να το χρησιμοποιήσετε.", + "BlogId": "Ιστολόγιο", + "BlogPostDeletionConfirmationMessage": "Η ανάρτηση ιστολογίου '{0}' θα διαγραφεί. Είσαι σίγουρος;", + "BlogPosts": "Αναρτήσεις ιστολογίου", + "Blogs": "Ιστολόγια", + "ChoosePreference": "Επιλέξτε Προτίμηση...", + "Cms": "CMS", + "CmsKit.Comments": "Σχόλια", + "CmsKit.Ratings": "Βαθμολογία", + "CmsKit.Reactions": "Αντιδράσεις", + "CmsKit.Tags": "Ετικέτες", + "CmsKit:0002": "Το περιεχόμενο υπάρχει ήδη!", + "CmsKit:0003": "Η οντότητα {0} δεν μπορεί να επισημανθεί.", + "CmsKit:Blog:0001": "Το δεδομένο slug ({Slug}) υπάρχει ήδη!", + "CmsKit:BlogPost:0001": "Το δεδομένο slug υπάρχει ήδη!", + "CmsKit:Comments:0001": "Η οντότητα {EntityType} δεν μπορεί να σχολιαστεί.", + "CmsKit:Media:0001": "'Το {Name}' δεν είναι έγκυρο όνομα πολυμέσων.", + "CmsKit:Media:0002": "Η οντότητα δεν μπορεί να έχει μέσα.", + "CmsKit:Page:0001": "Η δεδομένη διεύθυνση url ({Slug}) υπάρχει ήδη. Δοκιμάστε με διαφορετική διεύθυνση url.", + "CmsKit:Rating:0001": "Η οντότητα {EntityType} δεν μπορεί να βαθμολογηθεί.", + "CmsKit:Reaction:0001": "Η οντότητα {EntityType} δεν μπορεί να έχει αντιδράσεις.", + "CmsKit:Tag:0002": "Η οντότητα δεν είναι επισημασμένη!", + "CommentAuthorizationExceptionMessage": "Αυτά τα σχόλια δεν επιτρέπονται για δημόσια προβολή.", + "CommentDeletionConfirmationMessage": "Αυτό το σχόλιο και όλες οι απαντήσεις θα διαγραφούν!", + "Comments": "Σχόλια", + "Content": "Περιεχόμενο", + "ContentDeletionConfirmationMessage": "Είστε βέβαιοι ότι θα διαγράψετε αυτό το περιεχόμενο;", + "Contents": "Περιεχόμενα", + "CoverImage": "Εικόνα εξωφύλλου", + "CreateBlogPostPage": "Νέα ανάρτηση ιστολογίου", + "CreationTime": "Χρόνος Δημιουργίας", + "Delete": "Διαγραφή", + "Detail": "Λεπτομέρεια", + "Details": "Λεπτομέριες", + "DisplayName": "Εμφανιζόμενο όνομα", + "DoYouPreferAdditionalEmails": "Προτιμάτε επιπλέον email;", + "Edit": "Επεξεργασία", + "EndDate": "Ημερομηνία λήξης", + "EntityId": "Αναγνωριστικό οντότητας", + "EntityType": "Τύπος οντότητας", + "ExportCSV": "Εξαγωγή CSV", + "Features": "Χαρακτηριστικά", + "GenericDeletionConfirmationMessage": "Είστε βέβαιοι ότι θα διαγράψετε το '{0}';", + "IsActive": "Ενεργός", + "LastModification": "Τελευταία Τροποποίηση", + "LastModificationTime": " Ώρα τελευταίας τροποποίησης", + "LoginToAddComment": "Συνδεθείτε για να προσθέσετε σχόλιο", + "LoginToRate": "Συνδεθείτε για να βαθμολογήσετε", + "LoginToReact": "Συνδεθείτε για να αντιδράσετε", + "LoginToReply": "Συνδεθείτε για να απαντήσετε", + "MainMenu": "Κυρίως μενού", + "MakeMainMenu": "Δημιουργία Κύριου Μενού", + "Menu:CMS": "CMS", + "Menus": "Μενού", + "MenuDeletionConfirmationMessage": "Το μενού '{0}' θα διαγραφεί. Είσαι σίγουρος;", + "MenuItemDeletionConfirmationMessage": "Σίγουρα θα διαγράψετε αυτό το στοιχείο του μενού;", + "MenuItemMoveConfirmMessage": "Είστε βέβαιοι ότι θέλετε να μετακινήσετε το '{0}' κάτω από το '{1}';", + "MenuItems": "Στοιχεία μενού", + "Message": "Μήνυμα", + "MessageDeletionConfirmationMessage": "Αυτό το σχόλιο θα διαγραφεί εντελώς.", + "NewBlog": "Νέο Ιστολόγιο", + "NewBlogPost": "Νέα ανάρτηση ιστολογίου", + "NewMenu": "Νέο Μενού", + "NewMenuItem": "Νέο στοιχείο μενού", + "NewPage": "Νέα Σελίδα", + "NewTag": "Νέα Ετικέτα", + "NoMenuItems": "Δεν υπάρχει ακόμα στοιχείο μενού!", + "OK": "OK", + "PageDeletionConfirmationMessage": "Είστε βέβαιοι ότι θα διαγράψετε αυτήν τη σελίδα;", + "PageId": "Σελίδα", + "Pages": "Σελίδες", + "PageSlugInformation": "Το Slug χρησιμοποιείται στο url. Το url σας θα είναι '/pages/{{slug}}'.", + "Permission:BlogManagement": "Διαχείριση ιστολογίου", + "Permission:BlogManagement.Create": "Δημιουργώ", + "Permission:BlogManagement.Delete": "Διαγράφω", + "Permission:BlogManagement.Features": "Χαρακτηριστικά", + "Permission:BlogManagement.Update": "Εκσυγχρονίζω", + "Permission:BlogPostManagement": "Διαχείριση αναρτήσεων ιστολογίου", + "Permission:BlogPostManagement.Create": "Δημιουργώ", + "Permission:BlogPostManagement.Delete": "Διαγράφω", + "Permission:BlogPostManagement.Update": "Εκσυγχρονίζω", + "Permission:BlogPostManagement.Publish": "Δημοσιεύω", + "Permission:CmsKit": "CmsKit", + "Permission:Comments": "Διαχείριση σχολίων", + "Permission:Comments.Delete": "Διαγράφω", + "Permission:Contents": "Διαχείριση περιεχομένου", + "Permission:Contents.Create": "Δημιουργία Περιεχομένου", + "Permission:Contents.Delete": "Διαγραφή Περιεχομένου", + "Permission:Contents.Update": "Ενημέρωση Περιεχομένου", + "Permission:MediaDescriptorManagement": "Διαχείριση Μέσων", + "Permission:MediaDescriptorManagement:Create": "Δημιουργώ", + "Permission:MediaDescriptorManagement:Delete": "Διαγράφω", + "Permission:MenuItemManagement": "Διαχείριση στοιχείων μενού", + "Permission:MenuItemManagement.Create": "Δημιουργώ", + "Permission:MenuItemManagement.Delete": "Διαγράφω", + "Permission:MenuItemManagement.Update": "Εκσυγχρονίζω", + "Permission:MenuManagement": "Διαχείριση μενού", + "Permission:MenuManagement.Create": "Δημιουργώ", + "Permission:MenuManagement.Delete": "Διαγράφω", + "Permission:MenuManagement.Update": "Εκσυγχρονίζω", + "Permission:Menus": "Διαχείριση μενού", + "Permission:Menus.Create": "Δημιουργώ", + "Permission:Menus.Delete": "Διαγράφω", + "Permission:Menus.Update": "Εκσυγχρονίζω", + "Permission:PageManagement": "Διαχείριση μενού", + "Permission:PageManagement:Create": "Δημιουργώ", + "Permission:PageManagement:Delete": "Διαγράφω", + "Permission:PageManagement:Update": "Εκσυγχρονίζω", + "Permission:TagManagement": "Διαχείριση ετικετών", + "Permission:TagManagement.Create": "Δημιουργώ", + "Permission:TagManagement.Delete": "Διαγράφω", + "Permission:TagManagement.Update": "Εκσυγχρονίζω", + "Permission:GlobalResources": "Παγκόσμιοι Πόροι", + "PickYourReaction": "Διάλεξε την αντίδρασή σου", + "Rating": "Βαθμολογία", + "RatingUndoMessage": "Η αξιολόγησή σας θα αναιρεθεί.", + "Reactions": "Αντιδράσεις", + "Read": "Ανάγνωση", + "RepliesToThisComment": "Απαντήσεις σε αυτό το σχόλιο", + "Reply": "Απάντηση", + "ReplyTo": "Απάντηση σε", + "SamplePageMessage": "Ένα δείγμα σελίδας για την ενότητα Pro", + "SaveChanges": "Αποθήκευσε τις αλλαγές", + "Script": "Γραφή", + "SelectAll": "Επιλογή όλων", + "Send": "Αποστολή", + "SendMessage": "Αποστολή Μηνύματος", + "SelectedAuthor": "Συγγραφέας", + "ShortDescription": "Σύντομη περιγραφή", + "Slug": "Slug", + "Source": "Πηγή", + "SourceUrl": "Πηγή Url", + "Star": "Αστέρι", + "StartDate": "Ημερομηνία έναρξης", + "Style": "Στυλ", + "Subject": "Θέμα", + "SubjectPlaceholder": "Πληκτρολογήστε ένα θέμα", + "Submit": "Υποβολή", + "Subscribe": "Εγγραφή", + "SuccessfullySaved": "Αποθηκεύτηκε με επιτυχία!", + "TagDeletionConfirmationMessage": "Είστε βέβαιοι ότι θα διαγράψετε την ετικέτα '{0}'.;", + "Tags": "Ετικέτες", + "Text": "Κείμενο", + "ThankYou": "Σε ευχαριστώ", + "Title": "Τίτλος", + "Undo": "Αναίρεση", + "Update": "Εκσυγχρονίσμός", + "UpdatePreferenceSuccessMessage": "Οι προτιμήσεις σας έχουν αποθηκευτεί.", + "UpdateYourEmailPreferences": "Ενημερώστε τις προτιμήσεις email σας", + "UnMakeMainMenu": "Αλλαγή Κύριου Μενού", + "UploadFailedMessage": "Η μεταφόρτωση απέτυχε.", + "UserId": "Ταυτότητα χρήστη", + "Username": "Όνομα χρήστη", + "YourComment": "Το σχόλιό σου", + "YourEmailAddress": "Η ηλεκτρονική σου διεύθυνση", + "YourFullName": "Το ονοματεπώνυμο σου", + "YourMessage": "Το μήνυμά σου", + "YourReply": "Η απάντηση σου", + "MarkdownSupported": "Markdown supported.", + "GlobalResources": "Παγκόσμιοι Πόροι", + "SavedSuccessfully": "Αποθηκεύτηκε επιτυχώς", + "CmsKit.BlogPost.Status.0": "Προσχέδιο", + "CmsKit.BlogPost.Status.1": "Δημοσιευμένο", + "CmsKit.BlogPost.Status.2": "Αναμονή για αναθεώρηση", + "BlogPostPublishConfirmationMessage": "Είστε βέβαιοι ότι θα δημοσιεύσετε την ανάρτηση του ιστολογίου\"{0}\";", + "SuccessfullyPublished": "Δημοσιεύτηκε με επιτυχία!", + "Draft": "Προσχέδιο", + "Publish": "Δημοσιευμένο", + "BlogPostDraftConfirmationMessage": "Είστε βέβαιοι ότι έχετε ορίσει την ανάρτηση ιστολογίου \"{0}\" ως πρόχειρο;", + "BlogPostSendToReviewConfirmationMessage": "Είστε βέβαιοι ότι θα στείλετε την ανάρτηση ιστολογίου \"{0}\" σε έλεγχο διαχειριστή για δημοσίευση;", + "SaveAsDraft": "Αποθηκεύσετε ως πρόχειρο", + "SendToReview": "Αποστολή για αξιολόγηση", + "SendToReviewToPublish": "Αποστολή για αξιολόγηση για δημοσίευση", + "BlogPostSendToReviewSuccessMessage": "Η ανάρτηση ιστολογίου \"{0}\" έχει σταλεί σε έλεγχο διαχειριστή για δημοσίευση.", + "HasBlogPostWaitingForReviewMessage": "Έχετε μια ανάρτηση ιστολογίου σε αναμονή για έλεγχο. Κάντε κλικ για λίστα.", + "SelectAStatus": "Επιλέξτε μια κατάσταση", + "Status": "Κατάσταση", + "CmsKit.BlogPost.ScrollIndex": "Γραμμή γρήγορης πλοήγησης σε αναρτήσεις ιστολογίου" + } +} \ No newline at end of file diff --git a/modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/el.json b/modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/el.json new file mode 100644 index 0000000000..40f12323dd --- /dev/null +++ b/modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/el.json @@ -0,0 +1,10 @@ +{ + "culture": "el", + "texts": { + "DocsTitle": "VoloDocs", + "WelcomeVoloDocs": "Καλωσήρθατε στο VoloDocs!", + "NoProjectWarning": "Δεν υπάρχει ακόμη καθορισμένο έργο!", + "CreateYourFirstProject": "Κάντε κλικ εδώ για να ξεκινήσετε το πρώτο σας έργο", + "NoProject": "Κανένα έργο!" + } +} \ No newline at end of file diff --git a/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs b/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs index 7928c9dace..0d4ba3b365 100644 --- a/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs +++ b/modules/docs/app/VoloDocs.Web/VoloDocsWebModule.cs @@ -140,6 +140,7 @@ namespace VoloDocs.Web options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak")); options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); options.Resources .Get() diff --git a/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/el.json b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/el.json new file mode 100644 index 0000000000..d44ba001db --- /dev/null +++ b/modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/el.json @@ -0,0 +1,59 @@ +{ + "culture": "el", + "texts": { + "Permission:DocumentManagement": "Διαχείρηση αρχείων", + "Permission:Projects": "Εργα", + "Permission:Edit": "Επεξεργασία", + "Permission:Delete": "Διαγραφή", + "Permission:Create": "Δημιουργία", + "Permission:Documents": "Αρχεία", + "Menu:Documents": "Αρχεία", + "Menu:DocumentManagement": "Αρχεία", + "Menu:ProjectManagement": "Εργα", + "CreateANewProject": "Δημιουργία νέου έργου", + "Edit": "Επεξεργασία", + "Create": "Δημιουργία", + "Pull": "Τραβήξτε", + "Projects": "Εργα", + "Name": "Όνομα", + "ShortName": "Μικρό όνομα", + "DocumentStoreType": "Τύπος αποθήκευσης εγγράφων", + "Format": "Μορφή", + "ShortNameInfoText": "Θα χρησιμοποιηθεί για μοναδική διεύθυνση URL.", + "DisplayName:Name": "Όνομα", + "DisplayName:ShortName": "Μικρό όνομα", + "DisplayName:Format": "Μορφή", + "DisplayName:DefaultDocumentName": "Προεπιλεγμένο όνομα εγγράφου", + "DisplayName:NavigationDocumentName": "Όνομα εγγράφου πλοήγησης", + "DisplayName:MinimumVersion": "Ελάχιστη έκδοση", + "DisplayName:MainWebsiteUrl": "URL του κύριου ιστότοπου", + "DisplayName:LatestVersionBranchName": "Όνομα υποκαταστήματος τελευταίας έκδοσης", + "DisplayName:GitHubRootUrl": "GitHub root URL", + "DisplayName:GitHubAccessToken": "GitHub Διακριτικό πρόσβασης", + "DisplayName:GitHubUserAgent": "GitHub user agent", + "DisplayName:GithubVersionProviderSource": "GitHub πηγή παρόχου έκδοσης", + "DisplayName:VersionBranchPrefix": "Πρόθεμα κλάδου έκδοσης", + "DisplayName:All": "Τραβήξτε όλα", + "DisplayName:LanguageCode": "Κωδικός γλώσσας", + "DisplayName:Version": "Εκδοχή", + "Documents": "Εγγραφα", + "RemoveFromCache": "Αφαίρεση από την προσωρινή μνήμη", + "Reindex": "Επανακαταγραφή", + "ReindexCompleted": "Ολοκληρώθηκε η επανακαταγραφή", + "RemovedFromCache": "Καταργήθηκε από την προσωρινή μνήμη", + "RemoveFromCacheConfirmation": "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε αυτό το στοιχείο από την προσωρινή μνήμη;", + "ReIndexDocumentConfirmation": "Είστε βέβαιοι ότι θέλετε να αναπροσαρμόσετε αυτό το στοιχείο;", + "DeleteFromDatabase": "Διαγραφή από τη βάση δεδομένων", + "Deleted": "Διαγραφή", + "Search": "Αναζήτηση", + "StartDate": "Ημερομηνία έναρξης", + "EndDate": "Ημερομηνία λήξης", + "CreationTime": "Χρόνος δημιουργίας", + "LastUpdateTime": "Τελευταία ενημέρωση", + "LastSignificantUpdateTime": "Τελευταία σημαντική ενημέρωση", + "Version": "Εκδοχή", + "LanguageCode": "Κωδικός γλώσσας", + "FileName": "Όνομα αρχείου", + "LastCachedTime": "Χρόνος προσωρινής αποθήκευσης" + } +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/el.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/el.json new file mode 100644 index 0000000000..40ac3b32ca --- /dev/null +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/el.json @@ -0,0 +1,41 @@ +{ + "culture": "el", + "texts": { + "Documents": "Έγγραφα", + "BackToWebsite": "Επιστροφή στον ιστότοπο", + "Contributors": "Συνεισφέροντες", + "ShareOn": "Κοινοποίηση στο", + "Version": "Εκδοχή", + "Edit": "Επεξεργασία", + "LastEditTime": "Τελευταία επεξεργασία", + "Delete": "Διαγραφή", + "ClearCache": "Εκκαθάριση προσωρινής μνήμης", + "ClearCacheConfirmationMessage": "Είστε βέβαιοι ότι θα διαγράψετε όλες τις προσωρινές μνήμες για το έργο\"{0}\"", + "ReIndexAllProjects": "Αναπροσαρμογή όλων των έργων", + "ReIndexProject": "Αναπροσαρμογή έργου", + "ReIndexProjectConfirmationMessage": "Είστε βέβαιοι ότι θέλετε αναπροσαρμογή για το έργο\"{0}\"", + "SuccessfullyReIndexProject": "Επιτυχής αναπροσαρμογή: \"{0}\"", + "ReIndexAllProjectConfirmationMessage": "Είστε βέβαιοι ότι θέλετε αναπροσαρμογή όλων των έργων;", + "SuccessfullyReIndexAllProject": "Επιτυχής αναπροσαρμογή όλων των έργων", + "InThisDocument": "Σε αυτό το έργο", + "GoToTop": "Πήγαινε στην κορυφή", + "Projects": "Έργο/α", + "NoProjectWarning": "Δεν υπάρχουν ακόμη έργα!", + "DocumentNotFound": "Ωχ, το έγγραφο που ζητήθηκε δεν βρέθηκε!", + "ProjectNotFound": "Ωχ, το έργο που ζητήθηκε δεν βρέθηκε!", + "NavigationDocumentNotFound": "Αυτή η έκδοση δεν έχει έγγραφο πλοήγησης!", + "DocumentNotFoundInSelectedLanguage": "Το έγγραφο στη γλώσσα που θέλατε δεν βρέθηκε. Εμφανίζεται το έγγραφο στην προεπιλεγμένη γλώσσα.", + "FilterTopics": "Φιλτράρισμα θεμάτων", + "FullSearch": "Αναζήτηση σε έγγραφα", + "Volo.Docs.Domain:010001": "Η ελαστική αναζήτηση δεν είναι ενεργοποιημένη.", + "MultipleVersionDocumentInfo": "Αυτό το έγγραφο έχει πολλές εκδόσεις. Επιλέξτε τις επιλογές που σας ταιριάζουν καλύτερα.", + "New": "Νέο", + "Upd": "Επικαιροποιημένο", + "NewExplanation": "Δημιουργήθηκε τις τελευταίες δύο εβδομάδες", + "UpdatedExplanation": "Ενημερώθηκε τις τελευταίες δύο εβδομάδες.", + "Volo.Docs.Domain:010002": "Το Μικρό όνομα {ShortName} υπάρχει ήδη.", + "Preview": "προεπισκόπηση", + "Search": "Αναζήτηση", + "SearchResults": "Αποτελέσματα αναζήτησης" + } +} \ No newline at end of file diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/el.json b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/el.json new file mode 100644 index 0000000000..6e5529f2cd --- /dev/null +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Domain.Shared/Volo/Abp/FeatureManagement/Localization/Domain/el.json @@ -0,0 +1,10 @@ +{ + "culture": "el", + "texts": { + "Features": "Χαρακτηριστικά", + "NoFeatureFoundMessage": "Δεν διατίθεται καποιο χαρακτηριστικο.", + "Permission:FeatureManagement": "Διαχείριση χαρακτηριστικών", + "Permission:FeatureManagement.ManageHostFeatures": "Διαχείριση Χαρακτηριστικών Εξυπηρετήτη", + "Volo.Abp.FeatureManagement:InvalidFeatureValue" : "Η τιμή χαρακτηριστικού {0} δεν ειναι έγκυρη!" + } +} \ No newline at end of file diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json new file mode 100644 index 0000000000..f00493c329 --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/Localization/el.json @@ -0,0 +1,112 @@ +{ + "culture": "el", + "texts": { + "Menu:IdentityManagement": "Διαχείριση ταυτότητας", + "Users": "Χρήστες", + "NewUser": "Νέος χρήστης", + "UserName": "Όνομα χρήστη", + "EmailAddress": "Διεύθυνση ηλεκτρονικού ταχυδρομείου", + "PhoneNumber": "Τηλεφωνικό νούμερο", + "UserInformations": "Πληροφορίες χρήστη", + "DisplayName:IsDefault": "Προκαθορισμένο", + "DisplayName:IsStatic": "Στατικός", + "DisplayName:IsPublic": "Δημόσιο", + "Roles": "Ρόλοι", + "Password": "Κωδικός πρόσβασης", + "PersonalInfo": "Το προφίλ μου", + "PersonalSettings": "Προσωπικές ρυθμίσεις", + "UserDeletionConfirmationMessage": "Ο χρήστης '{0}' θα διαγραφεί. Το επιβεβαιώνεις;", + "RoleDeletionConfirmationMessage": "Ο ρόλος '{0}' θα διαγραφεί. Το επιβεβαιώνεις;", + "DisplayName:RoleName": "Όνομα ρόλου", + "DisplayName:UserName": "Όνομα χρήστη", + "DisplayName:Name": "Όνομα", + "DisplayName:Surname": "Επώνυμο", + "DisplayName:Password": "Κωδικός πρόσβασης", + "DisplayName:Email": "Διεύθυνση ηλεκτρονικού ταχυδρομείου", + "DisplayName:PhoneNumber": "Τηλεφωνικό νούμερο", + "DisplayName:TwoFactorEnabled": "Επαλήθευση δύο παραγόντων", + "DisplayName:IsActive": "Ενεργός", + "DisplayName:LockoutEnabled": "Κλείδωμα λογαριασμού μετά από αποτυχημένες προσπάθειες σύνδεσης", + "NewRole": "Νέος ρόλος", + "RoleName": "Όνομα ρόλου", + "CreationTime": "Χρόνος δημιουργίας", + "Permissions": "Δικαιώματα", + "DisplayName:CurrentPassword": "Τρέχων κωδικός πρόσβασης", + "DisplayName:NewPassword": "Νέος κωδικός πρόσβασης", + "DisplayName:NewPasswordConfirm": "Επιβεβαιώστε τον καινούριο σας κωδικό", + "PasswordChangedMessage": "Ο κωδικός πρόσβασης σας άλλαξε με επιτυχία.", + "PersonalSettingsSavedMessage": "Οι προσωπικές σας ρυθμίσεις αποθηκεύτηκαν με επιτυχία.", + "Volo.Abp.Identity:DefaultError": "Παρουσιάστηκε μια άγνωστη αποτυχία.", + "Volo.Abp.Identity:ConcurrencyFailure": "Ο έλεγχος συγχρονισμού απέτυχε. Η οντότητα στην οποία εργάζεστε έχει τροποποιηθεί από άλλο χρήστη. Απορρίψτε τις αλλαγές σας και δοκιμάστε ξανά.", + "Volo.Abp.Identity:DuplicateEmail": "Το email '{0}' υπάρχει ήδη.", + "Volo.Abp.Identity:DuplicateRoleName": "Το όνομα ρόλου '{0}' υπάρχει ήδη.", + "Volo.Abp.Identity:DuplicateUserName":"Το Όνομα χρήστη'{0}'υπάρχει ήδη.", + "Volo.Abp.Identity:InvalidEmail": "Το email '{0}' δεν είναι έγκυρο.", + "Volo.Abp.Identity:InvalidPasswordHasherCompatibilityMode": "Η παρεχόμενη λειτουργία PasswordHasherCompatibilityMode δεν είναι έγκυρη.", + "Volo.Abp.Identity:InvalidPasswordHasherIterationCount": "Το πλήθος των επαναλήψεων πρέπει να είναι θετικός ακέραιος.", + "Volo.Abp.Identity:InvalidRoleName": "Το όνομα ρόλου '{0}' δεν είναι έγκυρο.", + "Volo.Abp.Identity:InvalidToken": "Μη έγκυρο διακριτικό.", + "Volo.Abp.Identity:InvalidUserName": "Το όνομα χρήστη '{0}' δεν είναι έγκυρο, μπορεί να περιέχει μόνο γράμματα ή ψηφία.", + "Volo.Abp.Identity:LoginAlreadyAssociated": "Ένας χρήστης με αυτήν τη σύνδεση υπάρχει ήδη.", + "Volo.Abp.Identity:PasswordMismatch": "Λάθος κωδικός.", + "Volo.Abp.Identity:PasswordRequiresDigit": "Οι κωδικοί πρόσβασης πρέπει να έχουν τουλάχιστον ένα ψηφίο ('0'-'9').", + "Volo.Abp.Identity:PasswordRequiresLower": "Οι κωδικοί πρόσβασης πρέπει να έχουν τουλάχιστον ένα πεζό ('a'-'z').", + "Volo.Abp.Identity:PasswordRequiresNonAlphanumeric": "Οι κωδικοί πρόσβασης πρέπει να έχουν τουλάχιστον έναν μη αλφαριθμητικό χαρακτήρα.", + "Volo.Abp.Identity:PasswordRequiresUpper": "Οι κωδικοί πρόσβασης πρέπει να έχουν τουλάχιστον ένα κεφαλαίο ('A'-'Z').", + "Volo.Abp.Identity:PasswordTooShort": "Οι κωδικοί πρόσβασης πρέπει να είναι τουλάχιστον {0} χαρακτήρες.", + "Volo.Abp.Identity:RoleNotFound": "Ο ρόλος {0} δεν υπάρχει", + "Volo.Abp.Identity:UserAlreadyHasPassword": "Ο χρήστης έχει ήδη ορίσει κωδικό πρόσβασης.", + "Volo.Abp.Identity:UserAlreadyInRole": "Χρήστης ήδη στο ρόλο '{0}'.", + "Volo.Abp.Identity:UserLockedOut": "Ο χρήστης είναι κλειδωμένος έξω.", + "Volo.Abp.Identity:UserLockoutNotEnabled": "Το κλείδωμα δεν είναι ενεργοποιημένο για αυτόν τον χρήστη.", + "Volo.Abp.Identity:UserNameNotFound": "Ο χρήστης {0} δεν υπάρχει.", + "Volo.Abp.Identity:UserNotInRole": "Ο χρήστης δεν βρίσκεται στο ρόλο '{0}'.", + "Volo.Abp.Identity:PasswordConfirmationFailed": "Ο κωδικός πρόσβασης δεν ταιριάζει με τον κωδικό επιβεβαίωσης.", + "Volo.Abp.Identity:010001": "Δεν μπορείτε να διαγράψετε τον δικό σας λογαριασμό!", + "Volo.Abp.Identity:010002": "Δεν μπορείτε να ορίσετε περισσότερες από {MaxUserMembershipCount} μονάδα οργάνωσης για έναν χρήστη!", + "Volo.Abp.Identity:010003": "Δεν είναι δυνατή η αλλαγή του κωδικού πρόσβασης ενός εξωτερικά συνδεδεμένου χρήστη!", + "Volo.Abp.Identity:010004": "Υπάρχει ήδη μια οργανωτική μονάδα με όνομα {0}. Δεν μπορούν να δημιουργηθούν δύο μονάδες με το ίδιο όνομα στο ίδιο επίπεδο.", + "Volo.Abp.Identity:010005": "Οι στατικοί ρόλοι δεν μπορούν να μετονομαστούν.", + "Volo.Abp.Identity:010006": "Οι στατικοί ρόλοι δεν μπορούν να διαγραφούν.", + "Volo.Abp.Identity:010007": "Δεν μπορείτε να αλλάξετε τη ρύθμιση δύο παραγόντων.", + "Volo.Abp.Identity:010008": "Δεν επιτρέπεται η αλλαγή της ρύθμισης δύο παραγόντων.", + "Identity.OrganizationUnit.MaxUserMembershipCount": "Μέγιστος επιτρεπόμενος αριθμός μελών μονάδας οργανισμού για έναν χρήστη", + "ThisUserIsNotActiveMessage": "Αυτός ο χρήστης δεν είναι ενεργός.", + "Permission:IdentityManagement": "Διαχείριση ταυτότητας", + "Permission:RoleManagement": "Διαχείριση ρόλων", + "Permission:Create": "Δημιουργία", + "Permission:Edit": "Επεξεργασία", + "Permission:Delete": "Διαγραφή", + "Permission:ChangePermissions": "Αλλαγές στα δικαιώματα", + "Permission:UserManagement": "Διαχείριση χρηστών", + "Permission:UserLookup": "Αναζήτηση χρήστη", + "DisplayName:Abp.Identity.Password.RequiredLength": "Απαιτούμενο μήκος", + "DisplayName:Abp.Identity.Password.RequiredUniqueChars": "Απαιτούμενος μοναδικός αριθμός χαρακτήρων", + "DisplayName:Abp.Identity.Password.RequireNonAlphanumeric": "Απαιτούμενος μη αλφαριθμητικός χαρακτήρας", + "DisplayName:Abp.Identity.Password.RequireLowercase": "Απαιτούμενος πεζός χαρακτήρας", + "DisplayName:Abp.Identity.Password.RequireUppercase": "Απαιτούμενος κεφαλαίος χαρακτήρας", + "DisplayName:Abp.Identity.Password.RequireDigit": "Απαιτούμενο ψηφίο", + "DisplayName:Abp.Identity.Lockout.AllowedForNewUsers": "Ενεργοποιήθηκε για νέους χρήστες", + "DisplayName:Abp.Identity.Lockout.LockoutDuration": "Διάρκεια κλειδώματος (δευτερόλεπτα)", + "DisplayName:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Μέγιστες αποτυχημένες προσπάθειες πρόσβασης", + "DisplayName:Abp.Identity.SignIn.RequireConfirmedEmail": "Απαιτείται επιβεβαιωμένο email", + "DisplayName:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Επιτρέψτε στους χρήστες να επιβεβαιώσουν τον αριθμό τηλεφώνου τους", + "DisplayName:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Απαιτείται επιβεβαιωμένος αριθμός τηλεφώνου", + "DisplayName:Abp.Identity.User.IsUserNameUpdateEnabled": "Επιτρέψτε στους χρήστες να αλλάξουν τα ονόματα χρήστη τους", + "DisplayName:Abp.Identity.User.IsEmailUpdateEnabled": "Επιτρέψτε στους χρήστες να αλλάξουν τις διευθύνσεις email τους", + "Description:Abp.Identity.Password.RequiredLength": "Το ελάχιστο μήκος ενός κωδικού πρόσβασης πρέπει να είναι.", + "Description:Abp.Identity.Password.RequiredUniqueChars": "Ο ελάχιστος αριθμός μοναδικών χαρακτήρων που πρέπει να περιέχει ένας κωδικός πρόσβασης.", + "Description:Abp.Identity.Password.RequireNonAlphanumeric": "Εάν οι κωδικοί πρόσβασης πρέπει να περιέχουν έναν μη αλφαριθμητικό χαρακτήρα.", + "Description:Abp.Identity.Password.RequireLowercase": "Εάν οι κωδικοί πρόσβασης πρέπει να περιέχουν πεζό χαρακτήρα ASCII.", + "Description:Abp.Identity.Password.RequireUppercase": "Εάν οι κωδικοί πρόσβασης πρέπει να περιέχουν κεφαλαίο χαρακτήρα ASCII.", + "Description:Abp.Identity.Password.RequireDigit": "Εάν οι κωδικοί πρόσβασης πρέπει να περιέχουν ένα ψηφίο.", + "Description:Abp.Identity.Lockout.AllowedForNewUsers": "Εάν ένας νέος χρήστης μπορεί να κλειδωθεί.", + "Description:Abp.Identity.Lockout.LockoutDuration": "Η διάρκεια για την οποία ένας χρήστης είναι κλειδωμένος όταν εμφανίζεται ένα κλείδωμα.", + "Description:Abp.Identity.Lockout.MaxFailedAccessAttempts": "Ο αριθμός των αποτυχημένων προσπαθειών πρόσβασης που επιτρέπονται πριν από το κλείδωμα ενός χρήστη, με την προϋπόθεση ότι το κλείδωμα είναι ενεργοποιημένο.", + "Description:Abp.Identity.SignIn.RequireConfirmedEmail": "Εάν απαιτείται επιβεβαιωμένη διεύθυνση ηλεκτρονικού ταχυδρομείου για τη σύνδεση.", + "Description:Abp.Identity.SignIn.EnablePhoneNumberConfirmation": "Εάν ο αριθμός τηλεφώνου μπορεί να επιβεβαιωθεί από τον χρήστη.", + "Description:Abp.Identity.SignIn.RequireConfirmedPhoneNumber": "Εάν απαιτείται επιβεβαιωμένος αριθμός τηλεφώνου για τη σύνδεση.", + "Description:Abp.Identity.User.IsUserNameUpdateEnabled": "Εάν το όνομα χρήστη μπορεί να ενημερωθεί από τον χρήστη.", + "Description:Abp.Identity.User.IsEmailUpdateEnabled": "Εάν το email μπορεί να ενημερωθεί από τον χρήστη." + } +} \ No newline at end of file diff --git a/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/LocalizationExtensions/el.json b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/LocalizationExtensions/el.json new file mode 100644 index 0000000000..70ef08889e --- /dev/null +++ b/modules/identity/test/Volo.Abp.Identity.Domain.Tests/Volo/Abp/Identity/LocalizationExtensions/el.json @@ -0,0 +1,7 @@ +{ + "culture": "el", + "texts": { + "Volo.Abp.Identity:PasswordTooShort": "Το μήκος του κωδικού πρόσβασης πρέπει να είναι μεγαλύτερο από {0} χαρακτήρες.", + "Volo.Abp.Identity:PasswordRequiresNonAlphanumeric": "Ο κωδικός πρόσβασης πρέπει να περιέχει τουλάχιστον έναν μη αλφαριθμητικό χαρακτήρα." + } +} \ No newline at end of file diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/el.json b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/el.json new file mode 100644 index 0000000000..246db314c7 --- /dev/null +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Localization/Resources/el.json @@ -0,0 +1,15 @@ +{ + "culture": "el", + "texts": { + "Volo.IdentityServer:DuplicateIdentityResourceName": "Το όνομα του πόρου ταυτότητας υπάρχει ήδη:{Name}", + "Volo.IdentityServer:DuplicateApiResourceName": "Το όνομα πόρου Api υπάρχει ήδη: {Name}", + "Volo.IdentityServer:DuplicateApiScopeName": "Το όνομα πεδίου Api υπάρχει ήδη:{Name}", + "Volo.IdentityServer:DuplicateClientId": "Η ταυτότητα του χρήστη υπάρχει ήδη: {ClientId}", + "UserLockedOut": "Ο λογαριασμός χρήστη έχει κλειδωθεί λόγω μη έγκυρων προσπαθειών σύνδεσης. Περιμένετε λίγο και προσπαθήστε ξανά.", + "InvalidUserNameOrPassword": "Μη έγκυρο όνομα ή κωδικός!", + "LoginIsNotAllowed": "Δεν επιτρέπεται να συνδεθείτε! Ο λογαριασμός σας είναι ανενεργός ή χρειάζεται να επιβεβαιώσετε το email/τον αριθμό τηλεφώνου σας.", + "InvalidUsername": "Μη έγκυρο όνομα ή κωδικός!", + "InvalidAuthenticatorCode": "Μη έγκυρος κωδικός ελέγχου ταυτότητας!", + "TheTargetUserIsNotLinkedToYou": "Ο χρήστης-στόχος δεν είναι συνδεδεμένος με εσάς!" + } +} \ No newline at end of file diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/el.json b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/el.json new file mode 100644 index 0000000000..de0b8ec150 --- /dev/null +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain.Shared/Volo/Abp/OpenIddict/Localization/OpenIddict/el.json @@ -0,0 +1,17 @@ +{ + "culture": "el", + "texts": { + "TheOpenIDConnectRequestCannotBeRetrieved": "Δεν είναι δυνατή η ανάκτηση του αιτήματος OpenID Connect.", + "TheUserDetailsCannotBbeRetrieved" : "Δεν είναι δυνατή η ανάκτηση των στοιχείων του χρήστη.", + "TheApplicationDetailsCannotBeFound": "Δεν είναι δυνατή η εύρεση των στοιχείων της αίτησης.", + "DetailsConcerningTheCallingClientApplicationCannotBeFound": "Δεν μπορούν να βρεθούν οι λεπτομέρειες σχετικά με την εφαρμογή του πελάτη που καλεί.", + "TheSpecifiedGrantTypeIsNotImplemented.": "Ο καθορισμένος τύπος επιχορήγησης {0} δεν εφαρμόζεται.", + "Authorization": "Εξουσιοδότηση", + "DoYouWantToGrantAccessToYourData": "Θέλετε να παραχωρήσετε στον χρήστη {0} πρόσβαση στα δεδομένα σας;", + "ScopesRequested": "Ζητούνται πεδία εφαρμογής", + "Accept": "Αποδοχή", + "Deny": "Άρνηση", + "LogOut": "Αποσύνδεση", + "AreYouSureYouWantToSignOut": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε;" + } +} \ No newline at end of file diff --git a/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/el.json b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/el.json new file mode 100644 index 0000000000..2982e74a7e --- /dev/null +++ b/modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/Localization/Domain/el.json @@ -0,0 +1,11 @@ +{ + "culture": "el", + "texts": { + "Permissions": "Δικαιώματα", + "OnlyProviderPermissons": "Μόνο δικαιώματα παρόχου", + "All": "Όλα", + "SelectAllInAllTabs": "Χορήγηση όλων των δικαιώματων", + "SelectAllInThisTab": "Επιλογή όλων", + "SaveWithoutAnyPermissionsWarningMessage": "Είστε βέβαιοι ότι θέλετε να αποθηκεύσετε χωρίς δικαιώματα;" + } +} \ No newline at end of file diff --git a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppModule.cs b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppModule.cs index d6eab1f069..cb867a540e 100644 --- a/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppModule.cs +++ b/modules/setting-management/app/Volo.Abp.SettingManagement.DemoApp/DemoAppModule.cs @@ -96,6 +96,7 @@ public class DemoAppModule : AbpModule options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi", "in")); options.Languages.Add(new LanguageInfo("is", "is", "Icelandic", "is")); options.Languages.Add(new LanguageInfo("it", "it", "Italiano", "it")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/el.json b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/el.json new file mode 100644 index 0000000000..a8f44b4bbb --- /dev/null +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/el.json @@ -0,0 +1,34 @@ +{ + "culture": "el", + "texts": { + "Settings": "Ρυθμίσεις", + "SuccessfullySaved": "Αποθηκεύτηκε με επιτυχία", + "Permission:SettingManagement": "Διαχείριση ρυθμίσεων", + "Permission:Emailing": "Αποστολή email", + "Permission:EmailingTest": "Αποστολή δοκιμαστικού email", + "SendTestEmail": "Αποστολή δοκιμαστικού email", + "SenderEmailAddress": "Διεύθυνση email αποστολέα", + "TargetEmailAddress": "Διεύθυνση email παραλήπτη", + "Subject": "Θέμα", + "Body": "Κείμενο", + "TestEmailSubject": "Δοκιμαστικό email {0}", + "TestEmailBody": "Δοκιμαστικό κείμενο email εδώ", + "SuccessfullySent": "Στάλθηκε με επιτυχία", + "Send": "Αποστολή", + "Menu:Emailing": "Αποστολή email", + "SmtpHost": "Διακομιστής", + "SmtpPort": "Πόρτα", + "SmtpUserName": "Όνομα χρήστη", + "SmtpPassword": "Κωδικός πρόσβασης", + "SmtpDomain": "Τομέας", + "SmtpEnableSsl": "Ενεργοποίηση ssl", + "SmtpUseDefaultCredentials": "Χρησιμοποιήστε προεπιλεγμένα διαπιστευτήρια", + "DefaultFromAddress": "Προεπιλεγμένη διεύθυνση αποστολέα", + "DefaultFromDisplayName": "Προεπιλεγμένο όνομα αποστολέα", + "Feature:SettingManagementGroup": "Διαχείριση ρυθμίσεων", + "Feature:SettingManagementEnable": "Ενεργοποίηση διαχείρισης ρυθμίσεων", + "Feature:SettingManagementEnableDescription": "Ενεργοποίηση συστήματος διαχείρισης ρυθμίσεων στην εφαρμογή.", + "Feature:AllowTenantsToChangeEmailSettings": "Επιτρέψτε στους μισθωτές να αλλάξουν τις ρυθμίσεις email.", + "Feature:AllowTenantsToChangeEmailSettingsDescription": "Επιτρέψτε στους μισθωτές να αλλάξουν τις ρυθμίσεις email." + } +} \ No newline at end of file diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/el.json b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/el.json new file mode 100644 index 0000000000..026bcb0b76 --- /dev/null +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/el.json @@ -0,0 +1,23 @@ +{ + "culture": "el", + "texts": { + "Menu:TenantManagement": "Διαχείριση ενοικιαστών", + "Tenants": "Ενοικιαστές", + "NewTenant": "Νέος Ενοικιαστής", + "TenantName": "Όνομα ενοικιαστή", + "DisplayName:TenantName": "Όνομα ενοικιαστή", + "TenantDeletionConfirmationMessage": "Ο μισθωτής '{0}' θα διαγραφεί. Το επιβεβαιώνεις;", + "ConnectionStrings": "Συμβολοσειρές σύνδεσης", + "DisplayName:DefaultConnectionString": "Προεπιλεγμένη συμβολοσειρά σύνδεσης", + "DisplayName:UseSharedDatabase": "Χρησιμοποιήστε την Κοινόχρηστη βάση δεδομένων", + "ManageHostFeatures": "Διαχείριση δυνατοτήτων του Οικοδεσπότη", + "Permission:TenantManagement": "Διαχείριση ενοικιαστών", + "Permission:Create": "Δημιουργία", + "Permission:Edit": "Επεξεργασία", + "Permission:Delete": "Διαγραφή", + "Permission:ManageConnectionStrings": "Διαχείριση συμβολοσειρών σύνδεσης", + "Permission:ManageFeatures": "Διαχείριση λειτουργιών", + "DisplayName:AdminEmailAddress": "Διεύθυνση email διαχειριστή", + "DisplayName:AdminPassword": "Κωδικός διαχειριστή" + } +} \ No newline at end of file diff --git a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/AbpVirtualFileExplorerDemoAppModule.cs b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/AbpVirtualFileExplorerDemoAppModule.cs index b55d7fd425..5c7cbdff35 100644 --- a/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/AbpVirtualFileExplorerDemoAppModule.cs +++ b/modules/virtual-file-explorer/app/Volo.Abp.VirtualFileExplorer.DemoApp/AbpVirtualFileExplorerDemoAppModule.cs @@ -30,6 +30,7 @@ public class AbpVirtualFileExplorerDemoAppModule : AbpModule options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak")); options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); } diff --git a/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/el.json b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/el.json new file mode 100644 index 0000000000..cdfd2bb331 --- /dev/null +++ b/modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Localization/Resources/el.json @@ -0,0 +1,14 @@ +{ + "culture": "el", + "texts": { + "VirtualFileExplorer": "Εικονικός Εξερευνητής Αρχείων", + "VirtualFileType": "Εικονικός τύπος αρχείου", + "Menu:VirtualFileExplorer": "Εικονικός εξερευνητής αρχείων", + "LastUpdateTime": "Ώρα τελευταίας ενημέρωσης", + "VirtualFileName": "Όνομα εικονικού αρχείου", + "FileContent": "Περιεχόμενο αρχείου", + "Size": "Μέγεθος", + "BackToRoot": "Επιστροφή στη ρίζα", + "EmptyFileInfoList": "Δεν υπάρχουν εικονικά αρχεία" + } +} \ No newline at end of file diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs index 714141e25a..d645260e86 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs @@ -216,6 +216,7 @@ public class MyProjectNameModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs index 68f79c9fad..2f56756dba 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs @@ -217,6 +217,7 @@ public class MyProjectNameModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyProjectNameModule.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyProjectNameModule.cs index 791e06e044..483a40a92e 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyProjectNameModule.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/MyProjectNameModule.cs @@ -200,6 +200,7 @@ public class MyProjectNameModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyProjectNameModule.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyProjectNameModule.cs index f92833f373..ee07ac7173 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyProjectNameModule.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/MyProjectNameModule.cs @@ -202,6 +202,7 @@ public class MyProjectNameModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyProjectNameModule.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyProjectNameModule.cs index 6a8a0d533a..fd1c38a247 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyProjectNameModule.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/MyProjectNameModule.cs @@ -204,6 +204,7 @@ public class MyProjectNameModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyProjectNameModule.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyProjectNameModule.cs index 03833bdbf8..74bda7fb38 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyProjectNameModule.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/MyProjectNameModule.cs @@ -206,6 +206,7 @@ public class MyProjectNameModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs index 225033259f..93738bc66f 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs @@ -91,6 +91,7 @@ public class MyProjectNameAuthServerModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español", "es")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs index fef72d5efe..a7b110e638 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs @@ -228,6 +228,7 @@ public class MyProjectNameBlazorModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs index 4c4ad943ad..922f59a051 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs @@ -185,6 +185,7 @@ public class MyProjectNameBlazorModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs index c649e666be..4edcc7a73f 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs @@ -145,6 +145,7 @@ public class MyProjectNameHttpApiHostModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español", "es")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs index 428290c240..a2ebaa1059 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs @@ -163,6 +163,7 @@ public class MyProjectNameHttpApiHostModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español", "es")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); } diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs index 22e6446be7..14bab1dfc6 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs @@ -165,6 +165,7 @@ public class MyProjectNameWebModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); } diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs index 520b4b98de..9fca370381 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs @@ -134,6 +134,7 @@ public class MyProjectNameAuthServerModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyProjectNameBlazorHostModule.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyProjectNameBlazorHostModule.cs index 97e9dfcae0..16d3ec947f 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyProjectNameBlazorHostModule.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyProjectNameBlazorHostModule.cs @@ -180,6 +180,7 @@ public class MyProjectNameBlazorHostModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs index 17b0cc8a88..a736a9ca0f 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs @@ -114,6 +114,7 @@ public class MyProjectNameHttpApiHostModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyProjectNameWebUnifiedModule.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyProjectNameWebUnifiedModule.cs index 49b63a407d..80408ae4e9 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyProjectNameWebUnifiedModule.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyProjectNameWebUnifiedModule.cs @@ -129,6 +129,7 @@ public class MyProjectNameWebUnifiedModule : AbpModule options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch")); options.Languages.Add(new LanguageInfo("es", "es", "Español")); + options.Languages.Add(new LanguageInfo("el", "el", "Ελληνικά")); }); Configure(options => From 5d8ae9540e5275e634f2ae030c01be01c4fa0ff2 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 20 Jun 2022 14:52:55 +0300 Subject: [PATCH 24/26] Cli: Don't run npm/yarn install in the directory the doesn't have package.json --- .../Volo/Abp/Cli/LIbs/InstallLibsService.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/LIbs/InstallLibsService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/LIbs/InstallLibsService.cs index 71cf789c9c..1ca2ad987b 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/LIbs/InstallLibsService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/LIbs/InstallLibsService.cs @@ -78,8 +78,15 @@ public class InstallLibsService : IInstallLibsService, ITransientDependency } // MVC or BLAZOR SERVER - if (projectPath.EndsWith("csproj")) + if (projectPath.EndsWith(".csproj")) { + var packageJsonFilePath = Path.Combine(Path.GetDirectoryName(projectPath), "package.json"); + + if (!File.Exists(packageJsonFilePath)) + { + continue; + } + if (IsYarnAvailable()) { RunYarn(projectDirectory); From 02087ca45ac9a36bea7501ddca981c5587750d0a Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Mon, 20 Jun 2022 21:25:14 +0300 Subject: [PATCH 25/26] Update Application.md --- docs/en/Startup-Templates/Application.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/Startup-Templates/Application.md b/docs/en/Startup-Templates/Application.md index a262ef2d88..f2791a020c 100644 --- a/docs/en/Startup-Templates/Application.md +++ b/docs/en/Startup-Templates/Application.md @@ -34,6 +34,7 @@ This template provides multiple UI frameworks: * `mvc`: ASP.NET Core MVC UI with Razor Pages (default) * `blazor`: Blazor UI +* `blazor-server`: Blazor Server UI * `angular`: Angular UI Use the `-u` or `--ui` option to specify the UI framework: From cb327cde3923bd70dd6392880c27122b6afdf3e1 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 21 Jun 2022 09:26:49 +0800 Subject: [PATCH 26/26] Undo changes to the Index page. --- .../Pages/Index.cshtml | 119 ++++-------------- .../Pages/Index.cshtml.cs | 18 +-- 2 files changed, 27 insertions(+), 110 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/Pages/Index.cshtml b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/Pages/Index.cshtml index c61632e453..db9f1f100a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/Pages/Index.cshtml +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/Pages/Index.cshtml @@ -1,103 +1,34 @@ @page -@using Microsoft.AspNetCore.Mvc.Localization @using MyCompanyName.MyProjectName.Pages -@using MyCompanyName.MyProjectName.Localization @using Volo.Abp.Users -@using Volo.Abp.AspNetCore.Mvc.UI.Theming -@using Volo.Abp.Ui.Branding @model IndexModel -@inject IHtmlLocalizer L @inject ICurrentUser CurrentUser -@inject IBrandingProvider BrandingProvider -@inject ITheme Theme - -@{ - Layout = Theme.GetEmptyLayout(); -} - -
-
+@if (CurrentUser.IsAuthenticated) +{ +
- - -
+} + +@if (!CurrentUser.IsAuthenticated) +{ +
+

+ Login +
+} diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Pages/Index.cshtml.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Pages/Index.cshtml.cs index dee9e692d8..e8230ee00c 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Pages/Index.cshtml.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Pages/Index.cshtml.cs @@ -1,24 +1,10 @@ using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; -using IdentityServer4.Stores; -using Volo.Abp.IdentityServer.Clients; -using System.Threading.Tasks; -using System.Collections.Generic; namespace MyCompanyName.MyProjectName.Pages; public class IndexModel : AbpPageModel { - public List Clients { get; protected set; } - - protected IClientRepository ClientRepository { get; } - - public IndexModel(IClientRepository clientRepository) + public void OnGet() { - this.ClientRepository = clientRepository; } - - public async Task OnGetAsync() - { - Clients = await ClientRepository.GetListAsync(includeDetails: true); - } -} \ No newline at end of file +}