From 54d06462fc130b214ea7145e9637f06d407f255a Mon Sep 17 00:00:00 2001 From: Matheus Date: Wed, 28 Nov 2018 15:22:05 -0200 Subject: [PATCH] added portuguese translations (#446) --- README.md | 2 +- config/packages/kimai.yaml | 4 + config/services.yaml | 2 +- translations/about.pt_BR.xliff | 15 + translations/exceptions.pt_BR.xliff | 52 + translations/flashmessages.pt_BR.xliff | 43 + translations/invoice-calculator.pt_BR.xliff | 27 + .../invoice-numbergenerator.pt_BR.xliff | 15 + translations/invoice-renderer.pt_BR.xliff | 39 + translations/messages.pt_BR.xliff | 914 ++++++++++++++++++ translations/pagerfanta.pt_BR.xliff | 15 + translations/sidebar.pt_BR.xliff | 24 + translations/validators.pt_BR.xliff | 15 + var/docs/translations.md | 8 + 14 files changed, 1173 insertions(+), 2 deletions(-) create mode 100644 translations/about.pt_BR.xliff create mode 100644 translations/exceptions.pt_BR.xliff create mode 100644 translations/flashmessages.pt_BR.xliff create mode 100644 translations/invoice-calculator.pt_BR.xliff create mode 100644 translations/invoice-numbergenerator.pt_BR.xliff create mode 100644 translations/invoice-renderer.pt_BR.xliff create mode 100644 translations/messages.pt_BR.xliff create mode 100644 translations/pagerfanta.pt_BR.xliff create mode 100644 translations/sidebar.pt_BR.xliff create mode 100644 translations/validators.pt_BR.xliff diff --git a/README.md b/README.md index 3a4f8fb2..defa280d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ But we already support to [import your timesheets](var/docs/migration_v1.md) fro It is developed with modern frameworks like [Symfony v4](https://github.com/symfony/symfony), [Doctrine](https://github.com/doctrine/), [AdminLTE](https://github.com/kevinpapst/AdminLTEBundle/) and [many](composer.json) [more](package.json). -Kimai is a multi-language application and already translated to: English, German, Italian, French, Spanish, Russian, Arabic and Hungarian. +Kimai is a multi-language application and already translated to: English, German, Italian, French, Spanish, Russian, Arabic, Hungarian and Portuguese. If you want to support us in translating Kimai, please [read this documentation](var/docs/translations.md). ### Requirements diff --git a/config/packages/kimai.yaml b/config/packages/kimai.yaml index 3145037a..d4152ee6 100644 --- a/config/packages/kimai.yaml +++ b/config/packages/kimai.yaml @@ -92,6 +92,10 @@ kimai: date_short: 'Y-m-d' duration: '%%h:%%m hours' duration_short: '%%h:%%m h' + pt_BR: + date_short: 'd-m-Y' + duration: '%%h:%%m horas' + duration_short: '%%h:%%m h' it: date_short: 'd.m.Y' duration: '%%h:%%m h' diff --git a/config/services.yaml b/config/services.yaml index f5865be7..2c3a2e2f 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -2,7 +2,7 @@ # https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration parameters: locale: en - app_locales: en|de|it|fr|es|ru|ar|hu + app_locales: en|de|it|fr|es|ru|ar|hu|pt_BR services: # default configuration for services in *this* file diff --git a/translations/about.pt_BR.xliff b/translations/about.pt_BR.xliff new file mode 100644 index 00000000..34e499cf --- /dev/null +++ b/translations/about.pt_BR.xliff @@ -0,0 +1,15 @@ + + + + + + about.title + Sobre o Kimai + + + about.subtitle + Informação do Sistema + + + + diff --git a/translations/exceptions.pt_BR.xliff b/translations/exceptions.pt_BR.xliff new file mode 100644 index 00000000..90cdfc79 --- /dev/null +++ b/translations/exceptions.pt_BR.xliff @@ -0,0 +1,52 @@ + + + + + + access.denied + Acesso Negado + + + stacktrace + Um problema ocorreu + + + http_error.title + Erro + + + http_error.description + Oops! Um erro ocorreu. + + + http_error.suggestion + + Um erro inesperado aconteceu, favor tente novamente. + Você se deparou com um bug, favor contatar o administrador caso o problema se repita novamente. + + + + http_error_404.description + Oops! Página não encontrada. + + + http_error_404.suggestion + + Não conseguimos encontrar a página que você está buscando. + Enquanto isso, você deve retornar ao dashboard e começar novamente. + + + + http_error_403.description + Esta página é restrita. + + + http_error_403.suggestion + + Desculpe, você não tem permissões suficientes para visualizar esta página. + Por favor, fale com seu administrador se você acha que isso é um erro. + + + + + diff --git a/translations/flashmessages.pt_BR.xliff b/translations/flashmessages.pt_BR.xliff new file mode 100644 index 00000000..3594c391 --- /dev/null +++ b/translations/flashmessages.pt_BR.xliff @@ -0,0 +1,43 @@ + + + + + + timesheet.stop.success + A gravação de tempo foi interrompida + + + timesheet.stop.error + A gravação de tempo não pôde ser interrompida: %reason% + + + timesheet.start.success + A gravação de tempo foi iniciada + + + timesheet.start.error + A gravação de tempo não pôde ser iniciada: %reason% + + + action.update.success + Alterações salvas com sucesso + + + action.update.error + As alterações não puderam ser salvas: %reason% + + + action.delete.success + A entrada foi excluída com sucesso + + + action.delete.error + A entrada não pode ser excluída: %reason% + + + invoice.first_template + Você precisa criar sua primeira fatura modelo antes de prosseguir + + + + diff --git a/translations/invoice-calculator.pt_BR.xliff b/translations/invoice-calculator.pt_BR.xliff new file mode 100644 index 00000000..13fe9414 --- /dev/null +++ b/translations/invoice-calculator.pt_BR.xliff @@ -0,0 +1,27 @@ + + + + + + label.invoice_calculator + Cálculo da soma + + + default + Baseado em entrada - uma entrada por medição de tempo (padrão) + + + short + Horas adicionadas - apenas uma entrada + + + user + Agrupado pelo usuário - uma entrada por usuário + + + activity + Atividade agrupada - uma entrada por atividade + + + + diff --git a/translations/invoice-numbergenerator.pt_BR.xliff b/translations/invoice-numbergenerator.pt_BR.xliff new file mode 100644 index 00000000..4ae42486 --- /dev/null +++ b/translations/invoice-numbergenerator.pt_BR.xliff @@ -0,0 +1,15 @@ + + + + + + label.invoice_number_generator + Gerador de Números de Fatura + + + default + Data (Padrão) + + + + diff --git a/translations/invoice-renderer.pt_BR.xliff b/translations/invoice-renderer.pt_BR.xliff new file mode 100644 index 00000000..c1560ca7 --- /dev/null +++ b/translations/invoice-renderer.pt_BR.xliff @@ -0,0 +1,39 @@ + + + + + + label.invoice_renderer + Documento de fatura + + + default + Fatura (Padrão) + + + timesheet + Planilha de horário + + + freelancer + Freelancer + + + open-spreadsheet + Planilha de Cálculo + + + spreadsheet + Excel + + + export + Exportação de dados + + + company + Fatura da empresa + + + + diff --git a/translations/messages.pt_BR.xliff b/translations/messages.pt_BR.xliff new file mode 100644 index 00000000..a0491427 --- /dev/null +++ b/translations/messages.pt_BR.xliff @@ -0,0 +1,914 @@ + + + + + + + browser.title + Kimai - Time Tracking + + + yes + Sim + + + no + Não + + + both + Ambos + + + subtitle.amount + (total %count%) + + + This is a mandatory field + Mandatório + + + create + Criar + + + confirm.delete + Você realmente quer deletar? + + + confirm.delete_message + + Você precisa confirmar a exclusão, pois há objetos vinculados que também serão excluídos. + + + + + + label.password + Senha + + + label.password_repeat + Repita a Senha + + + label.logout + Sair + + + label.user_profile + Meu Perfil + + + label.api_token + Senha API + + + label.api_token_repeat + Repita Senha da API + + + + + menu.homepage + Dashboard + + + menu.admin + Administração + + + menu.logout + Sair + + + menu.timesheet + Meus tempos + + + menu.invoice + Faturas + + + menu.admin_timesheet + Quadro de Horários + + + menu.admin_customer + Clientes + + + menu.admin_project + Projetos + + + menu.admin_activity + Atividades + + + menu.admin_user + Usuário + + + + + error.no_entries_found + Nenhuma entrada existente + + + + + label.date + Data + + + label.starttime + Início + + + label.endtime + Fim + + + label.duration + Duração + + + label.user + Usuário + + + label.username + Nome de usuário + + + label.description + Descrição + + + label.name + Nome + + + label.comment + Comentário + + + label.id + ID + + + label.visible + Visível + + + label.budget + Despesas + + + label.activity + Atividade + + + label.project + Projeto + + + label.hourly_rate + Taxa horária + + + label.skin + Tema Kimai + + + label.hours + Horas + + + label.rate + Taxa + + + label.language + Linguagem + + + label.customer + Cliente + + + label.email + E-mail + + + label.create_more + Criar outras entradas + + + + + label.actions + Ações + + + action.edit + Editar + + + action.delete + Deletar + + + action.save + Salvar + + + action.back + Voltar + + + action.close + Fechar + + + + + dashboard.title + Dashboard + + + dashboard.subtitle + Bem vindo! + + + dashboard.you + Minhas Estatísticas + + + dashboard.all + Todos usuários + + + dashboard.admin + Administrador + + + + + more.info.link + Mais Informações + + + badge.visible + Sim + + + badge.invisible + Não + + + label.toggle_dropdown + Mostrar menu + + + + + timesheet.title + Meus Tempos + + + timesheet.subtitle + Administrar minhas gravações de tempo + + + timesheet.edit + Editar Gravação + + + label.begin + De + + + label.end + Para + + + modal.columns.title + Alterar a visibilidade da coluna + + + modal.columns.description + Ao salvar, as colunas desmarcadas serão ocultadas e essa configuração será armazenada em um cookie do navegador. Se você excluir seus cookies, as configurações serão invertidas. + + + label.fixed_rate + Taxa fixa + + + + + profile.title + Perfil do Usuário + + + profile.subtitle + Editar minhas configurações + + + profile.about_me + Sobre mim + + + profile.first_entry + Trabalhando desde + + + profile.tab_monthly + Estatística anual + + + profile.settings + Perfil + + + profile.password + Senha + + + profile.api-token + API + + + profile.roles + Papéis + + + profile.preferences + Preferências + + + label.theme.fixed_layout + Ative o layout fixo. Você não pode usar layouts fixos e encaixados juntos. + + + label.theme.boxed_layout + Ativar o layout em caixa (melhor em telas grandes) + + + label.theme.collapsed_sidebar + Alterna o estado da barra lateral esquerda no carregamento da página (abrir ou recolher) + + + label.theme.mini_sidebar + Alterna o tamanho do cabeçalho da barra lateral esquerda (completo ou recolhido) + + + label.calendar.initial_view + Vista inicial do calendário + + + + month + Mês + + + agendaWeek + Semana + + + agendaDay + Dia + + + + + help.title + Ajuda + + + help.subtitle + Instruções para usar e configurar o Kimai + + + + + admin_timesheet.title + Quadro de Horários + + + admin_timesheet.subtitle + Registros de todos os usuários + + + + + admin_project.title + Projetos + + + admin_project.subtitle + Um projeto combina atividades para um cliente em um grupo + + + admin_project.delete_confirm + + Atualmente o %project% para o cliente %customer% tem %activities% + atividades e %records% registros de tempo, que contam até um total de %duration%. + Essas atividades e registros de tempo serão excluídos também! + Alternativamente, você pode selecionar um projeto para o qual todas as atividades e entradas existentes são transferidas: + + + + + + admin_activity.title + Atividades + + + admin_activity.subtitle + Tarefas que podem ser escolhidas para registros de tempo + + + admin_activity.delete_confirm + + Atualmente o %project% para o cliente %customer% tem %activities% + atividades e %records% registros de tempo, que contam até um total de %duration%. + Essas atividades e registros de tempo serão excluídos também! + Alternativamente, você pode selecionar um projeto para o qual todas as atividades e entradas existentes são transferidas: + + + + + + admin_customer.title + Cliente + + + admin_customer.subtitle + Seu cliente é a base para criar projetos e atividades + + + label.customer_number + Conta + + + label.company + Nome da Empresa + + + label.vat + Imposto + + + label.contact + Contato + + + label.address + Endereço + + + label.country + País + + + label.phone + Telefone + + + label.fax + Fax + + + label.mobile + Celular + + + label.homepage + Pagina inicial + + + label.timezone + Fuso horário + + + label.currency + Moeda + + + admin_customer.delete_confirm + + Atualmente o %project% para o cliente %customer% tem %activities% + atividades e %records% registros de tempo, que contam até um total de %duration%. + Essas atividades e registros de tempo serão excluídos também! + Alternativamente, você pode selecionar um projeto para o qual todas as atividades e entradas existentes são transferidas: + + + + + + admin_user.title + Usuário + + + admin_user.subtitle + Todos os usuários registrados da sua instalação do Kimai + + + label.alias + Nome + + + label.title + Título + + + label.avatar + Imagem de perfil + + + label.active + Ativo + + + label.roles + Função + + + admin_user.delete_confirm + + Atualmente o usuário %user% possuí %records% registros de tempo, que contam até um total de %duration%. + Essas atividades e registros de tempo serão excluídos também! + + + + + + ROLE_SUPER_ADMIN + Administrador do Sistema + + + ROLE_ADMIN + Administrador + + + ROLE_TEAMLEAD + Líder da equipe + + + ROLE_USER + Usuário + + + ROLE_CUSTOMER + Cliente + + + + + stats.durationToday + Horas de trabalho hoje + + + stats.durationWeek + Horas de trabalho esta semana + + + stats.durationMonth + Horas de trabalho este mês + + + stats.durationYear + Horas de trabalho este ano + + + stats.durationTotal + Total de horas de trabalho + + + stats.amountToday + Receita hoje + + + stats.amountWeek + Receita esta semana + + + stats.amountMonth + Receita este mês + + + stats.amountYear + Receita este ano + + + stats.amountTotal + Receita total + + + stats.userActiveToday + Usuários ativos hoje + + + stats.userActiveWeek + Active users this week + + + stats.userActiveMonth + Usuários ativos este mês + + + stats.userActiveYear + Usuários ativos este ano + + + stats.userActiveTotal + Usuários ativos total + + + stats.activeRecordings + Registros ativos + + + stats.userTotal + Quantidade de usuários + + + stats.activityTotal + Quantidade de atividades + + + stats.projectTotal + Quantidade de projetos + + + stats.customerTotal + Quantidade de clientes + + + + + admin_invoice_template.title + Modelo de fatura + + + admin_invoice_template.subtitle + Administrar seus modelos de fatura que podem ser usados ​​para exportar dados. + + + invoice.title + Faturas + + + invoice.subtitle + Criar faturas a partir de suas entradas de quadro de horários registradas. + + + invoice.select_filter + Nenhuma entrada de fatura foi encontrada com base nos filtros selecionados. + + + invoice.preview + Esta é uma prévia dos dados que serão exibidos no documento da fatura +. + + + button.print + Imprimir + + + invoice_print + Fatura + + + label.template + Modelo + + + label.due_days + Prazo de pagamento em dias + + + invoice.due_days + Alvo de pagamento + + + invoice.from + De + + + invoice.to + Para + + + invoice.number + Número da Fatura + + + invoice.subtotal + Subtotal + + + invoice.tax + Imposto + + + invoice.total + Total + + + invoice.service_date + Data de serviço + + + invoice.amount + Quantidade + + + invoice.total_rate + Preço Total + + + invoice.unit_price + Preço unitário + + + label.payment_terms + Termos de pagamento + + + invoice.signature_user + Confirmação: Data / Nome do Consultor / Assinatura + + + invoice.signature_customer + Confirmação: Data / Nome do Cliente / Assinatura + + + invoice.total_working_time + Duração Total + + + label.order_number + Número do pedido + + + label.invoice_tax_number + VAT no. (Imposto Britânico): + + + label.invoice_bank_account + Conta Bancária + + + label.invoice_salutation + + Senhoras e senhores, + + Agradeço pelo seu pedido e cobro pelos meus serviços: + + + + + + month.1 + Janeiro + + + month.2 + Fevereiro + + + month.3 + Março + + + month.4 + Abril + + + month.5 + Maio + + + month.6 + Junho + + + month.7 + Julho + + + month.8 + Agosto + + + month.9 + Setembro + + + month.10 + Outubro + + + month.11 + Novembro + + + month.12 + Dezembro + + + + + active.entries + Você tem %count% registros ativos|Você tem %count% registros ativos + + + timesheet.all + Mostrar todos os registros + + + recent.activities + + Reinicie a sua última atividade registrada|Reinicie uma de suas %count% últimas atividades + + + + recent.activities.format + %activity% no %project% para %customer% + + + timesheet.start + Criar novo registro de tempo + + + + + label.pageSize + Tamanho do papel + + + label.entryState + Registros + + + entryState.all + Tudo + + + entryState.running + Ativos + + + entryState.stopped + Parado + + + + diff --git a/translations/pagerfanta.pt_BR.xliff b/translations/pagerfanta.pt_BR.xliff new file mode 100644 index 00000000..d3462ef7 --- /dev/null +++ b/translations/pagerfanta.pt_BR.xliff @@ -0,0 +1,15 @@ + + + + + + previous + + + + next + + + + + diff --git a/translations/sidebar.pt_BR.xliff b/translations/sidebar.pt_BR.xliff new file mode 100644 index 00000000..77ff8219 --- /dev/null +++ b/translations/sidebar.pt_BR.xliff @@ -0,0 +1,24 @@ + + + + + + home.betainfo + + + + home.github + Kimai - Project website + + + home.website + Homepage + + + + diff --git a/translations/validators.pt_BR.xliff b/translations/validators.pt_BR.xliff new file mode 100644 index 00000000..69c11587 --- /dev/null +++ b/translations/validators.pt_BR.xliff @@ -0,0 +1,15 @@ + + + + + + This value is not a valid role. + Este valor não é um papel válido. + + + End date must not be earlier then start date. + A data de conclusão não pode ser anterior à data de início. + + + + diff --git a/var/docs/translations.md b/var/docs/translations.md index b2283206..e1d96084 100644 --- a/var/docs/translations.md +++ b/var/docs/translations.md @@ -43,3 +43,11 @@ parameters: locale: en app_locales: en|de|ru|it|xx ``` + +## Check for missing translations + +When you search for missing keys, please use this command: +```bash +bin/console debug:translation --only-missing de +``` +and replace `de` with your locale. \ No newline at end of file