Gramophone is available in over 30 languages, maintained by a community of volunteer translators. All translation work happens on Weblate.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/foedusprogramme/gramophone/llms.txt
Use this file to discover all available pages before exploring further.
Translation platform
Currently available languages
Gramophone currently ships translations for the following locales:| Language | Locale |
|---|---|
| Arabic | ar |
| Catalan | ca |
| Czech | cs |
| German | de |
| English | en-US (source) |
| Spanish | es |
| Estonian | et |
| Persian | fa |
| French | fr |
| Galician | gl |
| Hindi | hi |
| Croatian | hr |
| Hungarian | hu |
| Indonesian | in |
| Italian | it |
| Japanese | ja |
| Korean | ko |
| Polish | pl |
| Portuguese (Brazil) | pt-BR |
| Portuguese | pt |
| Romanian | ro |
| Russian | ru |
| Serbian | sr |
| Tamil | ta |
| Thai | th |
| Turkish | tr |
| Ukrainian | uk |
| Vietnamese | vi |
| Chinese (Simplified) | zh-Hans |
| Chinese (Traditional) | zh-Hant |
How to contribute translations
Improve an existing language
- Go to hosted.weblate.org/engage/gramophone.
- Select your language from the list.
- Log in or create a free Weblate account.
- Translate or review strings directly in the browser.
Add a new language
- Visit the Weblate project page linked above.
- Click Start new translation and select your target language.
- Begin translating — once a language reaches 60% completion it is included in the app.
Translations below 60% completion are excluded from app builds automatically. Strings marked “needs editing” in Weblate are also removed from the shipped translation files until they are corrected. This filtering is handled by the
filter_translations script in the repository.Translation guidelines
- Translate meaning, not just words. Keep the tone consistent with the rest of the UI.
- String names (the
nameattribute in XML) must not be changed. - Placeholder variables such as
%sor%1$dmust be preserved in the translation. - If a string does not need translation (e.g. a proper noun), you can copy the source string.
How translations reach the app
- Translators contribute on Weblate.
- Weblate syncs changes to the repository automatically.
- During the release process, the
filter_translationsscript queries the Weblate API, removes strings flagged as “needs editing”, and drops any locale below the 60% threshold. - The filtered
strings.xmlfiles are bundled into the app.
Translator acknowledgements
All translators are credited in the app’s Contributors screen. The list of translators is stored inContributors.kt (auto-generated by get_contributor_user_info.py) and displayed to users inside the app.