X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=WEB-INF%2Fresources%2Fpt-br.lang.php;h=98a9b4a6188721960ed0e2da9514899c394d7095;hb=e19990636073ca1aa353a67033dc0cec311fdab9;hp=47247060417020fd802e1a5c5e6bc982ac29517f;hpb=7e31ec9db2a079cb231416b8243a8efc52a92ad9;p=timetracker.git
diff --git a/WEB-INF/resources/pt-br.lang.php b/WEB-INF/resources/pt-br.lang.php
index 47247060..98a9b4a6 100644
--- a/WEB-INF/resources/pt-br.lang.php
+++ b/WEB-INF/resources/pt-br.lang.php
@@ -28,23 +28,28 @@
// Note: escape apostrophes with THREE backslashes, like here: choisir l\\\'option.
// Other characters (such as double-quotes in http links, etc.) do not have to be escaped.
-// Note to translators: Please use proper capitalization rules for your language.
-$i18n_language = 'Português brasileiro';
+$i18n_language = 'Portuguese (Português brasileiro)';
$i18n_months = array('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro');
$i18n_weekdays = array('Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado');
$i18n_weekdays_short = array('Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab');
// format mm/dd
$i18n_holidays = array('01/01', '04/21', '05/01', '09/07', '10/12', '11/15', '12/25');
+
$i18n_key_words = array(
-// Menus.
+// Menus - short selection strings that are displayed on top of application web pages.
+// Example: https://timetracker.anuko.com (black menu on top).
'menu.login' => 'Login',
'menu.logout' => 'Logout',
'menu.forum' => 'Fórum',
'menu.help' => 'Ajuda',
-'menu.create_team' => 'Criar equipe',
+// TODO: translate the following.
+// 'menu.create_group' => 'Create Group',
'menu.profile' => 'Perfil',
+// TODO: translate the following.
+// 'menu.group' => 'Group',
+'menu.plugins' => 'Plugins',
'menu.time' => 'Tempo',
'menu.expenses' => 'Gastos',
'menu.reports' => 'Relatórios',
@@ -52,7 +57,9 @@ $i18n_key_words = array(
'menu.projects' => 'Projetos',
'menu.tasks' => 'Tarefas',
'menu.users' => 'Usuários',
-'menu.teams' => 'Equipes',
+// TODO: translate the following.
+// 'menu.groups' => 'Groups',
+// 'menu.subgroups' => 'Subgroups',
'menu.export' => 'Exportar',
'menu.clients' => 'Clientes',
'menu.options' => 'Opções',
@@ -67,31 +74,47 @@ $i18n_key_words = array(
'error.access_denied' => 'Acesso negado.',
'error.sys' => 'Erro no sistema.',
'error.db' => 'Erro no banco de dados.',
+// TODO: translate the following.
+// 'error.feature_disabled' => 'Feature is disabled.',
'error.field' => 'Dados incorretos "{0}".',
'error.empty' => 'Campo "{0}" está vazio.',
'error.not_equal' => 'Campo "{0}" é diferente do campo "{1}".',
-'error.interval' => 'Intervalo incorreto.',
+// TODO: translate the following.
+// 'error.interval' => 'Field "{0}" must be greater than "{1}".',
'error.project' => 'Selecione projeto.',
'error.task' => 'Selecione tarefa.',
'error.client' => 'Selecione cliente.',
'error.report' => 'Selecione relatório.',
+// TODO: translate the following.
+// 'error.record' => 'Select record.',
'error.auth' => 'Usuário ou senha incorretos.',
'error.user_exists' => 'Já existe usuário com este login.',
-'error.project_exists' => 'Já existe projeto com este nome.',
-'error.task_exists' => 'Já existe tarefa com este nome.',
-'error.client_exists' => 'Já existe cliente com este nome.',
+// TODO: translate the following.
+// 'error.object_exists' => 'Object with this name already exists.',
'error.invoice_exists' => 'Já existe fatura com este número.',
+// TODO: translate the following.
+// 'error.role_exists' => 'Role with this rank already exists.',
'error.no_invoiceable_items' => 'Não há items faturáveis.',
'error.no_login' => 'Não há usuário com este login.',
-'error.no_teams' => 'Sua base de dados está vazia. Entre como admin e crie uma equipe nova.',
+'error.no_groups' => 'Sua base de dados está vazia. Entre como admin e crie uma equipe nova.', // TODO: replace "team" with "group".
'error.upload' => 'Erro no envio do arquivo.',
'error.range_locked' => 'PerÃodo está bloqueado.',
'error.mail_send' => 'Erro enviando o e-mail.',
+// TODO: improve the translation above by adding MAIL_SMTP_DEBUG part.
+// 'error.mail_send' => 'Error sending mail. Use MAIL_SMTP_DEBUG for diagnostics.',
'error.no_email' => 'Não há e-mail associado a este login.',
'error.uncompleted_exists' => 'Entrada incompleta existente. Feche ou remova-a.',
'error.goto_uncompleted' => 'Ir até a entrada incompleta.',
'error.overlap' => 'O intervalo se sobrepõe com entradas já existentes.',
'error.future_date' => 'Data é no futuro.',
+// TODO: translate the following.
+// 'error.xml' => 'Error in XML file at line %d: %s.',
+// 'error.cannot_import' => 'Cannot import: %s.',
+// 'error.format' => 'Invalid file format.',
+
+// Success messages.
+// TODO: translate the following.
+// 'msg.success' => 'Operation completed successfully.',
// Labels for buttons.
'button.login' => 'Login',
@@ -100,25 +123,20 @@ $i18n_key_words = array(
'button.copy' => 'Copiar',
'button.cancel' => 'Cancelar',
'button.submit' => 'Enviar',
-'button.add_user' => 'Adicionar usuário',
-'button.add_project' => 'Adicionar projeto',
-'button.add_task' => 'Adicionar tarefa',
-'button.add_client' => 'Adicionar cliente',
-'button.add_invoice' => 'Adicionar fatura',
-'button.add_option' => 'Adicionar opção',
'button.add' => 'Adicionar',
+'button.delete' => 'Apagar',
'button.generate' => 'Criar',
'button.reset_password' => 'Resetar senha',
'button.send' => 'Enviar',
'button.send_by_email' => 'Enviar por e-mail',
-'button.create_team' => 'Criar equipe',
-'button.export' => 'Exportar equipe',
-'button.import' => 'Importar equipe',
+'button.create_group' => 'Criar equipe', // TODO: replace "team" with "group".
+'button.export' => 'Exportar equipe', // TODO: replace "team" with "group".
+'button.import' => 'Importar equipe', // TODO: replace "team" with "group".
'button.close' => 'Fechar',
'button.stop' => 'Parar',
// Labels for controls on forms. Labels in this section are used on multiple forms.
-'label.team_name' => 'Nome da equipe',
+'label.group_name' => 'Nome da equipe', // TODO: replace "team" with "group".
'label.address' => 'Endereço',
'label.currency' => 'Moeda',
'label.manager_name' => 'Nome do gerente',
@@ -138,6 +156,10 @@ $i18n_key_words = array(
'label.end_date' => 'Data final',
'label.user' => 'Usuário',
'label.users' => 'Usuários',
+// TODO: translate the following.
+// 'label.group' => 'Group',
+// 'label.subgroups' => 'Subgroups',
+// 'label.roles' => 'Roles',
'label.client' => 'Cliente',
'label.clients' => 'Clientes',
'label.option' => 'Opção',
@@ -151,15 +173,17 @@ $i18n_key_words = array(
'label.finish' => 'Fim',
'label.duration' => 'Duração',
'label.note' => 'Anotação',
+// TODO: translate the following.
+// 'label.notes' => 'Notes',
'label.item' => 'Item',
'label.cost' => 'Custo',
+// TODO: translate the following.
+// 'label.ip' => 'IP',
'label.day_total' => 'Total diário',
'label.week_total' => 'Total semanal',
// TODO: translate the following.
// 'label.month_total' => 'Month total',
'label.today' => 'Hoje',
-'label.total_hours' => 'Total de horas',
-'label.total_cost' => 'Custo total',
'label.view' => 'Ver',
'label.edit' => 'Editar',
'label.delete' => 'Apagar',
@@ -193,6 +217,8 @@ $i18n_key_words = array(
'label.page' => 'Página',
// TODO: translate the following.
// 'label.condition' => 'Condition',
+// 'label.yes' => 'yes',
+// 'label.no' => 'no',
// Labels for plugins (extensions to Time Tracker that provide additional features).
'label.custom_fields' => 'Campos personalizados',
// Translate the following.
@@ -202,15 +228,30 @@ $i18n_key_words = array(
'label.type_text' => 'texto',
'label.required' => 'Obrigatório',
'label.fav_report' => 'Relatório favorito',
-'label.cron_schedule' => 'Agenda cron',
+'label.schedule' => 'Agenda',
'label.what_is_it' => 'O que é?',
+// 'label.expense' => 'Expense',
+// 'label.quantity' => 'Quantity',
+// 'label.paid_status' => 'Paid status',
+// 'label.paid' => 'Paid',
+// 'label.mark_paid' => 'Mark paid',
+// 'label.week_note' => 'Week note',
+// 'label.week_list' => 'Week list',
+// 'label.work_units' => 'Work units',
+// 'label.work_units_short' => 'Units',
+'label.totals_only' => 'Somente totais',
// Form titles.
+'title.error' => 'Erro',
+// TODO: Translate the following.
+// 'title.success' => 'Success',
'title.login' => 'Login',
-'title.teams' => 'Equipes',
-'title.create_team' => 'Criando equipe',
-'title.edit_team' => 'Editando equipe',
-'title.delete_team' => 'Apagando equipe',
+'title.groups' => 'Equipes', // TODO: change "teams" to "groups".
+// TODO: translate the following.
+// 'title.subgroups' => 'Subgroups',
+// 'title.add_group' => 'Adding Group',
+'title.edit_group' => 'Editando equipe', // TODO: change "team" to "group".
+'title.delete_group' => 'Apagando equipe', // TODO: change "team" to "group".
'title.reset_password' => 'Resetando a senha',
'title.change_password' => 'Alterando a senha',
'title.time' => 'Tempo',
@@ -237,6 +278,11 @@ $i18n_key_words = array(
'title.add_user' => 'Adicionando usuário',
'title.edit_user' => 'Editando usuário',
'title.delete_user' => 'Apagando usuário',
+// TODO: translate the following.
+// 'title.roles' => 'Roles',
+// 'title.add_role' => 'Adding Role',
+// 'title.edit_role' => 'Editing Role',
+// 'title.delete_role' => 'Deleting Role',
'title.clients' => 'Clientes',
'title.add_client' => 'Adicionando cliente',
'title.edit_client' => 'Editando cliente',
@@ -250,10 +296,11 @@ $i18n_key_words = array(
'title.edit_notification' => 'Editando notificação',
'title.delete_notification' => 'Apagando notificação',
// 'title.monthly_quotas' => 'Monthly Quotas',
-'title.export' => 'Exportando dados de equipe',
-'title.import' => 'Importando dados de equipe',
+'title.export' => 'Exportando dados de equipe', // TODO: replace "team" with "group".
+'title.import' => 'Importando dados de equipe', // TODO: replace "team" with "group".
'title.options' => 'Opções',
'title.profile' => 'Perfil',
+'title.plugins' => 'Plugins',
'title.cf_custom_fields' => 'Campos personalizados',
'title.cf_add_custom_field' => 'Adicionando campo personalizado',
'title.cf_edit_custom_field' => 'Editando campo personalizado',
@@ -263,6 +310,10 @@ $i18n_key_words = array(
'title.cf_edit_dropdown_option' => 'Editando opção',
'title.cf_delete_dropdown_option' => 'Apagando opção',
'title.locking' => 'Bloquear',
+// TODO: translate the following.
+// 'title.week_view' => 'Week View',
+// 'title.swap_roles' => 'Swapping Roles',
+// 'title.work_units' => 'Work Units',
// Section for common strings inside combo boxes on forms. Strings shared between forms shall be placed here.
// Strings that are used in a single form must go to the specific form section.
@@ -292,7 +343,9 @@ $i18n_key_words = array(
'dropdown.status_inactive' => 'inativo',
'dropdown.delete' => 'apagar',
'dropdown.do_not_delete' => 'não apagar',
-
+// TODO: translate the following.
+// 'dropdown.paid' => 'paid',
+// 'dropdown.not_paid' => 'not paid',
// Below is a section for strings that are used on individual forms. When a string is used only on one form it should be placed here.
// One exception is for closely related forms such as "Time" and "Editing Time Record" with similar controls. In such cases
@@ -301,12 +354,15 @@ $i18n_key_words = array(
// Login form. See example at https://timetracker.anuko.com/login.php.
'form.login.forgot_password' => 'Esqueceu a senha?',
-'form.login.about' =>'Anuko Time Tracker é um sistema, simples, de fácil uso, de código aberto, de rastreamento do tempo.',
+'form.login.about' => 'Anuko Time Tracker é um sistema, simples, de fácil uso, de código aberto, de rastreamento do tempo.',
// Resetting Password form. See example at https://timetracker.anuko.com/password_reset.php.
'form.reset_password.message' => 'Pedido para resetar a senha enviado por e-mail.',
'form.reset_password.email_subject' => 'Pedido de alteração de senha no Anuko Time Tracker',
-'form.reset_password.email_body' => "Prezado usuário,\n\nAlguém, possivelmente você, solicitou o reset da sua senha do Anuko Time Tracker. Entre nete link para resetar a sua senha.\n\n%s\n\nAnuko Time Tracker é um sistema, simples, de fácil uso, de código abertois, de rastreamento do tempo. Visite https://www.anuko.com para mais informações.\n\n",
+// TODO: English string has changed. "from IP" added. Re-translate the beginning.
+// 'form.reset_password.email_body' => "Dear User,\n\nSomeone from IP %s requested your Anuko Time Tracker password reset. Please visit this link if you want to reset your password.\n\n%s\n\nAnuko Time Tracker is a simple, easy to use, open source time tracking system. Visit https://www.anuko.com for more information.\n\n",
+// "IP %s" probably sounds awkward.
+'form.reset_password.email_body' => "Prezado usuário,\n\nAlguém, IP %s, solicitou o reset da sua senha do Anuko Time Tracker. Entre nete link para resetar a sua senha.\n\n%s\n\nAnuko Time Tracker é um sistema, simples, de fácil uso, de código abertois, de rastreamento do tempo. Visite https://www.anuko.com para mais informações.\n\n",
// Changing Password form. See example at https://timetracker.anuko.com/password_change.php?ref=1.
'form.change_password.tip' => 'Entre com a nova senha e clique em Salvar.',
@@ -329,7 +385,6 @@ $i18n_key_words = array(
// Reports form. See example at https://timetracker.anuko.com/reports.php
'form.reports.save_as_favorite' => 'Guardar como favorito',
'form.reports.confirm_delete' => 'Tem certeza que deseja remover este relatório dos favoritos?',
-'form.reports.include_records' => 'Incluir entradas',
'form.reports.include_billable' => 'faturável',
'form.reports.include_not_billable' => 'não faturável',
'form.reports.include_invoiced' => 'faturado',
@@ -344,16 +399,19 @@ $i18n_key_words = array(
'form.reports.group_by_client' => 'cliente',
'form.reports.group_by_project' => 'projeto',
'form.reports.group_by_task' => 'tarefa',
-'form.reports.totals_only' => 'Somente totais',
// Report form. See example at https://timetracker.anuko.com/report.php
// (after generating a report at https://timetracker.anuko.com/reports.php).
'form.report.export' => 'Exportar',
+// TODO: translate the following.
+// 'form.report.assign_to_invoice' => 'Assign to invoice',
// Invoice form. See example at https://timetracker.anuko.com/invoice.php
// (you can get to this form after generating a report).
'form.invoice.number' => 'Número da fatura',
'form.invoice.person' => 'Pessoa',
+
+// Deleting Invoice form. See example at https://timetracker.anuko.com/invoice_delete.php
'form.invoice.invoice_to_delete' => 'Fatura a ser apagada',
'form.invoice.invoice_entries' => 'Entradas de fatura',
// TODO: translate the following.
@@ -382,40 +440,66 @@ $i18n_key_words = array(
'form.users.rate' => 'Honorário',
'form.users.default_rate' => 'Honorário padrão por hora',
-// Client delete form. See example at https://timetracker.anuko.com/client_delete.php
-'form.client.client_to_delete' => 'Cliente a ser apagado',
-'form.client.client_entries' => 'Entradas de cliente',
+// Editing User form. See example at https://timetracker.anuko.com/user_edit.php
+// TODO: translate the following.
+// 'form.user_edit.swap_roles' => 'Swap roles',
+
+// Roles form. See example at https://timetracker.anuko.com/roles.php
+// TODO: translate the following.
+// 'form.roles.active_roles' => 'Active Roles',
+// 'form.roles.inactive_roles' => 'Inactive Roles',
+// 'form.roles.rank' => 'Rank',
+// 'form.roles.rights' => 'Rights',
+// 'form.roles.assigned' => 'Assigned',
+// 'form.roles.not_assigned' => 'Not assigned',
// Clients form. See example at https://timetracker.anuko.com/clients.php
'form.clients.active_clients' => 'Clientes ativos',
'form.clients.inactive_clients' => 'Clientes inativos',
-// Strings for Exporting Team Data form. See example at https://timetracker.anuko.com/export.php
+// Deleting Client form. See example at https://timetracker.anuko.com/client_delete.php
+'form.client.client_to_delete' => 'Cliente a ser apagado',
+'form.client.client_entries' => 'Entradas de cliente',
+
+// Exporting Group Data form. See example at https://timetracker.anuko.com/export.php
+// TODO: replace "team" with "group" in the string below.
'form.export.hint' => 'Você pode exportar todos os dados da equipe para um arquivo xml. Isto pode ser útil se você estiver migrando os dados para um servidor próprio.',
'form.export.compression' => 'Compressão',
'form.export.compression_none' => 'nenhuma',
'form.export.compression_bzip' => 'bzip',
-// Strings for Importing Team Data form. See example at https://timetracker.anuko.com/imort.php (login as admin first).
-'form.import.hint' => 'Importar dados de equipe de um arquivo xml.',
+// Importing Group Data form. See example at https://timetracker.anuko.com/import.php (login as admin first).
+'form.import.hint' => 'Importar dados de equipe de um arquivo xml.', // TODO: replace "team" with "group".
'form.import.file' => 'Selecionar arquivo',
'form.import.success' => 'Importação realizada com sucesso.',
-// Teams form. See example at https://timetracker.anuko.com/admin_teams.php (login as admin first).
-'form.teams.hint' => 'Crie uma nova equipe fazendo uma nova conta de gerente.
você também pode importar os dados de um arquivo xml de outro servidor Anuko Time Tracker (não havendo colisão de usuários).',
-
-// Profile form. See example at https://timetracker.anuko.com/profile_edit.php.
-'form.profile.12_hours' => '12 horas',
-'form.profile.24_hours' => '24 horas',
-'form.profile.tracking_mode' => 'Modo de acompanhamento',
-'form.profile.mode_time' => 'tempo',
-'form.profile.mode_projects' => 'projetos',
-'form.profile.mode_projects_and_tasks' => 'projetos e tarefas',
-'form.profile.record_type' => 'Tipo de entrada',
-'form.profile.type_all' => 'todos',
-'form.profile.type_start_finish' => 'inÃcio e fim',
-'form.profile.type_duration' => 'duração',
-'form.profile.plugins' => 'Plugins',
+// Groups form. See example at https://timetracker.anuko.com/admin_groups.php (login as admin first).
+// TODO: replace "team" with "group" in the string below (3 places).
+'form.groups.hint' => 'Crie uma nova equipe fazendo uma nova conta de gerente.
Você também pode importar os dados de um arquivo xml de outro servidor Anuko Time Tracker (não havendo colisão de usuários).',
+
+// Group Settings form. See example at https://timetracker.anuko.com/group_edit.php.
+'form.group_edit.12_hours' => '12 horas',
+'form.group_edit.24_hours' => '24 horas',
+// TODO: translate the following.
+// 'form.group_edit.show_holidays' => 'Show holidays',
+'form.group_edit.tracking_mode' => 'Modo de acompanhamento',
+'form.group_edit.mode_time' => 'tempo',
+'form.group_edit.mode_projects' => 'projetos',
+'form.group_edit.mode_projects_and_tasks' => 'projetos e tarefas',
+'form.group_edit.record_type' => 'Tipo de entrada',
+'form.group_edit.type_all' => 'todos',
+'form.group_edit.type_start_finish' => 'inÃcio e fim',
+'form.group_edit.type_duration' => 'duração',
+// TODO: translate the following.
+// 'form.group_edit.punch_mode' => 'Punch mode',
+// 'form.group_edit.allow_overlap' => 'Allow overlap',
+// 'form.group_edit.future_entries' => 'Future entries',
+// 'form.group_edit.uncompleted_indicators' => 'Uncompleted indicators',
+// 'form.group_edit.allow_ip' => 'Allow IP',
+
+// Deleting Group form. See example at https://timetracker.anuko.com/delete_group.php
+// TODO: translate the following.
+// 'form.group_delete.hint' => 'Are you sure you want to delete the entire group?',
// Mail form. See example at https://timetracker.anuko.com/report_send.php when emailing a report.
'form.mail.from' => 'De',
@@ -425,11 +509,45 @@ $i18n_key_words = array(
'form.mail.report_sent' => 'Relatório enviado.',
'form.mail.invoice_sent' => 'Fatura enviada.',
-// Quotas configuration form.
+// Quotas configuration form. See example at https://timetracker.anuko.com/quotas.php after enabling Monthly quotas plugin.
// TODO: translate the following.
// 'form.quota.year' => 'Year',
// 'form.quota.month' => 'Month',
// 'form.quota.quota' => 'Quota',
// 'form.quota.workday_hours' => 'Hours in a work day',
// 'form.quota.hint' => 'If values are empty, quotas are calculated automatically based on workday hours and holidays.',
+
+// Swap roles form. See example at https://timetracker.anuko.com/swap_roles.php.
+// TODO: translate the following.
+// 'form.swap.hint' => 'Demote yourself to a lower role by swapping roles with someone else. This cannot be undone.',
+// 'form.swap.swap_with' => 'Swap roles with',
+
+// Work Units configuration form. See example at https://timetracker.anuko.com/work_units.php after enabling Work units plugin.
+// TODO: translate the following.
+// 'form.work_units.minutes_in_unit' => 'Minutes in unit',
+// 'form.work_units.1st_unit_threshold' => '1st unit threshold',
+
+// Roles and rights. These strings are used in multiple places. Grouped here to provide consistent translations.
+// TODO: translate the following.
+// 'role.user.label' => 'User',
+// 'role.user.low_case_label' => 'user',
+// 'role.user.description' => 'A regular member without management rights.',
+// 'role.client.label' => 'Client',
+// 'role.client.low_case_label' => 'client',
+// 'role.client.description' => 'A client can view its own reports, charts, and invoices.',
+// 'role.supervisor.label' => 'Supervisor',
+// 'role.supervisor.low_case_label' => 'supervisor',
+// 'role.supervisor.description' => 'A person with a small set of management rights.',
+// 'role.comanager.label' => 'Co-manager',
+// 'role.comanager.low_case_label' => 'co-manager',
+// 'role.comanager.description' => 'A person with a big set of management functions.',
+// 'role.manager.label' => 'Manager',
+// 'role.manager.low_case_label' => 'manager',
+// 'role.manager.description' => 'Group manager. Can do most of things for a group.',
+// 'role.top_manager.label' => 'Top manager',
+// 'role.top_manager.low_case_label' => 'top manager',
+// 'role.top_manager.description' => 'Top group manager. Can do everything in a tree of groups.',
+// 'role.admin.label' => 'Administrator',
+// 'role.admin.low_case_label' => 'administrator',
+// 'role.admin.description' => 'Site adminsitrator.',
);