Improve i18n support and add missing translations
This PR improves the internationalization (i18n) support in the frontend by:
-
Adding missing translations for all supported languages (zh-CN, zh-TW, ko-KR, de, no, it, pt, es, ar, fr, tr) for:
- Workspace labels and titles
- Project and terminal status messages
- Time-related messages
-
Adding i18n test utilities and translation tests:
- Added test to verify all translation keys have translations for all supported languages
- Added test to detect duplicate translation keys
- Added test utilities for i18n testing
-
Updating UI components to use translations consistently
Fixes #6066 Fixes #4280
Here are examples of the localized screens. I have confirmed that all settings menus, etc. are localized.
To run this PR locally, use the following command:
docker run -it --rm -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock --add-host host.docker.internal:host-gateway -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:8236300-nikolaik --name openhands-app-8236300 docker.all-hands.dev/all-hands-ai/openhands:8236300
The localization is very incomplete. For instance, look at these two screens when Japanese is selected as a language:
Only one part of the screen is actually translated in the two main screens. All of the English should be converted into the appropriate language when a different language is selected.
@amanape , apologies that this is a huge PR but hopefully the logic is relatively straightforward.
OK @amanape , I think this is ready for review again!