Localized app-descriptions via translation-service Weblate, Crowdin, Stringlate,

Summary (In Gherkin notation)

  • In order to make it as easy as possible to localiize (translate) an app description for F-Droid App Store
  • As an Android App Translator
  • I Want to use the same tools that are used to translate the app itself: Weblate, Crowdin, Stringlate, …

Epic:

I want to be able to maintain the localized app descriptions as described in All About Descriptions, Graphics, and Screenshots | F-Droid - Free and Open Source Android App Repository
through a tranlationservice (i am using crowdin.com and Stringlate app ). The result in fastlane project layout would look like this:

  • MyProjectRoot/fastlane/metadata/android/en-US/title.txt
  • MyProjectRoot/fastlane/metadata/android/en-US/full_description.txt
  • MyProjectRoot/fastlane/metadata/android/en-US/short_description.txt
  • … same for /de-DE/ and other locales

Since most tranlationservices already can handle android-string-resources (values.xml-format)
i have added debug-only string resource under `MyProjectRoot/app/src/debug/res/values(-xx)/fdroid.xml like this (i.e. values/fdroid.xml and values-de/fdroid.xml):

<resources>
	<!-- This becomes .../fastlane/metadata/android/short_description.txt.
		See https://f-droid.org/docs/Build_Metadata_Reference/#Summary -->
	<string name="short_description">Hello World Deluxe: get a free greeting every time you start the app.</string>
	<string name="title">Hello World Deluxe</string>
	<string name="full_description"><![CDATA["..."]]></string>
</resources>
  • note: ordenary stringresources are in MyProjectRoot/app/src/main/res/values
  • note: debug-only string resource will not go into a release build.
  • note: title.txt, short_description.txt, full_description.txt can be easily manually created from fdroid.xml.

What do you think of this approach?
Are there other already established standards to handle localized app-descriptions via translation-service?
Would it be difficuilt to include this translation-friendly-convention into the app-buildprocess?

I think the standard format should be XLIFF since that’s a translation format. Android Strings XML is not a great format for translations. For more on this, see support Google Play upload tools: Fastlane and Triple-T Gradle Play Publisher · Issue #1525 · WeblateOrg/weblate · GitHub

This is now possible in Weblate using Fastlane/Triple-T files, for example:

Here’s the full story on how it got implemented: