X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=WEB-INF%2Fresources%2Fes.lang.php;h=72ef4fdf46ec5ceed123979287a8331fbe67957f;hb=03c03896828d818303c12dfe2e368f5bd9e7dbae;hp=cccf91115d4db7b102dcfe588bf0629cb7ea1481;hpb=049f4a833d78188fbb21444d97e5d99e298cee53;p=timetracker.git
diff --git a/WEB-INF/resources/es.lang.php b/WEB-INF/resources/es.lang.php
index cccf9111..72ef4fdf 100644
--- a/WEB-INF/resources/es.lang.php
+++ b/WEB-INF/resources/es.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 = 'Español';
+$i18n_language = 'Spanish (Español)';
$i18n_months = array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
$i18n_weekdays = array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');
$i18n_weekdays_short = array('Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá');
@@ -45,8 +45,11 @@ $i18n_key_words = array(
'menu.forum' => 'Foro',
'menu.help' => 'Ayuda',
// 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' => 'Tiempo',
// TODO: translate the following.
// 'menu.expenses' => 'Expenses',
@@ -57,9 +60,9 @@ $i18n_key_words = array(
// TODO: translate the following.
// 'menu.tasks' => 'Tasks',
'menu.users' => 'Personas',
-'menu.teams' => 'Equipos',
// TODO: translate the following.
-// menu.export' => 'Export',
+// 'menu.groups' => 'Groups',
+// 'menu.export' => 'Export',
'menu.clients' => 'Clientes',
'menu.options' => 'Opciones',
@@ -76,6 +79,8 @@ $i18n_key_words = array(
// 'error.access_denied' => 'Access denied.',
// 'error.sys' => 'System error.',
'error.db' => 'Error de la base de datos.',
+// TODO: translate the following.
+// 'error.feature_disabled' => 'Feature is disabled.',
'error.field' => 'Dato "{0}" incorrecto.',
'error.empty' => 'El archivo "{0}" esta vacÃo.',
'error.not_equal' => 'El archivo "{0}" no es igual al archivo "{1}".',
@@ -90,18 +95,20 @@ $i18n_key_words = array(
'error.auth' => 'Usuario o contraseña incorrecta.',
// 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' => 'Ya existe un proyecto con este nombre.',
// 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_login' => 'No user with this login.',
-'error.no_teams' => 'Su base de datos esta vacÃa. Inicie sesión como administrador y cree un nuevo grupo.',
+'error.no_groups' => 'Su base de datos esta vacÃa. Inicie sesión como administrador y cree un nuevo grupo.',
'error.upload' => 'Error subiendo el archivo.',
// 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.',
@@ -116,21 +123,14 @@ $i18n_key_words = array(
// 'button.copy' => 'Copy',
'button.cancel' => 'Cancelar',
'button.submit' => 'Enviar',
-'button.add_user' => 'Agregar usuario',
-'button.add_project' => 'Agregar proyecto',
-// TODO: translate the following.
-// 'button.add_task' => 'Add task',
-'button.add_client' => 'Agregar cliente',
-// TODO: translate the following.
-// 'button.add_invoice' => 'Add invoice',
-// 'button.add_option' => 'Add option',
'button.add' => 'Agregar',
+'button.delete' => 'Eliminar',
'button.generate' => 'Generar',
// TODO: translate the following.
// 'button.reset_password' => 'Reset password',
'button.send' => 'Enviar',
'button.send_by_email' => 'Enviar por correo',
-'button.create_team' => 'Crear grupo',
+'button.create_group' => 'Crear grupo',
'button.export' => 'Exportar grupo',
'button.import' => 'Importar grupo',
// TODO: translate the following.
@@ -139,7 +139,7 @@ $i18n_key_words = array(
// 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' => 'Dirección',
'label.currency' => 'Moneda',
// TODO: translate the following.
@@ -162,6 +162,7 @@ $i18n_key_words = array(
'label.user' => 'Usuario',
// TODO: translate the following.
// 'label.users' => 'Users',
+// 'label.roles' => 'Roles',
// 'label.client' => 'Client',
// 'label.clients' => 'Clients',
'label.option' => 'Opción',
@@ -180,12 +181,12 @@ $i18n_key_words = array(
// 'label.notes' => 'Notes',
// 'label.item' => 'Item',
// 'label.cost' => 'Cost',
+// 'label.ip' => 'IP',
// 'label.day_total' => 'Day total',
// 'label.week_total' => 'Week total',
// 'label.month_total' => 'Month total',
'label.today' => 'Hoy',
-'label.total_hours' => 'Horas totales',
-// 'label.total_cost' => 'Total cost',
+// TODO: translate the following.
// 'label.view' => 'View',
'label.edit' => 'Modificar',
'label.delete' => 'Eliminar',
@@ -237,21 +238,26 @@ $i18n_key_words = array(
// 'label.required' => 'Required',
'label.fav_report' => 'Reporte favorito',
// TODO: translate the following.
-// 'label.cron_schedule' => 'Cron schedule',
+// 'label.schedule' => 'Schedule',
// 'label.what_is_it' => 'What is it?',
// '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' => 'Solo totales',
// Form titles.
'title.login' => 'Sesión iniciada',
-'title.teams' => 'Grupos',
+'title.groups' => 'Grupos',
// TODO: translate the following.
-// 'title.create_team' => 'Creating Team',
-// 'title.edit_team' => 'Editing Team',
-// 'title.delete_team' => 'Deleting Team',
+// 'title.create_group' => 'Creating Group',
+// 'title.edit_group' => 'Editing Group',
+// 'title.delete_group' => 'Deleting Group',
'title.reset_password' => 'Reestablecer contraseña',
// TODO: translate the following.
// 'title.change_password' => 'Changing Password',
@@ -287,6 +293,11 @@ $i18n_key_words = array(
'title.add_user' => 'Creando usuario',
'title.edit_user' => 'Modificando usuario',
'title.delete_user' => 'Eliminando usuario',
+// 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' => 'Agregar cliente',
'title.edit_client' => 'Modificando cliente',
@@ -306,6 +317,8 @@ $i18n_key_words = array(
'title.options' => 'Opciones',
'title.profile' => 'Perfil',
// TODO: translate the following.
+// 'title.group' => 'Group Settings',
+// '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',
@@ -315,20 +328,21 @@ $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',
// 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.
'dropdown.all' => '--- todos ---',
'dropdown.no' => '--- no ---',
-// TODO: translate the following.
-// 'dropdown.current_day' => 'today',
-// 'dropdown.previous_day' => 'yesterday',
+'dropdown.current_day' => 'hoy',
+'dropdown.previous_day' => 'ayer',
'dropdown.selected_day' => 'dia',
'dropdown.current_week' => 'esta semana',
-// TODO: translate the following.
-// 'dropdown.previous_week' => 'previous week',
+'dropdown.previous_week' => 'la semana pasada',
'dropdown.selected_week' => 'semana',
'dropdown.current_month' => 'este mes',
'dropdown.previous_month' => 'el mes pasado',
@@ -348,8 +362,8 @@ $i18n_key_words = array(
// 'dropdown.select_invoice' => '--- select invoice ---',
// 'dropdown.status_active' => 'active',
// 'dropdown.status_inactive' => 'inactive',
-// 'dropdown.delete'=>'delete',
-// 'dropdown.do_not_delete'=>'do not delete',
+// 'dropdown.delete' => 'delete',
+// 'dropdown.do_not_delete' => 'do not delete',
// 'dropdown.paid' => 'paid',
// 'dropdown.not_paid' => 'not paid',
@@ -361,7 +375,7 @@ $i18n_key_words = array(
// Login form. See example at https://timetracker.anuko.com/login.php.
'form.login.forgot_password' => '¿Olvido su contraseña?',
// TODO: translate the following.
-// 'form.login.about' =>'Anuko Time Tracker is a simple, easy to use, open source time tracking system.',
+// 'form.login.about' => 'Anuko Time Tracker is a simple, easy to use, open source time tracking system.',
// Resetting Password form. See example at https://timetracker.anuko.com/password_reset.php.
// TODO: check / improve translation of form.reset_password.message.
@@ -370,7 +384,10 @@ $i18n_key_words = array(
'form.reset_password.message' => 'Se ha enviado la petición de reestablecer contraseña.',
'form.reset_password.email_subject' => 'Solicitud de reestablecimiento de la contraseña de Anuko Time Tracker',
// Note to translators: the ending of this string needs to be translated.
-'form.reset_password.email_body' => "Querido usuario, Alguien, posiblemente usted, solicitó reestablecer su contraseña de Anuko Time Tracker. Por favor visite este enlace si quiere reestablecer su contraseña.\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",
+// 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' => "Querido usuario, Alguien, IP %s, solicitó reestablecer su contraseña de Anuko Time Tracker. Por favor visite este enlace si quiere reestablecer su contraseña.\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.
// TODO: improve translation of form.change_password.tip.
@@ -397,7 +414,6 @@ $i18n_key_words = array(
'form.reports.save_as_favorite' => 'Guardar como favorito',
// TODO: translate form.reports.confirm_delete.
// 'form.reports.confirm_delete' => 'Are you sure you want to delete this favorite report?',
-// 'form.reports.include_records' => 'Include records',
'form.reports.include_billable' => 'facturable',
'form.reports.include_not_billable' => 'no facturable',
// TODO: translate the following.
@@ -415,7 +431,6 @@ $i18n_key_words = array(
'form.reports.group_by_project' => 'proyecto',
// TODO: traslate the following string.
// 'form.reports.group_by_task' => 'task',
-'form.reports.totals_only' => 'Solo totales',
// Report form. See example at https://timetracker.anuko.com/report.php
// (after generating a report at https://timetracker.anuko.com/reports.php).
@@ -427,7 +442,9 @@ $i18n_key_words = array(
// (you can get to this form after generating a report).
'form.invoice.number' => 'Número de factura',
'form.invoice.person' => 'Persona',
-// TODO: translate the following stings.
+
+// Deleting Invoice form. See example at https://timetracker.anuko.com/invoice_delete.php
+// TODO: translate the following.
// 'form.invoice.invoice_to_delete' => 'Invoice to delete',
// 'form.invoice.invoice_entries' => 'Invoice entries',
// 'form.invoice.confirm_deleting_entries' => 'Please confirm deleting invoice entries from Time Tracker.',
@@ -458,48 +475,68 @@ $i18n_key_words = array(
// TODO: translate the following.
// 'form.users.default_rate' => 'Default hourly rate',
-// Client delete form. See example at https://timetracker.anuko.com/client_delete.php
+// Editing User form. See example at https://timetracker.anuko.com/user_edit.php
// TODO: translate the following.
-// 'form.client.client_to_delete' => 'Client to delete',
-// 'form.client.client_entries' => 'Client entries',
+// '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
// TODO: translate the following.
// 'form.clients.active_clients' => 'Active Clients',
// 'form.clients.inactive_clients' => 'Inactive Clients',
-// 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
+// TODO: translate the following.
+// 'form.client.client_to_delete' => 'Client to delete',
+// 'form.client.client_entries' => 'Client entries',
+
+// Exporting Group Data form. See example at https://timetracker.anuko.com/export.php
'form.export.hint' => 'Usted puede exportar todos los datos del grupo dentro de un archivo xml. Ãsto puede ser útil si necesita migrar datos a su propio sevidor.',
'form.export.compression' => 'Comprimir',
// Note to translators: the strings below are missing in the translation and must be added.
// 'form.export.compression_none' => 'none',
// 'form.export.compression_bzip' => 'bzip',
-// Strings for 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 datos del grupo desde un archivo xml.',
'form.import.file' => 'Seleccione el archivo',
'form.import.success' => 'Importación finalizada con éxito.',
-// Teams form. See example at https://timetracker.anuko.com/admin_teams.php (login as admin first).
+// Groups form. See example at https://timetracker.anuko.com/admin_groups.php (login as admin first).
// TODO: improve translation of form.admin.hint - no login collisions are allowed.
-'form.teams.hint' => 'Crear un nuevo grupo, creando una nueva cuenta del manejador del equipo.
También puede importar datos de grupos, de un archivo xml de otro servidor Anuko Time Tracker (no estan permitidad colisiones de e-mail).',
-
-// Profile form. See example at https://timetracker.anuko.com/profile_edit.php.
-'form.profile.12_hours' => '12 horas',
-'form.profile.24_hours' => '24 horas',
-// TODO: translate the following.
-// '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.uncompleted_indicators' => 'Uncompleted indicators',
-// 'form.profile.uncompleted_indicators_none' => 'do not show',
-// 'form.profile.uncompleted_indicators_show' => 'show',
-// 'form.profile.plugins' => 'Plugins',
+// ALSO TODO: replace "team" with "group" in the string below.
+'form.groups.hint' => 'Crear un nuevo grupo, creando una nueva cuenta del manejador del equipo.
También puede importar datos de grupos, de un archivo xml de otro servidor Anuko Time Tracker (no estan permitidad colisiones de e-mail).',
+
+// 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' => '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.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',
@@ -511,11 +548,45 @@ $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',
+// '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.',
);