* Define Timestamp type
* Implement Timestamp utils
* Implement Timespan input
* Use timestamp input on config page
* Add timespan type to config services
* Refactor maxExpiration to use timespan type across services and components
* Update sessionDuration to use timespan type in config and adjust token expiration logic
* Update localized strings
* Started adding locale translations :)
* Added some more translations
* Working on translating even more pages
* More translations
* Added test default locale retrieval
* replace `intl.formatMessage` with custom `t` hook
* add more translations
* improve title syntax
* add more translations
* translate admin config page
* translated error messages
* add language selecter
* minor fixes
* improve language handling
* add upcoming languages
* add `crowdin.yml`
* run formatter
---------
Co-authored-by: Steve Tautonico <stautonico@gmail.com>