--- layout: default title: Languages & translation --- # 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](../translate.html)** 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$s` are 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. **[🌍 Open the translation page →](../translate.html)** ## 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. --- [← All features](../FEATURES.md)