X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Fresources%2Fpt-br.lang.php;h=829b3ec109e2a82012a39de9e63fdf7c7e8e4fb9;hb=2b90ff7edde48b64097c1bb60cde036b995c4220;hp=63a9dcdd46afb30670a68c83216124378d826d12;hpb=c8caee8e34eec5a3fd047d679e79af149ed1e433;p=timetracker.git diff --git a/WEB-INF/resources/pt-br.lang.php b/WEB-INF/resources/pt-br.lang.php index 63a9dcdd..829b3ec1 100644 --- a/WEB-INF/resources/pt-br.lang.php +++ b/WEB-INF/resources/pt-br.lang.php @@ -49,15 +49,19 @@ $i18n_key_words = array( 'menu.profile' => 'Perfil', // TODO: translate the following. // 'menu.group' => 'Group', +'menu.plugins' => 'Plugins', 'menu.time' => 'Tempo', 'menu.expenses' => 'Gastos', 'menu.reports' => 'Relatórios', +// TODO: translate the following. +// 'menu.timesheets' => 'Timesheets', 'menu.charts' => 'Gráficos', 'menu.projects' => 'Projetos', 'menu.tasks' => 'Tarefas', 'menu.users' => 'Usuários', // TODO: translate the following. // 'menu.groups' => 'Groups', +// 'menu.subgroups' => 'Subgroups', 'menu.export' => 'Exportar', 'menu.clients' => 'Clientes', 'menu.options' => 'Opções', @@ -89,23 +93,40 @@ $i18n_key_words = array( 'error.user_exists' => 'Já existe usuário com este login.', // TODO: translate the following. // 'error.object_exists' => 'Object with this name already exists.', -'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.', '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.', +// TODO: translate the following. +// 'error.no_records' => 'There are no records.', 'error.no_login' => 'Não há usuário com este login.', '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.', +// 'error.user_count' => 'Limit on user count.', +// 'error.expired' => 'Expiration date reached.', +// 'error.file_storage' => 'File storage error.', + +// Warning messages. +// TODO: translate the following. +// 'warn.sure' => 'Are you sure?', +// 'warn.confirm_save' => 'Date has changed. Confirm saving, not copying this item.', + +// Success messages. +// TODO: translate the following. +// 'msg.success' => 'Operation completed successfully.', // Labels for buttons. 'button.login' => 'Login', @@ -120,14 +141,17 @@ $i18n_key_words = array( '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', +// TODO: translate the following. +// 'button.approve' => 'Approve', +// 'button.disapprove' => 'Disapprove', // 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', @@ -148,6 +172,8 @@ $i18n_key_words = array( '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', @@ -226,28 +252,59 @@ $i18n_key_words = array( // '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', +// TODO: translate the following. +// 'label.quota' => 'Quota', +// 'label.timesheet' => 'Timesheet', +// 'label.submitted' => 'Submitted', +// 'label.approved' => 'Approved', +// 'label.approval' => 'Report approval', +// 'label.mark_approved' => 'Mark approved', +// 'label.template' => 'Template', +// 'label.attachments' => 'Attachments', +// 'label.files' => 'Files', +// 'label.file' => 'File', +// 'label.image' => 'Image', +// 'label.download' => 'Download', +'label.active_users' => 'Usuários ativos', +'label.inactive_users' => 'Usuários inativos', // 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', 'title.edit_time_record' => 'Editando entrada de hora', 'title.delete_time_record' => 'Apagando entrada de hora', +// TODO: Translate the following. +// 'title.time_files' => 'Time Record Files', 'title.expenses' => 'Gastos', 'title.edit_expense' => 'Editando item de gasto', 'title.delete_expense' => 'Apagando item de gasto', 'title.reports' => 'Relatórios', 'title.report' => 'Report', 'title.send_report' => 'Enviando relatório', +// TODO: Translate the following. +// 'title.timesheets' => 'Timesheets', +// 'title.timesheet' => 'Timesheet', +// 'title.timesheet_files' => 'Timesheet Files', 'title.invoice' => 'Fatura', 'title.send_invoice' => 'Enviando fatura', 'title.charts' => 'Gráficos', 'title.projects' => 'Projetos', +// TODO: translate the following. +// 'title.project_files' => 'Project Files', 'title.add_project' => 'Adicionando projeto', 'title.edit_project' => 'Editando projeto', 'title.delete_project' => 'Apagando projeto', @@ -276,13 +333,18 @@ $i18n_key_words = array( 'title.add_notification' => 'Adicionando notificação', 'title.edit_notification' => 'Editando notificação', 'title.delete_notification' => 'Apagando notificação', +// TODO: translate the following. +// 'title.add_timesheet' => 'Adding Timesheet', +// 'title.edit_timesheet' => 'Editing Timesheet', +// 'title.delete_timesheet' => 'Deleting Timesheet', // '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', // TODO: translate the following. -// 'title.group' => 'Group Settings', +// 'title.display_options' => 'Display Options', +'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', @@ -295,6 +357,20 @@ $i18n_key_words = array( // TODO: translate the following. // 'title.week_view' => 'Week View', // 'title.swap_roles' => 'Swapping Roles', +// 'title.work_units' => 'Work Units', +// 'title.templates' => 'Templates', +// 'title.add_template' => 'Adding Template', +// 'title.edit_template' => 'Editing Template', +// 'title.delete_template' => 'Deleting Template', +// 'title.edit_file' => 'Editing File', +// 'title.delete_file' => 'Deleting File', +// 'title.download_file' => 'Downloading File', +// 'title.work' => 'Work', +// 'title.add_work' => 'Adding Work', +// 'title.edit_work' => 'Editing Work', +// 'title.delete_work' => 'Deleting Work', +// 'title.active_work' => 'Active Work', // Active work items this group outsources to other groups. +// 'title.inactive_work' => 'Inactive Work', // Inactive work items this group was outsourcing to other groups. // 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. @@ -320,11 +396,15 @@ $i18n_key_words = array( 'dropdown.clients' => 'clientes', 'dropdown.select' => '--- selecione ---', 'dropdown.select_invoice' => '--- selecione fatura ---', +// TODO: translate the following. +// 'dropdown.select_timesheet' => '--- select timesheet ---', 'dropdown.status_active' => 'ativo', 'dropdown.status_inactive' => 'inativo', 'dropdown.delete' => 'apagar', 'dropdown.do_not_delete' => 'não apagar', // TODO: translate the following. +// 'dropdown.approved' => 'approved', +// 'dropdown.not_approved' => 'not approved', // 'dropdown.paid' => 'paid', // 'dropdown.not_paid' => 'not paid', @@ -355,6 +435,8 @@ $i18n_key_words = array( // TODO: translate the following. // 'form.time.remaining_quota' => 'Remaining quota', // 'form.time.over_quota' => 'Over quota', +// 'form.time.remaining_balance' => 'Remaining balance', +// 'form.time.over_balance' => 'Over balance', // Editing Time Record form. See example at https://timetracker.anuko.com/time_edit.php (get there by editing an uncompleted time record). 'form.time_edit.uncompleted' => 'Eesta entrada foi salva somente com hora de início. Não é um erro.', @@ -370,6 +452,10 @@ $i18n_key_words = array( 'form.reports.include_not_billable' => 'não faturável', 'form.reports.include_invoiced' => 'faturado', 'form.reports.include_not_invoiced' => 'não faturado', +// TODO: translate the following. +// 'form.reports.include_assigned' => 'assigned', +// 'form.reports.include_not_assigned' => 'not assigned', +// 'form.reports.include_pending' => 'pending', 'form.reports.select_period' => 'Selecione o período de tempo', 'form.reports.set_period' => 'ou selecionar datas', 'form.reports.show_fields' => 'Exibir campos', @@ -380,13 +466,23 @@ $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', +// 'form.report.assign_to_timesheet' => 'Assign to timesheet', + +// Timesheets form. See example at https://timetracker.anuko.com/timesheets.php +// TODO: translate the following. +// 'form.timesheets.active_timesheets' => 'Active Timesheets', +// 'form.timesheets.inactive_timesheets' => 'Inactive Timesheets', + +// Templates form. See example at https://timetracker.anuko.com/templates.php +// TODO: translate the following. +// 'form.templates.active_templates' => 'Active Templates', +// 'form.templates.inactive_templates' => 'Inactive Templates', // Invoice form. See example at https://timetracker.anuko.com/invoice.php // (you can get to this form after generating a report). @@ -412,8 +508,6 @@ $i18n_key_words = array( 'form.tasks.inactive_tasks' => 'Tarefas inativas', // Users form. See example at https://timetracker.anuko.com/users.php -'form.users.active_users' => 'Usuários ativos', -'form.users.inactive_users' => 'Usuários inativos', // TODO: translate the following. // 'form.users.uncompleted_entry' => 'User has an uncompleted time entry', 'form.users.role' => 'Papel', @@ -422,6 +516,10 @@ $i18n_key_words = array( 'form.users.rate' => 'Honorário', 'form.users.default_rate' => 'Honorário padrão por hora', +// 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', @@ -439,42 +537,47 @@ $i18n_key_words = array( 'form.client.client_to_delete' => 'Cliente a ser apagado', 'form.client.client_entries' => 'Entradas de cliente', -// Exporting Team Data form. See example at https://timetracker.anuko.com/export.php +// 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', -// 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).', +// 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).', -// Profile form. See example at https://timetracker.anuko.com/profile_edit.php. +// 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.profile.swap_roles' => 'Swap roles', -'form.profile.12_hours' => '12 horas', -'form.profile.24_hours' => '24 horas', +// 'form.group_edit.display_options' => 'Display options', +// '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.profile.show_holidays' => 'Show holidays', -'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.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.confirm_save' => 'Confirm saving', +// '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.profile.punch_mode' => 'Punch mode', -// 'form.profile.allow_overlap' => 'Allow overlap', -// 'form.profile.future_entries' => 'Future entries', -// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators', -// 'form.profile.allow_ip' => 'Allow IP', -'form.profile.plugins' => 'Plugins', +// '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', @@ -488,7 +591,6 @@ $i18n_key_words = array( // 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.', @@ -497,6 +599,11 @@ $i18n_key_words = array( // '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', @@ -504,7 +611,7 @@ $i18n_key_words = array( // '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.client.description' => 'A client can view its own data.', // 'role.supervisor.label' => 'Supervisor', // 'role.supervisor.low_case_label' => 'supervisor', // 'role.supervisor.description' => 'A person with a small set of management rights.', @@ -520,4 +627,17 @@ $i18n_key_words = array( // 'role.admin.label' => 'Administrator', // 'role.admin.low_case_label' => 'administrator', // 'role.admin.description' => 'Site adminsitrator.', + +// Timesheet View form. See example at https://timetracker.anuko.com/timesheet_view.php. +// TODO: translate the following. +// 'form.timesheet_view.submit_subject' => 'Timesheet approval request', +// 'form.timesheet_view.submit_body' => "A new timesheet requires approval.

User: %s.", +// 'form.timesheet_view.approve_subject' => 'Timesheet approved', +// 'form.timesheet_view.approve_body' => "Your timesheet %s was approved.

%s", +// 'form.timesheet_view.disapprove_subject' => 'Timesheet not approved', +// 'form.timesheet_view.disapprove_body' => "Your timesheet %s was not approved.

%s", + +// Display Options form. See example at https://timetracker.anuko.com/display_options.php. +// TODO: translate the following. +// 'form.display_options.note_on_separate_row' => 'Note on separate row', );