Decentralizing Localizations

Posted on Apr 19, 2019
by
eighthave

App development is already well decentralized, and when F-Droid
introduced metadata localization, we also made it possible to manage
translations and graphics
outside of F-Droid itself. Two tools, Fastlane and Triple-T, even
provide a way to sync those between the app source repo, F-Droid, and
Google Play.

Using Weblate for
handling all
F-Droid localization
puts contributors with expertise in specific languages and how they
should be translated in control of how everything in translated.
Weblate is the place where translations happen, it is the GitLab of
languages for the F-Droid community.

We as a community need to avoid putting too much maintenance work on a
few people so we can keep our “bus factor” high enough to survive all
things that come our way. People often request that F-Droid handle
the localization of their app, but that would centralize the work in a
place where it is much harder to share the workload. So app graphics
or localized texts should be handled by the upstream app developer as
much as possible, instead of sticking everything into fdroiddata.

That said, there are some apps with localized metadata in
fdroiddata. The graphics and descriptions were added there to get
things started when the metadata localization was first rolled out.
Now that we have hundreds of apps that manage their own localization,
we can move all that upstream as well.

We have also started a project to provide a translated 80-character
summary for all apps in the archive. So if upstream developers are
not willing to manage the localization, F-Droid can at least have this
key piece translated so that users can see screens in only their
language when navigating the Android client and website. That you can
see on
fdroiddata-localizations.
I am currently managing that, but would love to increase our bus
factor by getting more maintainers involved there. At this point, it
is mostly a matter of running some syncing scripts, and checking to
make sure the scripts did not do anything stupid.