These strings are part of the install/uninstall UI which is originally
sourced from Android itself. So the translations should stay in sync with
Android's.
fdroid/fdroidclient#1569
```python
import glob
import os
import re
locale_pat = re.compile(r'.*values-([a-z][a-z][a-zA-Z-]*)/strings.xml')
translation_pat = re.compile(r'.*name="settings_label"[^>]*>"?([^"<]*).*')
for f in glob.glob('/home/hans/code/android.googlesource.com/packages/apps/Settings/res/values-[a-z][a-z]*/strings.xml'):
m = locale_pat.search(f)
if m:
locale = m.group(1)
if locale.endswith('-nokeys'):
continue
#print(locale)
with open(f) as fp:
m = translation_pat.search(fp.read())
if m:
word = m.group(1)
print(locale, '\t', word)
fdroid = '/home/hans/code/fdroid/client/app/src/main/res/values-' + locale + '/strings.xml'
if os.path.exists(fdroid):
with open(fdroid) as fp:
data = fp.read()
with open(fdroid, 'w') as fp:
fp.write(re.sub(r'menu_settings">[^<]+</string', 'menu_settings">' + word + '</string', data))
```
This also only runs one emulator test by default, then runs 3 SDK
levels for final commits. The single default test is the optimized
F-Droid system image included in the Docker image.
Squashed commit of the following:
commit f6f528d67e9bef367cfb8a3a8eaaced06233df4a
Author: Hans-Christoph Steiner <hans@eds.org>
Date: Tue Feb 13 16:24:53 2018 +0100
remove android xml quoting
commit d7251cc20980841ca83fd27f1e4f60c5d99460ac
Author: anonymous <>
Date: Tue Feb 13 14:23:12 2018 +0000
Translated using Weblate (German)
Currently translated at 99.7% (409 of 410 strings)
commit 60f449e154fa0cd2fc986781836bad491a964866
Author: Andreas Kleinert <Andy.Kleinert@gmail.com>
Date: Tue Feb 13 14:22:48 2018 +0000
Translated using Weblate (German)
Currently translated at 99.7% (409 of 410 strings)
commit b16f2f6f58ed06264c8414c90ae9cc3dad9433d6
Author: Hans-Christoph Steiner <hans@guardianproject.info>
Date: Tue Feb 13 15:03:19 2018 +0000
Translated using Weblate (Hebrew)
Currently translated at 100.0% (410 of 410 strings)
commit 66601011e3cbdd64d9b68432bfff13b17ca90f4b
Author: Hans-Christoph Steiner <hans@eds.org>
Date: Tue Feb 13 16:15:52 2018 +0100
check for invalid mixing for format stringsj
commit cdf2e7063297d4f61259a3354a946fffdfd58114
Author: Danial Behzadi <dani.behzi@ubuntu.com>
Date: Tue Feb 13 10:46:48 2018 +0000
Translated using Weblate (Persian)
Currently translated at 100.0% (410 of 410 strings)
commit e7e37ad42c94091e2ec402caac5883272275c8c4
Author: ezjerry liao <ezjerry@gmail.com>
Date: Mon Feb 12 15:26:00 2018 +0000
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (410 of 410 strings)
commit 0850c89e297f6256babdc7f087b242cf102ef267
Author: nautilusx <mail.ka@mailbox.org>
Date: Sat Feb 10 14:32:57 2018 +0000
Translated using Weblate (German)
Currently translated at 99.2% (407 of 410 strings)
commit 52d6426b2a413dae1ff2c33814ec9df895eac41b
Author: Kristjan Räts <kristjanrats@gmail.com>
Date: Sun Feb 11 12:25:23 2018 +0000
Translated using Weblate (Estonian)
Currently translated at 100.0% (410 of 410 strings)
commit a308ae180dbdac2fc65076e7f35ba4549ad9f6ea
Author: Allan Nordhøy <epost@anotheragency.no>
Date: Sat Feb 10 00:37:43 2018 +0000
Translated using Weblate (Norwegian Bokmål)
Currently translated at 99.2% (407 of 410 strings)
commit fb44f4cd22f7cb6ef03265d76374646d8b554066
Author: jschwender <joachim.schwender@web.de>
Date: Fri Feb 9 21:08:25 2018 +0000
Translated using Weblate (German)
Currently translated at 99.2% (407 of 410 strings)
commit 450a30bbc18908e53cb10027a30332646a1b6224
Author: Julien Lepiller <roptat@lepiller.eu>
Date: Fri Feb 9 13:31:44 2018 +0000
Translated using Weblate (French)
Currently translated at 99.0% (406 of 410 strings)
commit 309f8b3527f176bd1cf9cd82757978ee2c3a941f
Author: Yunyang Liu <ensigma96@gmail.com>
Date: Fri Feb 9 12:50:13 2018 +0000
Translated using Weblate (Chinese (Simplified))
Currently translated at 97.0% (398 of 410 strings)
commit b4d2fbe00e7c1b276c0dde64844c18935419f3fc
Author: Rivo Zängov <rivozangov@gmail.com>
Date: Fri Feb 9 10:13:12 2018 +0000
Translated using Weblate (Estonian)
Currently translated at 98.5% (404 of 410 strings)
commit 6ec7f716405dc4efc3a12204f1ed97aaad09ba45
Author: Luiz Fernando Ranghetti <elchevive@opensuse.org>
Date: Sat Feb 10 02:58:33 2018 +0000
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (410 of 410 strings)
commit c8af9171ac4d5fdcecb8faaabbc5c58da4053b1f
Author: Ldm Public <ldmpub@gmail.com>
Date: Fri Feb 9 13:17:30 2018 +0000
Translated using Weblate (French)
Currently translated at 99.0% (406 of 410 strings)
commit 04005a0277edca69cc6885d779e2d49673c0d97e
Author: Julien Lepiller <roptat@lepiller.eu>
Date: Fri Feb 9 13:16:05 2018 +0000
Translated using Weblate (French)
Currently translated at 99.0% (406 of 410 strings)
commit 5af1c4d24d25eeb03bffe953e4c5ce7aa8a68697
Author: monolifed <monolifed@gmail.com>
Date: Thu Feb 8 12:25:29 2018 +0000
Translated using Weblate (Turkish)
Currently translated at 100.0% (410 of 410 strings)
commit 4c56b7725905ecc6b4be49f9f4accc95859a46bc
Author: Osoitz <oelkoro@gmail.com>
Date: Fri Feb 9 10:59:06 2018 +0000
Translated using Weblate (Basque)
Currently translated at 100.0% (410 of 410 strings)
commit 7d73c299ceab39b2c674fadc2a32b2154f96e060
Author: Ajeje Brazorf <lmelonimamo@yahoo.it>
Date: Wed Feb 7 20:24:39 2018 +0000
Translated using Weblate (Sardinian)
Currently translated at 99.5% (408 of 410 strings)
commit b0027266898267619b0eb20e206a968c5e0c527e
Author: Felipe Rodrigues <bidu.pub@gmail.com>
Date: Wed Feb 7 13:41:04 2018 +0000
Translated using Weblate (Portuguese (Brazil))
Currently translated at 99.7% (409 of 410 strings)
commit 0207c99f39fb5c43b530c6fa05c4c3f2edc278e6
Author: azumukupoe <azumukupoe1999@gmail.com>
Date: Wed Feb 7 13:19:06 2018 +0000
Translated using Weblate (Japanese)
Currently translated at 100.0% (410 of 410 strings)
commit 439b5eeee86d2dc5a7eb9d06890ff3aa62aad4d0
Author: monolifed <monolifed@gmail.com>
Date: Thu Feb 8 12:19:09 2018 +0000
Translated using Weblate (Turkish)
Currently translated at 100.0% (410 of 410 strings)
commit f3921bb42db891bf1cfa4c8e3d1699aba41f4807
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Wed Feb 7 08:08:20 2018 +0000
Translated using Weblate (Hebrew)
Currently translated at 100.0% (410 of 410 strings)
commit 74c0eb25e6dcc75836bb01fd96b8c04de8cd4a4c
Author: Verdulo <tomek@disroot.org>
Date: Wed Feb 7 18:04:14 2018 +0000
Translated using Weblate (Polish)
Currently translated at 100.0% (410 of 410 strings)
commit 272b00b8dfa0c530a9a51f6b980b0d311c921bfd
Author: Viktar Vauchkevich <victorenator@gmail.com>
Date: Tue Feb 6 14:06:00 2018 +0000
Translated using Weblate (Belarusian)
Currently translated at 98.2% (403 of 410 strings)
commit b28a9e57dd21c5f28dbf3555cadca0a20770a337
Author: Takumi Shoji <azumukupoe1999@gmail.com>
Date: Wed Feb 7 13:06:00 2018 +0000
Translated using Weblate (Japanese)
Currently translated at 100.0% (410 of 410 strings)
commit 56422c2d9ec3de0401793a7e0767c376925cc88f
Author: Sérgio Marques <smarquespt@gmail.com>
Date: Tue Feb 6 11:56:27 2018 +0000
Translated using Weblate (Portuguese (Portugal))
Currently translated at 98.0% (402 of 410 strings)
commit cd4ab7fdb3844f39c2f686b2ce0571b6de622cbb
Author: Licaon Kter <licaon.kter@protonmail.com>
Date: Tue Feb 6 09:05:10 2018 +0000
Translated using Weblate (Romanian)
Currently translated at 95.8% (393 of 410 strings)
commit ca68defd60db953419364758502b9a330b43598f
Author: Ldm Public <ldmpub@gmail.com>
Date: Tue Feb 6 07:38:41 2018 +0000
Translated using Weblate (French)
Currently translated at 98.2% (403 of 410 strings)
commit d0931b98aae70cfefee5e4b13f460aa7156c4270
Author: Verdulo <tomek@disroot.org>
Date: Tue Feb 6 19:35:39 2018 +0000
Translated using Weblate (Esperanto)
Currently translated at 100.0% (410 of 410 strings)
commit bf7173ca6ba9c7b3d9b6f361c2614827ee887e81
Author: Nathan Follens <nathan@email.is>
Date: Tue Feb 6 11:29:34 2018 +0000
Translated using Weblate (Dutch)
Currently translated at 100.0% (410 of 410 strings)
commit cdb4adc18c5ac818a16cb287624226093fe70a47
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date: Tue Feb 6 09:06:28 2018 +0000
Translated using Weblate (Hebrew)
Currently translated at 100.0% (410 of 410 strings)
commit 93dcc2a0ad171ab4b846e032756ca14c7bd04f04
Author: Sveinn í Felli <sv1@fellsnet.is>
Date: Tue Feb 6 07:41:40 2018 +0000
Translated using Weblate (Icelandic)
Currently translated at 100.0% (410 of 410 strings)
commit 5b359ea0fd1a5d8a5c3f67c2b448cf61c6c57424
Author: ezjerry liao <ezjerry@gmail.com>
Date: Tue Feb 6 01:45:45 2018 +0000
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (410 of 410 strings)
commit 254dc5f0ad07349ba3f6e39fce37fc4cb17c88d1
Author: anonymous <>
Date: Fri Feb 2 16:09:15 2018 +0000
Translated using Weblate (German)
Currently translated at 100.0% (402 of 402 strings)
commit 44b823af4261f4a24b1fde8dc6bc662894583e2f
Author: Licaon Kter <licaon.kter@protonmail.com>
Date: Fri Feb 2 07:34:53 2018 +0000
Translated using Weblate (Romanian)
Currently translated at 96.7% (389 of 402 strings)
commit 0069bef97bcb4d5e87d8fd50c5023dcbe2ae563e
Author: Viktar Vauchkevich <victorenator@gmail.com>
Date: Wed Jan 31 19:20:15 2018 +0000
Translated using Weblate (Belarusian)
Currently translated at 100.0% (402 of 402 strings)
commit 92042d49087f950908a2d312a027976f44554205
Author: Марс Ямбар <mjambarmeta@gmail.com>
Date: Tue Jan 30 17:04:37 2018 +0000
Translated using Weblate (Ukrainian)
Currently translated at 97.7% (393 of 402 strings)
commit 0555d776876940629b1fc1f5fb99b98c139c5a98
Author: Xuacu Saturio <xuacusk8@gmail.com>
Date: Tue Jan 30 20:22:42 2018 +0000
Translated using Weblate (Asturian)
Currently translated at 100.0% (402 of 402 strings)
commit 2e9a284da728fc530f09640f0e33bcdf91947bce
Author: Luca D'Amico <damico.luca91@live.it>
Date: Mon Jan 29 16:40:19 2018 +0000
Translated using Weblate (Italian)
Currently translated at 100.0% (402 of 402 strings)
commit 7640aa3613cbf1d73093ee5445a21be699bfb178
Author: yamabiko <dragonfly@cryptolab.net>
Date: Mon Jan 29 16:38:41 2018 +0000
Translated using Weblate (Italian)
Currently translated at 100.0% (402 of 402 strings)
commit ffc447abaf1af07114b039c028805549e662894d
Author: Luca D'Amico <damico.luca91@live.it>
Date: Mon Jan 29 16:38:27 2018 +0000
Translated using Weblate (Italian)
Currently translated at 99.7% (401 of 402 strings)
commit 248e7df90d2aac7b3d189de0b241a44522202be0
Author: yamabiko <dragonfly@cryptolab.net>
Date: Mon Jan 29 16:38:20 2018 +0000
Translated using Weblate (Italian)
Currently translated at 99.7% (401 of 402 strings)
commit ce561bd4eff83280816322f0a74d6cf1695dd249
Author: Luca D'Amico <damico.luca91@live.it>
Date: Mon Jan 29 16:36:47 2018 +0000
Translated using Weblate (Italian)
Currently translated at 99.2% (399 of 402 strings)
commit 06d21c188e263b74fb5b1e200d207373418de1c7
Author: yamabiko <dragonfly@cryptolab.net>
Date: Mon Jan 29 16:36:14 2018 +0000
Translated using Weblate (Italian)
Currently translated at 99.2% (399 of 402 strings)
commit 2afc5deb08c8e5c41820f4a99cf82d8381eaec82
Author: リー <meluten@gmail.com>
Date: Sun Jan 28 12:15:27 2018 +0000
Translated using Weblate (German)
Currently translated at 100.0% (402 of 402 strings)
commit 28ebd01fbade7bf960a69e3cbfd88e1d32fb6b2c
Author: Yunyang Liu <ensigma96@gmail.com>
Date: Fri Jan 26 14:58:52 2018 +0000
Translated using Weblate (Chinese (Simplified))
Currently translated at 98.2% (395 of 402 strings)
PNG crunching is not a deterministic process, especially the way aapt does
it. This makes the F-Droid builds not reproducible. The easy solution to
this is to pre-crunch the PNGs and commit them to git. It also makes the
final APK a tiny amount smaller, for whatever reason.
https://medium.com/@duhroach/smaller-pngs-and-android-s-aapt-tool-4ce38a24019d
XML namespaces are a massive pain to deal with in, and they are totally
unneeded in the translation files. xmlns:tools is only needed in the
source file to ignore some lint warnings.
The weblate commits now take two forms:
Translated using Weblate ($LANG)
Added translation using Weblate ($LANG)
Adapt the regex to reflect both, avoiding the latter form from screwing
everything up.
This way, error lines like this one:
Waiting for emulator to start: unknown: error: no devices found
Become:
Waiting for emulator to start: error: no devices found
Otherwise, we'd interpret this as "booting", which is wrong:
$ adb -e shell getprop init.svc.bootanim
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: no devices found
* The repo instructions are just a duplicate of the simple git submodules
* The Android.mk build instructions don't work and will never support what
e.g. gradle does
Anyone wanting to bundle F-Droid in a ROM can build it with git and gradle,
and then including the resulting apk.