-// menu entries
-// Note to translators: these strings need to be translated.
-// 'menu.login' => 'login',
-// 'menu.logout' => 'logout',
-// 'menu.feedback' => 'feedback',
-// 'menu.help' => 'help',
-// Note to translators: menu.create_team a more accurate translation.
-'menu.create_team' => 'crea un nuovo account',
-'menu.edit_profile' => 'modifica profilo',
-'menu.my_time' => 'tempo di lavoro',
-// Note to translators: menu.reports and menu.charts need to be translated.
-// 'menu.reports' => 'reports',
-// 'menu.charts' => 'charts',
-'menu.projects' => 'progetti',
-'menu.activities' => 'attività',
-'menu.people' => 'persone',
-// 'menu.teams' => 'teams',
-// Note to translators: menu.export needs to be translated.
-// 'menu.export' => 'export',
-'menu.clients' => 'clienti',
-'menu.options' => 'opzioni',
-'menu.admin' => 'admin',
-
-// error strings
-'error.db' => 'database error',
-'error.field' => 'dato "{0}" errato',
-'error.empty' => 'il campo "{0}" è vuoto',
-'error.not_equal' => 'il campo "{0}" non è uguale al campo "{1}"',
-'error.interval' => 'intervallo errato',
-'error.project' => 'seleziona il progetto',
-'error.activity' => 'seleziona la attività',
-'error.auth' => 'login o password errati',
-// Note to translators: this string needs to be translated.
-// 'error.user_exists' => 'user with this login already exists',
-'error.project_exists' => 'esiste già un progetto con questo nome',
-'error.activity_exists' => 'esiste già una attività con questo nome',
-// TODO: translate error.client_exists.
-// 'error.client_exists' => 'client with this name already exists',
-// Note to translators: this string needs to be properly translated (e-mail replaced with login).
-// 'error.no_login' => 'nessun utente con questa e-mail',
-// Note to translators: the strings below need to be translated
-// 'error.upload' => 'file upload error',
-// 'error.period_locked' => 'can\\\'t complete the operation. records older than a certain number of days cannot be created or modified. team manager defines this in the "Lock interval in days" value on the "Profile" page. set it to 0 to remove locking. <br><br>uncompleted records (with 0 or empty duration) can be deleted.',
-// 'error.mail_send' => 'error sending mail',
-// '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.',
-
-// labels for various buttons
+// Menus - short selection strings that are displayed on top of application web pages.
+// Example: https://timetracker.anuko.com (black menu on top).
+// TODO: translate the following.
+// 'menu.login' => 'Login',
+// 'menu.logout' => 'Logout',
+// 'menu.forum' => 'Forum',
+// 'menu.help' => 'Help',
+// 'menu.create_team' => 'Create Team',
+'menu.profile' => 'Profilo',
+'menu.time' => 'Tempo',
+// TODO: translate the following.
+// 'menu.expenses' => 'Expenses',
+// 'menu.reports' => 'Reports',
+// 'menu.charts' => 'Charts',
+'menu.projects' => 'Progetti',
+// TODO: translate the following.
+// 'menu.tasks' => 'Tasks',
+// 'menu.users' => 'Users',
+// 'menu.teams' => 'Teams',
+// 'menu.export' => 'Export',
+'menu.clients' => 'Clienti',
+'menu.options' => 'Opzioni',
+
+// Footer - strings on the bottom of most pages.
+// TODO: translate the following.
+// 'footer.contribute_msg' => 'You can contribute to Time Tracker in different ways.',
+// 'footer.credits' => 'Credits',
+// 'footer.license' => 'License',
+// 'footer.improve' => 'Contribute', // Translators: this could mean "Improve", if it makes better sense in your language.
+ // This is a link to a webpage that describes how to contribute to the project.
+
+// Error messages.
+// TODO: translate the following.
+// 'error.access_denied' => 'Access denied.',
+// 'error.sys' => 'System error.',
+// 'error.db' => 'Database error.',
+'error.field' => 'Dato "{0}" errato.',
+'error.empty' => 'Il campo "{0}" è vuoto.',
+'error.not_equal' => 'Il campo "{0}" non è uguale al campo "{1}".',
+// TODO: translate the following.
+// error.interval' => 'Field "{0}" must be greater than "{1}".',
+'error.project' => 'Seleziona il progetto.',
+// TODO: translate the following.
+// 'error.task' => 'Select task.',
+// 'error.client' => 'Select client.',
+// 'error.report' => 'Select report.',
+// 'error.record' => 'Select record.',
+'error.auth' => 'Login o password errati.',
+// TODO: translate the following.
+// 'error.user_exists' => 'User with this login already exists.',
+'error.project_exists' => 'Esiste già un progetto con questo nome.',
+// 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.no_invoiceable_items' => 'There are no invoiceable items.',
+// 'error.no_login' => 'No user with this login.',
+// 'error.no_teams' => 'Your database is empty. Login as admin and create a new team.',
+// 'error.upload' => 'File upload error.',
+// 'error.range_locked' => 'Date range is locked.',
+// 'error.mail_send' => 'Error sending mail.',
+// '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.',
+
+
+
+// TODO: refactoring ongoing down from here.
+
+// Labels for buttons.