import { pt } from 'vuetify/locale'

const messages = {
  navigation: {
    pipelines: 'Pipelines',
    templates: 'Templates',
    activity: 'Atividade',
    addOns: 'Complementos',
    accounts: 'Contas',
    settings: 'Configurações',
    general: 'Geral',
    runpacks: 'Runpacks',
    podSizes: 'Tamanhos de Pod',
    notifications: 'Notificações',
    theme: 'Modo Escuro/Claro',
    kuberoAPI: 'Kubero API',
    documentation: 'Documentação',
    github: 'GitHub',
    discord: 'Discord',
    logout: 'Sair',
  },
  global: {
    name: 'Nome',
    value: 'Valor',
    repository: 'Repositório',
    annotation: 'Anotação',
    size: 'Tamanho',
    create: 'Criar',
    update: 'Atualizar',
    abort: 'Abortar',
    cancel: 'Cancelar',
    save: 'Salvar',
    applyChanges: 'Aplicar Alterações',
  },
  pipeline: {
    name: 'Pipeline',
    buttons: {
      new: 'Novo @:pipeline.name',
      edit: 'Editar @:pipeline.name',
      delete: 'Excluir @:pipeline.name',
      create: 'Criar @:pipeline.name',
      update: 'Atualizar @:pipeline.name',
      connect: 'Conectar',
      disconnect: 'Desconectar',
      reconnect: 'Reconectar',
    },
    phases: {
      production: 'Production',
      stage: 'Stage',
      test: 'Teste',
      review: 'Revisão',
    },
    form: {
      label: {
        name: 'Nome',
        fqdnDomain: 'Domínio FQDN',
        teamAccess: 'Acesso da Equipe',
        enableBuilds: 'Permitir Pipeline para construir a partir do código-fonte',
      },
      title: {
        continuousDeployment: 'Implantação Contínua',
        environments: 'Ambientes',
      },
      help: {
        gitrepo: 'Quando conectado, webhooks e chaves de implantação são armazenados no repositório. Isso significa que os aplicativos configurados neste projeto podem ser automaticamente reimplantados com um "git push" e abrir um PR inicia uma nova instância na fase "review".',
      },
    },
  },
  app: {
    nav: {
      overview: 'Visão Geral',
      builds: 'Builds',
      metrics: 'Métricas',
      logs: 'Logs',
      events: 'Eventos',
      vulnerabilities: 'Vulnerabilidades',
    },
    actions: {
      name: 'Ações',
      edit: 'Editar',
      openApp: 'Abrir App',
      restart: 'Reiniciar',
      openConsole: 'Abrir Console',
      downloadTemplate: 'Baixar Template',
      delete: 'Excluir',
      update: 'Atualizar',
    },
    domains: 'Domínios',
    deploymentStrategy: 'Estratégia de Implantação',
    runpack: 'Runpack',
    buildStrategy: 'Estratégia de Build',
    gitRepo: 'Repositório Git',
    autodeploy: 'Autodeploy',
    podSize: 'Tamanho do Pod',
    autoscale: 'Autoscale',
    webReplicas: 'Réplicas Web',
    workerReplicas: 'Réplicas Worker',
    cpu: 'CPU',
    memory: 'Memory',
    pod: 'Pod',
    titles: {
      advanced: 'Configurações Avançadas do App',
      consumption: 'Consumo de Recursos',
      environmentVariables: 'Variáveis de Ambiente',
      cronjobs: 'Cronjobs',
      activities: 'Atividades',
      deployment: 'Implantação',
      resources: 'Recursos',
      serviceAccountAnnotations: 'Anotações da Conta de Serviço',
      volumes: 'Volumes',
      addOns: 'Add-Ons',
      basicAuth: 'Autenticação Básica',
      security: 'Segurança',
      networking: 'Rede',
      kubernetes: 'Kubernetes',
      healthChecks: 'Verificações de Saúde',
    },
    form: {
      createNewApp: 'Criar um novo App em {pipeline}',
      editApp: 'Editar {app} em {pipeline}',
      warning: 'Por favor, altere todas as senhas, tokens e selecione a storageClass correta para o seu cluster.',
      appName: 'Nome do App',
      domain: 'Domínio',
      containerPort: 'Porta do Contêiner',
      strategy: 'Estratégia',
      advancedAppConfig: 'Configuração Avançada do App',
      repository: 'Repositório',
      branch: 'Branch',
      autodeploy: 'Autodeploy',
      runpack: 'Runpack',
      buildcommand: 'Comando de Build',
      runcommand: 'Comando de Execução',
      containerImage: 'Imagem do Contêiner',
      tag: 'Tag',
      command: 'Comando',
      basicAuthEnabled: 'Habilitar Autenticação Básica',
      basicAuthRealm: 'Realm/Título',
      basicAuthUser: 'Usuário',
      basicAuthPass: 'Senha',
      readOnlyAppStorage: 'Volume do App Somente Leitura',
      readOnlyRootFilesystem: 'Sistema de Arquivos Raiz Somente Leitura',
      vulnerabililityScan: 'Habilitar varreduras de vulnerabilidade Trivy',
      privilegeEscalation: 'Permitir Escalação de Privilégio',
      runAsNonRoot: 'Executar como Não-Root',
      runAsUser: 'Executar como Usuário',
      runAsGroup: 'Executar como Grupo',
      capabilitiesAdd: 'Adicionar Capacidades',
      capabilitiesDrop: 'Remover Capacidades',
      whitelistSourceRange: 'Intervalo de Fontes na Whitelist',
      denylistSourceRange: 'Intervalo de Fontes na Denylist',
      forceSSLRedirect: 'Forçar Redirecionamento SSL',
      proxyBufferSize: 'Tamanho do Buffer do Proxy',
      ingressClassName: 'Nome da Classe do Ingress',
      corsEnable: 'Habilitar CORS',
      corsAllowOrigin: 'CORS Permitir Origem',
      corsAllowMethods: 'CORS Permitir Métodos',
      corsAllowHeaders: 'CORS Permitir Cabeçalhos',
      corsExposeHeaders: 'CORS Expor Cabeçalhos',
      corsAllowCredentials: 'CORS Permitir Credenciais',
      corsMaxAge: 'CORS Idade Máxima',
      storageClass: 'Classe de Armazenamento',
      mountPath: 'Caminho de Montagem',
      accessMode: 'Modo de Acesso',
      healthCheckEnabled: 'Habilitar Verificação de Saúde',
      healthCheckPath: 'Caminho da Verificação de Saúde',
      healthCheckStartupSeconds: 'Segundos de Inicialização',
      healthCheckTimeoutSeconds: 'Segundos de Timeout',
      healthCheckIntervalSeconds: 'Segundos de Intervalo',
      noNewEnvVarsFound: 'Nenhuma nova variável de ambiente encontrada no arquivo enviado',
      envVarConflicts: 'Conflitos de Variáveis de Ambiente',
      envVarConflictsDescription: 'O arquivo .env enviado contém variáveis que já existem. Por favor, selecione quais valores deseja manter:',
      variableName: 'Nome da Variável',
      currentValue: 'Valor Atual',
      newValue: 'Novo Valor',
      envNameRequired: 'Nome da variável de ambiente é obrigatório',
      envNameTooLong: 'Nome deve ter menos de 60 caracteres',
      envNameInvalidChars: 'Apenas letras, números e underscore permitidos. Deve começar com letra ou underscore',
      duplicateEnvVar: 'Nome da variável de ambiente já existe',
    },
    strategy: {
      name: 'Estratégia',
      containerImage: 'Imagem de Contêiner',
      fromSource: 'Código Fonte',
      runpacks: 'Runpacks',
      runpackExplanation: 'Seu código é construído e executado em imagens oficiais. O código será construído para cada pod em um contêiner de inicialização. Esta é a maneira mais rápida de executar seu código, but se torna mais ineficiente a cada réplica.',
      externalCICD: 'CI/CD Externo',
      externalCICDExplanation: 'Você está construindo sua imagem em um CI/CD externo e a implanta alterando a tag da imagem através da API.',
      nixpacks: 'Nixpacks',
      nixpacksExplanation: '<a href="https://nixpacks.com/" target="_blank" style="text-decoration: underline;">Nixpacks</a> é um projeto de código aberto para construir imagens docker com nix. É uma boa maneira de construir imagens sem um Dockerfile, se você quer ter um processo de build reproduzível.',
      buildpacks: 'Buildpacks',
      buildpacksExplanation: '<a href="https://buildpacks.io/" target="_blank" style="text-decoration: underline;">Buildpacks</a> são um conjunto de scripts e binários usados para transformar o código-fonte da aplicação em uma imagem implantável, automatizando o processo de compilação, construção e configuração do app para implantação.',
      dockerfile: 'Dockerfile',
      dockerfileExplanation: 'Constrói a imagem com base no Dockerfile no diretório raiz do seu git. Isso permite o mais alto nível de personalização.',
      noBuildPipeline: 'Pipeline de build não configurado',
      noBuildPipelineExplanation: 'Você não pode construir apps a partir do código-fonte, porque o pipeline de build não está configurado. Configure o registro para usar pipelines de build Buildpacks, Nickspacks e Dockerfile.',
    },
    cronjobs: {
      name: 'Cronjobs',
      schedule: 'Agendamento',
      command: 'Comando',
      image: 'Imagem',
      env: 'Variáveis de Ambiente',
      actions: {
        new: 'Novo Cronjob',
        edit: 'Editar Cronjob',
        delete: 'Excluir Cronjob',
        create: 'Criar Cronjob',
      },
    },
    volumes: {
      name: 'Volumes',
      size: 'Tamanho',
      accessMode: 'Modo de Acesso',
    },
    events: {
      name: 'Eventos',
      description: 'Fluxo de eventos do Kubernetes para <strong>{app}</strong>',
      empty: {
        title: 'Nenhum evento para {app}',
        message: 'O TTL padrão para eventos na Kube-API é de 1 hora. Se você quiser ver eventos mais antigos, você precisa aumentar o TTL no Kube-apiserver.',
        link: 'Docs do Kubernetes',
      },
    },
    vulnerabilities: {
      lastScan: 'Última Varredura',
      artefact: 'Artefato',
      arch: 'Arquitetura',
      created: 'Criado',
      os: 'SO',
      layers: 'Camadas',
      workingDir: 'Diretório de Trabalho',
      exposedPorts: 'Portas Expostas',
      summary: 'Resumo',
      empty: {
        title: 'Nenhuma varredura de vulnerabilidade encontrada para {app}',
        message: 'Para varrer este app por vulnerabilidades, por favor, acione uma nova varredura.',
      },
      actions: {
        rescan: 'Varrer Novamente',
      },
    },
  },
  profile: {
    titles: {
      apiTokens: 'Tokens de API',
      profileDetails: 'Detalhes do Perfil',
    },
    avatar: {
      edit: 'Editar Avatar',
      limitMessage: 'A imagem não deve exceder 100KB.',
      uploadAvatar: 'Carregar novo Avatar',
    },
    token: {
      create: 'Criar Token',
      expiresAt: 'Expira em',
      noTokens: 'Nenhum token encontrado.',
      details: 'Detalhes do Token',
      warningMessage: 'Este token <strong>não será mostrado novamente</strong>. Por favor, copie e armazene-o em segurança agora.',
      copyToken: 'Copiar Token',
      copiedMessage: 'Token copiado para a área de transferência!',
      close: 'Fechar',
    },
    actions: {
      editProfile: 'Editar Perfil',
    },
  },
  user: {
    name: 'Usuário',
    email: 'E-Mail',
    username: 'Nome de usuário',
    firstName: 'Primeiro Nome',
    lastName: 'Último Nome',
    role: 'Função',
    teams: 'Equipes',
    provider: 'Provedor',
    status: 'Status',
    password: 'Senha',
    changePassword: 'Mudar Senha',
    changePasswordFor: 'Mudar Senha para {user}',
    currentPassword: 'Senha Atual',
    newPassword: 'Nova Senha',
    confirmPassword: 'Confirmar Senha',
    errors: {
      passwordMismatch: 'As senhas não correspondem',
      passwordConfirm: 'Por favor, confirme sua senha',
      firstNameRequired: 'Primeiro nome é obrigatório',
      lastNameRequired: 'Último nome é obrigatório',
      emailRequired: 'Email é obrigatório',
      emailValid: 'Email deve ser válido',
      currentPasswordRequired: 'Senha atual é obrigatória',
      newPasswordRequired: 'Nova senha é obrigatória',
      passwordMinLength: 'A senha deve ter pelo menos 8 caracteres',
    },
    actions: {
      name: 'Ações',
      create: 'Criar Usuário',
      edit: 'Editar Usuário',
      search: 'Pesquisar Usuário',
    },
  },
  accounts: {
    users: 'Usuários',
    teams: 'Equipes',
    roles: 'Funções',
    tokens: 'Tokens',
  },
  teams: {
    name: 'Equipes',
    search: 'Pesquisar por uma equipe',
    actions: {
      create: 'Criar Equipe',
      edit: 'Editar Equipe',
    },
    form: {
      name: 'Nome da Equipe',
      description: 'Descrição',
    },
  },
  roles: {
    name: 'Funções',
    search: 'Pesquisar por uma Função',
    permission: 'Permissão',
    actions: {
      create: 'Criar Função',
      edit: 'Editar Função',
    },
    form: {
      name: 'Nome da Função',
      description: 'Descrição',
      permissionsRead: 'Leitura',
      permissionsWrite: 'Escrita',
      permissions: {
        apps: 'Apps',
        name: 'Permissões',
        pipelines: 'Pipelines',
        accounts: 'Contas',
        settings: 'Configurações',
        security: 'Segurança',
        tokens: 'Tokens',
        audit: 'Auditoria',
        console: 'Console',
        logs: 'Logs',
        reboot: 'Reiniciar',
      },
    },
  },
  tokens: {
    name: 'Tokens',
    search: 'Pesquisar por um Token',
    form: {
      id: 'ID do Token',
      name: 'Nome do Token',
      expiresAt: 'Expira em',
      owner: 'Proprietário',
    },
  },
  notifications: {
    name: 'Notificações',
    helpTitle: 'O que são Notificações?',
    helpText: '<p><strong>Notificações</strong> permitem que você receba alertas sobre eventos em suas aplicações Kubero. Você pode configurar notificações do Slack, Discord ou webhook para se manter informado sobre implantações, erros e outros eventos importantes.</p><p class="mt-2"><a href="https://www.kubero.dev/docs/usermanual/notifications/" target="_blank" rel="noopener">Leia mais na documentação do Kubero</a></p>',
    form: {
      name: 'Nome',
      type: 'Tipo',
      enabled: 'Habilitado',
      pipelines: 'Pipelines',
      events: 'Eventos',
      config: 'Configuração',
      url: 'URL',
      channel: 'Canal',
      secret: 'Segredo',
      slackWebhookUrl: 'URL do Webhook do Slack',
      discordWebhookUrl: 'URL do Webhook do Discord',
      webhookUrl: 'URL do Webhook',
      pipelinesHint: 'Digite nomes de pipeline ou "all" para todos os pipelines',
      eventsHint: 'Digite nomes de eventos para escutar',
    },
    actions: {
      create: 'Criar Notificação',
      edit: 'Editar Notificação',
      delete: 'Excluir Notificação',
    },
    errors: {
      load: 'Erro ao carregar notificações',
      edit: 'Erro ao carregar detalhes da notificação para edição.',
      create: 'Erro ao criar notificação',
      save: 'Erro ao salvar notificação',
      delete: 'Erro ao excluir notificação',
    },
  },
  podsizes: {
    name: 'Tamanhos de Pod',
    helpTitle: 'O que são PodSizes?',
    helpText: '<p><strong>PodSizes</strong> definem as solicitações e limites de recursos para os pods da sua aplicação no Kubero. Você pode criar, editar e excluir tamanhos de pod para corresponder aos requisitos da sua carga de trabalho.</p><p class="mt-2"><a href="https://www.kubero.dev/docs/usermanual/podsizes/" target="_blank" rel="noopener">Leia mais na documentação do Kubero</a></p>',
    form: {
      name: 'Nome do Tamanho do Pod',
      description: 'Descrição',
      cpuRequest: 'Solicitação de CPU (m)',
      cpuLimit: 'Limite de CPU (m)',
      memoryRequest: 'Solicitação de Memória (Gi)',
      memoryLimit: 'Limite de Memória (Gi)',
      cpu: 'CPU',
      memory: 'Memória',
    },
    actions: {
      create: 'Criar Tamanho do Pod',
      edit: 'Editar Tamanho do Pod',
    },
    errors: {
      loadinPodsize: 'Erro ao carregar Tamanhos de Pod',
    },
  },
  runpacks: {
    name: 'Runpacks',
    helpTitle: 'O que são Runpacks?',
    helpText: '<p><strong>Runpacks</strong> no Kubero definem como sua aplicação é buscada, construída e executada dentro do cluster Kubernetes. Cada runpack consiste em três estágios:</p><ul class="ma-4"><li><strong>Fetch</strong>: Recupera seu código de um repositório Git usando uma imagem de contêiner. Você pode usar o padrão ou personalizá-lo.</li><li><strong>Build</strong>: Executa comandos de build em um contêiner de sua escolha (qualquer imagem Docker). É aqui que as dependências são instaladas ou seu aplicativo é compilado.</li><li><strong>Run</strong>: Inicia o contêiner final. O pod <em>web</em> é exposto à internet, enquanto os pods <em>worker</em> são para trabalhos em segundo plano.</li></ul><p>Runpacks são altamente flexíveis e podem ser personalizados para diferentes linguagens e frameworks. Eles dependem de imagens de contêiner publicamente disponíveis. Você pode encontrar exemplos de runpacks em <a href="https://github.com/kubero-dev/runpacks/tree/main/packs" target="_blank" rel="noopener">kubero-dev/runpacks</a>.</p><p class="mt-2"><a href="https://www.kubero.dev/docs/usermanual/runpacks/" target="_blank" rel="noopener">Leia mais na documentação do Kubero</a></p>',
    table: {
      name: 'Nome',
      language: 'Linguagem',
      fetch: 'Fetch',
      build: 'Build',
      run: 'Run',
      actions: 'Ações',
    },
    details: {
      repository: 'Repositório',
      command: 'Comando',
      readOnlyAppStorage: 'Armazenamento do App Somente Leitura',
      securityContext: 'Contexto de Segurança',
      showDetails: 'Mostrar Detalhes',
      runAsUser: 'runAsUser',
      runAsGroup: 'runAsGroup',
      allowPrivilegeEscalation: 'allowPrivilegeEscalation',
      readOnlyRootFilesystem: 'readOnlyRootFilesystem',
      runAsNonRoot: 'runAsNonRoot',
      capabilities: 'Capacidades',
      add: 'Adicionar',
      drop: 'Remover',
      yes: 'Sim',
      no: 'Não',
    },
    form: {
      name: 'Nome',
      language: 'Linguagem',
      search: 'Pesquisar Runpacks',
      repository: 'Repositório',
      tag: 'Tag',
      runAsUser: 'Executar como usuário',
      runAsGroup: 'Executar como grupo',
      readOnlyAppVolume: 'Volume do app somente leitura',
      readOnlyRootFilesystem: 'Sistema de arquivos raiz somente leitura',
      allowPrivilegeEscalation: 'Permitir escalação de privilégio',
      runAsNonRoot: 'Executar como não root',
      capabilitiesAdd: 'Adicionar capacidades',
      capabilitiesDrop: 'Remover capacidades',
      selectOneOrMore: 'Selecione um ou mais',
      required: 'Obrigatório',
      mustBeNumber: 'Deve ser um número',
    },
    actions: {
      create: 'Criar Runpack',
      edit: 'Editar Runpack',
      delete: 'Excluir Runpack',
      save: 'Salvar',
      abort: 'Abortar',
    },
    errors: {
      load: 'Erro ao carregar detalhes do runpack para edição.',
    },
    stages: {
      fetch: 'Fetch',
      build: 'Build',
      run: 'Run',
    },
  },
  settings: {
    deployment: {
      title: 'Conectando repositórios',
      configAlert: 'As alterações de configuração não terão efeito até que o contêiner da UI do Kubero seja reiniciado manualmente.',
      webhookEndpoint: 'Endpoint do Webhook',
      url: 'URL',
      secret: 'Segredo',
      github: {
        title: 'Github',
        baseUrl: 'URL Base do github',
        personalAccessToken: 'token de acesso pessoal do github',
        instructions: 'Instruções sobre como obter um token de acesso pessoal de',
      },
      gitea: {
        title: 'Gitea',
        baseUrl: 'URL Base do Gitea',
        personalAccessToken: 'Token de Acesso Pessoal do Gitea',
        instructions: 'Instruções sobre como obter um token de acesso pessoal para',
      },
      gogs: {
        title: 'Gogs',
        baseUrl: 'URL Base do Gogs',
        personalAccessToken: 'Token de Acesso Pessoal do Gogs',
      },
      gitlab: {
        title: 'Gitlab',
        baseUrl: 'URL Base do Gitlab',
        personalAccessToken: 'Token de Acesso Pessoal do Gitlab',
      },
      bitbucket: {
        title: 'Bitbucket',
        username: 'Nome de usuário do Bitbucket',
        appPassword: 'Senha do App Bitbucket',
      },
    },
  },
  $vuetify: {
    ...pt,
  },
}
export default messages;
