Added form.swap.swap_with to translation files.
[timetracker.git] / WEB-INF / resources / de.lang.php
index fb7cba9..a588ad4 100644 (file)
 // | https://www.anuko.com/time_tracker/credits.htm
 // +----------------------------------------------------------------------+
 
-$i18n_language = 'Deutsch';
+// 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 = 'German (Deutsch)';
 $i18n_months = array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember');
 $i18n_weekdays = array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
 $i18n_weekdays_short = array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa');
@@ -35,7 +38,7 @@ $i18n_holidays = array('01/01', '04/06', '04/09', '05/01', '05/17', '05/28', '10
 
 $i18n_key_words = array(
 
-// Menus - short selection strings that are displayed on the top of application web pages.
+// Menus - short selection strings that are displayed on top of application web pages.
 // Example: https://timetracker.anuko.com (black menu on top).
 'menu.login' => 'Anmelden',
 'menu.logout' => 'Abmelden',
@@ -56,13 +59,13 @@ $i18n_key_words = array(
 'menu.options' => 'Optionen',
 
 // Footer - strings on the bottom of most pages.
-'footer.mobile_phones' => 'Time Tracker funktioniert auch auf dem Smartphone.',
+'footer.contribute_msg' => 'Tragen Sie auf verschiedenen Weisen zu Time Tracker bei.',
 'footer.credits' => 'Impressum',
 'footer.license' => 'Lizenz',
+'footer.improve' => 'Mach mit',
 
 // Error messages.
-// TODO: translate the following string.
-// 'error.access_denied' => 'Access denied.',
+'error.access_denied' => 'Zugriff verweigert.',
 'error.sys' => 'Systemfehler.',
 'error.db' => 'Datenbankfehler.',
 'error.field' => 'Ungültige "{0}" Daten.',
@@ -72,19 +75,24 @@ $i18n_key_words = array(
 'error.project' => 'Projekt wählen.',
 'error.task' => 'Aufgabe auswählen.',
 'error.client' => 'Kunde auswählen.',
-// TODO: translate the following string.
-// 'error.report' => 'Select report.',
+'error.report' => 'Bericht auswählen.',
+// TODO: translate the following.
+// 'error.record' => 'Select record.',
 'error.auth' => 'Benutzername oder Passwort ungültig.',
 'error.user_exists' => 'Benutzer mit diesem Konto ist bereits vorhanden.',
+// TODO: translate the following.
+// 'error.object_exists' => 'Object with this name already exists.',
 'error.project_exists' => 'Es gibt bereits ein Projekt mit diesem Namen.',
 'error.task_exists' => 'Task mit diesem Namen existiert bereits.',
 'error.client_exists' => 'Der Kunde mit dem Namen existiert schon.',
 'error.invoice_exists' => 'Rechnung mit dieser Nummer existiert bereits.',
+// TODO: translate the following.
+// 'error.role_exists' => 'Role with this rank already exists.',
 'error.no_invoiceable_items' => 'Keine Einträge zur Rechnungsstellung gefunden.',
 'error.no_login' => 'Benutzer mit diesen Anmeldedaten nicht vorhanden.',
 'error.no_teams' => 'Die Datenbank ist leer. Als Administrator anmelden und ein neues Team erzeugen.',
 'error.upload' => 'Fehler beim hochladen einer Datei.',
-'error.period_locked' => 'Kann den Vorgang nicht beenden. Einträge die älter sind als eine bestimmte Anzahl von Tagen, können nicht erstellt oder geändert werden. Teammanager definieren dies in den "Zeitraum in Tagen sperren" Wert auf der "Profil bearbeiten" Seite. Setzen Sie Ihn auf 0 um die Sperre zu entfernen. <br><br>Unvollständige Einträge (mit 0 oder leerem Zeitraum) kann gelöscht werden.',
+'error.range_locked' => 'Zeitinterval ist gesperrt.',
 'error.mail_send' => 'Fehler beim versenden einer E-Mail.',
 'error.no_email' => 'Dieser Benutzer besitzt keine e-Mail Adresse.',
 'error.uncompleted_exists' => 'Unvollständiger Eintrag bereits vorhanden. Schließen oder Löschen.',
@@ -99,13 +107,8 @@ $i18n_key_words = array(
 'button.copy' => 'Kopieren',
 'button.cancel' => 'Abbrechen',
 'button.submit' => 'Abschicken',
-'button.add_user' => 'Benutzerkonto hinzufügen',
-'button.add_project' => 'Projekt anlegen',
-'button.add_task' => 'Task hinzufügen',
-'button.add_client' => 'Auftraggeber anlegen',
-'button.add_invoice' => 'Rechnung hinzufügen',
-'button.add_option' => 'Option hinzufügen',
 'button.add' => 'Hinzufügen',
+'button.delete' => 'Löschen',
 'button.generate' => 'Erstellen',
 'button.reset_password' => 'Passwort zurücksetzen',
 'button.send' => 'Senden',
@@ -128,11 +131,16 @@ $i18n_key_words = array(
 'label.password' => 'Passwort',
 'label.confirm_password' => 'Passwort bestätigen',
 'label.email' => 'E-Mail',
+'label.cc' => 'CC',
+'label.bcc' => 'BCC',
+'label.subject' => 'Betreff',
 'label.date' => 'Datum',
 'label.start_date' => 'Anfangsdatum',
 'label.end_date' => 'Enddatum',
 'label.user' => 'Benutzer',
 'label.users' => 'Personen',
+// TODO: translate the following.
+// 'label.roles' => 'Roles',
 'label.client' => 'Kunde',
 'label.clients' => 'Kunden',
 'label.option' => 'Option',
@@ -146,24 +154,26 @@ $i18n_key_words = array(
 'label.finish' => 'Ende',
 'label.duration' => 'Dauer',
 'label.note' => 'Beschreibung',
+'label.notes' => 'Beschreibungen',
 'label.item' => 'Position',
 'label.cost' => 'Kosten',
-'label.week_total' => 'Summe (Woche)',
+// TODO: translate the following.
+// 'label.ip' => 'IP',
 'label.day_total' => 'Summe (Tag)',
+'label.week_total' => 'Summe (Woche)',
+'label.month_total' => 'Summe (Monat)',
 'label.today' => 'Heute',
-'label.total_hours' => 'Gesamtstunden',
-'label.total_cost' => 'Totale Kosten',
 'label.view' => 'Ansicht',
 'label.edit' => 'Editieren',
 'label.delete' => 'Löschen',
 'label.configure' => 'Konfigurieren',
 'label.select_all' => 'Alle auswählen',
 'label.select_none' => 'Alle abwählen',
+'label.day_view' => 'Tagesansicht',
+'label.week_view' => 'Wochenansicht',
 'label.id' => 'ID',
 'label.language' => 'Sprache',
-// TODO: translate the following string.
-// 'label.decimal_mark' => 'Decimal mark',
-'label.lock_interval' => 'Blockierter Zeitraum in Tagen',
+'label.decimal_mark' => 'Dezimaltrennzeichen',
 'label.date_format' => 'Datumsformat',
 'label.time_format' => 'Zeitformat',
 'label.week_start' => 'Erster Wochentag',
@@ -171,7 +181,7 @@ $i18n_key_words = array(
 'label.status' => 'Status',
 'label.tax' => 'Umsatzsteuer',
 'label.subtotal' => 'Zwischensumme',
-'label.total' => 'Gesamtsumme',
+'label.total' => 'Endsumme',
 'label.client_name' => 'Kundenname',
 'label.client_address' => 'Adresse',
 'label.or' => 'oder',
@@ -182,18 +192,28 @@ $i18n_key_words = array(
 'label.role_manager' => '(Manager)',
 'label.role_comanager' => '(Co-Manager)',
 'label.role_admin' => '(Administrator)',
-// Translate the following string.
-// 'label.page' => 'Page',
+'label.page' => 'Seite',
+'label.condition' => 'Bedingung',
+'label.yes' => 'Ja',
+'label.no' => 'Nein',
 // Labels for plugins (extensions to Time Tracker that provide additional features).
 'label.custom_fields' => 'Benutzerfelder',
+'label.monthly_quotas' => 'Monatliche Quoten',
 'label.type' => 'Typ',
 'label.type_dropdown' => 'Ausklappen',
 'label.type_text' => 'Text',
 'label.required' => 'Benötigt',
 'label.fav_report' => 'Bevorzugter Report',
-// TODO: translate the following strings.
-// 'label.cron_schedule' => 'Cron schedule',
-// 'label.what_is_it' => 'What is it?',
+'label.schedule' => 'Zeitplan',
+'label.what_is_it' => 'Was ist es?',
+'label.expense' => 'Ausgaben',
+'label.quantity' => 'Menge',
+'label.paid_status' => 'Bezahlstatus',
+'label.paid' => 'Bezahlt',
+'label.mark_paid' => 'Als bezahlt setzen',
+// TODO: translate the following.
+// 'label.week_note' => 'Week note',
+// 'label.week_list' => 'Week list',
 
 // Form titles.
 'title.login' => 'Anmelden',
@@ -203,7 +223,7 @@ $i18n_key_words = array(
 'title.delete_team' => 'Team löschen',
 'title.reset_password' => 'Passworterinnerung',
 'title.change_password' => 'Passwortänderung',
-'title.time' =>  'Meine Zeiten',
+'title.time' => 'Zeiten',
 'title.edit_time_record' => 'Bearbeiten des Stundeneintrags',
 'title.delete_time_record' => 'Eintrag löschen',
 'title.expenses' => 'Kosten',
@@ -227,6 +247,11 @@ $i18n_key_words = array(
 'title.add_user' => 'Benutzerkonto erstellen',
 'title.edit_user' => 'Benutzerdaten bearbeiten',
 'title.delete_user' => 'Benutzer löschen',
+// TODO: translate the following.
+// 'title.roles' => 'Roles',
+// 'title.add_role' => 'Adding Role',
+// 'title.edit_role' => 'Editing Role',
+// 'title.delete_role' => 'Deleting Role',
 'title.clients' => 'Kunden',
 'title.add_client' => 'Kunden hinzufügen',
 'title.edit_client' => 'Kunden bearbeiten',
@@ -235,11 +260,11 @@ $i18n_key_words = array(
 'title.add_invoice' => 'Rechnung hinzufügen',
 'title.view_invoice' => 'Rechnung ansehen',
 'title.delete_invoice' => 'Rechnung löschen',
-// TODO: translate the following strings.
-// 'title.notifications' => 'Notifications',
-// 'title.add_notification' => 'Adding Notification',
-// 'title.edit_notification' => 'Editing Notification',
-// 'title.delete_notification' => 'Deleting Notification',
+'title.notifications' => 'Benachrichtigung',
+'title.add_notification' => 'Benachrichtigung hinzufügen',
+'title.edit_notification' => 'Benachrichtigung bearbeiten',
+'title.delete_notification' => 'Benachrichtigung löschen',
+'title.monthly_quotas' => 'Monatliche Quoten',
 'title.export' => 'Daten exportieren',
 'title.import' => 'Daten importieren',
 'title.options' => 'Optionen',
@@ -252,17 +277,27 @@ $i18n_key_words = array(
 'title.cf_add_dropdown_option' => 'Auswahlmöglichkeit hinzufügen',
 'title.cf_edit_dropdown_option' => 'Auswahlmöglichkeit bearbeiten',
 'title.cf_delete_dropdown_option' => 'Auswahlmöglichkeit löschen',
+'title.locking' => 'Sperren',
+// TODO: translate the following.
+// 'title.week_view' => 'Week View',
+// 'title.swap_roles' => 'Swapping Roles',
 
 // 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' => '--- alle ---',
 'dropdown.no' => '--- nein ---',
-'dropdown.this_day' => 'aktueller Tag',
-'dropdown.this_week' => 'aktuelle Woche',
-'dropdown.last_week' => 'vorherige Woche',
-'dropdown.this_month' => 'aktueller Monat',
-'dropdown.last_month' => 'vorheriger Monat',
-'dropdown.this_year' => 'aktuelles Jahr',
+'dropdown.current_day' => 'heute',
+'dropdown.previous_day' => 'gestern',
+'dropdown.selected_day' => 'Tag',
+'dropdown.current_week' => 'diese Woche',
+'dropdown.previous_week' => 'vorherige Woche',
+'dropdown.selected_week' => 'Woche',
+'dropdown.current_month' => 'dieser Monat',
+'dropdown.previous_month' => 'vorheriger Monat',
+'dropdown.selected_month' => 'Monat',
+'dropdown.current_year' => 'dieses Jahr',
+'dropdown.previous_year' => 'vorheriges Jahr',
+'dropdown.selected_year' => 'Jahr',
 'dropdown.all_time' => 'Gesamtzeitraum',
 'dropdown.projects' => 'Projekte',
 'dropdown.tasks' => 'Aufgaben',
@@ -271,9 +306,10 @@ $i18n_key_words = array(
 'dropdown.select_invoice' => '--- Rechnung auswählen ---',
 'dropdown.status_active' => 'aktiv',
 'dropdown.status_inactive' => 'inaktiv',
-// TODO: translate the following strings.
-// 'dropdown.delete'=>'delete',
-// 'dropdown.do_not_delete'=>'do not delete',
+'dropdown.delete' => 'löschen',
+'dropdown.do_not_delete' => 'nicht löschen',
+'dropdown.paid' => 'bezahlt',
+'dropdown.not_paid' => 'nicht bezahlt',
 
 // 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
@@ -282,12 +318,15 @@ $i18n_key_words = array(
 
 // Login form. See example at https://timetracker.anuko.com/login.php.
 'form.login.forgot_password' => 'Passwort vergessen?',
-'form.login.about' =>'Anuko <a href="https://www.anuko.com/lp/tt_2.htm" target="_blank">Time Tracker</a> ist ein einfaches, leicht zu bedienendes, Open-Source Zeiterfassungssystem.',
+'form.login.about' => 'Anuko <a href="https://www.anuko.com/lp/tt_2.htm" target="_blank">Time Tracker</a> ist ein einfaches, leicht zu bedienendes, Open-Source Zeiterfassungssystem.',
 
 // Resetting Password form. See example at https://timetracker.anuko.com/password_reset.php.
 'form.reset_password.message' => 'Anfrage zur Zurücksetzung des Passwortes wurde per E-mail gesendet.',
 'form.reset_password.email_subject' => 'Anuko Time Tracker Anfrage zur Zurücksetzung des Passwortes',
-'form.reset_password.email_body' => "Sehr geehrter Nutzer,\n\nJemand, vielleicht Sie, sendete die Aufforderung Ihr Anuko Time Tracker Passwort zurückzusetzen. Bitte rufen Sie diesen Link auf wenn Sie Ihr Passwort zurücksetzen möchten.\n\n%s\n\nAnuko Time Tracker ist ein einfaches, leicht zu bedienendes, Open-Source Zeiterfassungs-System. Besuchen Sie https://www.anuko.com für weitere Informationen.\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' => "Sehr geehrter Nutzer,\n\nJemand, IP %s, sendete die Aufforderung Ihr Anuko Time Tracker Passwort zurückzusetzen. Bitte rufen Sie diesen Link auf wenn Sie Ihr Passwort zurücksetzen möchten.\n\n%s\n\nAnuko Time Tracker ist ein einfaches, leicht zu bedienendes, Open-Source Zeiterfassungs-System. Besuchen Sie https://www.anuko.com für weitere Informationen.\n\n",
 
 // Changing Password form. See example at https://timetracker.anuko.com/password_change.php?ref=1.
 'form.change_password.tip' => 'Um das Passwort zurückzusetzen, geben Sie ein Neues ein und klicken dann auf Speichern.',
@@ -296,19 +335,22 @@ $i18n_key_words = array(
 'form.time.duration_format' => '(hh:mm oder 0.0h)',
 'form.time.billable' => 'In Rechnung stellen',
 'form.time.uncompleted' => 'Unvollständig',
+'form.time.remaining_quota' => 'Verbleibende Quote',
+'form.time.over_quota' => 'Über der Quote',
 
 // 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' => 'Dieser Eintrag wurde ohne Startzeit gespeichert. Dies ist kein Fehler.',
 
+// Week view form. See example at https://timetracker.anuko.com/week.php.
+'form.week.new_entry' => 'Neuer Eintrag',
+
 // Reports form. See example at https://timetracker.anuko.com/reports.php
 'form.reports.save_as_favorite' => 'Als bevorzugt speichern',
 'form.reports.confirm_delete' => 'Sind Sie sicher, dass der bevorzugte Report gelöscht werden soll?',
-'form.reports.include_records' => 'Daten hinzufügen',
 'form.reports.include_billable' => 'in Rechnung stellen',
 'form.reports.include_not_billable' => 'nicht in Rechnung stellen',
-// TODO: translate the following strings.
-// 'form.reports.include_invoiced' => 'invoiced',
-// 'form.reports.include_not_invoiced' => 'not invoiced',
+'form.reports.include_invoiced' => 'berechnet',
+'form.reports.include_not_invoiced' => 'nicht berechnet',
 'form.reports.select_period' => 'Zeitraum auswählen',
 'form.reports.set_period' => 'oder Datum eingeben',
 'form.reports.show_fields' => 'Felder anzeigen',
@@ -324,14 +366,24 @@ $i18n_key_words = array(
 // 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' => 'Exportiere',
+// 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' => 'Rechnungsnummer',
 'form.invoice.person' => 'Person',
-// TODO: translate the following stings.
-// 'form.invoice.invoice_to_delete' => 'Invoice to delete',
-// 'form.invoice.invoice_entries' => 'Invoice entries',
+
+// Deleting Invoice form. See example at https://timetracker.anuko.com/invoice_delete.php
+'form.invoice.invoice_to_delete' => 'Zu löschende Rechnung',
+'form.invoice.invoice_entries' => 'Rechnungseintrag',
+'form.invoice.confirm_deleting_entries' => 'Bitte die Löschung von Rechnungseinträgen bestätigen.',
+// TODO: consider improving translation of form.invoice.confirm_deleting_entries
+// This is a warning to user when they are deleting invoice entries.
+// They may believe they delete entries from the invoice only but keep the Time Tracker (reports, etc.).
+// What is really happening we delete entries from the system, so that they are no longer in reports, etc.
+// Original English wording is as follows.
+// 'form.invoice.confirm_deleting_entries' => 'Please confirm deleting invoice entries from Time Tracker.',
 
 // Charts form. See example at https://timetracker.anuko.com/charts.php
 'form.charts.interval' => 'Zeitraum',
@@ -348,28 +400,37 @@ $i18n_key_words = array(
 // Users form. See example at https://timetracker.anuko.com/users.php
 'form.users.active_users' => 'Aktive Nutzer',
 'form.users.inactive_users' => 'Inaktive Nutzer',
+'form.users.uncompleted_entry' => 'Nutzer hat einen unvollständigen Zeiteintrag',
 'form.users.role' => 'Rolle',
 'form.users.manager' => 'Manager',
 'form.users.comanager' => 'Co-Manager',
 'form.users.rate' => 'Stundensatz',
 'form.users.default_rate' => 'Normaler Stundensatz',
 
-// Client delete form. See example at https://timetracker.anuko.com/client_delete.php
-// TODO: translate the following strings.
-// 'form.client.client_to_delete' => 'Client to delete',
-// 'form.client.client_entries' => 'Client entries',
+// 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' => 'Aktive Kunden',
 'form.clients.inactive_clients' => 'Inaktive Kunden',
 
-// 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' => 'Zu löschender Kunde',
+'form.client.client_entries' => 'Kundeneintrag',
+
+// Exporting Team Data form. See example at https://timetracker.anuko.com/export.php
 'form.export.hint' => 'Sie können alle Teamdaten in eine XML-Datei exportieren. Diese können in andere Zeiterfassungs-Programme importiert werden.',
 'form.export.compression' => 'Kompression',
 'form.export.compression_none' => 'Keine',
 '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 Team Data form. See example at https://timetracker.anuko.com/imort.php (login as admin first).
 'form.import.hint' => 'Teamdaten von einer XML-Datei importieren.',
 'form.import.file' => 'Datei auswählen',
 'form.import.success' => 'Import erfolgreich abgeschlossen.',
@@ -380,6 +441,8 @@ $i18n_key_words = array(
 // Profile form. See example at https://timetracker.anuko.com/profile_edit.php.
 'form.profile.12_hours' => '12 Stunden',
 'form.profile.24_hours' => '24 Stunden',
+// TODO: translate the following.
+// 'form.profile.show_holidays' => 'Show holidays',
 'form.profile.tracking_mode' => 'Nachverfolgung',
 'form.profile.mode_time' => 'Zeit',
 'form.profile.mode_projects' => 'Projekte',
@@ -388,16 +451,54 @@ $i18n_key_words = array(
 'form.profile.type_all' => 'alle',
 'form.profile.type_start_finish' => 'Start und Ende',
 'form.profile.type_duration' => 'Dauer',
+// 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.plugins' => 'Erweiterungen',
 
 // Mail form. See example at https://timetracker.anuko.com/report_send.php when emailing a report.
 'form.mail.from' => 'Von',
 'form.mail.to' => 'An',
-'form.mail.cc' => 'CC',
-'form.mail.subject' => 'Betreff',
 'form.mail.report_subject' => 'Time Tracker Bericht',
 'form.mail.footer' => 'Anuko Time Tracker ist ein einfaches, leicht zu bedienendes, Open-Source<br>Zeitverwaltungs-System. Besuchen Sie <a href="https://www.anuko.com">www.anuko.com</a> für weitere Informationen.',
 'form.mail.report_sent' => 'Der Bericht wurde gesendet.',
 'form.mail.invoice_sent' => 'Die Rechnung wurde gesendet.',
+
+// Quotas configuration form.
+// 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.
+// TODO: translate the following.
+// 'form.swap.swap_with' => 'Swap roles with',
+
+// 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.',
 );
-?>
\ No newline at end of file