Translation
Help translate Timecrack into your language. The application uses Laravel's built-in localization system, making it straightforward to add or modify translations.
Translation Files
Timecrack uses the lang/ directory for all translation files. Each language has its own subdirectory named with the locale code (e.g. lang/en/, lang/de/, lang/fr/).
Translation files are PHP arrays that map keys to translated strings:
<?php
return [
'projects' => 'Projekte',
'tasks' => 'Aufgaben',
'time_entries' => 'Zeiteinträge',
'reports' => 'Berichte',
'start_timer' => 'Timer starten',
'stop_timer' => 'Timer stoppen',
]; Adding a New Language
- Create a new directory under
lang/with the locale code (e.g.lang/pt/for Portuguese) - Copy all PHP files from
lang/en/into your new directory - Translate the values (right-hand side) while keeping the keys (left-hand side) unchanged
- Test the translation by switching your locale in the application settings
Modifying Existing Translations
To update or fix an existing translation:
- Navigate to the appropriate file in
lang/{locale}/ - Find the key you want to change and update its value
- Clear the cache to see your changes:
php artisan cache:clear
Tip: When translating, try to keep the translated strings a similar length to the English originals. This helps preserve the application's layout across different languages.
How to Contribute
You can submit your translations via a pull request on GitHub.
Contributing to the Project
Timecrack is an open source project and welcomes contributions from the community. There are many ways to get involved:
Development
Pull requests are welcome on GitHub. Please follow the existing coding style and include tests where appropriate.
Testing
Help improve quality by testing new releases and reporting bugs. Detailed bug reports with steps to reproduce are especially valuable.
Suggestions
Feature ideas and enhancement suggestions are always appreciated. Open an issue on GitHub to share your thoughts and help shape the future of Timecrack.