Allow testers to attach evidence files to a single test case within a specific test run, proving the test was actually executed. Attachments are scoped to the RunCase (per-execution), not the shared case definition. Backend: - runCaseAttachments join table + model (CASCADE on runCase/attachment) - POST/GET /runcaseattachments routes (reuse /attachments download+delete) Frontend: - new "Test record" tab in the run case detail pane with drag-and-drop upload, scoped to reporters; i18n for all 6 locales Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
439 lines
18 KiB
JSON
439 lines
18 KiB
JSON
{
|
|
"RunStatus": {
|
|
"new": "Novo",
|
|
"inProgress": "Em progresso",
|
|
"underReview": "Em revisão",
|
|
"rejected": "Rejeitado",
|
|
"done": "Concluído",
|
|
"closed": "Fechado"
|
|
},
|
|
"RunCaseStatus": {
|
|
"untested": "Não testado",
|
|
"passed": "Aprovado",
|
|
"failed": "Reprovado",
|
|
"retest": "Retestar",
|
|
"skipped": "Ignorado"
|
|
},
|
|
"Priority": {
|
|
"critical": "Crítico",
|
|
"high": "Alto",
|
|
"medium": "Médio",
|
|
"low": "Baixo"
|
|
},
|
|
"Type": {
|
|
"other": "Outro",
|
|
"security": "Segurança",
|
|
"performance": "Desempenho",
|
|
"accessibility": "Acessibilidade",
|
|
"functional": "Funcional",
|
|
"acceptance": "Aceitação",
|
|
"usability": "Usabilidade",
|
|
"smoke_sanity": "Smoke & Sanity",
|
|
"compatibility": "Compatibilidade",
|
|
"destructive": "Destrutivo",
|
|
"regression": "Regressão",
|
|
"automated": "Automatizado",
|
|
"manual": "Manual"
|
|
},
|
|
"ProjectDialog": {
|
|
"project": "Projeto",
|
|
"project_name": "Nome do Projeto",
|
|
"project_detail": "Detalhe do Projeto",
|
|
"public": "Público",
|
|
"private": "Privado",
|
|
"if_you_make_public": "Tornar um projeto público o torna visível para usuários que não são membros do projeto.",
|
|
"close": "Fechar",
|
|
"create": "Criar",
|
|
"update": "Atualizar",
|
|
"please_enter": "Por favor, insira o nome do projeto"
|
|
},
|
|
"Index": {
|
|
"get_started": "Comece Agora",
|
|
"demo": "Demonstração",
|
|
"oss_tcms": "Sistema de Gerenciamento de Casos de Teste de Código Aberto",
|
|
"integrate_and_manage": "Integre e gerencie todos os seus testes de software.",
|
|
"oss_title": "Código Aberto",
|
|
"oss_detail": "O UnitTCMS é gratuito e de código aberto. A aplicação pode ser auto-hospedada. Pode ser implantada em ambientes com requisitos de segurança rigorosos.",
|
|
"organize_title": "Organize Casos de Teste",
|
|
"organize_detail": "Os casos de teste podem ser organizados por projetos e pastas. A estrutura de UI moderna os torna rápidos.",
|
|
"usability_title": "Usabilidade",
|
|
"usability_detail": "Os casos de teste definidos podem ser usados repetidamente em execuções de teste. O status das execuções de teste e dos projetos pode ser visualizado graficamente.",
|
|
"universal_title": "Universal",
|
|
"universal_detail": "O suporte a vários idiomas e o tema escuro permitem que qualquer pessoa use o sistema sem qualquer inconveniente.",
|
|
"project_title": "Baseado em Projetos",
|
|
"project_subtitle": "Gerencie casos de teste e execuções de teste projeto por projeto. Nosso painel oferece uma visão geral dos tipos de casos de teste e seu progresso para cada projeto. Isso permite que você monitore o status do projeto em tempo real e gerencie com eficiência.",
|
|
"case_management_title": "Gerenciamento de Casos de Teste",
|
|
"case_management_subtitle": "Crie pastas dentro de projetos e defina casos de teste com facilidade usando nossa UI moderna e intuitiva. Anexar arquivos permite explicações detalhadas dos casos de teste, facilitando o compartilhamento de informações com toda a equipe.",
|
|
"run_management_title": "Gerenciamento de Execuções de Teste",
|
|
"run_management_subtitle": "Os casos de teste definidos podem ser reutilizados várias vezes em execuções de teste, permitindo ciclos de teste eficientes. Além disso, você pode monitorar visualmente o status das execuções de teste e dos projetos.",
|
|
"member_management_title": "Gerenciamento de Membros",
|
|
"member_management_subtitle": "Apoie o desenvolvimento da equipe adicionando ou removendo membros de projetos. Você pode atribuir funções e definir permissões para cada membro em detalhes. Oferecemos três funções principais: 'Gerente', que gerencia todo o projeto, 'Desenvolvedor', que projeta os testes, e 'Relator', que executa os testes."
|
|
},
|
|
"Header": {
|
|
"title": "Sistema de Gerenciamento de Casos de Teste de Código Aberto",
|
|
"description": "Integre e gerencie todos os seus testes de software",
|
|
"docs": "Documentação",
|
|
"roadmap": "Roteiro",
|
|
"projects": "Projetos",
|
|
"admin": "Administração",
|
|
"account": "Conta",
|
|
"profile_settings": "Configurações do Perfil",
|
|
"signup": "Cadastre-se",
|
|
"signin": "Entrar",
|
|
"signout": "Sair",
|
|
"links": "Links",
|
|
"languages": "Idiomas"
|
|
},
|
|
"Toast": {
|
|
"need_signed_in": "Você precisa fazer login",
|
|
"session_expired": "Sessão expirada"
|
|
},
|
|
"Auth": {
|
|
"account": "Conta",
|
|
"signup": "Cadastre-se",
|
|
"signin": "Entrar",
|
|
"or_signup": "Você precisa se cadastrar?",
|
|
"or_signin": "Você precisa entrar?",
|
|
"signin_as_guest": "Ou entre como Convidado",
|
|
"email": "E-mail",
|
|
"username": "Nome de usuário",
|
|
"password": "Senha",
|
|
"confirm_password": "Senha (confirmação)",
|
|
"invalid_email": "E-mail inválido",
|
|
"invalid_password": "A senha deve ter pelo menos 8 caracteres",
|
|
"invalid_locale": "Idioma inválido",
|
|
"username_empty": "O nome de usuário está vazio",
|
|
"password_empty": "A senha está vazia",
|
|
"password_not_match": "A senha não corresponde",
|
|
"email_already_exist": "E-mail já cadastrado",
|
|
"email_not_exist": "Endereço de e-mail não encontrado",
|
|
"signup_error": "Falha no cadastro",
|
|
"signin_error": "Falha no login",
|
|
"demo_page_warning": "Este é um ambiente de demonstração, quaisquer dados que você inserir serão redefinidos periodicamente.",
|
|
"your_projects": "Seus Projetos",
|
|
"public": "Público",
|
|
"private": "Privado",
|
|
"not_own_any_projects": "Você não possui nenhum projeto.",
|
|
"find_projects": "Encontrar projetos",
|
|
"profile_settings": "Configurações do Perfil",
|
|
"change_username": "Alterar Nome de Usuário",
|
|
"new_username": "Novo Nome de Usuário",
|
|
"update_username": "Atualizar Nome de Usuário",
|
|
"username_updated": "Nome de usuário atualizado com sucesso",
|
|
"change_password": "Alterar Senha",
|
|
"current_password": "Senha Atual",
|
|
"new_password": "Nova Senha",
|
|
"confirm_new_password": "Confirmar Nova Senha",
|
|
"update_password": "Atualizar Senha",
|
|
"password_updated": "Senha atualizada com sucesso",
|
|
"change_locale": "Alterar Idioma",
|
|
"update_locale": "Atualizar Idioma",
|
|
"locale_updated": "Idioma atualizado com sucesso",
|
|
"change_avatar": "Alterar Avatar",
|
|
"upload_avatar": "Enviar Avatar",
|
|
"remove_avatar": "Remover Avatar",
|
|
"avatar_updated": "Avatar atualizado com sucesso",
|
|
"avatar_removed": "Avatar removido com sucesso",
|
|
"max_file_size_5mb": "Tamanho máximo do arquivo: 5MB",
|
|
"only_images_allowed": "Apenas arquivos de imagem são permitidos",
|
|
"current_password_incorrect": "A senha atual está incorreta",
|
|
"update_error": "Falha na atualização"
|
|
},
|
|
"Health": {
|
|
"health_check": "Verificação de Saúde",
|
|
"status": "Status",
|
|
"ok": "OK",
|
|
"error": "Erro",
|
|
"api_server": "Servidor da API",
|
|
"unittcms_version": "Versão do UnitTCMS"
|
|
},
|
|
"Admin": {
|
|
"user_management": "Gerenciamento de Usuários",
|
|
"avatar": "Avatar",
|
|
"id": "ID",
|
|
"email": "E-mail",
|
|
"username": "Nome de usuário",
|
|
"role": "Função",
|
|
"administrator": "Administrador",
|
|
"user": "Usuário",
|
|
"no_users_found": "Nenhum usuário encontrado",
|
|
"quit_admin": "Sair da Administração",
|
|
"close": "Fechar",
|
|
"quit": "Sair",
|
|
"quit_confirm": "Se você renunciar aos seus privilégios de administrador, não poderá mais acessar a página de administração.",
|
|
"role_changed": "Função alterada",
|
|
"lost_admin_auth": "Perdeu a autoridade de administrador",
|
|
"at_least": "É necessário pelo menos um administrador",
|
|
"reset_password": "Redefinir senha",
|
|
"reset": "Redefinir",
|
|
"invalid_password": "A senha deve ter pelo menos 8 caracteres",
|
|
"password_not_match": "A senha não corresponde"
|
|
},
|
|
"Projects": {
|
|
"project_list": "Lista de Projetos",
|
|
"new_project": "Novo Projeto",
|
|
"id": "ID",
|
|
"publicity": "Publicidade",
|
|
"public": "Público",
|
|
"private": "Privado",
|
|
"name": "Nome",
|
|
"detail": "Detalhe",
|
|
"last_update": "Última atualização",
|
|
"no_projects_found": "Nenhum projeto encontrado"
|
|
},
|
|
"Project": {
|
|
"project": "Projeto",
|
|
"toggle_sidebar": "Alternar barra lateral",
|
|
"home": "Início",
|
|
"test_cases": "Casos de Teste",
|
|
"test_runs": "Execuções de Teste",
|
|
"members": "Membros",
|
|
"settings": "Configurações"
|
|
},
|
|
"Home": {
|
|
"home": "Início",
|
|
"Folders": "Pastas",
|
|
"test_cases": "Casos de Teste",
|
|
"test_runs": "Execuções de Teste",
|
|
"progress": "Progresso",
|
|
"test_classification": "Classificação de Teste",
|
|
"by_type": "Por tipo de teste",
|
|
"by_priority": "Por prioridade de teste"
|
|
},
|
|
"Folders": {
|
|
"folder": "Pasta",
|
|
"new_folder": "Nova Pasta",
|
|
"edit_folder": "Editar Pasta",
|
|
"delete_folder": "Excluir Pasta",
|
|
"folder_name": "Nome da Pasta",
|
|
"folder_detail": "Detalhe da Pasta",
|
|
"close": "Fechar",
|
|
"create": "Criar",
|
|
"update": "Atualizar",
|
|
"please_enter": "Por favor, insira o nome da pasta",
|
|
"delete": "Excluir",
|
|
"are_you_sure": "Tem certeza de que deseja excluir a pasta?",
|
|
"no_folders_found": "Nenhuma pasta encontrada"
|
|
},
|
|
"Cases": {
|
|
"test_case_list": "Lista de Casos de Teste",
|
|
"id": "ID",
|
|
"title": "Título",
|
|
"priority": "Prioridade",
|
|
"actions": "Ações",
|
|
"delete_case": "Excluir caso de teste",
|
|
"delete": "Excluir",
|
|
"close": "Fechar",
|
|
"are_you_sure": "Tem certeza de que deseja excluir os casos de teste?",
|
|
"new_test_case": "Novo",
|
|
"export": "Exportar",
|
|
"status": "Status",
|
|
"no_cases_found": "Nenhum caso de teste encontrado",
|
|
"case_title": "Título do Caso de Teste",
|
|
"case_description": "Descrição do Caso de Teste",
|
|
"case_title_or_description": "Título ou descrição do caso de teste",
|
|
"create": "Criar",
|
|
"please_enter": "Por favor, insira o título do caso de teste",
|
|
"filter": "Filtrar",
|
|
"clear_all": "Limpar tudo",
|
|
"apply": "Aplicar",
|
|
"select_priorities": "Selecionar prioridades",
|
|
"selected": "Selecionado",
|
|
"type": "Tipo",
|
|
"select_types": "Selecionar tipos",
|
|
"cases_selected": "casos selecionados",
|
|
"select_action": "Selecionar ação",
|
|
"move": "Mover",
|
|
"clone": "Clonar",
|
|
"cases_moved": "Casos de teste movidos",
|
|
"cases_cloned": "Casos de teste clonados",
|
|
"tags": "Tags",
|
|
"select_tags": "Selecionar tags",
|
|
"import": "Importar",
|
|
"import_cases": "Importar Casos de Teste",
|
|
"import_available": "Você pode importar casos de teste a partir de um arquivo Excel (xlsx, xls) ou um arquivo JSON (json). O arquivo a ser importado deve seguir o formato especificado.",
|
|
"download_template": "Baixar Modelo",
|
|
"download_json_sample": "Baixar Exemplo JSON",
|
|
"click_to_upload": "Clique para enviar",
|
|
"or_drag_and_drop": " ou arraste e solte",
|
|
"max_file_size": "Tamanho máx. do arquivo",
|
|
"cases_imported": "Casos de teste importados",
|
|
"create_more": "Criar mais"
|
|
},
|
|
"Case": {
|
|
"back_to_cases": "Voltar para os casos de teste",
|
|
"updating": "Atualizando...",
|
|
"update": "Atualizar",
|
|
"updated_test_case": "Caso de teste atualizado",
|
|
"basic": "Básico",
|
|
"title": "Título",
|
|
"please_enter_title": "Por favor, insira o título",
|
|
"description": "Descrição",
|
|
"test_case_description": "Descrição do caso de teste",
|
|
"priority": "Prioridade",
|
|
"type": "Tipo",
|
|
"template": "Modelo",
|
|
"test_detail": "Detalhe do teste",
|
|
"preconditions": "Pré-condições",
|
|
"expected_result": "Resultado esperado",
|
|
"step": "Passo",
|
|
"text": "Texto",
|
|
"steps": "Passos",
|
|
"new_step": "Novo Passo",
|
|
"details_of_the_step": "Detalhes do passo",
|
|
"delete_this_step": "Excluir este passo",
|
|
"insert_step": "Inserir passo",
|
|
"attachments": "Anexos",
|
|
"delete": "Excluir",
|
|
"download": "Baixar",
|
|
"delete_file": "Excluir arquivo",
|
|
"click_to_upload": "Clique para enviar",
|
|
"or_drag_and_drop": " ou arraste e solte",
|
|
"max_file_size": "Tamanho máx. do arquivo",
|
|
"are_you_sure_leave": "Tem certeza de que deseja sair da página?",
|
|
"tags": "Tags",
|
|
"create_tag": "Criar tag",
|
|
"max_tags_limit": "Limite máximo de tags",
|
|
"tag_already_exists": "Tag já existe",
|
|
"tag_created_and_added": "Tag criada e adicionada",
|
|
"error_creating_tag": "Erro ao criar tag",
|
|
"error_updating_test_case": "Erro ao atualizar caso de teste",
|
|
"search_or_create_tag": "Buscar ou criar tag",
|
|
"no_tags_selected": "Nenhuma tag selecionada"
|
|
},
|
|
"Runs": {
|
|
"run_list": "Lista de Execuções de Teste",
|
|
"run": "Execução",
|
|
"new_run": "Nova Execução",
|
|
"edit_run": "Editar Execução",
|
|
"delete_run": "Excluir Execução",
|
|
"id": "ID",
|
|
"name": "Nome",
|
|
"description": "Descrição",
|
|
"last_update": "Última atualização",
|
|
"actions": "Ações",
|
|
"run_name": "Nome da execução",
|
|
"run_description": "Descrição da execução",
|
|
"no_runs_found": "Nenhuma execução encontrada",
|
|
"close": "Fechar",
|
|
"create": "Criar",
|
|
"update": "Atualizar",
|
|
"please_enter": "Por favor, insira o nome da execução",
|
|
"are_you_sure": "Tem certeza de que deseja excluir a execução?",
|
|
"delete": "Excluir"
|
|
},
|
|
"Run": {
|
|
"back_to_runs": "Voltar para as execuções de teste",
|
|
"updating": "Atualizando...",
|
|
"update": "Atualizar",
|
|
"updated_test_run": "Execução de teste atualizada",
|
|
"export": "Exportar",
|
|
"progress": "Progresso",
|
|
"refresh": "Atualizar",
|
|
"id": "ID",
|
|
"title": "Título",
|
|
"please_enter": "Por favor, insira o nome da execução",
|
|
"description": "Descrição",
|
|
"priority": "Prioridade",
|
|
"status": "Status",
|
|
"actions": "Ações",
|
|
"select_test_case": "Selecionar casos de teste",
|
|
"test_case_selection": "Seleção de casos de teste",
|
|
"include_in_run": "Incluir na execução",
|
|
"exclude_from_run": "Excluir da execução",
|
|
"no_cases_found": "Nenhum caso encontrado",
|
|
"are_you_sure_leave": "Tem certeza de que deseja sair da página?",
|
|
"type": "Tipo",
|
|
"test_detail": "Detalhe do teste",
|
|
"steps": "Passos",
|
|
"preconditions": "Pré-condições",
|
|
"expected_result": "Resultado esperado",
|
|
"details_of_the_step": "Detalhes do passo",
|
|
"close": "Fechar",
|
|
"filter": "Filtrar",
|
|
"clear_all": "Limpar tudo",
|
|
"apply": "Aplicar",
|
|
"select_status": "Selecionar status",
|
|
"please_save": "Por favor, salve as alterações",
|
|
"case_title_or_description": "Título ou descrição do caso de teste",
|
|
"selected": "Selecionado",
|
|
"tags": "Tags",
|
|
"select_tags": "Selecionar tags",
|
|
"no_case_selected": "Nenhum caso de teste selecionado",
|
|
"case_detail": "Detalhe do caso de teste",
|
|
"comments": "Comentários",
|
|
"history": "Histórico",
|
|
"test_record": "Registro de teste",
|
|
"download": "Baixar",
|
|
"delete": "Excluir",
|
|
"click_to_upload": "Clique para enviar",
|
|
"or_drag_and_drop": " ou arraste e solte",
|
|
"max_file_size": "Tamanho máx. do arquivo"
|
|
},
|
|
"Comments": {
|
|
"comments": "Comentários",
|
|
"no_comments": "Nenhum comentário",
|
|
"add_comment": "Adicionar comentário",
|
|
"save": "Salvar",
|
|
"cancel": "Cancelar",
|
|
"placeholder": "Digite um comentário...",
|
|
"not_included_in_run": "Não é possível comentar em casos de teste que não estão incluídos na execução de teste",
|
|
"comment_added": "Comentário adicionado",
|
|
"failed_to_add_comment": "Falha ao adicionar comentário",
|
|
"comment_updated": "Comentário atualizado",
|
|
"failed_to_update_comment": "Falha ao atualizar comentário",
|
|
"comment_deleted": "Comentário excluído",
|
|
"failed_to_delete_comment": "Falha ao excluir comentário"
|
|
},
|
|
"Members": {
|
|
"member_management": "Gerenciamento de Membros",
|
|
"avatar": "Avatar",
|
|
"email": "E-mail",
|
|
"username": "Nome de usuário",
|
|
"role": "Função",
|
|
"manager": "Gerente",
|
|
"developer": "Desenvolvedor",
|
|
"reporter": "Relator",
|
|
"delete": "Excluir",
|
|
"deleteMember": "Excluir membro",
|
|
"no_members_found": "Nenhum membro encontrado",
|
|
"add_member": "Adicionar membro",
|
|
"user_name_or_email": "Nome de usuário ou e-mail",
|
|
"close": "Fechar",
|
|
"add": "Adicionar",
|
|
"are_you_sure": "Tem certeza de que deseja excluir o membro?",
|
|
"member_added": "Membro adicionado",
|
|
"role_changed": "Função do membro alterada",
|
|
"member_deleted": "Membro excluído"
|
|
},
|
|
"Settings": {
|
|
"project_management": "Gerenciamento de Projetos",
|
|
"project_name": "Nome do Projeto",
|
|
"project_detail": "Detalhe do Projeto",
|
|
"project_owner": "Dono do Projeto",
|
|
"edit_project": "Editar Projeto",
|
|
"publicity": "Publicidade",
|
|
"public": "Público",
|
|
"private": "Privado",
|
|
"delete_project": "Excluir Projeto",
|
|
"delete": "Excluir",
|
|
"close": "Fechar",
|
|
"are_you_sure": "Tem certeza de que deseja excluir o projeto?",
|
|
"tag_management": "Gerenciamento de Tags",
|
|
"tag_name": "Nome da Tag",
|
|
"add_tag": "Adicionar Tag",
|
|
"no_tags_available": "Nenhuma tag disponível",
|
|
"delete_tag": "Excluir Tag",
|
|
"are_you_sure_delete_tag": "Tem certeza de que deseja excluir esta tag?",
|
|
"tag_created": "Tag criada com sucesso.",
|
|
"tag_updated": "Tag atualizada com sucesso.",
|
|
"tag_deleted": "Tag excluída com sucesso.",
|
|
"tag_error_empty": "O nome da tag não pode estar vazio.",
|
|
"tag_error_min_length": "O nome da tag deve ter pelo menos 3 caracteres.",
|
|
"tag_error_max_length": "O nome da tag não pode exceder 20 caracteres.",
|
|
"tag_error_create": "Falha ao criar tag. Por favor, tente novamente.",
|
|
"tag_error_update": "Falha ao atualizar tag. Por favor, tente novamente.",
|
|
"tag_error_delete": "Falha ao excluir tag. Por favor, tente novamente."
|
|
}
|
|
}
|