Upload your .xml files to SimpleLocalize, add languages, auto-translate and download one .xml file per language in seconds.
<resources>
<string name="hello_world">Witaj Świecie!</string>
<string name="welcome"><![CDATA[Witaj <b>%s</b>!]]></string>
<plurals name="numberOfSongsAvailable">
<item quantity="one">Znaleziono %d piosenkę.</item>
<item quantity="few">Znaleziono %d piosenki.</item>
<item quantity="other">Znaleziono %d piosenek.</item>
</plurals>
<string-array name="planets_array">
<item>Merkury</item>
<item>Venus</item>
<item>Ziemia</item>
<item>Mars</item>
</string-array>
</resources>Android keeps translations in res/values-xx/strings.xml resource files with string, string-array and plurals elements. Placeholders use the Java format syntax such as %1$s.
It is used by Android, Jetpack Compose, Kotlin Multiplatform. SimpleLocalize reads and writes it natively, so you keep your existing project structure. Format value for the CLI and API: android-strings. Read the format documentation.
Add a simplelocalize.yml to the repository and run simplelocalize upload and simplelocalize download in your pipeline or GitHub Action:
# simplelocalize.yml
apiKey: YOUR_PROJECT_API_KEY
uploadFormat: android-strings
uploadPath: ./locales/{lang}.xml
downloadFormat: android-strings
downloadPath: ./locales/{lang}.xmlThe same project can export translations in more than 30 formats, and the free online converter works without an account: