feat: Add on-the-fly multi-language translation, settings language selector, and dynamic app localization - #1
Conversation
…lector, and dynamic app localization - Introduce TranslationService with non-blocking Google/MyMemory translation and in-memory cache - Add auto-translation for non-Latin and foreign repository descriptions with interactive VO toggles - Add on-demand Markdown README translation button in the details view - Add Translation section in Settings with auto-translate switch and multi-language picker - Support dynamic app-wide locale switching via CompositionLocalProvider - Provide localized string resources for French, Spanish, German, Japanese, Russian, and Chinese
5ca86a4 to
bfd1cfb
Compare
|
Thanks for this PR - first external contribution to Git Store, much appreciated! |
|
Pushed a fix while testing: removed the unofficial clients5.google.com translate endpoint (not the official Google Cloud API - unreliable and not suitable for a shipped app). Translation now uses MyMemory only. |
…down Persist successful translations, chunk long queries, filter API error text, and translate readme blocks instead of line-by-line to avoid rate limits and UI jank.
Default auto-translate off, detect content language instead of script heuristics, and only offer languages with complete app string resources.
…tates Replace the language dialog with a compact dropdown, localize toggle labels, surface unavailable translations gracefully, and defer readme auto-translate so scrolling stays smooth.
Fill all six locale files to match English and add a sync script with curated overrides for maintaining translations going forward.
…trings Remove in-session failure cache that blocked manual retries, and fix failed_to_open placeholders in German and Spanish.
|
Thanks @DocteurWu - great foundation for translation and localization. I tested on device and pushed a few maintainer fixes to feature/auto-translation-and-fr-locale: MyMemory only - removed unofficial Google Translate; added chunking, disk cache, API error filtering, and block-based readme translation (fixes lag + rate-limit error text leaking into UI) |
|
Thanks @Darkmintis! Glad I could contribute to Git Store. |
Description
This PR introduces automatic on-the-fly translation for non-Latin and foreign language repositories (such as Chinese, Japanese, Korean, Cyrillic, Arabic, etc.) with a configurable multi-language selector in Settings, as well as full French localization for Git Store.
Key Changes
es/values-fr/strings.xml covering the entire UI.
Testing