93 Commits
Author SHA1 Message Date
Hans-Christoph Steiner 9c1d50de6d update-mirrors-in-default_repos.xml.py: default_repos.xml is no more 2026-07-11 13:16:17 +02:00
Hans-Christoph Steiner 5b761bbca1 add script to make release tags
Now that the changelog entry is also include in the tag message, this
script makes sure that happens, and the entry also ends up in CHANGELOG.md
2026-07-03 15:49:05 +02:00
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:
* https://github.com/gradle/gradle/blob/14e347025c9b5b002f353777c112493254b62dd0/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