Calling all Translators! New project to streamline translation process



Greetings, I’ve been contributing to Russian translation for a while, a bit of this and that in all of the components.

  • I second @Licaon_Kter in his request to handle similar translations. Applications or libraries names often are not translated, so the check is failed. Probably some flag can be added to the string containing such words?

  • It’s pretty hard to find out who contributes to the same language. The only author mentioned in “Insights” is the last one (so it’s’ pretty often myself) and “History” range is one month. On the one hand, it’s OK since it’s pretty clear who’s active and available. On the other hand, if a component changes rarely and there’s not much going on, you lose the track. It’s possible to look for translators simply browsing string history, though. Probably it’s worth adding active translators to “Statistics”.

  • If I get things right (I’ve checked Weblate docs), you need to request project owners to mark you as a reviewer. In this case, they should be listed somewhere (in some config?) to get special permissions and access rights. I would like to proofread strings, along with my own translations to be proofread by someone else. It would be great having a list of reviewers for a particular language, too, and the way to request a review. Perhaps I’m missing something in Review workflow, which is already implemented.

  • Being able to sort strings (i.e. untranslated on top) would speed things up definitely.

  • Weblate is simple, powerful and easy to use. What a decent tool!
  • Nightly builds for staging are awesome!
  • Community is very friendly. It’s very convenient you can ask a developer for a context or comment strings and discuss them with fellow translators.


As a translator I fully agree with this approach! That’s far the better solution to solve the pain to have F-Droid app descriptions in several languages => description will be done by app main translators themselves (it’s like other strings of the app).

This solution,“to add F-droid description in the app project itself”, is part of what I’ve called “an upstream” content (see my post above).

translating apps description is a pain. We must think how to initialize content with “upstreams” (Google Play description …) or we will miss one of our mission: promote FOSS.

For some apps missing this F-droid description in the project, it may be usefull to find an other automated source for F-droid app description (like stated above “Google Play Description” but it can also be the app website).


The focus of the current work is to make the process of translating the
app descriptions as part of the app development process. The end goal
is to have descriptions and translations entirely handled in each app,
and have no app descriptions or translations managed as part of F-Droid.
F-Droid would just use what the app provides.

For moving an app to this process, the tools for getting the
descriptions/translations are already there and supported by F-Droid.
Fastlane Supply. It can
fetch any test or images that are up on Google Play.


Weblate is certainly a great tool to manage translations but I also see some drawbacks compared with others.

  • One of them already mentioned by the Russian colleague is the lack of information about other translators participating. It seems that everyone is working in his own isolated space.

  • Comments normally fell on deaf ears. As there’s no notification feature to contact contributors, you won’t start a discussion about translation issues because mostly you won’t get a feedback on your comment. Actually unsatisfactory.

  • Weblate is lacking both an reviewer/proofreader and a voting system like it is implemented on Crowdin. So everybody can overwrite anyone and also does it which leads to considerable inconsistency.

  • Also already noted, the missing filter list of “untranslated strings”. Strings filtered by untranslated can only be translated step-by-step. When you have no idea how to translate a couple of strings belonging to the same theme, you cannot skip them by jumping a number of strings forward as you will loose your filter and return to “All strings” at once. Annoying.

Anyway, all this stuff is a Weblate issue not a F-Droid problem.

Translation of F-Droid’s main pages and the client to German is complete. My issues concern mainly the new baby “TWIF”:

  • Sporadic string updates as main issue. Established about 20 weeks ago it works as follows: TWIF deadline Thursday, published on Friday, not known, when on Weblate available. Differs between several days and many weeks, like now after summer holidays, when suddenly 4 or 5 TWIFs appear for translating. Under this circumstances a actually NEWS spreading time-critical medium cannot be translated, especially not if you consider the manpower behind the scene (in German 2 or 3 active translators).

  • Recurrent translations of one and the same statement at the beginning and end of each edition, sometimes slightly modified in word order, sometimes identical with some new cool formatting features. Produces work with doubtful benefit.

  • Recurrent translations of strings that could be used with a variable that’s replaced by a number (“This week 60 apps were updated”, “This week 8 apps were removed”…)

  • Added pseudo-translations by upstream marked with “for review”. Adding of translated app descriptions of a previous release may be ok but adding descriptions of totally different apps are only disturbing.



Some answers on the Weblate part.

