X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Fresources%2Fca.lang.php;h=c858ed08790cb4e5641c391d5ed35a82c906eedf;hb=ab53f7a7b9b0e0ca43b6950c3389cd3889e74d82;hp=6365f1223613823a502e7cf6e7dd70b3ae494383;hpb=ecbf1ecf19bfeb85794717fc7a6deb7ecc8c5f58;p=timetracker.git diff --git a/WEB-INF/resources/ca.lang.php b/WEB-INF/resources/ca.lang.php index 6365f122..c858ed08 100644 --- a/WEB-INF/resources/ca.lang.php +++ b/WEB-INF/resources/ca.lang.php @@ -29,7 +29,7 @@ // 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. -$i18n_language = 'Català'; +$i18n_language = 'Catalan (Català)'; $i18n_months = array('Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'); $i18n_weekdays = array('Diumenge', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte'); $i18n_weekdays_short = array('Dg', 'Dl', 'Dm', 'Dc', 'Dj', 'Dv', 'Ds'); @@ -46,20 +46,25 @@ $i18n_key_words = array( // 'menu.forum' => 'Forum', 'menu.help' => 'Ajuda', // TODO: translate the following. -// 'menu.create_team' => 'Create Team', +// 'menu.create_group' => 'Create Group', 'menu.profile' => 'Perfil', +// TODO: translate the following. +// 'menu.group' => 'Group', +// 'menu.plugins' => 'Plugins', 'menu.time' => 'Temps', // TODO: translate the following. // 'menu.expenses' => 'Expenses', 'menu.reports' => 'Informes', // TODO: translate the following. +// 'menu.timesheets' => 'Timesheets', // 'menu.charts' => 'Charts', 'menu.projects' => 'Projectes', // TODO: translate the following. // 'menu.tasks' => 'Tasks', 'menu.users' => 'Usuaris', -'menu.teams' => 'Grups', +'menu.groups' => 'Grups', // TODO: translate the following. +// 'menu.subgroups' => 'Subgroups', // 'menu.export' => 'Export', 'menu.clients' => 'Clients', 'menu.options' => 'Opcions', @@ -77,6 +82,8 @@ $i18n_key_words = array( // 'error.access_denied' => 'Access denied.', // 'error.sys' => 'System error.', 'error.db' => 'Error de la base de dades.', +// TODO: translate the following. +// 'error.feature_disabled' => 'Feature is disabled.', 'error.field' => 'Dada "{0}" incorrecta.', 'error.empty' => 'L\\\'Arxiu "{0}" està buit.', 'error.not_equal' => 'L\\\'Arxiu "{0}" no és igual al arxiu "{1}".', @@ -93,24 +100,36 @@ $i18n_key_words = array( // TODO: translate the following. // 'error.user_exists' => 'User with this login already exists.', // 'error.object_exists' => 'Object with this name already exists.', -'error.project_exists' => 'Ja existeix un projecte amb aquest nom.', -// TODO: translate the following. -// 'error.task_exists' => 'Task with this name already exists.', -// 'error.client_exists' => 'Client with this name already exists.', // 'error.invoice_exists' => 'Invoice with this number already exists.', // 'error.role_exists' => 'Role with this rank already exists.', // 'error.no_invoiceable_items' => 'There are no invoiceable items.', +// 'error.no_records' => 'There are no records.', // 'error.no_login' => 'No user with this login.', -'error.no_teams' => 'La seva base de dades està buida. Iniciï sessió com a administrador i creï un nou grup.', +'error.no_groups' => 'La seva base de dades està buida. Iniciï sessió com a administrador i creï un nou grup.', 'error.upload' => 'Error pujant l\\\'arxiu.', // TODO: translate the following. // 'error.range_locked' => 'Date range is locked.', -// 'error.mail_send' => 'Error sending mail.', +// 'error.mail_send' => 'Error sending mail. Use MAIL_SMTP_DEBUG for diagnostics.', // 'error.no_email' => 'No email associated with this login.', // 'error.uncompleted_exists' => 'Uncompleted entry already exists. Close or delete it.', // 'error.goto_uncompleted' => 'Go to uncompleted entry.', // 'error.overlap' => 'Time interval overlaps with existing records.', // 'error.future_date' => 'Date is in future.', +// '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' => 'Iniciar sessió', @@ -126,16 +145,18 @@ $i18n_key_words = array( // 'button.reset_password' => 'Reset password', 'button.send' => 'Enviar', 'button.send_by_email' => 'Enviar per correu', -'button.create_team' => 'Crear grup', +'button.create_group' => 'Crear grup', 'button.export' => 'Exportar grup', 'button.import' => 'Importar grup', // TODO: translate the following. // 'button.close' => 'Close', // 'button.stop' => 'Stop', +// 'button.approve' => 'Approve', +// 'button.disapprove' => 'Disapprove', // Labels for controls on forms. Labels in this section are used on multiple forms. // TODO: translate the following. -// 'label.team_name' => 'Team name', +// 'label.group_name' => 'Group name', // 'label.address' => 'Address', 'label.currency' => 'Moneda', // TODO: translate the following. @@ -158,6 +179,8 @@ $i18n_key_words = array( 'label.user' => 'Usuari', 'label.users' => 'Usuaris', // TODO: translate the following. +// 'label.group' => 'Group', +// 'label.subgroups' => 'Subgroups', // 'label.roles' => 'Roles', 'label.client' => 'Client', 'label.clients' => 'Clients', @@ -177,6 +200,7 @@ $i18n_key_words = array( // TODO: translate the following. // 'label.item' => 'Item', // 'label.cost' => 'Cost', +// 'label.ip' => 'IP', // 'label.day_total' => 'Day total', // 'label.week_total' => 'Week total', // 'label.month_total' => 'Month total', @@ -228,7 +252,7 @@ $i18n_key_words = array( // 'label.required' => 'Required', 'label.fav_report' => 'Report favorit', // TODO: translate the following. -// 'label.cron_schedule' => 'Cron schedule', +// 'label.schedule' => 'Schedule', // 'label.what_is_it' => 'What is it?', // 'label.expense' => 'Expense', 'label.quantity' => 'Quantitat', @@ -238,18 +262,38 @@ $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' => 'Només totals', +// 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', // Form titles. // TODO: Improve titles for consistency, so that each title explains correctly what each // page is about and is "consistent" from page to page, meaning that correct grammar is used everywhere. // Compare with English file to see how it is done there and do Catalan titles similarly. // Specifically: Agregant vs Agregar, etc. +// TODO: Translate the following. +// 'title.error' => 'Error', +// 'title.success' => 'Success', 'title.login' => 'Sessió iniciada', -'title.teams' => 'Grups', +'title.groups' => 'Grups', // TODO: translate the following. -// 'title.create_team' => 'Creating Team', -// 'title.edit_team' => 'Editing Team', -'title.delete_team' => 'Eliminar grup', +// 'title.subgroups' => 'Subgroups', +// 'title.add_group' => 'Adding Group', +// 'title.edit_group' => 'Editing Group', +'title.delete_group' => 'Eliminar grup', 'title.reset_password' => 'Restablir paraula de pas', // TODO: translate the following. // 'title.change_password' => 'Changing Password', @@ -257,6 +301,7 @@ $i18n_key_words = array( 'title.edit_time_record' => 'Modificant l\\\'historial de temps', 'title.delete_time_record' => 'Eliminant l\\\'historial de temps', // TODO: translate the following. +// 'title.time_files' => 'Time Record Files', // 'title.expenses' => 'Expenses', // 'title.edit_expense' => 'Editing Expense Item', // 'title.delete_expense' => 'Deleting Expense Item', @@ -268,11 +313,15 @@ $i18n_key_words = array( 'title.report' => 'Informe', // TODO: translate the following. // 'title.send_report' => 'Sending Report', +// 'title.timesheets' => 'Timesheets', +// 'title.timesheet' => 'Timesheet', 'title.invoice' => 'Factura', // TODO: translate the following. // 'title.send_invoice' => 'Sending Invoice', // 'title.charts' => 'Charts', 'title.projects' => 'Projectes', +// TODO: translate the following. +// 'title.project_files' => 'Project Files', 'title.add_project' => 'Agregant projecte', 'title.edit_project' => 'Modificant projecte', 'title.delete_project' => 'Eliminant projecte', @@ -303,12 +352,18 @@ $i18n_key_words = array( // 'title.add_notification' => 'Adding Notification', // 'title.edit_notification' => 'Editing Notification', // 'title.delete_notification' => 'Deleting Notification', +// 'title.add_timesheet' => 'Adding Timesheet', +// 'title.edit_timesheet' => 'Editing Timesheet', +// 'title.delete_timesheet' => 'Deleting Timesheet', // 'title.monthly_quotas' => 'Monthly Quotas', -// 'title.export' => 'Exporting Team Data', -// 'title.import' => 'Importing Team Data', +// 'title.export' => 'Exporting Group Data', +// 'title.import' => 'Importing Group Data', 'title.options' => 'Opcions', +// TODO: translate the following. +// 'title.display_options' => 'Display Options', 'title.profile' => 'Perfil', // TODO: translate the following. +// 'title.plugins' => 'Plugins', // 'title.cf_custom_fields' => 'Custom Fields', // 'title.cf_add_custom_field' => 'Adding Custom Field', // 'title.cf_edit_custom_field' => 'Editing Custom Field', @@ -318,9 +373,18 @@ $i18n_key_words = array( // 'title.cf_edit_dropdown_option' => 'Editing Option', // 'title.cf_delete_dropdown_option' => 'Deleting Option', // NOTE TO TRANSLATORS: Locking is a feature to lock records from modifications (ex: weekly on Mondays we lock all previous weeks). -// It is also a name for the Locking plugin on the Team profile page. +// It is also a name for the Locking plugin on the group settings page. // 'title.locking' => 'Locking', // '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', // 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. @@ -347,11 +411,14 @@ $i18n_key_words = array( // TODO: translate the following. // 'dropdown.select' => '--- select ---', // 'dropdown.select_invoice' => '--- select invoice ---', +// 'dropdown.select_timesheet' => '--- select timesheet ---', 'dropdown.status_active' => 'actiu', // TODO: translate the following. // 'dropdown.status_inactive' => 'inactive', // 'dropdown.delete' => 'delete', // 'dropdown.do_not_delete' => 'do not delete', +// 'dropdown.approved' => 'approved', +// 'dropdown.not_approved' => 'not approved', // 'dropdown.paid' => 'paid', // 'dropdown.not_paid' => 'not paid', @@ -364,7 +431,7 @@ $i18n_key_words = array( 'form.reset_password.message' => 'S\\\'ha enviat la petició de restablir paraula de pas.', // TODO: add "by email" to match the English string. 'form.reset_password.email_subject' => 'Sol·licitud de restabliment de la paraula de pas de Anuko Time Tracker', // TODO: translate the following. -// 'form.reset_password.email_body' => "Dear User,\n\nSomeone, possibly you, 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", +// '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", // Changing Password form. See example at https://timetracker.anuko.com/password_change.php?ref=1. 'form.change_password.tip' => 'Per restablir la paraula de pas, si us plau escrigui-la i faci clic en guardar.', @@ -376,6 +443,8 @@ $i18n_key_words = array( // 'form.time.uncompleted' => 'Uncompleted', // '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' => 'Aquest historial s\\\'ha guardat únicament amb l\\\'hora d\\\'inici. Aixó no és un error.', @@ -393,6 +462,9 @@ $i18n_key_words = array( // TODO: translate the following. // 'form.reports.include_invoiced' => 'invoiced', // 'form.reports.include_not_invoiced' => 'not invoiced', +// 'form.reports.include_assigned' => 'assigned', +// 'form.reports.include_not_assigned' => 'not assigned', +// 'form.reports.include_pending' => 'pending', 'form.reports.select_period' => 'Seleccionar període de temps', 'form.reports.set_period' => 'o establir dates', 'form.reports.show_fields' => 'Mostrar camps', @@ -405,13 +477,23 @@ $i18n_key_words = array( 'form.reports.group_by_project' => 'projecte', // TODO: translate the following. // 'form.reports.group_by_task' => 'task', -'form.reports.totals_only' => 'Només totals', // 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). @@ -450,6 +532,10 @@ $i18n_key_words = array( 'form.users.rate' => 'Taxa', 'form.users.default_rate' => 'Taxa per defecte per 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', @@ -469,39 +555,46 @@ $i18n_key_words = array( // 'form.client.client_to_delete' => 'Client to delete', // 'form.client.client_entries' => 'Client entries', -// 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 'form.export.hint' => 'Vosté pot exportar totes les dades del grup dins d\\\'un archivo xml. Això pot ser útil si necessita migrar dades al seu propi servidor.', 'form.export.compression' => 'Compressió', // TODO: translate the following. // 'form.export.compression_none' => 'none', // 'form.export.compression_bzip' => 'bzip', -// Importing Team Data form. See example at https://timetracker.anuko.com/imort.php (login as admin first). +// Importing Group Data form. See example at https://timetracker.anuko.com/import.php (login as admin first). 'form.import.hint' => 'Importar dades del grup des d\\\'un arxiu xml.', 'form.import.file' => 'Sel·leccioni l\\\'arxiu', 'form.import.success' => 'Importació finalitzada amb èxit.', -// Teams form. See example at https://timetracker.anuko.com/admin_teams.php (login as admin first). -'form.teams.hint' => 'Crear un nou grup, creant un nou compte del manejador de l\\\'equip.
També pot importar dades de grups, d\\\'un arxiu xml d\\\'un altre servidor Anuko Time Tracker (no està permès col·lisions de login).', - -// Profile form. See example at https://timetracker.anuko.com/profile_edit.php. -// TODO: translate the following. -// 'form.profile.12_hours' => '12 hours', -// 'form.profile.24_hours' => '24 hours', -// 'form.profile.show_holidays' => 'Show holidays', -// 'form.profile.tracking_mode' => 'Tracking mode', -// 'form.profile.mode_time' => 'time', -// 'form.profile.mode_projects' => 'projects', -// 'form.profile.mode_projects_and_tasks' => 'projects and tasks', -// 'form.profile.record_type' => 'Record type', -// 'form.profile.type_all' => 'all', -// 'form.profile.type_start_finish' => 'start and finish', -// 'form.profile.type_duration' => 'duration', -// '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.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. +'form.groups.hint' => 'Crear un nou grup, creant un nou compte del manejador de l\\\'equip.
També pot importar dades de grups, d\\\'un arxiu xml d\\\'un altre servidor Anuko Time Tracker (no està permès col·lisions de login).', + +// Group Settings form. See example at https://timetracker.anuko.com/group_edit.php. +// TODO: translate the following. +// 'form.group_edit.12_hours' => '12 hours', +// 'form.group_edit.24_hours' => '24 hours', +// 'form.group_edit.display_options' => 'Display options', +// 'form.group_edit.show_holidays' => 'Show holidays', +// 'form.group_edit.tracking_mode' => 'Tracking mode', +// 'form.group_edit.mode_time' => 'time', +// 'form.group_edit.mode_projects' => 'projects', +// 'form.group_edit.mode_projects_and_tasks' => 'projects and tasks', +// 'form.group_edit.record_type' => 'Record type', +// 'form.group_edit.type_all' => 'all', +// 'form.group_edit.type_start_finish' => 'start and finish', +// 'form.group_edit.type_duration' => 'duration', +// '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.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', @@ -512,14 +605,23 @@ $i18n_key_words = array( // 'form.mail.report_sent' => 'Report sent.', 'form.mail.invoice_sent' => 'Factura 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 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', @@ -527,7 +629,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.', @@ -543,4 +645,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', );