Commit Graph

91 Commits

Author SHA1 Message Date
Torsten Grote
9994dab577 Remove legacy code and move over some tests 2026-06-11 13:17:19 -03:00
Torsten Grote
0904a6bdbd Update localized screenshots and move them into submodule 2026-06-11 13:17:17 -03:00
Torsten Grote
ee242a5eb4 Exclude translations below 70% from stable releases
This removes the need to add a commit that removes the unfinished translations.

see #2932
2026-06-09 12:08:57 -03:00
Torsten Grote
69a8dda75a Add scripts for taking localized screenshots 2026-04-09 11:28:53 -03:00
Torsten Grote
7af2e648cf Add localized screenshot creation
This adds an instrumentation test that produces localized screenshots of so far the three main screens of the app. The screenshots get saved on the test device and still need to be downloaded manually for now.

Data for the screenshots can be updated with a Python script that was also added. It fetches the current index and gets data from the top apps.
2026-03-07 11:14:53 -03:00
Torsten Grote
d16b99f91b Fix remove-unused-and-blank-translations.py
script that was running amok, making changes and then flagging those as CI failures
2026-02-26 17:23:16 -03:00
Torsten Grote
23ca3b58bd Add script to update most downloaded apps 2026-02-25 16:17:22 -03:00
Torsten Grote
aff0eca22a update start-alpha-cycle.py for 2.0 2026-01-23 09:51:24 -03:00
Torsten Grote
312937eda6 Update update-mirrors-in-default_repos.xml.py 2026-01-05 17:24:37 -03:00
proletarius101
924c9ecc01 ci: add Checkstyle to MR widgets 2025-12-26 14:19:08 +00:00
Torsten Grote
c6f32fb183 Use new weblate API for trim-incomplete-translations 2025-05-21 16:29:42 -03:00
Hans-Christoph Steiner
3dfba78306 pick-complete-translations.py: use new Weblate API
fdroidserver@a95f4f11b02528e52bc2605cf909de3dff2f057d
2025-04-01 09:20:09 +02:00
Hans-Christoph Steiner
b898ec110e script to automatically set up a new alpha release 2025-03-20 14:00:42 +00:00
Hans-Christoph Steiner
cbd7d948e4 tools/pick-complete-translations.py: fix crashes on unusual Weblate commits
* If one locale's section, e.g. metadata, is not cherry picked because it
  is not complete, then another commit also modifies that file, then it can
  not be cherry-picked without a conflict.
* Commits sometimes have multiple locales, e.g. one translator does pt and
  pt_PT.  It should not be cherry-picked again when looping through the
  second locale.
2024-10-09 17:02:02 +02:00
Hans-Christoph Steiner
412087ec60 tools/update-mirrors-in-default_repos.xml.py: update for new order
0bfc0b1059

fdroid/fdroidclient!1324
2024-05-08 12:02:56 +02:00
Hans-Christoph Steiner
aedceed7c4 tools/trim-incomplete-translations-for-release.py: update locales_config.xml 2023-11-09 15:16:38 +01:00
Hans-Christoph Steiner
f27e030e54 include new official mirror: lysator's onion service 2023-10-12 15:44:00 +00:00
Hans-Christoph Steiner
6cb7aa8bb0 tools/pick-complete-translations.py: add failsafe suggestion 2023-09-22 11:05:10 +02:00
Hans-Christoph Steiner
1e6e2e862e tools/pick-complete-translations.py: cherry-pick in chrono-order
repo.iter_commits() does reverse chronological order by default, which is
wrong for this, since it goes backwards through the git history.
2023-02-27 16:30:14 +01:00
Hans-Christoph Steiner
0d5d0f7da2 use androidx script to generate Gradle verification metadata files
https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-main/development/update-verification-metadata.sh

This also uses Gradle and androidx as sources of key material:
* 14e347025c/gradle/verification-keyring.keys
* https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-main/gradle/verification-keyring.keys
2022-12-20 20:59:57 +01:00
Torsten Grote
c463b3c9ed Upgrade to Gradle 7 and Java 11 2022-05-18 12:52:55 +02:00
Hans-Christoph Steiner
3c874f2311 tools/pick-complete-translations.py: fix strings.xml locales with country
And run black...

