Demonstrates automated localization for Android strings.xml resource files using Lingo.dev CLI and GitHub Actions.
Full walkthrough: lingo.dev/en/guides/android-app-localization
app/src/main/res/values/strings.xml- source strings (English)app/src/main/res/values-en- symlink tovalues/(see below)i18n.json- Lingo.dev CLI configuration.github/workflows/translate.yml- GitHub Actions workflow
Android stores default strings in values/ (no locale suffix), but target locales go in values-es/, values-fr/, etc. The CLI config uses values-[locale]/strings.xml and resolves [locale] literally - so it looks for values-en/strings.xml as the source. The symlink values-en -> values bridges Android's convention with the CLI's pattern.
- Fork this repo
- Add
LINGODOTDEV_API_KEYto Settings > Secrets and variables > Actions - Push a change to source strings in
strings.xml - Translations appear automatically via commit to main
The Lingo.dev CLI reads the source strings.xml, identifies new or changed entries using a lockfile, translates the delta through a configured localization engine, and writes per-locale files into values-[locale]/ directories. The GitHub Actions workflow runs this on every push to main.
- Source:
en - Targets:
es,fr,de,ja