In Weblate you can use comments (on source and on translated strings) + it’s possible to indicate and thus use a distribution list address (see under the “Information” tab in the component, for example: + emails of contributors are visible in commits (in case you want to contact someone directly).

My point of view is that the translation tool won’t be able to organize all discussions between translators … other tools, like this forum, live chats… are welcomed depending on the project needs and contributors will.

Have you tried Weblate “Zen mode” (available at the top left corner when performing a translation)?

Concerning the lack of a voting system, as a “reviewer” I consider that reacting on a translation you have received through automatic mail notification by restoring the previous value and contacting the author is sufficient.

Hope this helps,


There’s a discussion about “needs editing” flag ambiguity going on (Weblate):


Hello @critdroid! Great to see that #twif is now being translated into other languages! I’ve read the latest german translation available, and I have to say excellent job!

I agree. If you want to bring translated news in a timely manner, it would make sense to cooperate with the author of #twif more closely. It just so happens that the author of #twif is the same person as me, so feel free to get in touch, either through here or via matrix. ( Matrix is best, as I sometimes don’t log into the forum for as long as a week.

I’m not sure how to help with this, other than making them change less often.

I try to change up the text regularly to prevent “reader fatigue”, but I can see how that is a pain for translators. Additionally, I was asked to make the footer text more compact, so I’ve been iterating on that during the last few editions.

I am not a translator myself, so it’s hard for me to understand what your needs as a translator are. I would like to work more closely with translators so we can work out what these are, help you get the translations out in a more timely manner, and generally improve the whole experience.


If you start an #fdroid-translation irc channel on Freenode, it’ll be available to Matrix users automatically, and those who don’t want to deal with Matrix can use irc.


Which component is #TWIF? There’s no “News” component on Weblate.


@mesnevi, #TWIF, as well as the other news, is located at website posts section.


@HenriDellal thank you! Ah, I see why I failed to find a proper component (thought it was because eating too much candies made me blind): it doesn’t have Russian language enabled, so it’s not listed in “Components” for Russian.


#twif is part of the Weblate component “posts” = “News” on F-Droid website


like other translators said, I’m very happy with Weblate. It’s definitely better if compared with websites like Crowdin, Transifex or Launchpad. I only have two suggestions:

1 - adding the possibility to use Apertium’s engine in Weblate to get suggested machine translations, like you can get in OmegaT for some supported languages (ex. Sardinian)

2 - Launchpad seems to have a way to suggest translations using a TM generated automatically from strings in various github projects. For example, when translating Ubuntu programs I get suggestions from Exaile, a media player that I translated in Sardinian some time ago using not Launchpad but Weblate. I don’t know how they got those strings automatically in their translation memory. Adding something like that to Weblate would be a great thing, since it would allow us to get a lot more useful suggestions.



Above questions are more to ask to Weblate dev Team than here to f-droid community trying to improve its translation process.

Weblate already have “automatic translation engines” and for instance recently added support for Amazon Translate (see:, you can suggest them to support your favorite Engine.


Actually, I have a suggestion!

Right now, after new content has been added to the website, there is an undocumented second step to update the translations, which also needs to be commited to the repository.

It would be great if this could be automated, so it cannot be forgotten, content authors can focus on writing good content, and content becomes available for translation asap.


yeah, automating the translation sync process of the website is a primary goal of this funding.


I’ve added my suggestion here, with a minimal example explaining how it might look in this repo. In general, we should be automatically:

  • Scrapping all the screens within the F-Droid client.
  • Finding any English strings in there.
  • Annotating the screenshot with any English strings that we found.
  • Uploading that screenshot to Weblate for context, so translators can see exactly where a particular string is used within the app so that they can translate appropriately.

Such a toolchain would be beneficial to any other Android apps wanting to improve their translation workflow also.


Ok, I can announce the first improvement to this workflow: hourly rebuilds of If you are translating the website, the build process will check for updates once an hour.


Works great! I’m in doubt if such high frequency was really needed as Weblate syncs only once a day, but anyway.
Now I wish for regular feeding of Weblate with new strings not only from time to time.
And what I do not understand is why export from Weblate to works fluently while sync between staging and official site is sluggish. What’s the basically difference? Where are the hurdles?


The main site hosts the F-Droid APK and other security-sensitive content. Therefore, changes need to be manually reviewed, and then tagged with a GPG-signed tag before they can go live.