[skip ci]
2022-05-03 12:28:39 +02:00
Hans-Christoph Steiner
80c0d4fd35 tools/pick-complete-translations.py: pick commits that are 100%
This will pick a 100% complete strings.xml or 100% complete metadata commit
whereas before, both had to be 100% complete in order for that locale to be
picked.
2022-04-05 21:53:49 +02:00
Torsten Grote
decc2cc6e3 Add ktlint and run it in CI
Fixes formatting issues it found.

Also remove version variables from gradle scripts as they are not wanted by the project.
2022-02-16 09:43:19 -03:00
Torsten Grote
82b131ff71 Address first round of review comments 2022-02-16 09:43:19 -03:00
Torsten Grote
1573952fbb Add tools script for updating verification metadata 2022-02-16 09:43:17 -03:00
Hans-Christoph Steiner
218d0fb04d use translation for "Apps" from Android Settings 2021-09-03 13:14:44 +02:00
Hans-Christoph Steiner
908921e978 show banner when Over Data/WiFi Settings disable updating from internet 2021-04-13 16:26:23 +02:00
Hans-Christoph Steiner
d1e80bb067 add FDroidMetricsWorker to gather data into JSON reports 2021-03-08 15:30:30 +00:00
Hans-Christoph Steiner
3a15230eba pick-complete-translations.py: print out rationale 2020-12-30 12:56:02 +01:00
Hans-Christoph Steiner
e2d7199f3f png-pre-compress: use best of singleCrunch or zopflipng 2020-01-02 22:06:19 +01:00
Peter Dave Hello
a7fa47e3e9 Compress PNG images losslessly with zopflipng 2020-01-02 20:19:35 +00:00
Hans-Christoph Steiner
6b7d82dba7 add translations from Android when they are missing from a locale 2019-11-21 18:07:23 +01:00
Hans-Christoph Steiner
103098d31c map more Android string keys to F-Droid string keys
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.
2019-11-21 17:22:19 +01:00
Hans-Christoph Steiner
aecf4fdc17 sync common works to the Android v9.0.0r50 sources 2019-11-21 16:06:34 +01:00
Hans-Christoph Steiner
984fe6ad2b tools/check-string-maxlength.py: include limits from Android sources 2019-11-21 16:06:32 +01:00
Hans-Christoph Steiner
947945dc92 tools/check-format-strings.py: remove blank translations 2019-11-20 22:35:44 +01:00
PatOnTheBack
fe92b4afc6 Remove Unused Import 2019-07-05 20:31:12 +00:00
PatOnTheBack
2c882741e7 Remove Unused import re 2019-07-05 20:30:46 +00:00
Hans-Christoph Steiner
39f23f6876 add required length limits to swap strings for the translators 2019-05-24 10:00:08 +02:00
Hans-Christoph Steiner
826d70f2c9 script to automatically cherry-pick complete translations from Weblate
This creates a branch 'merge_weblate' and cherry picks commits from Weblate
that contain 100% complete translations.
2019-05-10 16:30:26 +02:00
Hans-Christoph Steiner
a71489a102 set max width on places where the translations get too long
closes #1678
2019-05-10 14:13:23 +02:00
Hans-Christoph Steiner
7ce7b46ed2 metadata: script to delete 0 size files and standardize whitespace 2019-02-21 00:21:55 +01:00
Hans-Christoph Steiner
bb597537f2 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (428 of 428 strings)
2019-02-15 14:58:59 +00:00
Hans-Christoph Steiner
1ed99835a0 remove-unused-and-blank-translations.py: force Android/Weblate XML format
https://github.com/WeblateOrg/weblate/issues/1886
https://github.com/WeblateOrg/weblate/issues/2333
2019-02-15 14:46:34 +01:00
Hans-Christoph Steiner
3868b81587 sync up "Settings" translation with Android standard strings
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))
```
2018-12-21 17:07:41 +01:00
Hans-Christoph Steiner
a24a98aaf2 script to run the steps for pulling translations from Weblate
Hopefully the need for this will go away soon, once we work with Weblate to
smooth out the workflow.

[skip ci]
2018-12-20 22:44:22 +01:00
Hans-Christoph Steiner
7f314d7781 gitlab-ci: default emulator test to F-Droid image
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.
2018-06-15 18:27:20 +02:00
Hans-Christoph Steiner
068e0d1a7e recompress screenshots using zopflipng, strip using exiftool
This makes them as small as possible.
2018-03-07 23:57:27 +01:00
Hans-Christoph Steiner
6bb8d5e92b a couple languages don't use "other" in plurals: be pl ru 2018-03-06 23:44:30 +01:00