Languages & translation
Haven’s interface is translated into 12 languages — English, Chinese (Simplified), Spanish, Hindi, Arabic (with right-to-left layout), Portuguese, Bengali, Russian, Japanese, Korean, French, and German. By default the UI follows your device language; you can override it under Settings → Language, which uses Android’s per-app locale API so the switch is instant and doesn’t restart the app. Pick System default to go back to tracking the device.
Contribute a translation
The translations began as machine-generated drafts, so corrections — and new languages — are genuinely welcome. The translation page lets you help without cloning the repo or hand-editing XML:
- Browse every string. All ~1,800 in-app strings across the app are listed with the developer’s context comment, and you can see, per language, exactly what’s translated and what’s still missing.
- Fill the gaps inline. Filter to just the untranslated strings, type your translations, and the page tracks your changes. Format placeholders like
%1$sare flagged so they survive translation. - Propose as a pull request. When you’re done, the page builds the updated resource file and hands off to GitHub’s own editor — GitHub handles sign-in and forking, so there’s no account to create here and no backend to trust. Your changes arrive as a normal pull request.
- Start a new language the same way — pick a locale code and fill in what you can.
Contributions are reviewed before they ship. The string list is regenerated from the app’s resources on every change, so it always reflects the current release.
The site is translated too
This documentation site’s landing page is available in all 12 languages — use the language bar at the top of any page to switch.