Compare commits

...

44 commits

Author SHA1 Message Date
Hans-Christoph Steiner
57244dec63 Merge branch 'noversioncode' into 'master'
update: Handle APKs without a version code in their manifest

Closes #1240

See merge request fdroid/fdroidserver!1695
2025-08-26 10:10:51 +00:00
Tobias Mueller
2eb3986ecf update: Handle APKs without a version code in their manifest 2025-08-26 10:10:51 +00:00
Hans-Christoph Steiner
d4ad523dd2 Merge branch '__init__.py-black-format' into 'master'
convert fdroidserver/__init__.py to black format

See merge request fdroid/fdroidserver!1690
2025-08-18 15:48:23 +00:00
Hans-Christoph Steiner
6fff73b678 convert fdroidserver/__init__.py to black format 2025-08-18 15:38:08 +00:00
linsui
fbf8fc54db Merge branch 'patch-1' into 'master'
Sonatype is now Maven Central

See merge request fdroid/fdroidserver!1693
2025-08-18 13:32:29 +00:00
Licaon_Kter
f5f79ac1ea Sonatype is now Maven Central 2025-08-18 13:32:29 +00:00
Michael Pöhn
97e9784d5d Merge branch 'fix-srcname-cache-crash' into 'master'
update: don't crash if src tarball is not present

See merge request fdroid/fdroidserver!1691
2025-07-31 15:31:38 +00:00
Hans-Christoph Steiner
d20a6a5dcf update: don't crash if src tarball is not present 2025-07-29 17:20:11 +02:00
Michael Pöhn
058f0b7f6a Merge branch 'cache-srcname-sha256' into 'master'
update: cache the SHA-256 of the src tarball

Closes #1290

See merge request fdroid/fdroidserver!1686
2025-07-28 21:10:40 +00:00
Hans-Christoph Steiner
e07cdf5f0c update: cache the SHA-256 of the src tarball
closes #1290
2025-07-28 14:11:07 +00:00
Hans-Christoph Steiner
f9d111c8c1 Merge branch 'removeunf' into 'master'
Remove UpstreamNonFree

Closes fdroiddata#2481

See merge request fdroid/fdroidserver!1680
2025-07-28 14:10:18 +00:00
Licaon_Kter
8b54e2b4cf Remove UpstreamNonFree 2025-07-28 15:59:35 +02:00
Hans-Christoph Steiner
d594a683ab Merge branch 'isort' into 'master'
Sort import

See merge request fdroid/fdroidserver!1689
2025-07-26 15:47:48 +00:00
linsui
7a98650ed3 Sort import
ruff check --fix --select I
2025-07-26 15:35:19 +00:00
linsui
b19b8050db Merge branch 'fix-schildichat-fastlane' into 'master'
update: more accurate fastlane subdir/flavor matching

See merge request fdroid/fdroidserver!1687
2025-07-26 12:52:31 +00:00
Hans-Christoph Steiner
6a3758d3c4 update: more accurate fastlane subdir/flavor matching
This should fix Schildichat showing Element X's metadata.
2025-07-26 12:36:32 +00:00
Hans-Christoph Steiner
546821fc3d Merge branch 'scanpath' into 'master'
scanner: report all errors

See merge request fdroid/fdroidserver!1688
2025-07-26 10:44:26 +00:00
linsui
120a1655b4 scanner: report all errors 2025-07-26 18:33:57 +08:00
linsui
19d709edcd Merge branch 'standalone-gradlew-fdroid' into 'master'
make gradlew-fdroid a standalone project

See merge request fdroid/fdroidserver!1684
2025-07-25 17:46:59 +00:00
Hans-Christoph Steiner
5049645003 make gradlew-fdroid a standalone project
https://gitlab.com/fdroid/gradlew-fdroid
2025-07-25 17:46:31 +00:00
Hans-Christoph Steiner
e4b54c9768 Merge branch 'docker-buildserver-always-apt-https' into 'master'
buildserver: always use HTTPS for apt connections in Docker image

See merge request fdroid/fdroidserver!1603
2025-07-23 16:24:56 +00:00
Hans-Christoph Steiner
7988c54d00 buildserver: always use HTTPS for apt connections in Docker image
This configuration has been in use in .gitlab-ci.yml scripts for a while
now and has proven reliable.  This is a "low hanging fruit" improvement.
It provides an extra layer of protection for when their are apt vulns.  And
it makes it much harder to profile what a server/laptop is doing based on
the internet traffic.  The network observer will no longer be able to see
which packages are being downloaded since apt uses HTTP pipelining so size
attacks are not really possible. And HTTPS hides the URLs, filenames,
download contents, etc.
2025-07-23 16:09:20 +00:00
Hans-Christoph Steiner
05c4bf2483 Merge branch 'ci-PUBLISH-to-bookworm' into 'master'
gitlab-ci: update PUBLISH to bookworm since prod has already

See merge request fdroid/fdroidserver!1685
2025-07-23 16:08:48 +00:00
Hans-Christoph Steiner
7e219561b7 gitlab-ci: update PUBLISH to bookworm since prod has already 2025-07-22 21:52:28 +02:00
Hans-Christoph Steiner
6ad3c74bb4 Merge branch 'subdir-fastlane-support' into 'master'
update: support fastlane/ dir in subdir:

See merge request fdroid/fdroidserver!1679
2025-07-17 08:46:27 +00:00
Hans-Christoph Steiner
96c0d928da update: support fastlane/ dir in subdir:
GNU Taler apps use this.
* https://git.taler.net/taler-android.git/tree/merchant-terminal/fastlane/metadata/android/en-US?h=pos-1.0.2
2025-07-16 17:32:49 +02:00
Hans-Christoph Steiner
ba5c78d45f update: fetch Builds one time and reuse 2025-07-16 16:35:58 +02:00
linsui
8f1411607a Merge branch 'update-gradle-job' into 'master'
gitlab-ci: update "gradle" job to only check files when changed

See merge request fdroid/fdroidserver!1682
2025-07-16 12:23:02 +00:00
Hans-Christoph Steiner
97b0b0eaf8
gitlab-ci: update gradle: job to only check files in
While we are at it, also upgrade to Debian/trixie and rules:

this now handles making the merge requests:
https://gitlab.com/fdroid/gradle-transparency-log/-/merge_requests/2
2025-07-16 14:08:54 +02:00
Hans-Christoph Steiner
c6c4764b33 Merge branch 'gradle-release-checksums.py' into 'master'
bot: update to gradle v7.6.6

See merge request fdroid/fdroidserver!1681
2025-07-16 12:06:44 +00:00
fdroid-bot
7946acd52a gradle v8.14.3 2025-07-16 11:52:37 +00:00
linsui
0a91b98aee Merge branch 'gradle' into 'master'
AGP 8.11 requires Gradle 8.13

See merge request fdroid/fdroidserver!1678
2025-07-06 07:30:11 +00:00
linsui
09a51a429b AGP 8.11 requires Gradle 8.13 2025-07-06 07:29:46 +00:00
linsui
47b5ecdc8c Merge branch 'gradle' into 'master'
gradle 8.14.3

See merge request fdroid/fdroidserver!1677
2025-07-05 07:15:55 +00:00
linsui
909864a8c7 gradle 8.14.3 2025-07-05 15:03:27 +08:00
Hans-Christoph Steiner
47b9b24aef Merge branch 'gitlab-ci-pages-needs' into 'master'
gitlab-ci: 'pages' needs 'Build documentation' but it has `changes:`

See merge request fdroid/fdroidserver!1670
2025-06-26 06:55:43 +00:00
Hans-Christoph Steiner
f4f1c003a6 gitlab-ci: 'pages' needs 'Build documentation' but it has changes:
Fixes this error:

> Unable to create pipeline
>
> 'pages' job needs 'Build documentation' job, but 'Build documentation'
> does not exist in the pipeline. This might be because of the only,
> except, or rules keywords. To need a job that sometimes does not exist
> in the pipeline, use needs:optional.
2025-06-26 06:44:56 +00:00
Michael Pöhn
51b55963a5 Merge branch 'only-copy-icons-if-they-changed' into 'master'
only copy icons into repo/ if they changed

See merge request fdroid/fdroidserver!1664
2025-06-25 10:32:06 +00:00
Hans-Christoph Steiner
52c1bcca70 only copy icons into repo/ if they changed
This should make things more efficient and reduce the size of the diffs in
the transparency log.  Using shutil.copy2() preserves metadata.
2025-06-25 09:46:20 +00:00
Hans-Christoph Steiner
8a36e264b4 Merge branch 'merge_weblate' into 'master'
weblate

See merge request fdroid/fdroidserver!1676
2025-06-25 08:05:47 +00:00
Hans-Christoph Steiner
d5d65cfabd
make -C locale update 2025-06-25 09:54:03 +02:00
Hans-Christoph Steiner
dcb804f70d enable Bashkir (ba) as supported locale, its at 100% 2025-06-25 09:50:54 +02:00
Zulfar
a0cae97155 Translated using Weblate: Bashkir (ba) by Zulfar <mzulfar20@gmail.com>
Currently translated at 100.0% (579 of 579 strings)

Added translation using Weblate: Bashkir (ba) by Zulfar <mzulfar20@gmail.com>

Co-authored-by: Zulfar <mzulfar20@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/f-droid/fdroidserver/ba/
Translation: F-Droid/F-Droid Server
2025-06-25 09:49:50 +02:00
Hans-Christoph Steiner
956cb11f91
gitlab-ci: rm dash from macOS tests, it reliably segfaults
dash rarely changes and is reliably run on Debian in the hooks/pre-commit
job.  So remove it from the macOS job, where it is flaky and hard to
troubleshoot (who has macOS? ;-)

https://gitlab.com/fdroid/fdroidserver/-/jobs/10454622138

```
==============================================================================
run commit hooks
+ echo_header 'run commit hooks'
+ test -x ./hooks/pre-commit
+ ./hooks/pre-commit
WARNING: pydocstyle is not installed, using dummy placeholder!
WARNING: pyflakes is not installed, using dummy placeholder!
WARNING: pycodestyle is not installed, using dummy placeholder!
./hooks/pre-commit: line 111: 20320 Segmentation fault: 11  $DASH -n $f
ERROR: dash tests failed!
```
2025-06-25 09:42:46 +02:00
142 changed files with 4080 additions and 997 deletions

View file

@ -98,6 +98,14 @@ metadata_v0:
# Ubuntu and other distros often lack https:// support # Ubuntu and other distros often lack https:// support
- grep Debian /etc/issue.net - grep Debian /etc/issue.net
&& { find /etc/apt/sources.list* -type f | xargs sed -i s,http:,https:, ; } && { find /etc/apt/sources.list* -type f | xargs sed -i s,http:,https:, ; }
# The official Debian docker images ship without ca-certificates,
# TLS certificates cannot be verified until that is installed. The
# following code turns off TLS verification, and enables HTTPS, so
# at least unverified TLS is used for apt-get instead of plain
# HTTP. Once ca-certificates is installed, the CA verification is
# enabled by removing this config. This set up makes the initial
# `apt-get update` and `apt-get install` look the same as verified
# TLS to the network observer and hides the metadata.
- echo 'Acquire::https::Verify-Peer "false";' > /etc/apt/apt.conf.d/99nocacertificates - echo 'Acquire::https::Verify-Peer "false";' > /etc/apt/apt.conf.d/99nocacertificates
- apt-get update - apt-get update
- apt-get install ca-certificates - apt-get install ca-certificates
@ -212,21 +220,6 @@ ubuntu_jammy_pip:
- LANGUAGE='de' fdroid --help | grep 'Gültige Befehle sind' - LANGUAGE='de' fdroid --help | grep 'Gültige Befehle sind'
# The gradlew-fdroid tests are isolated from the rest of the test
# suite, so they run as their own job.
gradlew-fdroid:
image: debian:bookworm-slim
<<: *apt-template
rules:
- changes:
- .gitlab-ci.yml
- gradlew-fdroid
- tests/test_gradlew-fdroid
script:
- apt-get install ca-certificates curl default-jdk-headless unzip
- ./tests/test_gradlew-fdroid
# Run all the various linters and static analysis tools. # Run all the various linters and static analysis tools.
hooks/pre-commit: hooks/pre-commit:
stage: lint stage: lint
@ -286,11 +279,9 @@ shellcheck:
rules: rules:
- changes: - changes:
- .gitlab-ci.yml - .gitlab-ci.yml
- gradlew-fdroid
- hooks/install-hooks.sh - hooks/install-hooks.sh
- hooks/pre-commit - hooks/pre-commit
- tests/run-tests - tests/run-tests
- tests/test_gradlew-fdroid
<<: *apt-template <<: *apt-template
script: script:
- apt-get install shellcheck - apt-get install shellcheck
@ -299,10 +290,6 @@ shellcheck:
hooks/install-hooks.sh hooks/install-hooks.sh
hooks/pre-commit hooks/pre-commit
tests/run-tests tests/run-tests
# TODO make the gradlew things pass the standard above
- shellcheck --severity=error --color
gradlew-fdroid
tests/test_gradlew-fdroid
# Check all the dependencies in Debian to mirror production. CVEs are # Check all the dependencies in Debian to mirror production. CVEs are
# generally fixed in the latest versions in pip/pypi.org, so it isn't # generally fixed in the latest versions in pip/pypi.org, so it isn't
@ -443,7 +430,7 @@ macOS:
- brew install --cask android-commandlinetools temurin # temurin is a JDK - brew install --cask android-commandlinetools temurin # temurin is a JDK
# test suite dependencies # test suite dependencies
- brew install dash bash coreutils gnu-sed - brew install bash coreutils gnu-sed
# TODO port tests/run-tests to POSIX and gsed, it has a couple GNU-isms like du --bytes # TODO port tests/run-tests to POSIX and gsed, it has a couple GNU-isms like du --bytes
- export PATH="$(brew --prefix fdroidserver)/libexec/bin:$(brew --prefix coreutils)/libexec/gnubin:$PATH" - export PATH="$(brew --prefix fdroidserver)/libexec/bin:$(brew --prefix coreutils)/libexec/gnubin:$PATH"
@ -460,42 +447,26 @@ macOS:
- echo "macOS sticks with bash 3.x because of licenses, so avoid new bash syntax" - echo "macOS sticks with bash 3.x because of licenses, so avoid new bash syntax"
- /bin/bash --version - /bin/bash --version
- /bin/bash -n gradlew-fdroid tests/run-tests - /bin/bash -n tests/run-tests
# test fdroidserver from git with current package's dependencies # test fdroidserver from git with current package's dependencies
- fdroid="$(brew --prefix fdroidserver)/libexec/bin/python3 $PWD/fdroid" ./tests/run-tests - fdroid="$(brew --prefix fdroidserver)/libexec/bin/python3 $PWD/fdroid" ./tests/run-tests
gradle: gradle:
image: debian:bookworm-slim image: debian:trixie-slim
rules:
- if: "$PERSONAL_ACCESS_TOKEN"
<<: *apt-template <<: *apt-template
variables: rules:
GIT_DEPTH: 1000 - changes:
- .gitlab-ci.yml
- makebuildserver
script: script:
- apt-get install - apt-get install
ca-certificates ca-certificates
git git
openssh-client
python3-bs4
python3-colorama python3-colorama
python3-git
python3-gitlab
python3-packaging python3-packaging
python3-requests python3-requests
# if this is a merge request fork, then only check if relevant files changed
- if [ "$CI_PROJECT_NAMESPACE" != "fdroid" ]; then
set -x;
git fetch https://gitlab.com/fdroid/fdroidserver.git;
for f in `git diff --name-only --diff-filter=d FETCH_HEAD...HEAD`; do
test "$f" == "makebuildserver" && export CHANGED="$f $CHANGED";
test "$f" == "gradlew-fdroid" && export CHANGED="$f $CHANGED";
done;
test -z "$CHANGED" && exit;
echo $CHANGED;
set +x;
fi
- ./tests/gradle-release-checksums.py - ./tests/gradle-release-checksums.py
@ -550,6 +521,8 @@ fdroid build:
env HOME=$home_vagrant env HOME=$home_vagrant
fdroid" fdroid"
- git -C $home_vagrant/gradlew-fdroid pull
- chown -R vagrant $home_vagrant - chown -R vagrant $home_vagrant
- chown -R vagrant $fdroidserver/.git - chown -R vagrant $fdroidserver/.git
- chown vagrant $fdroidserver/ - chown vagrant $fdroidserver/
@ -734,7 +707,9 @@ pages:
artifacts: artifacts:
paths: paths:
- public - public
needs: ["Build documentation"] needs:
- job: "Build documentation"
optional: true
rules: rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' # only publish pages on default (master) branch - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' # only publish pages on default (master) branch
@ -778,12 +753,12 @@ docker:
# PUBLISH is the signing server. It has a very minimal manual setup. # PUBLISH is the signing server. It has a very minimal manual setup.
PUBLISH: PUBLISH:
image: debian:bullseye-backports image: debian:bookworm-backports
<<: *python-rules-changes <<: *python-rules-changes
script: script:
- apt-get update - apt-get update
- apt-get -qy upgrade - apt-get -qy upgrade
- apt-get -qy install --no-install-recommends -t bullseye-backports - apt-get -qy install --no-install-recommends -t bookworm-backports
androguard androguard
apksigner apksigner
curl curl

View file

@ -20,6 +20,7 @@ include examples/template.yml
include examples/Vagrantfile.yaml include examples/Vagrantfile.yaml
include gradlew-fdroid include gradlew-fdroid
include LICENSE include LICENSE
include locale/ba/LC_MESSAGES/fdroidserver.po
include locale/bo/LC_MESSAGES/fdroidserver.po include locale/bo/LC_MESSAGES/fdroidserver.po
include locale/ca/LC_MESSAGES/fdroidserver.po include locale/ca/LC_MESSAGES/fdroidserver.po
include locale/cs/LC_MESSAGES/fdroidserver.po include locale/cs/LC_MESSAGES/fdroidserver.po

View file

@ -37,11 +37,22 @@ RUN useradd --create-home -s /bin/bash vagrant && echo -n 'vagrant:vagrant' | ch
# #
# Ensure fdroidserver's dependencies are marked manual before purging # Ensure fdroidserver's dependencies are marked manual before purging
# unneeded packages, otherwise, all its dependencies get purged. # unneeded packages, otherwise, all its dependencies get purged.
#
# The official Debian docker images ship without ca-certificates, so
# TLS certificates cannot be verified until that is installed. The
# following code temporarily turns off TLS verification, and enables
# HTTPS, so at least unverified TLS is used for apt-get instead of
# plain HTTP. Once ca-certificates is installed, the CA verification
# is enabled by removing the newly created config file. This set up
# makes the initial `apt-get update` and `apt-get install` look the
# same as verified TLS to the network observer and hides the metadata.
RUN printf "path-exclude=/usr/share/locale/*\npath-exclude=/usr/share/man/*\npath-exclude=/usr/share/doc/*\npath-include=/usr/share/doc/*/copyright\n" >/etc/dpkg/dpkg.cfg.d/01_nodoc \ RUN printf "path-exclude=/usr/share/locale/*\npath-exclude=/usr/share/man/*\npath-exclude=/usr/share/doc/*\npath-include=/usr/share/doc/*/copyright\n" >/etc/dpkg/dpkg.cfg.d/01_nodoc \
&& mkdir -p /usr/share/man/man1 \ && mkdir -p /usr/share/man/man1 \
&& echo 'Acquire::https::Verify-Peer "false";' > /etc/apt/apt.conf.d/99nocacertificates \
&& find /etc/apt/sources.list* -type f -exec sed -i s,http:,https:, {} \; \
&& apt-get update \ && apt-get update \
&& apt-get install ca-certificates \ && apt-get install ca-certificates \
&& sed -i 's,http:,https:,' /etc/apt/sources.list.d/debian.sources \ && rm /etc/apt/apt.conf.d/99nocacertificates \
&& apt-get upgrade \ && apt-get upgrade \
&& apt-get dist-upgrade \ && apt-get dist-upgrade \
&& apt-get install openssh-client iproute2 python3 openssh-server sudo \ && apt-get install openssh-client iproute2 python3 openssh-server sudo \

View file

@ -25,7 +25,12 @@ fi
chmod -R a+rX /opt/gradle chmod -R a+rX /opt/gradle
test -e /opt/gradle/bin || mkdir -p /opt/gradle/bin test -e /opt/gradle/bin || mkdir -p /opt/gradle/bin
ln -fs /home/vagrant/fdroidserver/gradlew-fdroid /opt/gradle/bin/gradle git clone --depth 1 https://gitlab.com/fdroid/gradlew-fdroid.git /home/vagrant/gradlew-fdroid/
chmod 0755 /home/vagrant/gradlew-fdroid/gradlew-fdroid
chmod -R u+rwX,a+rX,go-w /home/vagrant/gradlew-fdroid/
ln -fs /home/vagrant/gradlew-fdroid/gradlew-fdroid /opt/gradle/bin/gradle
ln -fs /home/vagrant/gradlew-fdroid/gradlew-fdroid /usr/local/bin/
chown -h vagrant:vagrant /opt/gradle/bin/gradle chown -h vagrant:vagrant /opt/gradle/bin/gradle
chown vagrant:vagrant /opt/gradle/versions chown vagrant:vagrant /opt/gradle/versions
chmod 0755 /opt/gradle/versions chmod 0755 /opt/gradle/versions

View file

@ -12,6 +12,7 @@
# #
import os import os
import sys import sys
sys.path.insert(0, os.path.abspath('../../fdroidserver')) sys.path.insert(0, os.path.abspath('../../fdroidserver'))
# -- Project information ----------------------------------------------------- # -- Project information -----------------------------------------------------

View file

@ -6,7 +6,6 @@ import argparse
import logging import logging
from fdroidserver import _, common, metadata from fdroidserver import _, common, metadata
from fdroidserver.exception import VCSException from fdroidserver.exception import VCSException
fdroid_summary = 'reset app VCSs to the latest version' fdroid_summary = 'reset app VCSs to the latest version'

View file

@ -4,6 +4,7 @@
import os import os
from argparse import ArgumentParser from argparse import ArgumentParser
from fdroidserver import common from fdroidserver import common
from fdroidserver.common import FDroidPopen from fdroidserver.common import FDroidPopen
from fdroidserver.exception import BuildException from fdroidserver.exception import BuildException

View file

@ -4,6 +4,7 @@
import os import os
from argparse import ArgumentParser from argparse import ArgumentParser
from fdroidserver import common from fdroidserver import common
from fdroidserver.common import FDroidPopen from fdroidserver.common import FDroidPopen
from fdroidserver.exception import BuildException from fdroidserver.exception import BuildException

View file

@ -4,6 +4,7 @@
# #
from argparse import ArgumentParser from argparse import ArgumentParser
from fdroidserver import common, index from fdroidserver import common, index
fdroid_summary = 'export the keystore in standard PEM format' fdroid_summary = 'export the keystore in standard PEM format'

View file

@ -8,6 +8,7 @@
import argparse import argparse
import os import os
import pprint import pprint
from fdroidserver import _, common, metadata from fdroidserver import _, common, metadata
fdroid_summary = 'prepare the srclibs for `fdroid build --on-server`' fdroid_summary = 'prepare the srclibs for `fdroid build --on-server`'

View file

@ -1,6 +1,7 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
from argparse import ArgumentParser from argparse import ArgumentParser
from fdroidserver import common from fdroidserver import common
from fdroidserver.common import FDroidPopen from fdroidserver.common import FDroidPopen
from fdroidserver.exception import BuildException from fdroidserver.exception import BuildException

View file

@ -3,7 +3,6 @@ import glob
import os import os
import sys import sys
# support running straight from git and standard installs # support running straight from git and standard installs
rootpaths = [ rootpaths = [
os.path.realpath(os.path.join(os.path.dirname(__file__), '..')), os.path.realpath(os.path.join(os.path.dirname(__file__), '..')),
@ -15,7 +14,10 @@ rootpaths = [
localedir = None localedir = None
for rootpath in rootpaths: for rootpath in rootpaths:
if len(glob.glob(os.path.join(rootpath, 'locale', '*', 'LC_MESSAGES', 'fdroidserver.mo'))) > 0: found_mo = glob.glob(
os.path.join(rootpath, 'locale', '*', 'LC_MESSAGES', 'fdroidserver.mo')
)
if len(found_mo) > 0:
localedir = os.path.join(rootpath, 'locale') localedir = os.path.join(rootpath, 'locale')
break break
@ -24,39 +26,52 @@ gettext.textdomain('fdroidserver')
_ = gettext.gettext _ = gettext.gettext
from fdroidserver.exception import (FDroidException, from fdroidserver.exception import (
FDroidException,
MetaDataException, MetaDataException,
VerificationException) # NOQA: E402 VerificationException, # NOQA: E402
)
FDroidException # NOQA: B101 FDroidException # NOQA: B101
MetaDataException # NOQA: B101 MetaDataException # NOQA: B101
VerificationException # NOQA: B101 VerificationException # NOQA: B101
from fdroidserver.common import (verify_apk_signature, from fdroidserver.common import genkeystore as generate_keystore # NOQA: E402
genkeystore as generate_keystore) # NOQA: E402 from fdroidserver.common import verify_apk_signature
verify_apk_signature # NOQA: B101 verify_apk_signature # NOQA: B101
generate_keystore # NOQA: B101 generate_keystore # NOQA: B101
from fdroidserver.index import (download_repo_index, from fdroidserver.index import (
download_repo_index,
download_repo_index_v1, download_repo_index_v1,
download_repo_index_v2, download_repo_index_v2,
get_mirror_service_urls, get_mirror_service_urls,
make as make_index) # NOQA: E402 )
from fdroidserver.index import make as make_index # NOQA: E402
download_repo_index # NOQA: B101 download_repo_index # NOQA: B101
download_repo_index_v1 # NOQA: B101 download_repo_index_v1 # NOQA: B101
download_repo_index_v2 # NOQA: B101 download_repo_index_v2 # NOQA: B101
get_mirror_service_urls # NOQA: B101 get_mirror_service_urls # NOQA: B101
make_index # NOQA: B101 make_index # NOQA: B101
from fdroidserver.update import (process_apk, from fdroidserver.update import (
process_apk,
process_apks, process_apks,
scan_apk, scan_apk,
scan_repo_files) # NOQA: E402 scan_repo_files, # NOQA: E402
)
process_apk # NOQA: B101 process_apk # NOQA: B101
process_apks # NOQA: B101 process_apks # NOQA: B101
scan_apk # NOQA: B101 scan_apk # NOQA: B101
scan_repo_files # NOQA: B101 scan_repo_files # NOQA: B101
from fdroidserver.deploy import (update_awsbucket, from fdroidserver.deploy import (
update_awsbucket,
update_servergitmirrors, update_servergitmirrors,
update_serverwebroot, # NOQA: E402
update_serverwebroots, update_serverwebroots,
update_serverwebroot) # NOQA: E402 )
update_awsbucket # NOQA: B101 update_awsbucket # NOQA: B101
update_servergitmirrors # NOQA: B101 update_servergitmirrors # NOQA: B101
update_serverwebroots # NOQA: B101 update_serverwebroots # NOQA: B101

View file

@ -18,20 +18,20 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import re import importlib.metadata
import sys import logging
import os import os
import pkgutil import pkgutil
import logging import re
import importlib.metadata import sys
import git
import fdroidserver.common
import fdroidserver.metadata
from fdroidserver import _
from argparse import ArgumentError from argparse import ArgumentError
from collections import OrderedDict from collections import OrderedDict
import git
import fdroidserver.common
import fdroidserver.metadata
from fdroidserver import _
COMMANDS = OrderedDict([ COMMANDS = OrderedDict([
("build", _("Build a package from source")), ("build", _("Build a package from source")),

View file

@ -68,9 +68,18 @@ import struct
import sys import sys
import zipfile import zipfile
import zlib import zlib
from collections import namedtuple from collections import namedtuple
from typing import Any, BinaryIO, Callable, Dict, Iterable, Iterator, Optional, Tuple, Union from typing import (
Any,
BinaryIO,
Callable,
Dict,
Iterable,
Iterator,
Optional,
Tuple,
Union,
)
__version__ = "1.1.1" __version__ = "1.1.1"
NAME = "apksigcopier" NAME = "apksigcopier"

View file

@ -28,22 +28,21 @@
# the F-Droid client. # the F-Droid client.
import collections import collections
import defusedxml.minidom
import git
import glob import glob
import os
import json import json
import logging import logging
import requests import os
import shutil import shutil
import tempfile import tempfile
import zipfile import zipfile
from argparse import ArgumentParser from argparse import ArgumentParser
from typing import Optional from typing import Optional
from . import _ import defusedxml.minidom
from . import common import git
from . import deploy import requests
from . import _, common, deploy
from .exception import FDroidException from .exception import FDroidException

View file

@ -18,31 +18,27 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import os import argparse
import shutil
import glob import glob
import subprocess import logging
import os
import posixpath import posixpath
import re import re
import shutil
import subprocess
import tarfile import tarfile
import threading
import traceback
import time
import requests
import tempfile import tempfile
import argparse import threading
import logging import time
import traceback
from gettext import ngettext from gettext import ngettext
from pathlib import Path from pathlib import Path
from . import _ import requests
from . import common
from . import net from . import _, common, metadata, net, scanner, vmtools
from . import metadata
from . import scanner
from . import vmtools
from .common import FDroidPopen from .common import FDroidPopen
from .exception import FDroidException, BuildException, VCSException from .exception import BuildException, FDroidException, VCSException
try: try:
import paramiko import paramiko
@ -155,9 +151,7 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force):
ftp.mkdir('fdroidserver') ftp.mkdir('fdroidserver')
ftp.chdir('fdroidserver') ftp.chdir('fdroidserver')
ftp.put(os.path.join(serverpath, '..', 'fdroid'), 'fdroid') ftp.put(os.path.join(serverpath, '..', 'fdroid'), 'fdroid')
ftp.put(os.path.join(serverpath, '..', 'gradlew-fdroid'), 'gradlew-fdroid')
ftp.chmod('fdroid', 0o755) # nosec B103 permissions are appropriate ftp.chmod('fdroid', 0o755) # nosec B103 permissions are appropriate
ftp.chmod('gradlew-fdroid', 0o755) # nosec B103 permissions are appropriate
send_dir(os.path.join(serverpath)) send_dir(os.path.join(serverpath))
ftp.chdir(homedir) ftp.chdir(homedir)

View file

@ -19,28 +19,30 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import configparser import configparser
import git import copy
import logging
import os import os
import re import re
import urllib.request
import urllib.error
import time
import subprocess import subprocess
import sys import sys
from argparse import ArgumentParser import time
import traceback import traceback
import logging import urllib.error
import copy
import urllib.parse import urllib.parse
import urllib.request
from argparse import ArgumentParser
from pathlib import Path from pathlib import Path
from typing import Optional from typing import Optional
from . import _ import git
from . import common
from . import metadata
from . import net
from .exception import VCSException, NoSubmodulesException, FDroidException, MetaDataException
from . import _, common, metadata, net
from .exception import (
FDroidException,
MetaDataException,
NoSubmodulesException,
VCSException,
)
# https://gitlab.com/fdroid/checkupdates-runner/-/blob/1861899262a62a4ed08fa24e5449c0368dfb7617/.gitlab-ci.yml#L36 # https://gitlab.com/fdroid/checkupdates-runner/-/blob/1861899262a62a4ed08fa24e5449c0368dfb7617/.gitlab-ci.yml#L36
BOT_EMAIL = 'fdroidci@bubu1.eu' BOT_EMAIL = 'fdroidci@bubu1.eu'

View file

@ -52,53 +52,58 @@ environment variable to include.
""" """
import ast
import base64
import copy import copy
import difflib import difflib
from typing import List import filecmp
import git
import glob import glob
import gzip
import hashlib
import io import io
import itertools import itertools
import json
import logging
import operator
import os import os
import sys
import re import re
import ast
import gzip
import shutil import shutil
import socket
import stat import stat
import subprocess import subprocess
import time import sys
import operator
import logging
import hashlib
import socket
import base64
import zipfile
import tempfile import tempfile
import json import time
from pathlib import Path import zipfile
import defusedxml.ElementTree as XMLElementTree
from argparse import BooleanOptionalAction from argparse import BooleanOptionalAction
from asn1crypto import cms
from base64 import urlsafe_b64encode from base64 import urlsafe_b64encode
from binascii import hexlify from binascii import hexlify
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
from pathlib import Path
from queue import Queue from queue import Queue
from typing import List
from urllib.parse import urlparse, urlsplit, urlunparse from urllib.parse import urlparse, urlsplit, urlunparse
from zipfile import ZipFile from zipfile import ZipFile
import defusedxml.ElementTree as XMLElementTree
import git
from asn1crypto import cms
import fdroidserver.metadata import fdroidserver.metadata
from fdroidserver import _ from fdroidserver import _
from fdroidserver._yaml import yaml, config_dump from fdroidserver._yaml import config_dump, yaml
from fdroidserver.exception import FDroidException, VCSException, NoSubmodulesException, \ from fdroidserver.exception import (
BuildException, VerificationException, MetaDataException BuildException,
from .asynchronousfilereader import AsynchronousFileReader FDroidException,
from .looseversion import LooseVersion MetaDataException,
NoSubmodulesException,
VCSException,
VerificationException,
)
from . import apksigcopier, common from . import apksigcopier, common
from .asynchronousfilereader import AsynchronousFileReader
from .looseversion import LooseVersion
# The path to this fdroidserver distribution # The path to this fdroidserver distribution
FDROID_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..')) FDROID_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), '..'))
@ -183,7 +188,7 @@ default_config = {
'scan_binary': False, 'scan_binary': False,
'ant': "ant", 'ant': "ant",
'mvn3': "mvn", 'mvn3': "mvn",
'gradle': os.path.join(FDROID_PATH, 'gradlew-fdroid'), 'gradle': shutil.which('gradlew-fdroid'),
'sync_from_local_copy_dir': False, 'sync_from_local_copy_dir': False,
'allow_disabled_algorithms': False, 'allow_disabled_algorithms': False,
'keep_when_not_allowed': False, 'keep_when_not_allowed': False,
@ -812,7 +817,10 @@ def load_localized_config(name, repodir):
icons_dir = os.path.join(repodir, 'icons') icons_dir = os.path.join(repodir, 'icons')
if not os.path.exists(icons_dir): if not os.path.exists(icons_dir):
os.makedirs(icons_dir, exist_ok=True) os.makedirs(icons_dir, exist_ok=True)
shutil.copy(os.path.join("config", value), icons_dir) src = os.path.join("config", value)
dest = os.path.join(icons_dir, os.path.basename(src))
if not os.path.exists(dest) or not filecmp.cmp(src, dest):
shutil.copy2(src, dest)
ret[afname][key][locale] = file_entry( ret[afname][key][locale] = file_entry(
os.path.join(icons_dir, value) os.path.join(icons_dir, value)
) )
@ -2729,17 +2737,17 @@ def getpaths_map(build_dir, globpaths):
paths[p] = [r[len(str(build_dir)) + 1:] for r in glob.glob(full_path)] paths[p] = [r[len(str(build_dir)) + 1:] for r in glob.glob(full_path)]
if not paths[p]: if not paths[p]:
not_found_paths.append(p) not_found_paths.append(p)
return paths, not_found_paths
def getpaths(build_dir, globpaths):
"""Extend via globbing the paths from a field and return them as a set."""
paths_map, not_found_paths = getpaths_map(build_dir, globpaths)
if not_found_paths: if not_found_paths:
raise FDroidException( raise FDroidException(
"Some glob paths did not match any files/dirs:\n" "Some glob paths did not match any files/dirs:\n"
+ "\n".join(not_found_paths) + "\n".join(not_found_paths)
) )
return paths
def getpaths(build_dir, globpaths):
"""Extend via globbing the paths from a field and return them as a set."""
paths_map = getpaths_map(build_dir, globpaths)
paths = set() paths = set()
for k, v in paths_map.items(): for k, v in paths_map.items():
for p in v: for p in v:
@ -2900,9 +2908,9 @@ def is_debuggable_or_testOnly(apkfile):
return False return False
try: try:
# these were moved in androguard 4.0 # these were moved in androguard 4.0
from androguard.core.axml import AXMLParser, format_value, START_TAG from androguard.core.axml import START_TAG, AXMLParser, format_value
except ImportError: except ImportError:
from androguard.core.bytecodes.axml import AXMLParser, format_value, START_TAG from androguard.core.bytecodes.axml import START_TAG, AXMLParser, format_value
_androguard_logging_level() _androguard_logging_level()
with ZipFile(apkfile) as apk: with ZipFile(apkfile) as apk:
@ -2974,9 +2982,23 @@ def get_apk_id_androguard(apkfile):
try: try:
# these were moved in androguard 4.0 # these were moved in androguard 4.0
from androguard.core.axml import AXMLParser, format_value, START_TAG, END_TAG, TEXT, END_DOCUMENT from androguard.core.axml import (
END_DOCUMENT,
END_TAG,
START_TAG,
TEXT,
AXMLParser,
format_value,
)
except ImportError: except ImportError:
from androguard.core.bytecodes.axml import AXMLParser, format_value, START_TAG, END_TAG, TEXT, END_DOCUMENT from androguard.core.bytecodes.axml import (
END_DOCUMENT,
END_TAG,
START_TAG,
TEXT,
AXMLParser,
format_value,
)
_androguard_logging_level() _androguard_logging_level()
appid = None appid = None

View file

@ -16,28 +16,28 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
import glob import glob
import hashlib import hashlib
import json import json
import logging
import os import os
import pathlib
import re import re
import shutil
import subprocess import subprocess
import sys
import time import time
import urllib import urllib
from typing import Dict, List
from git import Repo
import yaml
from argparse import ArgumentParser from argparse import ArgumentParser
import logging from typing import Dict, List
import pathlib
import shutil
import git import git
import yaml
from git import Repo
import fdroidserver.github import fdroidserver.github
from . import _ from . import _, common, index
from . import common
from . import index
from .exception import FDroidException from .exception import FDroidException
config = None config = None
@ -349,8 +349,8 @@ def update_awsbucket_libcloud(repo_section, is_index_only=False):
import libcloud.security import libcloud.security
libcloud.security.VERIFY_SSL_CERT = True libcloud.security.VERIFY_SSL_CERT = True
from libcloud.storage.types import Provider, ContainerDoesNotExistError
from libcloud.storage.providers import get_driver from libcloud.storage.providers import get_driver
from libcloud.storage.types import ContainerDoesNotExistError, Provider
if not config.get('awsaccesskeyid') or not config.get('awssecretkey'): if not config.get('awsaccesskeyid') or not config.get('awssecretkey'):
raise FDroidException( raise FDroidException(
@ -854,9 +854,10 @@ def upload_to_android_observatory(repo_section):
def upload_apk_to_android_observatory(path): def upload_apk_to_android_observatory(path):
# depend on requests and lxml only if users enable AO # depend on requests and lxml only if users enable AO
import requests import requests
from . import net
from lxml.html import fromstring from lxml.html import fromstring
from . import net
apkfilename = os.path.basename(path) apkfilename = os.path.basename(path)
r = requests.post( r = requests.post(
'https://androidobservatory.org/', 'https://androidobservatory.org/',

View file

@ -35,6 +35,10 @@ class VCSException(FDroidException):
pass pass
class NoVersionCodeException(FDroidException):
pass
class NoSubmodulesException(VCSException): class NoSubmodulesException(VCSException):
pass pass

View file

@ -18,8 +18,8 @@
import json import json
import pathlib import pathlib
import urllib.request
import urllib.parse import urllib.parse
import urllib.request
class GithubApi: class GithubApi:

View file

@ -16,14 +16,13 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
import glob import glob
from argparse import ArgumentParser
import logging import logging
import os
import time import time
from argparse import ArgumentParser
from . import _ from . import _, common
from . import common
from .common import FDroidPopen from .common import FDroidPopen
from .exception import FDroidException from .exception import FDroidException

View file

@ -30,6 +30,7 @@ these installed on the signing server.
""" """
import calendar
import collections import collections
import hashlib import hashlib
import json import json
@ -41,20 +42,27 @@ import sys
import tempfile import tempfile
import urllib.parse import urllib.parse
import zipfile import zipfile
import calendar
from binascii import hexlify, unhexlify from binascii import hexlify, unhexlify
from datetime import datetime, timezone from datetime import datetime, timezone
from pathlib import Path from pathlib import Path
from xml.dom.minidom import Document from xml.dom.minidom import Document
from . import _
from . import common
from . import metadata
from . import signindex
from fdroidserver.common import ANTIFEATURES_CONFIG_NAME, CATEGORIES_CONFIG_NAME, CONFIG_CONFIG_NAME, MIRRORS_CONFIG_NAME, RELEASECHANNELS_CONFIG_NAME, DEFAULT_LOCALE, FDroidPopen, FDroidPopenBytes, load_publish_signer_fingerprints
from fdroidserver._yaml import yaml from fdroidserver._yaml import yaml
from fdroidserver.common import (
ANTIFEATURES_CONFIG_NAME,
CATEGORIES_CONFIG_NAME,
CONFIG_CONFIG_NAME,
DEFAULT_LOCALE,
MIRRORS_CONFIG_NAME,
RELEASECHANNELS_CONFIG_NAME,
FDroidPopen,
FDroidPopenBytes,
load_publish_signer_fingerprints,
)
from fdroidserver.exception import FDroidException, VerificationException from fdroidserver.exception import FDroidException, VerificationException
from . import _, common, metadata, signindex
def make(apps, apks, repodir, archive): def make(apps, apks, repodir, archive):
"""Generate the repo index files. """Generate the repo index files.
@ -587,7 +595,10 @@ def convert_version(version, app, repodir):
ver["file"]["ipfsCIDv1"] = ipfsCIDv1 ver["file"]["ipfsCIDv1"] = ipfsCIDv1
if "srcname" in version: if "srcname" in version:
ver["src"] = common.file_entry(os.path.join(repodir, version["srcname"])) ver["src"] = common.file_entry(
os.path.join(repodir, version["srcname"]),
version["srcnameSha256"],
)
if "obbMainFile" in version: if "obbMainFile" in version:
ver["obbMainFile"] = common.file_entry( ver["obbMainFile"] = common.file_entry(
@ -956,7 +967,7 @@ def make_v1(apps, packages, repodir, repodict, requestsdict, signer_fingerprints
for k, v in sorted(package.items()): for k, v in sorted(package.items()):
if not v: if not v:
continue continue
if k in ('icon', 'icons', 'icons_src', 'ipfsCIDv1', 'name'): if k in ('icon', 'icons', 'icons_src', 'ipfsCIDv1', 'name', 'srcnameSha256'):
continue continue
if k == 'antiFeatures': if k == 'antiFeatures':
d[k] = sorted(v.keys()) d[k] = sorted(v.keys())

View file

@ -19,16 +19,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import glob import glob
import logging
import os import os
import re import re
import shutil import shutil
import socket import socket
import sys import sys
from argparse import ArgumentParser from argparse import ArgumentParser
import logging
from . import _ from . import _, common
from . import common
from .exception import FDroidException from .exception import FDroidException
config = {} config = {}

View file

@ -17,24 +17,21 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
import os
import glob import glob
import locale import locale
import logging import logging
import os
import sys
import termios import termios
import tty import tty
import defusedxml.ElementTree as XMLElementTree
from argparse import ArgumentParser, BooleanOptionalAction from argparse import ArgumentParser, BooleanOptionalAction
from pathlib import Path from pathlib import Path
from urllib.parse import urlencode, urlparse, urlunparse from urllib.parse import urlencode, urlparse, urlunparse
from . import _ import defusedxml.ElementTree as XMLElementTree
from . import common, github, index, net
from .exception import FDroidException
from . import _, common, github, index, net
from .exception import FDroidException
DEFAULT_IPFS_GATEWAYS = ("https://gateway.ipfs.io/ipfs/",) DEFAULT_IPFS_GATEWAYS = ("https://gateway.ipfs.io/ipfs/",)
MAVEN_CENTRAL_MIRRORS = [ MAVEN_CENTRAL_MIRRORS = [

View file

@ -24,9 +24,10 @@ import urllib.parse
from argparse import ArgumentParser from argparse import ArgumentParser
from pathlib import Path from pathlib import Path
from . import _, common, metadata, rewritemeta
from fdroidserver._yaml import yaml from fdroidserver._yaml import yaml
from . import _, common, metadata, rewritemeta
config = None config = None

View file

@ -18,19 +18,19 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from pathlib import Path
import math
import platform
import os
import re
import logging import logging
import ruamel.yaml import math
import os
import platform
import re
from collections import OrderedDict from collections import OrderedDict
from pathlib import Path
from . import common import ruamel.yaml
from . import _
from .exception import MetaDataException from . import _, common
from ._yaml import yaml from ._yaml import yaml
from .exception import MetaDataException
srclibs = None srclibs = None
warnings_action = None warnings_action = None

View file

@ -7,13 +7,10 @@ import posixpath
import socket import socket
import subprocess import subprocess
import sys import sys
from argparse import ArgumentParser
import urllib.parse import urllib.parse
from argparse import ArgumentParser
from . import _ from . import _, common, index, update
from . import common
from . import index
from . import update
def _run_wget(path, urls, verbose=False): def _run_wget(path, urls, verbose=False):
@ -133,6 +130,7 @@ def main():
import io import io
import json import json
import zipfile import zipfile
from . import net from . import net
url = _append_to_url_path(section, 'index-v1.jar') url = _append_to_url_path(section, 'index-v1.jar')

View file

@ -21,10 +21,11 @@ import copy
import logging import logging
import os import os
import random import random
import requests
import tempfile import tempfile
import time import time
import urllib import urllib
import requests
import urllib3 import urllib3
from requests.adapters import HTTPAdapter, Retry from requests.adapters import HTTPAdapter, Retry

View file

@ -19,25 +19,25 @@
import base64 import base64
import datetime import datetime
import git
import hashlib import hashlib
import inspect import inspect
import logging import logging
import os import os
import paramiko
import platform import platform
import shutil import shutil
import ssl import ssl
import subprocess import subprocess
import sys import sys
import tempfile import tempfile
import yaml
from urllib.parse import urlparse
from argparse import ArgumentParser from argparse import ArgumentParser
from typing import Optional from typing import Optional
from urllib.parse import urlparse
from . import _ import git
from . import common import paramiko
import yaml
from . import _, common
from .exception import VCSException from .exception import VCSException
# hard coded defaults for Android ~/.android/debug.keystore files # hard coded defaults for Android ~/.android/debug.keystore files

View file

@ -28,23 +28,21 @@ mostly reports success by moving an APK from unsigned/ to repo/
""" """
import sys import glob
import hashlib
import json
import logging
import os import os
import re import re
import shutil import shutil
import glob import sys
import hashlib
from argparse import ArgumentParser
from collections import OrderedDict
import logging
from gettext import ngettext
import json
import time import time
import zipfile import zipfile
from argparse import ArgumentParser
from collections import OrderedDict
from gettext import ngettext
from . import _ from . import _, common, metadata
from . import common
from . import metadata
from .common import FDroidPopen from .common import FDroidPopen
from .exception import BuildException, FDroidException from .exception import BuildException, FDroidException

View file

@ -17,8 +17,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from argparse import ArgumentParser from argparse import ArgumentParser
from . import common
from . import metadata from . import common, metadata
def main(): def main():

View file

@ -17,16 +17,14 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from argparse import ArgumentParser
import logging
import io import io
import tempfile import logging
import shutil import shutil
import tempfile
from argparse import ArgumentParser
from pathlib import Path from pathlib import Path
from . import _ from . import _, common, metadata
from . import common
from . import metadata
config = None config = None

View file

@ -729,6 +729,7 @@ def scan_source(build_dir, build=metadata.Build(), json_per_build=None):
'www.jitpack.io', 'www.jitpack.io',
'repo.maven.apache.org/maven2', 'repo.maven.apache.org/maven2',
'oss.jfrog.org/artifactory/oss-snapshot-local', 'oss.jfrog.org/artifactory/oss-snapshot-local',
'central.sonatype.com/repository/maven-snapshots/',
'oss.sonatype.org/content/repositories/snapshots', 'oss.sonatype.org/content/repositories/snapshots',
'oss.sonatype.org/content/repositories/releases', 'oss.sonatype.org/content/repositories/releases',
'oss.sonatype.org/content/groups/public', 'oss.sonatype.org/content/groups/public',
@ -750,8 +751,12 @@ def scan_source(build_dir, build=metadata.Build(), json_per_build=None):
] ]
] ]
scanignore = common.getpaths_map(build_dir, build.scanignore) scanignore, scanignore_not_found_paths = common.getpaths_map(
scandelete = common.getpaths_map(build_dir, build.scandelete) build_dir, build.scanignore
)
scandelete, scandelete_not_found_paths = common.getpaths_map(
build_dir, build.scandelete
)
scanignore_worked = set() scanignore_worked = set()
scandelete_worked = set() scandelete_worked = set()
@ -1109,11 +1114,19 @@ def scan_source(build_dir, build=metadata.Build(), json_per_build=None):
json_per_build, json_per_build,
) )
for p in scanignore_not_found_paths:
logging.error(_("Non-exist scanignore path: %s") % p)
count += 1
for p in scanignore: for p in scanignore:
if p not in scanignore_worked: if p not in scanignore_worked:
logging.error(_('Unused scanignore path: %s') % p) logging.error(_('Unused scanignore path: %s') % p)
count += 1 count += 1
for p in scandelete_not_found_paths:
logging.error(_("Non-exist scandelete path: %s") % p)
count += 1
for p in scandelete: for p in scandelete:
if p not in scandelete_worked: if p not in scandelete_worked:
logging.error(_('Unused scandelete path: %s') % p) logging.error(_('Unused scandelete path: %s') % p)

View file

@ -15,15 +15,13 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
import logging
import os
import re
import sys
from argparse import ArgumentParser from argparse import ArgumentParser
import re from . import _, common
import os
import sys
import logging
from . import _
from . import common
from .exception import FDroidException from .exception import FDroidException

View file

@ -17,15 +17,13 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import json import json
import logging
import os import os
import time import time
import zipfile import zipfile
from argparse import ArgumentParser from argparse import ArgumentParser
import logging
from . import _ from . import _, common, metadata
from . import common
from . import metadata
from .exception import FDroidException from .exception import FDroidException
config = None config = None

View file

@ -28,8 +28,8 @@ Example
import os import os
import sys import sys
import time
import threading import threading
import time
class Tail(object): class Tail(object):

View file

@ -20,25 +20,27 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import argparse import argparse
import sys import copy
import os import filecmp
import shutil
import glob import glob
import logging
import re
import socket
import warnings
import zipfile
import hashlib import hashlib
import json import json
import logging
import os
import re
import shutil
import socket
import sys
import time import time
import yaml import warnings
import copy import zipfile
from argparse import ArgumentParser
from datetime import datetime, timezone
from pathlib import Path
import asn1crypto.cms import asn1crypto.cms
import defusedxml.ElementTree as ElementTree import defusedxml.ElementTree as ElementTree
from datetime import datetime, timezone import yaml
from argparse import ArgumentParser
from pathlib import Path
try: try:
from yaml import CSafeLoader as SafeLoader from yaml import CSafeLoader as SafeLoader
@ -48,14 +50,13 @@ except ImportError:
import collections import collections
from binascii import hexlify from binascii import hexlify
from . import _ from PIL import Image, PngImagePlugin
from . import common
from . import metadata
from .common import DEFAULT_LOCALE
from .exception import BuildException, FDroidException, VerificationException
import fdroidserver.index import fdroidserver.index
from PIL import Image, PngImagePlugin from . import _, common, metadata
from .common import DEFAULT_LOCALE
from .exception import BuildException, FDroidException, NoVersionCodeException, VerificationException
if hasattr(Image, 'DecompressionBombWarning'): if hasattr(Image, 'DecompressionBombWarning'):
warnings.simplefilter('error', Image.DecompressionBombWarning) warnings.simplefilter('error', Image.DecompressionBombWarning)
@ -369,6 +370,12 @@ def get_cache():
v['antiFeatures'] = {k: {} for k in sorted(v['antiFeatures'])} v['antiFeatures'] = {k: {} for k in sorted(v['antiFeatures'])}
if 'added' in v: if 'added' in v:
v['added'] = datetime.fromtimestamp(v['added'], tz=timezone.utc) v['added'] = datetime.fromtimestamp(v['added'], tz=timezone.utc)
if v.get('srcname') and not v.get('srcnameSha256'):
f = f'archive/{v["srcname"]}'
if not os.path.exists(f):
f = f'repo/{v["srcname"]}'
if os.path.exists(f):
v['srcnameSha256'] = common.sha256sum(f)
return apkcache return apkcache
@ -1147,6 +1154,7 @@ def insert_localized_app_metadata(apps):
metadata/<locale>/ metadata/<locale>/
fastlane/metadata/android/<locale>/ fastlane/metadata/android/<locale>/
<subdir>/fastlane/metadata/android/<locale>/
src/<buildFlavor>/fastlane/metadata/android/<locale>/ src/<buildFlavor>/fastlane/metadata/android/<locale>/
...as well as the /metadata/<packageName>/<locale> directory. ...as well as the /metadata/<packageName>/<locale> directory.
@ -1166,7 +1174,7 @@ def insert_localized_app_metadata(apps):
https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#in-the-apps-build-metadata-in-an-fdroiddata-collection https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#in-the-apps-build-metadata-in-an-fdroiddata-collection
""" """
sourcedirs = glob.glob(os.path.join('build', '[A-Za-z]*', 'src', '[A-Za-z]*', 'fastlane', 'metadata', 'android', '[a-z][a-z]*')) sourcedirs = glob.glob(os.path.join('build', '[A-Za-z]*', 'src', '[A-Za-z]*', 'fastlane', 'metadata', 'android', '[a-z][a-z]*'))
sourcedirs += glob.glob(os.path.join('build', '[A-Za-z]*', 'fastlane', 'metadata', 'android', '[a-z][a-z]*')) sourcedirs += glob.glob(os.path.join('build', '[A-Za-z]*', '**', 'fastlane', 'metadata', 'android', '[a-z][a-z]*'), recursive=True)
sourcedirs += glob.glob(os.path.join('build', '[A-Za-z]*', 'metadata', '[a-z][a-z]*')) sourcedirs += glob.glob(os.path.join('build', '[A-Za-z]*', 'metadata', '[a-z][a-z]*'))
sourcedirs += glob.glob(os.path.join('metadata', '[A-Za-z]*', '[a-z][a-z]*')) sourcedirs += glob.glob(os.path.join('metadata', '[A-Za-z]*', '[a-z][a-z]*'))
@ -1182,20 +1190,40 @@ def insert_localized_app_metadata(apps):
locale = segments[-1] locale = segments[-1]
destdir = os.path.join('repo', packageName, locale) destdir = os.path.join('repo', packageName, locale)
# flavors specified in build receipt builds = apps.get(packageName, {}).get('Builds', [])
build_flavors = [] found_in_subdir = (
if ( builds
apps[packageName] and len(segments) > 6
and len(apps[packageName].get('Builds', [])) > 0 and segments[-4] == "fastlane"
and 'gradle' in apps[packageName]['Builds'][-1] and segments[-3] == "metadata"
and apps[packageName]['Builds'][-1]['gradle'] != ['yes'] and segments[-2] == "android"
): and '/'.join(segments[2:-4]) == builds[-1].get('subdir')
build_flavors = common.calculate_gradle_flavor_combination(
apps[packageName]['Builds'][-1]['gradle']
) )
if len(segments) >= 5 and segments[4] == "fastlane" and segments[3] not in build_flavors: # flavors specified in build receipt
logging.debug("ignoring due to wrong flavor") build_flavors = []
if builds and 'gradle' in builds[-1] and builds[-1]['gradle'] != ['yes']:
build_flavors = common.calculate_gradle_flavor_combination(
builds[-1]['gradle']
)
found_in_flavor = (
len(segments) > 7
and segments[2] == 'src'
and segments[4] == "fastlane"
and segments[3] in build_flavors
)
if (
not found_in_subdir
and not found_in_flavor
and segments[0] == 'build'
and segments[2] not in ('metadata', 'fastlane')
):
logging.debug(
'Not scanning "{dir}" with unknown subdir or gradle flavor "{value}"'.format(
dir=os.path.relpath(root), value=segments[3]
)
)
continue continue
for f in files: for f in files:
@ -1233,9 +1261,7 @@ def insert_localized_app_metadata(apps):
try: try:
versionCode = int(base) versionCode = int(base)
locale = segments[-2] locale = segments[-2]
if versionCode in [ if versionCode in [b["versionCode"] for b in builds]:
a["versionCode"] for a in apps[packageName]["Builds"]
]:
_set_localized_text_entry( _set_localized_text_entry(
apps[packageName], apps[packageName],
locale, locale,
@ -1460,19 +1486,18 @@ def insert_localized_ios_app_metadata(apps_with_packages):
fdroidserver.update.copy_ios_screenshots_to_repo(screenshots, package_name) fdroidserver.update.copy_ios_screenshots_to_repo(screenshots, package_name)
# lookup icons, copy them and put them into app # lookup icons, copy them and put them into app
icon_path = _get_ipa_icon(Path('build') / package_name) icon_src = _get_ipa_icon(Path('build') / package_name)
icon_dest = Path('repo') / package_name / 'icon.png' # for now just assume png icon_dest = Path('repo') / package_name / 'icon.png' # for now just assume png
icon_stat = os.stat(icon_path)
app['iconv2'] = { app['iconv2'] = {
DEFAULT_LOCALE: { DEFAULT_LOCALE: {
'name': str(icon_dest).lstrip('repo'), 'name': str(icon_dest).lstrip('repo'),
'sha256': common.sha256sum(icon_dest), 'sha256': common.sha256sum(icon_dest),
'size': icon_stat.st_size, 'size': os.path.getsize(icon_src),
} }
} }
if not icon_dest.exists(): if not icon_dest.exists() or not filecmp.cmp(icon_src, icon_dest):
icon_dest.parent.mkdir(parents=True, exist_ok=True) icon_dest.parent.mkdir(parents=True, exist_ok=True)
shutil.copy(icon_path, icon_dest) shutil.copy2(icon_src, icon_dest)
def scan_repo_files(apkcache, repodir, knownapks, use_date_from_file=False): def scan_repo_files(apkcache, repodir, knownapks, use_date_from_file=False):
@ -1551,8 +1576,10 @@ def scan_repo_files(apkcache, repodir, knownapks, use_date_from_file=False):
repo_file['packageName'] = m.group(1) repo_file['packageName'] = m.group(1)
repo_file['versionCode'] = int(m.group(2)) repo_file['versionCode'] = int(m.group(2))
srcfilename = name + b'_src.tar.gz' srcfilename = name + b'_src.tar.gz'
if os.path.exists(os.path.join(repodir, srcfilename)): srcpath = os.path.join(repodir, srcfilename)
if os.path.exists(srcpath):
repo_file['srcname'] = srcfilename.decode() repo_file['srcname'] = srcfilename.decode()
repo_file['srcnameSha256'] = common.sha256sum(srcpath.decode())
repo_file['size'] = stat.st_size repo_file['size'] = stat.st_size
apkcache[name_utf8] = repo_file apkcache[name_utf8] = repo_file
@ -1774,6 +1801,7 @@ def scan_apk_androguard(apk, apkfile):
xml = apkobject.get_android_manifest_xml() xml = apkobject.get_android_manifest_xml()
androidmanifest_xml = apkobject.xml['AndroidManifest.xml'] androidmanifest_xml = apkobject.xml['AndroidManifest.xml']
if len(xml.nsmap) > 0: if len(xml.nsmap) > 0:
# one of them surely will be the Android one, or its corrupt # one of them surely will be the Android one, or its corrupt
xmlns = common.XMLNS_ANDROID xmlns = common.XMLNS_ANDROID
@ -1783,8 +1811,12 @@ def scan_apk_androguard(apk, apkfile):
xmlns = '{}' xmlns = '{}'
vcstr = androidmanifest_xml.get(xmlns + 'versionCode') vcstr = androidmanifest_xml.get(xmlns + 'versionCode')
logging.debug("Version Code: %r (%s)" % (vcstr, apkfile))
if vcstr.startswith('0x'): if not vcstr:
raise NoVersionCodeException(_("APK file {path} does not have a version code "
"in its manifest").format(path=apkfile))
elif vcstr.startswith('0x'):
apk['versionCode'] = int(vcstr, 16) apk['versionCode'] = int(vcstr, 16)
else: else:
apk['versionCode'] = int(vcstr) apk['versionCode'] = int(vcstr)
@ -1932,6 +1964,10 @@ def process_apk(apkcache, apkfilename, repodir, knownapks, use_date_from_apk=Fal
logging.warning(_("Skipping '{apkfilename}' with invalid signature!") logging.warning(_("Skipping '{apkfilename}' with invalid signature!")
.format(apkfilename=apkfilename)) .format(apkfilename=apkfilename))
return True, None, False return True, None, False
except NoVersionCodeException:
logging.warning(_("Skipping '{apkfilename}' without versionCode!")
.format(apkfilename=apkfilename))
return True, None, False
if apps: if apps:
if apk['packageName'] in apps: if apk['packageName'] in apps:
@ -1970,8 +2006,10 @@ def process_apk(apkcache, apkfilename, repodir, knownapks, use_date_from_apk=Fal
apk['apkName'] = apkfilename apk['apkName'] = apkfilename
srcfilename = apkfilename[:-4] + "_src.tar.gz" srcfilename = apkfilename[:-4] + "_src.tar.gz"
if os.path.exists(os.path.join(repodir, srcfilename)): srcpath = os.path.join(repodir, srcfilename)
if os.path.exists(srcpath):
apk['srcname'] = srcfilename apk['srcname'] = srcfilename
apk['srcnameSha256'] = common.sha256sum(srcpath)
# verify the jar signature is correct, allow deprecated # verify the jar signature is correct, allow deprecated
# algorithms only if the APK is in the archive. # algorithms only if the APK is in the archive.

View file

@ -16,18 +16,17 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
import os
import glob import glob
import json import json
import logging import logging
import requests import os
import sys
from argparse import ArgumentParser from argparse import ArgumentParser
from collections import OrderedDict from collections import OrderedDict
from . import _ import requests
from . import common
from . import net from . import _, common, net
from .exception import FDroidException from .exception import FDroidException
config = None config = None
@ -58,8 +57,8 @@ def _add_diffoscope_info(d):
] ]
d['diffoscope']['External-Tools-Required'] = external_tools d['diffoscope']['External-Tools-Required'] = external_tools
from diffoscope.tools import OS_NAMES, get_current_os
from diffoscope.external_tools import EXTERNAL_TOOLS from diffoscope.external_tools import EXTERNAL_TOOLS
from diffoscope.tools import OS_NAMES, get_current_os
current_os = get_current_os() current_os = get_current_os()
os_list = [current_os] if (current_os in OS_NAMES) else iter(OS_NAMES) os_list = [current_os] if (current_os in OS_NAMES) else iter(OS_NAMES)

View file

@ -16,16 +16,16 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from os.path import isdir, isfile, basename, abspath, expanduser
import os
import json import json
import logging
import os
import shutil import shutil
import subprocess import subprocess
import textwrap import textwrap
import logging
from .common import FDroidException
import threading import threading
from os.path import abspath, basename, expanduser, isdir, isfile
from .common import FDroidException
lock = threading.Lock() lock = threading.Lock()

View file

@ -1,312 +0,0 @@
#!/bin/bash
bindir="$(dirname $0)"
basedir="$(dirname $bindir)"
# Check if GRADLE_VERSION_DIR/CACHEDIR is set from environment
if [ -z "$GRADLE_VERSION_DIR" ]; then
gradle_version_dir="${basedir}/versions"
else
gradle_version_dir="$GRADLE_VERSION_DIR"
fi
BUILDSERVER_CACHEDIR=/vagrant/cache
if [ -n "$CACHEDIR" ]; then
cachedir="$CACHEDIR"
elif [ -d $BUILDSERVER_CACHEDIR ]; then
cachedir=$BUILDSERVER_CACHEDIR
fi
args=("$@")
run_gradle() {
if [ ! -d "${gradle_version_dir}/${v_found}" ]; then
download_gradle ${v_found}
fi
# shellcheck disable=SC2145
echo "Running ${gradle_version_dir}/${v_found}/bin/gradle ${args[@]}"
"${gradle_version_dir}/${v_found}/bin/gradle" "${args[@]}"
exit $?
}
download_gradle() {
URL="https://downloads.gradle.org/distributions/gradle-${1}-bin.zip"
shasum=$(get_sha $1)
if [ $? != 0 ]; then
echo "No hash for gradle version $1! Exiting..."
exit 1
fi
if [ -n "${cachedir}" ] && [ -e "${cachedir}/gradle-$1-bin.zip" ]; then
echo "Using cached ${cachedir}/gradle-$1-bin.zip ..."
gradle_zip="${cachedir}/gradle-$1-bin.zip"
else
echo "Downloading missing gradle version $1"
echo cachedir $cachedir
if [[ -n "${cachedir}" && ! -d "${cachedir}" ]]; then
mkdir -p "${cachedir}"
fi
if [[ -n "${cachedir}" && -d "${cachedir}" && -w "${cachedir}" ]]; then
tmpdir="${cachedir}"
else
tmpdir=$(mktemp -d)
fi
curl -o "${tmpdir}/gradle-$1-bin.zip" --silent --fail --show-error --location --retry 3 --retry-all-errors "${URL}"
gradle_zip="${tmpdir}/gradle-$1-bin.zip"
fi
echo "${shasum} ${gradle_zip}" | sha256sum -c -
if [ $? != 0 ]; then
echo "gradle download checksum mismatch! Exiting..."
exit 1
fi
mkdir -p "${gradle_version_dir}/"
unzip -q -d "${gradle_version_dir}" "${gradle_zip}"
mv "${gradle_version_dir}/gradle-$1" "${gradle_version_dir}/${v_found}"
}
get_sha() {
case $1 in
'0.7') echo '4e354fcb0d5c0b0e7789cd6ee900456edaf993f6dd890c4a1c217d90d2a6a6ad' ;;
'0.8') echo '940e623ea98e40ea9ad398770a6ebb91a61c0869d394dda81aa86b0f4f0025e7' ;;
'0.9') echo '994e46d4b467254a0f25ce92b602618331b9b3ac8b32a094fd84ff0e0ceec135' ;;
'0.9.1') echo '5d48cba95db031ec109ae9ab60561e960b6507046036e8191aa78572ec27e2a5' ;;
'0.9.2') echo 'f94d7642348c558fc05ab5fd6fb947fb1ed8fed5931ddb73dd04fb0de22d669b' ;;
'1.0') echo '894bca0360a7e2040815096788f118a2dd106ff6694221b274efb9c32bce0384' ;;
'1.1') echo '552c1fc9f3a1b9668b79cc447370f0263e664ffb6d5c6e1c21e77ce0c8a20d4c' ;;
'1.2') echo 'eb53da3704d24cabb7565f34a3bf16bcd863c4b0c139917606fb15d4f27c7bdf' ;;
'1.3') echo 'ada68561efbb9f1cae0f9063974cbde15c180351a2f92bc2f1106e39ddcae5ba' ;;
'1.4') echo 'cd99e85fbcd0ae8b99e81c9992a2f10cceb7b5f009c3720ef3a0078f4f92e94e' ;;
'1.5') echo 'a5511a0659caa47d9d74fd2844c9da43157d2f78e63a0223c6289d88f5aaecbe' ;;
'1.6') echo 'de3e89d2113923dcc2e0def62d69be0947ceac910abd38b75ec333230183fac4' ;;
'1.7') echo '360c97d51621b5a1ecf66748c718594e5f790ae4fbc1499543e0c006033c9d30' ;;
'1.8') echo 'a342bbfa15fd18e2482287da4959588f45a41b60910970a16e6d97959aea5703' ;;
'1.9') echo '097ddc2bcbc9da2bb08cbf6bf8079585e35ad088bafd42e8716bc96405db98e9' ;;
'1.10') echo '6e6db4fc595f27ceda059d23693b6f6848583950606112b37dfd0e97a0a0a4fe' ;;
'1.11') echo '07e235df824964f0e19e73ea2327ce345c44bcd06d44a0123d29ab287fc34091' ;;
'1.12') echo '8734b13a401f4311ee418173ed6ca8662d2b0a535be8ff2a43ecb1c13cd406ea' ;;
'2.0') echo 'a1eb880c8755333c4d33c4351b269bebe517002532d3142c0b6164c9e8c081c3' ;;
'2.1') echo '3eee4f9ea2ab0221b89f8e4747a96d4554d00ae46d8d633f11cfda60988bf878' ;;
'2.2') echo '91e5655fe11ef414449f218c4fa2985b3a49b7903c57556da109c84fa26e1dfb' ;;
'2.2.1') echo '420aa50738299327b611c10b8304b749e8d3a579407ee9e755b15921d95ff418' ;;
'2.3') echo '010dd9f31849abc3d5644e282943b1c1c355f8e2635c5789833979ce590a3774' ;;
'2.4') echo 'c4eaecc621a81f567ded1aede4a5ddb281cc02a03a6a87c4f5502add8fc2f16f' ;;
'2.5') echo '3f953e0cb14bb3f9ebbe11946e84071547bf5dfd575d90cfe9cc4e788da38555' ;;
'2.6') echo '18a98c560af231dfa0d3f8e0802c20103ae986f12428bb0a6f5396e8f14e9c83' ;;
'2.7') echo 'cde43b90945b5304c43ee36e58aab4cc6fb3a3d5f9bd9449bb1709a68371cb06' ;;
'2.8') echo 'a88db9c2f104defdaa8011c58cf6cda6c114298ae3695ecfb8beb30da3a903cb' ;;
'2.9') echo 'c9159ec4362284c0a38d73237e224deae6139cbde0db4f0f44e1c7691dd3de2f' ;;
'2.10') echo '66406247f745fc6f05ab382d3f8d3e120c339f34ef54b86f6dc5f6efc18fbb13' ;;
'2.11') echo '8d7437082356c9fd6309a4479c8db307673965546daea445c6c72759cd6b1ed6' ;;
'2.12') echo 'e77064981906cd0476ff1e0de3e6fef747bd18e140960f1915cca8ff6c33ab5c' ;;
'2.13') echo '0f665ec6a5a67865faf7ba0d825afb19c26705ea0597cec80dd191b0f2cbb664' ;;
'2.14') echo '993b4f33b652c689e9721917d8e021cab6bbd3eae81b39ab2fd46fdb19a928d5' ;;
'2.14.1') echo 'cfc61eda71f2d12a572822644ce13d2919407595c2aec3e3566d2aab6f97ef39' ;;
'3.0') echo '39c906941a474444afbddc38144ed44166825acb0a57b0551dddb04bbf157f80' ;;
'3.1') echo 'c7de3442432253525902f7e8d7eac8b5fd6ce1623f96d76916af6d0e383010fc' ;;
'3.2') echo '5321b36837226dc0377047a328f12010f42c7bf88ee4a3b1cee0c11040082935' ;;
'3.2.1') echo '9843a3654d3e57dce54db06d05f18b664b95c22bf90c6becccb61fc63ce60689' ;;
'3.3') echo 'c58650c278d8cf0696cab65108ae3c8d95eea9c1938e0eb8b997095d5ca9a292' ;;
'3.4') echo '72d0cd4dcdd5e3be165eb7cd7bbd25cf8968baf400323d9ab1bba622c3f72205' ;;
'3.4.1') echo 'db1db193d479cc1202be843f17e4526660cfb0b21b57d62f3a87f88c878af9b2' ;;
'3.5') echo '0b7450798c190ff76b9f9a3d02e18b33d94553f708ebc08ebe09bdf99111d110' ;;
'3.5.1') echo '8dce35f52d4c7b4a4946df73aa2830e76ba7148850753d8b5e94c5dc325ceef8' ;;
'4.0') echo '56bd2dde29ba2a93903c557da1745cafd72cdd8b6b0b83c05a40ed7896b79dfe' ;;
'4.0.1') echo 'd717e46200d1359893f891dab047fdab98784143ac76861b53c50dbd03b44fd4' ;;
'4.0.2') echo '79ac421342bd11f6a4f404e0988baa9c1f5fabf07e3c6fa65b0c15c1c31dda22' ;;
'4.1') echo 'd55dfa9cfb5a3da86a1c9e75bb0b9507f9a8c8c100793ccec7beb6e259f9ed43' ;;
'4.2') echo '515dd63d32e55a9c05667809c5e40a947529de3054444ad274b3b75af5582eae' ;;
'4.2.1') echo 'b551cc04f2ca51c78dd14edb060621f0e5439bdfafa6fd167032a09ac708fbc0' ;;
'4.3') echo '8dcbf44eef92575b475dcb1ce12b5f19d38dc79e84c662670248dc8b8247654c' ;;
'4.3.1') echo '15ebe098ce0392a2d06d252bff24143cc88c4e963346582c8d88814758d93ac7' ;;
'4.4') echo 'fa4873ae2c7f5e8c02ec6948ba95848cedced6134772a0169718eadcb39e0a2f' ;;
'4.4.1') echo 'e7cf7d1853dfc30c1c44f571d3919eeeedef002823b66b6a988d27e919686389' ;;
'4.5') echo '03f2a43a314ff0fb843a85ef68078e06d181c4549c1e5fb983f289382b59b5e3' ;;
'4.5.1') echo '3e2ea0d8b96605b7c528768f646e0975bd9822f06df1f04a64fd279b1a17805e' ;;
'4.6') echo '98bd5fd2b30e070517e03c51cbb32beee3e2ee1a84003a5a5d748996d4b1b915' ;;
'4.7') echo 'fca5087dc8b50c64655c000989635664a73b11b9bd3703c7d6cabd31b7dcdb04' ;;
'4.8') echo 'f3e29692a8faa94eb0b02ebf36fa263a642b3ae8694ef806c45c345b8683f1ba' ;;
'4.8.1') echo 'af334d994b5e69e439ab55b5d2b7d086da5ea6763d78054f49f147b06370ed71' ;;
'4.9') echo 'e66e69dce8173dd2004b39ba93586a184628bc6c28461bc771d6835f7f9b0d28' ;;
'4.10') echo '248cfd92104ce12c5431ddb8309cf713fe58de8e330c63176543320022f59f18' ;;
'4.10.1') echo 'e53ce3a01cf016b5d294eef20977ad4e3c13e761ac1e475f1ffad4c6141a92bd' ;;
'4.10.2') echo 'b49c6da1b2cb67a0caf6c7480630b51c70a11ca2016ff2f555eaeda863143a29' ;;
'4.10.3') echo '8626cbf206b4e201ade7b87779090690447054bc93f052954c78480fa6ed186e' ;;
'5.0') echo '6157ac9f3410bc63644625b3b3e9e96c963afd7910ae0697792db57813ee79a6' ;;
'5.1') echo '7506638a380092a0406364c79d6c87d03d23017fc25a5770379d1ce23c3fcd4d' ;;
'5.1.1') echo '4953323605c5d7b89e97d0dc7779e275bccedefcdac090aec123375eae0cc798' ;;
'5.2') echo 'ff322863250159595e93b5a4d17a6f0d21c59a1a0497c1e1cf1d53826485503f' ;;
'5.2.1') echo '748c33ff8d216736723be4037085b8dc342c6a0f309081acf682c9803e407357' ;;
'5.3') echo 'bed2bdd3955be5a09ca7e0201e9d131f194f7f6c466e1795a733733ccfb09f25' ;;
'5.3.1') echo '1c59a17a054e9c82f0dd881871c9646e943ec4c71dd52ebc6137d17f82337436' ;;
'5.4') echo 'c8c17574245ecee9ed7fe4f6b593b696d1692d1adbfef425bef9b333e3a0e8de' ;;
'5.4.1') echo '7bdbad1e4f54f13c8a78abc00c26d44dd8709d4aedb704d913fb1bb78ac025dc' ;;
'5.5') echo '8d78b2ed63e7f07ad169c1186d119761c4773e681f332cfe1901045b1b0141bc' ;;
'5.5.1') echo '222a03fcf2fcaf3691767ce9549f78ebd4a77e73f9e23a396899fb70b420cd00' ;;
'5.6') echo '15c02ef5dd3631ec02ac52e8725703e0285d9a7eecbf4e5939aa9e924604d01d' ;;
'5.6.1') echo '0986244820e4a35d32d91df2ec4b768b5ba5d6c8246753794f85159f9963ec12' ;;
'5.6.2') echo '32fce6628848f799b0ad3205ae8db67d0d828c10ffe62b748a7c0d9f4a5d9ee0' ;;
'5.6.3') echo '60a6d8f687e3e7a4bc901cc6bc3db190efae0f02f0cc697e323e0f9336f224a3' ;;
'5.6.4') echo '1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d' ;;
'6.0') echo '5a3578b9f0bb162f5e08cf119f447dfb8fa950cedebb4d2a977e912a11a74b91' ;;
'6.0.1') echo 'd364b7098b9f2e58579a3603dc0a12a1991353ac58ed339316e6762b21efba44' ;;
'6.1') echo 'd0c43d14e1c70a48b82442f435d06186351a2d290d72afd5b8866f15e6d7038a' ;;
'6.1.1') echo '9d94e6e4a28ad328072ef6e56bce79a810494ae756751fdcedffdeaf27c093b1' ;;
'6.2') echo 'b93a5f30d01195ec201e240f029c8b42d59c24086b8d1864112c83558e23cf8a' ;;
'6.2.1') echo 'a68ca7ba57f3404c3f6fc1f70a02d3a7d78652e6b46bbfaff83fc9a17168c279' ;;
'6.2.2') echo '0f6ba231b986276d8221d7a870b4d98e0df76e6daf1f42e7c0baec5032fb7d17' ;;
'6.3') echo '038794feef1f4745c6347107b6726279d1c824f3fc634b60f86ace1e9fbd1768' ;;
'6.4') echo 'b888659f637887e759749f6226ddfcb1cb04f828c58c41279de73c463fdbacc9' ;;
'6.4.1') echo 'e58cdff0cee6d9b422dcd08ebeb3177bc44eaa09bd9a2e838ff74c408fe1cbcd' ;;
'6.5') echo '23e7d37e9bb4f8dabb8a3ea7fdee9dd0428b9b1a71d298aefd65b11dccea220f' ;;
'6.5.1') echo '50a7d30529fa939721fe9268a0205142f3f2302bcac5fb45b27a3902e58db54a' ;;
'6.6') echo 'e6f83508f0970452f56197f610d13c5f593baaf43c0e3c6a571e5967be754025' ;;
'6.6.1') echo '7873ed5287f47ca03549ab8dcb6dc877ac7f0e3d7b1eb12685161d10080910ac' ;;
'6.7') echo '8ad57759019a9233dc7dc4d1a530cefe109dc122000d57f7e623f8cf4ba9dfc4' ;;
'6.7.1') echo '3239b5ed86c3838a37d983ac100573f64c1f3fd8e1eb6c89fa5f9529b5ec091d' ;;
'6.8') echo 'e2774e6fb77c43657decde25542dea710aafd78c4022d19b196e7e78d79d8c6c' ;;
'6.8.1') echo 'fd591a34af7385730970399f473afabdb8b28d57fd97d6625c388d090039d6fd' ;;
'6.8.2') echo '8de6efc274ab52332a9c820366dd5cf5fc9d35ec7078fd70c8ec6913431ee610' ;;
'6.8.3') echo '7faa7198769f872826c8ef4f1450f839ec27f0b4d5d1e51bade63667cbccd205' ;;
'6.9') echo '765442b8069c6bee2ea70713861c027587591c6b1df2c857a23361512560894e' ;;
'6.9.1') echo '8c12154228a502b784f451179846e518733cf856efc7d45b2e6691012977b2fe' ;;
'6.9.2') echo '8b356fd8702d5ffa2e066ed0be45a023a779bba4dd1a68fd11bc2a6bdc981e8f' ;;
'6.9.3') echo 'dcf350b8ae1aa192fc299aed6efc77b43825d4fedb224c94118ae7faf5fb035d' ;;
'6.9.4') echo '3e240228538de9f18772a574e99a0ba959e83d6ef351014381acd9631781389a' ;;
'7.0') echo 'eb8b89184261025b0430f5b2233701ff1377f96da1ef5e278af6ae8bac5cc305' ;;
'7.0.1') echo 'dccda8aa069563c8ba2f6cdfd0777df0e34a5b4d15138ca8b9757e94f4e8a8cb' ;;
'7.0.2') echo '0e46229820205440b48a5501122002842b82886e76af35f0f3a069243dca4b3c' ;;
'7.1') echo '2debee19271e1b82c6e41137d78e44e6e841035230a1a169ca47fd3fb09ed87b' ;;
'7.1.1') echo 'bf8b869948901d422e9bb7d1fa61da6a6e19411baa7ad6ee929073df85d6365d' ;;
'7.2') echo 'f581709a9c35e9cb92e16f585d2c4bc99b2b1a5f85d2badbd3dc6bff59e1e6dd' ;;
'7.3') echo 'de8f52ad49bdc759164f72439a3bf56ddb1589c4cde802d3cec7d6ad0e0ee410' ;;
'7.3.1') echo '9afb3ca688fc12c761a0e9e4321e4d24e977a4a8916c8a768b1fe05ddb4d6b66' ;;
'7.3.2') echo '23b89f8eac363f5f4b8336e0530c7295c55b728a9caa5268fdd4a532610d5392' ;;
'7.3.3') echo 'b586e04868a22fd817c8971330fec37e298f3242eb85c374181b12d637f80302' ;;
'7.4') echo '8cc27038d5dbd815759851ba53e70cf62e481b87494cc97cfd97982ada5ba634' ;;
'7.4.1') echo 'e5444a57cda4a95f90b0c9446a9e1b47d3d7f69057765bfb54bd4f482542d548' ;;
'7.4.2') echo '29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda' ;;
'7.5') echo 'cb87f222c5585bd46838ad4db78463a5c5f3d336e5e2b98dc7c0c586527351c2' ;;
'7.5.1') echo 'f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4' ;;
'7.6') echo '7ba68c54029790ab444b39d7e293d3236b2632631fb5f2e012bb28b4ff669e4b' ;;
'7.6.1') echo '6147605a23b4eff6c334927a86ff3508cb5d6722cd624c97ded4c2e8640f1f87' ;;
'7.6.2') echo 'a01b6587e15fe7ed120a0ee299c25982a1eee045abd6a9dd5e216b2f628ef9ac' ;;
'7.6.3') echo '740c2e472ee4326c33bf75a5c9f5cd1e69ecf3f9b580f6e236c86d1f3d98cfac' ;;
'7.6.4') echo 'bed1da33cca0f557ab13691c77f38bb67388119e4794d113e051039b80af9bb1' ;;
'7.6.5') echo 'b812fec0edb7d27e0ae35955887bb2954536fa3e44edaf481150da058e154d9a' ;;
'8.0') echo '4159b938ec734a8388ce03f52aa8f3c7ed0d31f5438622545de4f83a89b79788' ;;
'8.0.1') echo '1b6b558be93f29438d3df94b7dfee02e794b94d9aca4611a92cdb79b6b88e909' ;;
'8.0.2') echo 'ff7bf6a86f09b9b2c40bb8f48b25fc19cf2b2664fd1d220cd7ab833ec758d0d7' ;;
'8.1') echo 'a62c5f99585dd9e1f95dab7b9415a0e698fa9dd1e6c38537faa81ac078f4d23e' ;;
'8.1.1') echo 'e111cb9948407e26351227dabce49822fb88c37ee72f1d1582a69c68af2e702f' ;;
'8.2') echo '38f66cd6eef217b4c35855bb11ea4e9fbc53594ccccb5fb82dfd317ef8c2c5a3' ;;
'8.2.1') echo '03ec176d388f2aa99defcadc3ac6adf8dd2bce5145a129659537c0874dea5ad1' ;;
'8.3') echo '591855b517fc635b9e04de1d05d5e76ada3f89f5fc76f87978d1b245b4f69225' ;;
'8.4') echo '3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae' ;;
'8.5') echo '9d926787066a081739e8200858338b4a69e837c3a821a33aca9db09dd4a41026' ;;
'8.6') echo '9631d53cf3e74bfa726893aee1f8994fee4e060c401335946dba2156f440f24c' ;;
'8.7') echo '544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d' ;;
'8.8') echo 'a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612' ;;
'8.9') echo 'd725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab' ;;
'8.10') echo '5b9c5eb3f9fc2c94abaea57d90bd78747ca117ddbbf96c859d3741181a12bf2a' ;;
'8.10.1') echo '1541fa36599e12857140465f3c91a97409b4512501c26f9631fb113e392c5bd1' ;;
'8.10.2') echo '31c55713e40233a8303827ceb42ca48a47267a0ad4bab9177123121e71524c26' ;;
'8.11') echo '57dafb5c2622c6cc08b993c85b7c06956a2f53536432a30ead46166dbca0f1e9' ;;
'8.11.1') echo 'f397b287023acdba1e9f6fc5ea72d22dd63669d59ed4a289a29b1a76eee151c6' ;;
'8.12') echo '7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03' ;;
'8.12.1') echo '8d97a97984f6cbd2b85fe4c60a743440a347544bf18818048e611f5288d46c94' ;;
'8.13') echo '20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78' ;;
'8.14') echo '61ad310d3c7d3e5da131b76bbf22b5a4c0786e9d892dae8c1658d4b484de3caa' ;;
'8.14.1') echo '845952a9d6afa783db70bb3b0effaae45ae5542ca2bb7929619e8af49cb634cf' ;;
'8.14.2') echo '7197a12f450794931532469d4ff21a59ea2c1cd59a3ec3f89c035c3c420a6999' ;;
*) exit 1
esac
}
contains() {
local e
for e in $2; do
[[ $e == $1 ]] && return 0;
done
return 1
}
# key-value pairs of what gradle version (value) each gradle plugin version
# (key) should accept. plugin versions are actually prefixes and catch sub-
# versions as well. Pairs are taken from:
# https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
d_gradle_plugin_ver_k=(8.9 8.8 8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0 7.4 7.3 7.2 7.1 7.0 4.2 4.1 4.0 3.6 3.5 3.4 3.3 3.2 3.1 3.0 2.3 2.2 2.1.3 2.1 2.0)
d_plugin_min_gradle_v=(8.11.1 8.10.2 8.9 8.7 8.7 8.6 8.4 8.2 8.0 8.0 7.5 7.4 7.3.3 7.2 7.0.2 6.7.1 6.5 6.1.1 5.6.4 5.4.1 5.1.1 4.10.1 4.6 4.4 4.1 3.3 2.14.1 2.14.1 2.12 2.12)
# All gradle versions we know about
plugin_v=(8.14.2 8.14.1 8.14 8.13 8.12.1 8.12 8.11.1 8.11 8.10.2 8.10.1 8.10 8.9 8.8 8.7 8.6 8.5 8.4 8.3 8.2.1 8.2 8.1.1 8.1 8.0.2 8.0.1 8.0 7.6.5 7.6.4 7.6.3 7.6.2 7.6.1 7.6 7.5.1 7.5 7.4.2 7.4.1 7.4 7.3.3 7.3.2 7.3.1 7.3 7.2 7.1.1 7.1 7.0.2 7.0.1 7.0 6.9.4 6.9.3 6.9.2 6.9.1 6.9 6.8.3 6.8.2 6.8.1 6.8 6.7.1 6.7 6.6.1 6.6 6.5.1 6.5 6.4.1 6.4 6.3 6.2.2 6.2.1 6.2 6.1.1 6.1 6.0.1 6.0 5.6.4 5.6.3 5.6.2 5.6.1 5.6 5.5.1 5.5 5.4.1 5.4 5.3.1 5.3 5.2.1 5.2 5.1.1 5.1 5.0 4.10.3 4.10.2 4.10.1 4.10 4.9 4.8.1 4.8 4.7 4.6 4.5.1 4.5 4.4.1 4.4 4.3.1 4.3 4.2.1 4.2 4.1 4.0.2 4.0.1 4.0 3.5.1 3.5 3.4.1 3.4 3.3 3.2.1 3.2 3.1 3.0 2.14.1 2.14 2.13 2.12 2.11 2.10 2.9 2.8 2.7 2.6 2.5 2.4 2.3 2.2.1 2.2 2.1 2.0 1.12 1.11 1.10 1.9 1.8 1.7 1.6 1.5 1.4 1.3 1.2 1.1 1.0 0.9.2 0.9.1 0.9 0.8 0.7)
v_all=${plugin_v[@]}
# Earliest file takes priority
# Last key takes priority if there are duplicates (matching java.util.Properties)
for f in {.,..,../..}/gradle/wrapper/gradle-wrapper.properties; do
[[ -f $f ]] || continue
while IFS='' read -r line || [ -n "$line" ]; do
line=$(printf "$line" | tr -d '\r') # strip Windows linefeeds
if [[ $line == 'distributionUrl='* ]]; then
wrapper_ver=${line#*/gradle-}
wrapper_ver=${wrapper_ver%-*.zip}
fi
done < $f
[[ -n $wrapper_ver ]] && break
done
if [[ -n $wrapper_ver ]]; then
v_found=$wrapper_ver
echo "Found $v_found via distributionUrl"
run_gradle
fi
# Earliest takes priority
for f in {.,..}/build.gradle{,.kts}; do
[[ -f $f ]] || continue
while IFS='' read -r line || [ -n "$line" ]; do
line=$(printf "$line" | tr -d '\r') # strip Windows linefeeds
if [[ -z "$plugin_pver" && $line == *'com.android.tools.build:gradle:'* ]]; then
plugin_pver=${line#*[\'\"]com.android.tools.build:gradle:}
plugin_pver=${plugin_pver%[\'\"]*}
elif [[ -z "$wrapper_ver" && $line == *'gradleVersion = '* ]]; then
wrapper_ver=${line#*gradleVersion*=*[\'\"]}
wrapper_ver=${wrapper_ver%[\'\"]*}
fi
done < $f
done
if [[ -n $wrapper_ver ]]; then
v_found=$wrapper_ver
echo "Found $v_found via gradleVersion"
run_gradle
fi
if [[ -n $plugin_pver ]]; then
i=0
match=false
for k in "${d_gradle_plugin_ver_k[@]}"; do
if [[ $plugin_pver == ${k}* ]]; then
plugin_ver=${d_plugin_min_gradle_v[$i]}
match=true
break
fi
let i++
done
if $match; then
v_found=$plugin_ver
echo "Found $v_found via gradle plugin version $k"
fi
fi
# Find the highest version available
for v in ${plugin_v[*]}; do
if contains $v "${v_all[*]}"; then
v_def=$v
break
fi
done
if [[ -z $v_found ]]; then
echo "No suitable gradle version found - defaulting to $v_def"
v_found=$v_def
fi
run_gradle

View file

@ -11,7 +11,7 @@ if [ -z "$files" ]; then
PY_FILES="fdroid makebuildserver setup.py fdroidserver/*.py examples/*.py tests/*-release-checksums.py" PY_FILES="fdroid makebuildserver setup.py fdroidserver/*.py examples/*.py tests/*-release-checksums.py"
PY_TEST_FILES="tests/test_*.py" PY_TEST_FILES="tests/test_*.py"
SH_FILES="hooks/pre-commit" SH_FILES="hooks/pre-commit"
BASH_FILES="gradlew-fdroid jenkins-build-all jenkins-setup-build-environment jenkins-test completion/bash-completion buildserver/provision-*" BASH_FILES="jenkins-build-all jenkins-setup-build-environment jenkins-test completion/bash-completion buildserver/provision-*"
RB_FILES="buildserver/Vagrantfile" RB_FILES="buildserver/Vagrantfile"
YML_FILES=".*.yml .yamllint */*.yml */*.yaml" YML_FILES=".*.yml .yamllint */*.yml */*.yaml"
else else

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.2.1-143-g1a5ee449\n" "Project-Id-Version: fdroidserver 2.2.1-143-g1a5ee449\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2023-05-26 19:39+0000\n" "PO-Revision-Date: 2023-05-26 19:39+0000\n"
"Last-Translator: Mehrab Poladov <thepoladov@protonmail.com>\n" "Last-Translator: Mehrab Poladov <thepoladov@protonmail.com>\n"
"Language-Team: Azerbaijani <https://hosted.weblate.org/projects/f-droid/fdroidserver/az/>\n" "Language-Team: Azerbaijani <https://hosted.weblate.org/projects/f-droid/fdroidserver/az/>\n"
@ -353,6 +353,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1478,6 +1483,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1991,6 +2001,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

File diff suppressed because it is too large Load diff

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.2.1-143-g1a5ee449\n" "Project-Id-Version: fdroidserver 2.2.1-143-g1a5ee449\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-01-21 00:08+0000\n" "PO-Revision-Date: 2024-01-21 00:08+0000\n"
"Last-Translator: flac <flac_twin@keemail.me>\n" "Last-Translator: flac <flac_twin@keemail.me>\n"
"Language-Team: Belarusian <https://hosted.weblate.org/projects/f-droid/fdroidserver/be/>\n" "Language-Team: Belarusian <https://hosted.weblate.org/projects/f-droid/fdroidserver/be/>\n"
@ -358,6 +358,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1483,6 +1488,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Перайменуйце файлы APK, якія не адпавядаюць package.name_123.apk" msgstr "Перайменуйце файлы APK, якія не адпавядаюць package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1996,6 +2006,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Папярэджваць аб магчымых памылках метададзеных" msgstr "Папярэджваць аб магчымых памылках метададзеных"

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.1b0\n" "Project-Id-Version: fdroidserver 2.1b0\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-07-19 10:21+0000\n" "PO-Revision-Date: 2024-07-19 10:21+0000\n"
"Last-Translator: 109247019824 <stoyan@gmx.com>\n" "Last-Translator: 109247019824 <stoyan@gmx.com>\n"
"Language-Team: Bulgarian <https://hosted.weblate.org/projects/f-droid/fdroidserver/bg/>\n" "Language-Team: Bulgarian <https://hosted.weblate.org/projects/f-droid/fdroidserver/bg/>\n"
@ -354,6 +354,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1479,6 +1484,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1992,6 +2002,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.6-70-g54bc858\n" "Project-Id-Version: fdroidserver 1.0.6-70-g54bc858\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2021-02-12 09:48+0000\n" "PO-Revision-Date: 2021-02-12 09:48+0000\n"
"Last-Translator: Oymate <dhruboadittya96@gmail.com>\n" "Last-Translator: Oymate <dhruboadittya96@gmail.com>\n"
"Language-Team: Bengali <https://hosted.weblate.org/projects/f-droid/fdroidserver/bn/>\n" "Language-Team: Bengali <https://hosted.weblate.org/projects/f-droid/fdroidserver/bn/>\n"
@ -353,6 +353,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1478,6 +1483,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1991,6 +2001,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-04-10 13:33+0000\n" "PO-Revision-Date: 2024-04-10 13:33+0000\n"
"Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n" "Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n"
"Language-Team: Tibetan <https://hosted.weblate.org/projects/f-droid/fdroidserver/bo/>\n" "Language-Team: Tibetan <https://hosted.weblate.org/projects/f-droid/fdroidserver/bo/>\n"
@ -358,6 +358,11 @@ msgid "Can't build due to {} error while scanning"
msgid_plural "Can't build due to {} errors while scanning" msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "ཚགས་རྒྱབ་པའི་སྐབས་སུ་ནོར་སྐྱོན་ {} ཤོར་བས་བཟོ་སྐྲུན་བྱེད་ཐུབ་མེད།" msgstr[0] "ཚགས་རྒྱབ་པའི་སྐབས་སུ་ནོར་སྐྱོན་ {} ཤོར་བས་བཟོ་སྐྲུན་བྱེད་ཐུབ་མེད།"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "ཀློག་མི་ཐུབ།{path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1499,6 +1504,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "package.name_123.apk དང་མི་འདྲ་བའི་APK ཡིག་ཆ་དེ་ཚོར་མིང་སྐྱར་ཏུ་བཏགས།" msgstr "package.name_123.apk དང་མི་འདྲ་བའི་APK ཡིག་ཆ་དེ་ཚོར་མིང་སྐྱར་ཏུ་བཏགས།"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2015,6 +2025,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "ཡིག་ཚགས་ཀྱི་རྒྱབ་ལྗོངས་ལོ་རྒྱུས་སྐྱོན་སྲིད་པ་རྣམས་པ་ཉེན་བརྡ་གཏོང་།" msgstr "ཡིག་ཚགས་ཀྱི་རྒྱབ་ལྗོངས་ལོ་རྒྱུས་སྐྱོན་སྲིད་པ་རྣམས་པ་ཉེན་བརྡ་གཏོང་།"

View file

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.1-273-g54e84d87\n" "Project-Id-Version: fdroidserver 2.1-273-g54e84d87\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-05-16 16:36+0000\n" "PO-Revision-Date: 2025-05-16 16:36+0000\n"
"Last-Translator: Ecron <ecron_89@hotmail.com>\n" "Last-Translator: Ecron <ecron_89@hotmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/f-droid/fdroidserver/ca/>\n" "Language-Team: Catalan <https://hosted.weblate.org/projects/f-droid/fdroidserver/ca/>\n"
@ -363,6 +363,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "No es pot construir a causa d'un error {} en escanejar" msgstr[0] "No es pot construir a causa d'un error {} en escanejar"
msgstr[1] "No es pot construir a causa d'errors {} en escanejar" msgstr[1] "No es pot construir a causa d'errors {} en escanejar"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "No s'ha pogut llegir {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1490,6 +1495,11 @@ msgstr "S'està suprimint {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Canvia el nom dels fitxers APK que no coincideixin amb package.name_123.apk" msgstr "Canvia el nom dels fitxers APK que no coincideixin amb package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2010,6 +2020,10 @@ msgstr "S'està verificant el paquet {path} l'apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "La clau de l'API VirusTotal no pot pujar fitxers més grans de 32 MB, utilitzeu {url} per pujar {path}." msgstr "La clau de l'API VirusTotal no pot pujar fitxers més grans de 32 MB, utilitzeu {url} per pujar {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Avisa de possibles errors a les metadades" msgstr "Avisa de possibles errors a les metadades"

View file

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n" "Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-03-26 10:00+0000\n" "PO-Revision-Date: 2025-03-26 10:00+0000\n"
"Last-Translator: Fjuro <fjuro@users.noreply.hosted.weblate.org>\n" "Last-Translator: Fjuro <fjuro@users.noreply.hosted.weblate.org>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/f-droid/fdroidserver/cs/>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/f-droid/fdroidserver/cs/>\n"
@ -366,6 +366,11 @@ msgstr[0] "Nelze sestavit kvůli {} chybě při skenování"
msgstr[1] "Nelze sestavit kvůli {} chybám při skenování" msgstr[1] "Nelze sestavit kvůli {} chybám při skenování"
msgstr[2] "Nelze sestavit kvůli {} chybám při skenování" msgstr[2] "Nelze sestavit kvůli {} chybám při skenování"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Chyba při čtení {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1493,6 +1498,11 @@ msgstr "Odebírání {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Přejmenovat soubory APK, které se neshodují s package.name_123.apk" msgstr "Přejmenovat soubory APK, které se neshodují s package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2014,6 +2024,10 @@ msgstr "Ověřování balíčku {path} pomocí apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "Klíč API VirusTotal neumožňuje nahrávání souborů větších než 32 MB, k nahrání {path} použijte {url}." msgstr "Klíč API VirusTotal neumožňuje nahrávání souborů větších než 32 MB, k nahrání {path} použijte {url}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Varovat ohledně možných chyb metadat" msgstr "Varovat ohledně možných chyb metadat"

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.0a5-27-gf24eae0f\n" "Project-Id-Version: fdroidserver 2.0a5-27-gf24eae0f\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2021-01-16 21:23+0000\n" "PO-Revision-Date: 2021-01-16 21:23+0000\n"
"Last-Translator: Aled Powell <aled@aledpowell.cymru>\n" "Last-Translator: Aled Powell <aled@aledpowell.cymru>\n"
"Language-Team: Welsh <https://hosted.weblate.org/projects/f-droid/fdroidserver/cy/>\n" "Language-Team: Welsh <https://hosted.weblate.org/projects/f-droid/fdroidserver/cy/>\n"
@ -357,6 +357,11 @@ msgstr[3] ""
msgstr[4] "" msgstr[4] ""
msgstr[5] "" msgstr[5] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1482,6 +1487,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Ailenwi ffeiliau APK na sy'n dilyn y ffurf package.name_123.apk" msgstr "Ailenwi ffeiliau APK na sy'n dilyn y ffurf package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2006,6 +2016,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Rhybuddio am wallau metaddata posib" msgstr "Rhybuddio am wallau metaddata posib"

View file

@ -26,7 +26,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-04-29 10:16+0000\n" "PO-Revision-Date: 2025-04-29 10:16+0000\n"
"Last-Translator: VfBFan <drop0815@posteo.de>\n" "Last-Translator: VfBFan <drop0815@posteo.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/f-droid/fdroidserver/de/>\n" "Language-Team: German <https://hosted.weblate.org/projects/f-droid/fdroidserver/de/>\n"
@ -378,6 +378,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Kann nicht erstellt werden, da {} Fehler beim Prüfen aufgetreten ist" msgstr[0] "Kann nicht erstellt werden, da {} Fehler beim Prüfen aufgetreten ist"
msgstr[1] "Kann nicht erstellt werden, da {} Fehler beim Prüfen aufgetreten sind" msgstr[1] "Kann nicht erstellt werden, da {} Fehler beim Prüfen aufgetreten sind"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Lesen von {path} fehlgeschlagen: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1505,6 +1510,11 @@ msgstr "Entferne {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "APK-Dateien umbenennen, die nicht dem Muster „package.name_123.apk“ entsprechen" msgstr "APK-Dateien umbenennen, die nicht dem Muster „package.name_123.apk“ entsprechen"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2025,6 +2035,10 @@ msgstr "Überprüfen des Pakets {path} mit apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "VirusTotal-API-Schlüssel kann nicht Dateien größer 32MB hochladen, verwende {url} um {path} hochzuladen." msgstr "VirusTotal-API-Schlüssel kann nicht Dateien größer 32MB hochladen, verwende {url} um {path} hochzuladen."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Vor möglichen Metadaten-Fehlern warnen" msgstr "Vor möglichen Metadaten-Fehlern warnen"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.0a0-62-gc63c4b3d\n" "Project-Id-Version: fdroidserver 2.0a0-62-gc63c4b3d\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-05-10 13:24+0000\n" "PO-Revision-Date: 2024-05-10 13:24+0000\n"
"Last-Translator: ΣΤΑΥΡΟΣ ΔΑΛΙΑΚΟΠΟΥΛΟΣ <stavros.daliakopoulos@gmail.com>\n" "Last-Translator: ΣΤΑΥΡΟΣ ΔΑΛΙΑΚΟΠΟΥΛΟΣ <stavros.daliakopoulos@gmail.com>\n"
"Language-Team: Greek <https://hosted.weblate.org/projects/f-droid/fdroidserver/el/>\n" "Language-Team: Greek <https://hosted.weblate.org/projects/f-droid/fdroidserver/el/>\n"
@ -360,6 +360,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1485,6 +1490,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Μετονομασία αρχείων APK που δεν αντιστοιχούν με «όνομα.πακέτου_123.apk»" msgstr "Μετονομασία αρχείων APK που δεν αντιστοιχούν με «όνομα.πακέτου_123.apk»"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1998,6 +2008,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Προειδοποίηση για πιθανά σφάλματα μετα-δεδομένων" msgstr "Προειδοποίηση για πιθανά σφάλματα μετα-δεδομένων"

View file

@ -19,7 +19,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-06-24 11:02+0000\n" "PO-Revision-Date: 2025-06-24 11:02+0000\n"
"Last-Translator: Swyter <swyterzone@gmail.com>\n" "Last-Translator: Swyter <swyterzone@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/f-droid/fdroidserver/es/>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/f-droid/fdroidserver/es/>\n"
@ -371,6 +371,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "No se puede construir debido al error {} mientras se comprobaba" msgstr[0] "No se puede construir debido al error {} mientras se comprobaba"
msgstr[1] "No se puede construir debido a los errores {} mientras se comprobaba" msgstr[1] "No se puede construir debido a los errores {} mientras se comprobaba"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Fallo al leer {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1498,6 +1503,11 @@ msgstr "Eliminando {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Cambiar el nombre de archivos APK que no coinciden con el formato package.name_123.apk" msgstr "Cambiar el nombre de archivos APK que no coinciden con el formato package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2018,6 +2028,10 @@ msgstr "Verificando el paquete {path} con apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "La clave de API de VirusTotal no puede subir archivos mayores de 32MB. Use {url} para subir {path}." msgstr "La clave de API de VirusTotal no puede subir archivos mayores de 32MB. Use {url} para subir {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Alertar sobre posibles errores de metadatos" msgstr "Alertar sobre posibles errores de metadatos"

View file

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2021-04-10 21:26+0000\n" "PO-Revision-Date: 2021-04-10 21:26+0000\n"
"Last-Translator: Germe the fur star <FOSSgerme.deb@tuta.io>\n" "Last-Translator: Germe the fur star <FOSSgerme.deb@tuta.io>\n"
"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/f-droid/fdroidserver/es_AR/>\n" "Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects/f-droid/fdroidserver/es_AR/>\n"
@ -361,6 +361,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "No se pudo empaquetar debido al {} error mientras se escaneaba" msgstr[0] "No se pudo empaquetar debido al {} error mientras se escaneaba"
msgstr[1] "No se pudo empaquetar debido a los {} errores mientras se escaneaba" msgstr[1] "No se pudo empaquetar debido a los {} errores mientras se escaneaba"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "No se puede reescribir \"{path}\""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1495,6 +1500,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Renombrar archivos APK que no corresponden a package.name_123.apk" msgstr "Renombrar archivos APK que no corresponden a package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2008,6 +2018,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Advertir sobre posibles errores en los metadatos" msgstr "Advertir sobre posibles errores en los metadatos"

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.6-349-g907c04ea\n" "Project-Id-Version: fdroidserver 1.0.6-349-g907c04ea\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2020-04-29 12:49+0000\n" "PO-Revision-Date: 2020-04-29 12:49+0000\n"
"Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n" "Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n"
"Language-Team: Spanish (Mexico) <https://hosted.weblate.org/projects/f-droid/fdroidserver/es_MX/>\n" "Language-Team: Spanish (Mexico) <https://hosted.weblate.org/projects/f-droid/fdroidserver/es_MX/>\n"
@ -354,6 +354,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1483,6 +1488,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1996,6 +2006,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.0a0-62-gc63c4b3d\n" "Project-Id-Version: fdroidserver 2.0a0-62-gc63c4b3d\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -352,6 +352,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1477,6 +1482,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1990,6 +2000,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-11-26 15:16+0000\n" "PO-Revision-Date: 2024-11-26 15:16+0000\n"
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n" "Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
"Language-Team: Persian <https://hosted.weblate.org/projects/f-droid/fdroidserver/fa/>\n" "Language-Team: Persian <https://hosted.weblate.org/projects/f-droid/fdroidserver/fa/>\n"
@ -356,6 +356,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "{path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1481,6 +1486,11 @@ msgstr "برداشتن {path}"
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1994,6 +2004,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -5,9 +5,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.4.0\n" "Project-Id-Version: fdroidserver 2.4.2-3-gdcb804f7\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -354,6 +354,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1479,6 +1484,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1992,6 +2002,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.0a0-62-gc63c4b3d\n" "Project-Id-Version: fdroidserver 2.0a0-62-gc63c4b3d\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-01-31 14:19+0000\n" "PO-Revision-Date: 2025-01-31 14:19+0000\n"
"Last-Translator: Ricky Tigg <ricky.tigg@gmail.com>\n" "Last-Translator: Ricky Tigg <ricky.tigg@gmail.com>\n"
"Language-Team: Finnish <https://hosted.weblate.org/projects/f-droid/fdroidserver/fi/>\n" "Language-Team: Finnish <https://hosted.weblate.org/projects/f-droid/fdroidserver/fi/>\n"
@ -355,6 +355,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1480,6 +1485,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1993,6 +2003,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -47,7 +47,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-04-11 17:20+0000\n" "PO-Revision-Date: 2025-04-11 17:20+0000\n"
"Last-Translator: Laurent FAVOLE <laurentfavole03@gmail.com>\n" "Last-Translator: Laurent FAVOLE <laurentfavole03@gmail.com>\n"
"Language-Team: French <https://hosted.weblate.org/projects/f-droid/fdroidserver/fr/>\n" "Language-Team: French <https://hosted.weblate.org/projects/f-droid/fdroidserver/fr/>\n"
@ -399,6 +399,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Build impossible à cause de l'erreur lors de l'analyse" msgstr[0] "Build impossible à cause de l'erreur lors de l'analyse"
msgstr[1] "Build impossible à cause des {} erreurs lors de l'analyse" msgstr[1] "Build impossible à cause des {} erreurs lors de l'analyse"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Erreur de lecture {path} : {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1526,6 +1531,11 @@ msgstr "Suppression de {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Renomme les fichiers APK dont le nom ne ressemble pas à nom.paquet_123.apk" msgstr "Renomme les fichiers APK dont le nom ne ressemble pas à nom.paquet_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2048,6 +2058,10 @@ msgstr "Vérification du paquet {path} avec apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "LAPI de VirusTotal ne permet pas denvoyer des fichiers plus grands que 32Mo, utilisez {url} pour envoyer {path}." msgstr "LAPI de VirusTotal ne permet pas denvoyer des fichiers plus grands que 32Mo, utilisez {url} pour envoyer {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Avertir de possibles erreurs dans les métadonnées" msgstr "Avertir de possibles erreurs dans les métadonnées"

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.0\n" "Project-Id-Version: fdroidserver 2.0\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2021-07-01 15:29+0000\n" "PO-Revision-Date: 2021-07-01 15:29+0000\n"
"Last-Translator: Vancha March <tjipkevdh@gmail.com>\n" "Last-Translator: Vancha March <tjipkevdh@gmail.com>\n"
"Language-Team: Frisian <https://hosted.weblate.org/projects/f-droid/fdroidserver/fy/>\n" "Language-Team: Frisian <https://hosted.weblate.org/projects/f-droid/fdroidserver/fy/>\n"
@ -353,6 +353,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1478,6 +1483,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1991,6 +2001,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.3a1-162-gfbb3cc59\n" "Project-Id-Version: fdroidserver 2.3a1-162-gfbb3cc59\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-03-27 19:35+0000\n" "PO-Revision-Date: 2025-03-27 19:35+0000\n"
"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>\n" "Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@gmail.com>\n"
"Language-Team: Irish <https://hosted.weblate.org/projects/f-droid/fdroidserver/ga/>\n" "Language-Team: Irish <https://hosted.weblate.org/projects/f-droid/fdroidserver/ga/>\n"
@ -360,6 +360,11 @@ msgstr[2] "Ní féidir tógáil de bharr {} earráidí agus an scanadh"
msgstr[3] "Ní féidir tógáil de bharr {} earráidí agus an scanadh" msgstr[3] "Ní féidir tógáil de bharr {} earráidí agus an scanadh"
msgstr[4] "Ní féidir tógáil de bharr {} earráidí agus an scanadh" msgstr[4] "Ní féidir tógáil de bharr {} earráidí agus an scanadh"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Theip ar léamh {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1487,6 +1492,11 @@ msgstr "Ag baint {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Athainmnigh comhaid APK nach bhfuil comhoiriúnach package.name_123.apk" msgstr "Athainmnigh comhaid APK nach bhfuil comhoiriúnach package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2010,6 +2020,10 @@ msgstr "Pacáiste {path} á fhíorú le apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "Ní féidir le heochair API VirusTotal comhaid níos mó ná 32MB a uaslódáil, úsáid {url} chun {path} a uaslódáil." msgstr "Ní féidir le heochair API VirusTotal comhaid níos mó ná 32MB a uaslódáil, úsáid {url} chun {path} a uaslódáil."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Tabhair rabhadh faoi earráidí meiteashonraí a d'fhéadfadh a bheith ann" msgstr "Tabhair rabhadh faoi earráidí meiteashonraí a d'fhéadfadh a bheith ann"

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.0a5-27-gf24eae0f\n" "Project-Id-Version: fdroidserver 2.0a5-27-gf24eae0f\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2023-02-22 11:24+0000\n" "PO-Revision-Date: 2023-02-22 11:24+0000\n"
"Last-Translator: Saurmandal <saurmandal@protonmail.com>\n" "Last-Translator: Saurmandal <saurmandal@protonmail.com>\n"
"Language-Team: Hindi <https://hosted.weblate.org/projects/f-droid/fdroidserver/hi/>\n" "Language-Team: Hindi <https://hosted.weblate.org/projects/f-droid/fdroidserver/hi/>\n"
@ -354,6 +354,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1479,6 +1484,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1992,6 +2002,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.6-70-g54bc858\n" "Project-Id-Version: fdroidserver 1.0.6-70-g54bc858\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-04-10 13:33+0000\n" "PO-Revision-Date: 2024-04-10 13:33+0000\n"
"Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n" "Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/f-droid/fdroidserver/hu/>\n" "Language-Team: Hungarian <https://hosted.weblate.org/projects/f-droid/fdroidserver/hu/>\n"
@ -359,6 +359,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Nem lehet összeállítani, mert {} hiba történt az átvizsgáláskor" msgstr[0] "Nem lehet összeállítani, mert {} hiba történt az átvizsgáláskor"
msgstr[1] "Nem lehet összeállítani, mert {} hiba történt az átvizsgáláskor" msgstr[1] "Nem lehet összeállítani, mert {} hiba történt az átvizsgáláskor"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "A(z) {path} olvasása sikertelen: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1494,6 +1499,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Azon APK fájlok átnevezése, melyek nem illeszkednek a csomag.név_123.apk mintára" msgstr "Azon APK fájlok átnevezése, melyek nem illeszkednek a csomag.név_123.apk mintára"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2011,6 +2021,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Figyelmeztetés a lehetséges metaadat-hibákról" msgstr "Figyelmeztetés a lehetséges metaadat-hibákról"

View file

@ -22,7 +22,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-03-20 16:21+0000\n" "PO-Revision-Date: 2025-03-20 16:21+0000\n"
"Last-Translator: Champ0999 <champ0999@users.noreply.hosted.weblate.org>\n" "Last-Translator: Champ0999 <champ0999@users.noreply.hosted.weblate.org>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/f-droid/fdroidserver/it/>\n" "Language-Team: Italian <https://hosted.weblate.org/projects/f-droid/fdroidserver/it/>\n"
@ -375,6 +375,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Impossibile costruire a causa di un errore con {} durante la scansione" msgstr[0] "Impossibile costruire a causa di un errore con {} durante la scansione"
msgstr[1] "Impossibile costruire a causa di errori con {} durante la scansione" msgstr[1] "Impossibile costruire a causa di errori con {} durante la scansione"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Impossibile leggere {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1504,6 +1509,11 @@ msgstr "Rimozione di {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Rinomina i file APK che non corrispondono a package.name_123.apk" msgstr "Rinomina i file APK che non corrispondono a package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2028,6 +2038,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "La chiave API di VirusTotal non può caricare file più grandi di 32MB, usa {url} per caricare {path}." msgstr "La chiave API di VirusTotal non può caricare file più grandi di 32MB, usa {url} per caricare {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Avvisa riguardo possibili errori nei metadati" msgstr "Avvisa riguardo possibili errori nei metadati"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.8-224-g4b0ade7\n" "Project-Id-Version: fdroidserver 0.8-224-g4b0ade7\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-04-30 04:07+0000\n" "PO-Revision-Date: 2025-04-30 04:07+0000\n"
"Last-Translator: Liner Seven <linour7gmekiblo@gmail.com>\n" "Last-Translator: Liner Seven <linour7gmekiblo@gmail.com>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/f-droid/fdroidserver/ja/>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/f-droid/fdroidserver/ja/>\n"
@ -359,6 +359,11 @@ msgid "Can't build due to {} error while scanning"
msgid_plural "Can't build due to {} errors while scanning" msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "スキャン時に{}個のエラーが発生したためビルドできません" msgstr[0] "スキャン時に{}個のエラーが発生したためビルドできません"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "{path}を読み込めませんでした:{error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1486,6 +1491,11 @@ msgstr "{path} を削除"
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "package.name_123.apkに合致しないAPKファイルの名前を変更" msgstr "package.name_123.apkに合致しないAPKファイルの名前を変更"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2005,6 +2015,10 @@ msgstr "apksignerを使用してパッケージ{path}を検証しています。
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "VirusTotalのAPI鍵は32メガバイトより大きいファイルをアップロードできません。{url}から{path}をアップロードしてください。" msgstr "VirusTotalのAPI鍵は32メガバイトより大きいファイルをアップロードできません。{url}から{path}をアップロードしてください。"
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "潜在的なメタデータのエラーに関して警告" msgstr "潜在的なメタデータのエラーに関して警告"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2021-01-15 13:25+0000\n" "PO-Revision-Date: 2021-01-15 13:25+0000\n"
"Last-Translator: R_SACI <rgebbid@gmail.com>\n" "Last-Translator: R_SACI <rgebbid@gmail.com>\n"
"Language-Team: Kabyle <https://hosted.weblate.org/projects/f-droid/fdroidserver/kab/>\n" "Language-Team: Kabyle <https://hosted.weblate.org/projects/f-droid/fdroidserver/kab/>\n"
@ -355,6 +355,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1482,6 +1487,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1995,6 +2005,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.8-135-g16dd6d28\n" "Project-Id-Version: fdroidserver 0.8-135-g16dd6d28\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-09-06 14:57+0000\n" "PO-Revision-Date: 2024-09-06 14:57+0000\n"
"Last-Translator: Cxnfl1ct <wind0wso2o2@naver.com>\n" "Last-Translator: Cxnfl1ct <wind0wso2o2@naver.com>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/f-droid/fdroidserver/ko/>\n" "Language-Team: Korean <https://hosted.weblate.org/projects/f-droid/fdroidserver/ko/>\n"
@ -358,6 +358,11 @@ msgid "Can't build due to {} error while scanning"
msgid_plural "Can't build due to {} errors while scanning" msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1485,6 +1490,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "package.name_123.apk와 일치하지 않는 APK 파일의 이름을 바꿉니다" msgstr "package.name_123.apk와 일치하지 않는 APK 파일의 이름을 바꿉니다"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1997,6 +2007,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "가능한 메타데이터 오류에 대해 경고합니다" msgstr "가능한 메타데이터 오류에 대해 경고합니다"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.6-70-g54bc858\n" "Project-Id-Version: fdroidserver 1.0.6-70-g54bc858\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2023-06-23 14:52+0000\n" "PO-Revision-Date: 2023-06-23 14:52+0000\n"
"Last-Translator: abe1242 <abmdn1242@gmail.com>\n" "Last-Translator: abe1242 <abmdn1242@gmail.com>\n"
"Language-Team: Malayalam <https://hosted.weblate.org/projects/f-droid/fdroidserver/ml/>\n" "Language-Team: Malayalam <https://hosted.weblate.org/projects/f-droid/fdroidserver/ml/>\n"
@ -358,6 +358,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1483,6 +1488,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1999,6 +2009,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.8-74-ga380b9f\n" "Project-Id-Version: fdroidserver 0.8-74-ga380b9f\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2022-09-06 14:30+0000\n" "PO-Revision-Date: 2022-09-06 14:30+0000\n"
"Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n" "Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/f-droid/fdroidserver/nb_NO/>\n" "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/f-droid/fdroidserver/nb_NO/>\n"
@ -366,6 +366,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Kan ikke bygge som følge av {} feil under skanning" msgstr[0] "Kan ikke bygge som følge av {} feil under skanning"
msgstr[1] "Kan ikke bygge som følge av {} feiler under skanning" msgstr[1] "Kan ikke bygge som følge av {} feiler under skanning"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Klarte ikke å lese {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, fuzzy, python-brace-format #, fuzzy, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1537,6 +1542,11 @@ msgstr "Fjerner {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Gi nytt navn til APK-filer som ikke samsvarer med package.name_123.apk" msgstr "Gi nytt navn til APK-filer som ikke samsvarer med package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2070,6 +2080,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "VirusTotal API-nøkkel kan ikke laste opp filer større enn 32 MB, bruk {url} for å laste opp {path}." msgstr "VirusTotal API-nøkkel kan ikke laste opp filer større enn 32 MB, bruk {url} for å laste opp {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Advar om mulige metadata-feil" msgstr "Advar om mulige metadata-feil"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.1-680-ge1d3de71\n" "Project-Id-Version: fdroidserver 1.1-680-ge1d3de71\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-01-03 09:07+0000\n" "PO-Revision-Date: 2024-01-03 09:07+0000\n"
"Last-Translator: Issa1553 <fairfull.playing@gmail.com>\n" "Last-Translator: Issa1553 <fairfull.playing@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/f-droid/fdroidserver/nl/>\n" "Language-Team: Dutch <https://hosted.weblate.org/projects/f-droid/fdroidserver/nl/>\n"
@ -361,6 +361,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1486,6 +1491,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Hernoem APK-bestanden die niet overeenkomen met pakket.naam_123.apk" msgstr "Hernoem APK-bestanden die niet overeenkomen met pakket.naam_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1999,6 +2009,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Waarschuwen voor mogelijke metadata fouten" msgstr "Waarschuwen voor mogelijke metadata fouten"

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.3.0-3-g4ba7b5c9\n" "Project-Id-Version: fdroidserver 2.3.0-3-g4ba7b5c9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-11-26 10:54+0000\n" "PO-Revision-Date: 2024-11-26 10:54+0000\n"
"Last-Translator: Bård Sigurd Møller <git@bsmoller.no>\n" "Last-Translator: Bård Sigurd Møller <git@bsmoller.no>\n"
"Language-Team: Norwegian Nynorsk <https://hosted.weblate.org/projects/f-droid/fdroidserver/nn/>\n" "Language-Team: Norwegian Nynorsk <https://hosted.weblate.org/projects/f-droid/fdroidserver/nn/>\n"
@ -353,6 +353,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1478,6 +1483,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1991,6 +2001,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.3.3\n" "Project-Id-Version: fdroidserver 2.3.3\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -352,6 +352,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1477,6 +1482,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1990,6 +2000,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -2,13 +2,13 @@
# #
# add completed translations from weblate to MANIFEST.in # add completed translations from weblate to MANIFEST.in
import git
import json import json
import os import os
import re import re
import requests
import subprocess import subprocess
import git
import requests
projectbasedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) projectbasedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
localedir = os.path.join(projectbasedir, 'locale') localedir = os.path.join(projectbasedir, 'locale')

View file

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n" "Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-06-24 12:05+0000\n" "PO-Revision-Date: 2025-06-24 12:05+0000\n"
"Last-Translator: WaldiS <sto@tutanota.de>\n" "Last-Translator: WaldiS <sto@tutanota.de>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/f-droid/fdroidserver/pl/>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/f-droid/fdroidserver/pl/>\n"
@ -363,6 +363,11 @@ msgstr[0] "Nie można zbudować z powodu błędu {} podczas skanowania"
msgstr[1] "Nie można zbudować z powodu błędów {} podczas skanowania" msgstr[1] "Nie można zbudować z powodu błędów {} podczas skanowania"
msgstr[2] "Nie można zbudować z powodu błędów {} podczas skanowania" msgstr[2] "Nie można zbudować z powodu błędów {} podczas skanowania"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Błąd odczytu {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1490,6 +1495,11 @@ msgstr "Usuwanie „{path}”"
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Zmień nazwy plików APK, które nie pasują do pliku package.name_123.apk" msgstr "Zmień nazwy plików APK, które nie pasują do pliku package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2011,6 +2021,10 @@ msgstr "Weryfikacja pakietu {path} za pomocą apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "Klucz VirusTotal API nie może przesyłać plików większych niż 32 MB, użyj {url}, aby przesłać {path}." msgstr "Klucz VirusTotal API nie może przesyłać plików większych niż 32 MB, użyj {url}, aby przesłać {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Ostrzegaj o możliwych błędach metadanych" msgstr "Ostrzegaj o możliwych błędach metadanych"

View file

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.1-680-ge1d3de71\n" "Project-Id-Version: fdroidserver 1.1-680-ge1d3de71\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-04-06 16:45+0000\n" "PO-Revision-Date: 2025-04-06 16:45+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n" "Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/f-droid/fdroidserver/pt/>\n" "Language-Team: Portuguese <https://hosted.weblate.org/projects/f-droid/fdroidserver/pt/>\n"
@ -361,6 +361,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Não é possível construir devido a erro {} durante a digitalização" msgstr[0] "Não é possível construir devido a erro {} durante a digitalização"
msgstr[1] "Não é possível construir devido a erros {} durante a digitalização" msgstr[1] "Não é possível construir devido a erros {} durante a digitalização"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Falha de leitura {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1488,6 +1493,11 @@ msgstr "A remover {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Renomear todos os ficheiros APKs que não correspondem com package.name_123.apk" msgstr "Renomear todos os ficheiros APKs que não correspondem com package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2008,6 +2018,10 @@ msgstr "A verificar o pacote {path} com apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "A chave VirusTotal API não pode enviar ficheiros maiores que 32MB, use {url} para enviar {path}." msgstr "A chave VirusTotal API não pode enviar ficheiros maiores que 32MB, use {url} para enviar {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Avisar sobre possíveis erros de metadados" msgstr "Avisar sobre possíveis erros de metadados"

View file

@ -19,7 +19,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-03-26 10:00+0000\n" "PO-Revision-Date: 2025-03-26 10:00+0000\n"
"Last-Translator: Igor Rückert <igorruckert@yahoo.com.br>\n" "Last-Translator: Igor Rückert <igorruckert@yahoo.com.br>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/f-droid/fdroidserver/pt_BR/>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/f-droid/fdroidserver/pt_BR/>\n"
@ -371,6 +371,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Não é possível criar devido a {} erro durante a digitalização" msgstr[0] "Não é possível criar devido a {} erro durante a digitalização"
msgstr[1] "Não é possível criar devido a {} erros durante a digitalização" msgstr[1] "Não é possível criar devido a {} erros durante a digitalização"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Falha ao ler {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1498,6 +1503,11 @@ msgstr "Removendo {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Renomeia arquivos APK que não correspondem a pacote.nome_123.apk" msgstr "Renomeia arquivos APK que não correspondem a pacote.nome_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2018,6 +2028,10 @@ msgstr "Verificando o pacote {path} com apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "A chave API do VirusTotal não pode carregar arquivos maiores que 32MB, utilize {url} para enviar para {path}." msgstr "A chave API do VirusTotal não pode carregar arquivos maiores que 32MB, utilize {url} para enviar para {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Avisa sobre possíveis erros de metadados" msgstr "Avisa sobre possíveis erros de metadados"

View file

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-05-30 07:19+0000\n" "PO-Revision-Date: 2025-05-30 07:19+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n" "Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese (Portugal) <https://hosted.weblate.org/projects/f-droid/fdroidserver/pt_PT/>\n" "Language-Team: Portuguese (Portugal) <https://hosted.weblate.org/projects/f-droid/fdroidserver/pt_PT/>\n"
@ -363,6 +363,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Não é possível construir devido a erro {} durante a digitalização" msgstr[0] "Não é possível construir devido a erro {} durante a digitalização"
msgstr[1] "Não é possível construir devido a erros {} durante a digitalização" msgstr[1] "Não é possível construir devido a erros {} durante a digitalização"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Falha de leitura {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1490,6 +1495,11 @@ msgstr "A remover {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Renomear todos os ficheiros APKs que não correspondem com package.name_123.apk" msgstr "Renomear todos os ficheiros APKs que não correspondem com package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2010,6 +2020,10 @@ msgstr "A verificar o pacote {path} com apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "A chave VirusTotal API não pode enviar ficheiros maiores que 32MB, use {url} para enviar {path}." msgstr "A chave VirusTotal API não pode enviar ficheiros maiores que 32MB, use {url} para enviar {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Avisar sobre possíveis erros de metadados" msgstr "Avisar sobre possíveis erros de metadados"

View file

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.0a5-27-gf24eae0f\n" "Project-Id-Version: fdroidserver 2.0a5-27-gf24eae0f\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-12-02 17:00+0000\n" "PO-Revision-Date: 2024-12-02 17:00+0000\n"
"Last-Translator: Licaon Kter <licaon.kter@protonmail.com>\n" "Last-Translator: Licaon Kter <licaon.kter@protonmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/f-droid/fdroidserver/ro/>\n" "Language-Team: Romanian <https://hosted.weblate.org/projects/f-droid/fdroidserver/ro/>\n"
@ -362,6 +362,11 @@ msgstr[0] "Nu se poate construi din cauza unei erori {} în timpul scanării"
msgstr[1] "Nu se poate construi din cauza erorilor {} în timpul scanării" msgstr[1] "Nu se poate construi din cauza erorilor {} în timpul scanării"
msgstr[2] "Nu se poate construi din cauza erorilor {} în timpul scanării" msgstr[2] "Nu se poate construi din cauza erorilor {} în timpul scanării"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "A eșuat citirea {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1489,6 +1494,11 @@ msgstr "Eliminarea lui {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Redenumiți fișierele APK care nu se potrivesc cu package.name_123.apk" msgstr "Redenumiți fișierele APK care nu se potrivesc cu package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2011,6 +2021,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "VirusTotal API key nu poate încărca fișiere mai mari de 32MB, utilizați {url} pentru a încărca {path}." msgstr "VirusTotal API key nu poate încărca fișiere mai mari de 32MB, utilizați {url} pentru a încărca {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Avertizează cu privire la posibile erori de metadate" msgstr "Avertizează cu privire la posibile erori de metadate"

View file

@ -21,7 +21,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n" "Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-06-24 10:15+0000\n" "PO-Revision-Date: 2025-06-24 10:15+0000\n"
"Last-Translator: Artyom Rybakov <rib.artem@gmail.com>\n" "Last-Translator: Artyom Rybakov <rib.artem@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/f-droid/fdroidserver/ru/>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/f-droid/fdroidserver/ru/>\n"
@ -374,6 +374,11 @@ msgstr[0] "Запустить сборку невозможно из-за {} о
msgstr[1] "Запустить сборку невозможно из-за {} ошибок во время сканирования данных" msgstr[1] "Запустить сборку невозможно из-за {} ошибок во время сканирования данных"
msgstr[2] "Запустить сборку невозможно из-за {} ошибок во время сканирования данных" msgstr[2] "Запустить сборку невозможно из-за {} ошибок во время сканирования данных"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Не удалось распознать {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1501,6 +1506,11 @@ msgstr "Удаление {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Переименовать все APK файлы, не соответствующие шаблону \"название.пакета_123.apk\"" msgstr "Переименовать все APK файлы, не соответствующие шаблону \"название.пакета_123.apk\""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2022,6 +2032,10 @@ msgstr "Проверка пакета {path} с помощью apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "Через API VirusTotal нельзя загрузить файлы больше 32MB, загрузите {path} на {url} самостоятельно." msgstr "Через API VirusTotal нельзя загрузить файлы больше 32MB, загрузите {path} на {url} самостоятельно."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Предупреждать о возможных ошибках в метаданных" msgstr "Предупреждать о возможных ошибках в метаданных"

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.6-349-g907c04ea\n" "Project-Id-Version: fdroidserver 1.0.6-349-g907c04ea\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -353,6 +353,11 @@ msgstr[0] ""
msgstr[1] "" msgstr[1] ""
msgstr[2] "" msgstr[2] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1478,6 +1483,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1992,6 +2002,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.6-349-g907c04ea\n" "Project-Id-Version: fdroidserver 1.0.6-349-g907c04ea\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-03-26 21:33+0000\n" "PO-Revision-Date: 2025-03-26 21:33+0000\n"
"Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n" "Last-Translator: Besnik Bleta <besnik@programeshqip.org>\n"
"Language-Team: Albanian <https://hosted.weblate.org/projects/f-droid/fdroidserver/sq/>\n" "Language-Team: Albanian <https://hosted.weblate.org/projects/f-droid/fdroidserver/sq/>\n"
@ -358,6 +358,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Smontohet dot, për shkak të {} gabimi teksa skanohej" msgstr[0] "Smontohet dot, për shkak të {} gabimi teksa skanohej"
msgstr[1] "Smontohet dot, për shkak të {} gabimeve teksa skanohej" msgstr[1] "Smontohet dot, për shkak të {} gabimeve teksa skanohej"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Su arrit të lexohej {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1485,6 +1490,11 @@ msgstr "Po hiqet {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Riemërtoni kartelat APK që nuk përputhen me package.name_123.apk" msgstr "Riemërtoni kartelat APK që nuk përputhen me package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2006,6 +2016,10 @@ msgstr "Po verifikohet paketë {path} me apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "Kyçi API VirusTotal smund të ngarkojë kartela më të mëdha se 2MB, përdorni {url} që të ngarkoni {path}." msgstr "Kyçi API VirusTotal smund të ngarkojë kartela më të mëdha se 2MB, përdorni {url} që të ngarkoni {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Sinjalizo rreth gabimesh të mundshëm tejtëdhënash" msgstr "Sinjalizo rreth gabimesh të mundshëm tejtëdhënash"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.1b0\n" "Project-Id-Version: fdroidserver 2.1b0\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-12-30 22:00+0000\n" "PO-Revision-Date: 2024-12-30 22:00+0000\n"
"Last-Translator: Reno Tx <renotx@users.noreply.hosted.weblate.org>\n" "Last-Translator: Reno Tx <renotx@users.noreply.hosted.weblate.org>\n"
"Language-Team: Serbian <https://hosted.weblate.org/projects/f-droid/fdroidserver/sr/>\n" "Language-Team: Serbian <https://hosted.weblate.org/projects/f-droid/fdroidserver/sr/>\n"
@ -361,6 +361,11 @@ msgstr[0] "Не може се изградити због {} грешке при
msgstr[1] "Не може се изградити због {} грешке приликом скенирања" msgstr[1] "Не може се изградити због {} грешке приликом скенирања"
msgstr[2] "Не може се изградити због {} грешака приликом скенирања" msgstr[2] "Не може се изградити због {} грешака приликом скенирања"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Није успело читање {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1488,6 +1493,11 @@ msgstr "Уклањање {path}"
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Преименујте APK фајлове који не одговарају package.name_123.apk" msgstr "Преименујте APK фајлове који не одговарају package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2009,6 +2019,10 @@ msgstr "Провера пакета {path} са apksigner."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "VirusTotal API кључ не може отпремити датотеке веће од 32MB, користи {url} за отпремање {path}." msgstr "VirusTotal API кључ не може отпремити датотеке веће од 32MB, користи {url} за отпремање {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Упозорење о могућим грешкама у метаподацима" msgstr "Упозорење о могућим грешкама у метаподацима"

View file

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n" "Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-03-17 21:44+0000\n" "PO-Revision-Date: 2025-03-17 21:44+0000\n"
"Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n" "Last-Translator: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/f-droid/fdroidserver/sv/>\n" "Language-Team: Swedish <https://hosted.weblate.org/projects/f-droid/fdroidserver/sv/>\n"
@ -362,6 +362,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "{path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1487,6 +1492,11 @@ msgstr "Tar bort {path}''"
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Byt namn på APK-filer som inte matchar paket.namn_123.apk" msgstr "Byt namn på APK-filer som inte matchar paket.namn_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2000,6 +2010,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Visa varningar vid möjliga metadatafel" msgstr "Visa varningar vid möjliga metadatafel"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.3a1\n" "Project-Id-Version: fdroidserver 2.3a1\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-09-08 11:09+0000\n" "PO-Revision-Date: 2024-09-08 11:09+0000\n"
"Last-Translator: abelbiwott-dev <abelbiwott@outlook.com>\n" "Last-Translator: abelbiwott-dev <abelbiwott@outlook.com>\n"
"Language-Team: Swahili <https://hosted.weblate.org/projects/f-droid/fdroidserver/sw/>\n" "Language-Team: Swahili <https://hosted.weblate.org/projects/f-droid/fdroidserver/sw/>\n"
@ -359,6 +359,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Haiwezi kujenga kutokana na kosa la {} wakati wa uchanganuzi" msgstr[0] "Haiwezi kujenga kutokana na kosa la {} wakati wa uchanganuzi"
msgstr[1] "Haiwezi kujenga kutokana na makosa ya {} wakati wa uchanganuzi" msgstr[1] "Haiwezi kujenga kutokana na makosa ya {} wakati wa uchanganuzi"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Imeshindwa kusoma {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1486,6 +1491,11 @@ msgstr "Kuondoa {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Badilisha jina la faili za APK ambazo hazilingani na package.name_123.apk" msgstr "Badilisha jina la faili za APK ambazo hazilingani na package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2007,6 +2017,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "Ufunguo wa API ya VirusTotal haiwezi kupakia faili zaidi ya 32MB, tumia {url} kupakia {path}." msgstr "Ufunguo wa API ya VirusTotal haiwezi kupakia faili zaidi ya 32MB, tumia {url} kupakia {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Onya kuhusu hitilafu ya metadata yanayoweza kutokea" msgstr "Onya kuhusu hitilafu ya metadata yanayoweza kutokea"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 2.1-273-g54e84d87\n" "Project-Id-Version: fdroidserver 2.1-273-g54e84d87\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-01-20 14:04+0000\n" "PO-Revision-Date: 2025-01-20 14:04+0000\n"
"Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n" "Last-Translator: Hans-Christoph Steiner <hans@guardianproject.info>\n"
"Language-Team: Tamil <https://hosted.weblate.org/projects/f-droid/fdroidserver/ta/>\n" "Language-Team: Tamil <https://hosted.weblate.org/projects/f-droid/fdroidserver/ta/>\n"
@ -360,6 +360,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "ச்கேன் செய்யும் போது {} பிழை காரணமாக உருவாக்க முடியாது" msgstr[0] "ச்கேன் செய்யும் போது {} பிழை காரணமாக உருவாக்க முடியாது"
msgstr[1] "ச்கேன் செய்யும் போது {} பிழைகள் காரணமாக உருவாக்க முடியாது" msgstr[1] "ச்கேன் செய்யும் போது {} பிழைகள் காரணமாக உருவாக்க முடியாது"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "தோல்வியுற்ற வாசிப்பு {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1487,6 +1492,11 @@ msgstr "{path} \"ஐ நீக்குதல்"
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "தொகுப்புடன் பொருந்தாத APK கோப்புகளை மறுபெயரிடுங்கள். NAME_123.APK" msgstr "தொகுப்புடன் பொருந்தாத APK கோப்புகளை மறுபெயரிடுங்கள். NAME_123.APK"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2007,6 +2017,10 @@ msgstr "Apksigner உடன் தொகுப்பு {path} ஐ சரிப
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "வைரச்டோட்டல் பநிஇ விசையை 32MB ஐ விட பெரிய கோப்புகளை பதிவேற்ற முடியாது, {path} பதிவேற்ற {url} ஐப் பயன்படுத்தவும்." msgstr "வைரச்டோட்டல் பநிஇ விசையை 32MB ஐ விட பெரிய கோப்புகளை பதிவேற்ற முடியாது, {path} பதிவேற்ற {url} ஐப் பயன்படுத்தவும்."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "சாத்தியமான மேனிலை தரவு பிழைகள் குறித்து எச்சரிக்கவும்" msgstr "சாத்தியமான மேனிலை தரவு பிழைகள் குறித்து எச்சரிக்கவும்"

View file

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-05-26 22:01+0000\n" "PO-Revision-Date: 2025-05-26 22:01+0000\n"
"Last-Translator: Bora Atıcı <boratici.acc@gmail.com>\n" "Last-Translator: Bora Atıcı <boratici.acc@gmail.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/f-droid/fdroidserver/tr/>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/f-droid/fdroidserver/tr/>\n"
@ -363,6 +363,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "Tarama sırasında {} hata nedeniyle inşa edilemiyor" msgstr[0] "Tarama sırasında {} hata nedeniyle inşa edilemiyor"
msgstr[1] "Tarama sırasında {} hata nedeniyle inşa edilemiyor" msgstr[1] "Tarama sırasında {} hata nedeniyle inşa edilemiyor"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "{path} okunamadı: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1490,6 +1495,11 @@ msgstr "\"{path}\" kaldırılıyor"
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "paket.adı_123.apk örüntüsüyle eşleşmeyen tüm APK dosyalarını yeniden adlandır" msgstr "paket.adı_123.apk örüntüsüyle eşleşmeyen tüm APK dosyalarını yeniden adlandır"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2010,6 +2020,10 @@ msgstr "{path} paketi apksigner ile doğrulanıyor."
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "VirusTotal API anahtarı 32MB'den büyük dosyaları yükleyemiyor, {path} yüklemek için {url} kullanın." msgstr "VirusTotal API anahtarı 32MB'den büyük dosyaları yükleyemiyor, {path} yüklemek için {url} kullanın."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Olası üst veri hataları hakkında uyar" msgstr "Olası üst veri hataları hakkında uyar"

View file

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.1-681-gc19e8952\n" "Project-Id-Version: fdroidserver 1.1-681-gc19e8952\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2020-10-29 08:32+0000\n" "PO-Revision-Date: 2020-10-29 08:32+0000\n"
"Last-Translator: Hakim Oubouali <hakim.oubouali.skr@gmail.com>\n" "Last-Translator: Hakim Oubouali <hakim.oubouali.skr@gmail.com>\n"
"Language-Team: Central Atlas Tamazight <https://hosted.weblate.org/projects/f-droid/fdroidserver/tzm/>\n" "Language-Team: Central Atlas Tamazight <https://hosted.weblate.org/projects/f-droid/fdroidserver/tzm/>\n"
@ -353,6 +353,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1478,6 +1483,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1991,6 +2001,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n" "Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2018-06-08 03:44+0000\n" "PO-Revision-Date: 2018-06-08 03:44+0000\n"
"Last-Translator: ۋولقان <nureliosman@gmail.com>\n" "Last-Translator: ۋولقان <nureliosman@gmail.com>\n"
"Language-Team: Uyghur <https://hosted.weblate.org/projects/f-droid/fdroidserver/ug/>\n" "Language-Team: Uyghur <https://hosted.weblate.org/projects/f-droid/fdroidserver/ug/>\n"
@ -354,6 +354,11 @@ msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr ""
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1480,6 +1485,11 @@ msgstr ""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "" msgstr ""
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -1993,6 +2003,10 @@ msgstr ""
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "" msgstr ""
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "" msgstr ""

View file

@ -17,7 +17,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-03-27 19:35+0000\n" "PO-Revision-Date: 2025-03-27 19:35+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n" "Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/f-droid/fdroidserver/uk/>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/f-droid/fdroidserver/uk/>\n"
@ -370,6 +370,11 @@ msgstr[0] "Неможливо створити через {} помилку пі
msgstr[1] "Неможливо створити через {} помилки під час сканування" msgstr[1] "Неможливо створити через {} помилки під час сканування"
msgstr[2] "Неможливо створити через {} помилок під час сканування" msgstr[2] "Неможливо створити через {} помилок під час сканування"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "Не вдалося розпізнати {path}: {error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1497,6 +1502,11 @@ msgstr "Вилучення {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "Перейменування файлів APK, які не відповідають package.name_123.apk" msgstr "Перейменування файлів APK, які не відповідають package.name_123.apk"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2018,6 +2028,10 @@ msgstr "Перевірка пакета {path} за допомогою apksigner
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "Ключ API VirusTotal не може завантажити файли, розмір яких понад 32 МБ, використовуйте {url} для завантаження {path}." msgstr "Ключ API VirusTotal не може завантажити файли, розмір яких понад 32 МБ, використовуйте {url} для завантаження {path}."
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "Попереджати про можливі помилки метаданих" msgstr "Попереджати про можливі помилки метаданих"

View file

@ -39,7 +39,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2025-03-26 10:00+0000\n" "PO-Revision-Date: 2025-03-26 10:00+0000\n"
"Last-Translator: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>\n" "Last-Translator: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>\n"
"Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/projects/f-droid/fdroidserver/zh_Hans/>\n" "Language-Team: Chinese (Simplified Han script) <https://hosted.weblate.org/projects/f-droid/fdroidserver/zh_Hans/>\n"
@ -390,6 +390,11 @@ msgid "Can't build due to {} error while scanning"
msgid_plural "Can't build due to {} errors while scanning" msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "因扫描时的{}错误而无法构建" msgstr[0] "因扫描时的{}错误而无法构建"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "读取 {path} 失败:{error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1517,6 +1522,11 @@ msgstr "删除 {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "重命名文件名不符合 package.name_123.apk 的 APK 文件" msgstr "重命名文件名不符合 package.name_123.apk 的 APK 文件"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2036,6 +2046,10 @@ msgstr "使用 apksigner 验证包 {path}。"
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "VirusTotal 的 API 密钥无法用于上传大于 32MB 的文件,请使用 {url} 上传 {path}。" msgstr "VirusTotal 的 API 密钥无法用于上传大于 32MB 的文件,请使用 {url} 上传 {path}。"
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "警告元数据中可能存在的错误" msgstr "警告元数据中可能存在的错误"

View file

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: fdroidserver 0.9\n" "Project-Id-Version: fdroidserver 0.9\n"
"Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n"
"POT-Creation-Date: 2025-03-25 11:36+0100\n" "POT-Creation-Date: 2025-06-25 09:52+0200\n"
"PO-Revision-Date: 2024-11-26 15:16+0000\n" "PO-Revision-Date: 2024-11-26 15:16+0000\n"
"Last-Translator: Peter Dave Hello <hsu@peterdavehello.org>\n" "Last-Translator: Peter Dave Hello <hsu@peterdavehello.org>\n"
"Language-Team: Chinese (Traditional Han script) <https://hosted.weblate.org/projects/f-droid/fdroidserver/zh_Hant/>\n" "Language-Team: Chinese (Traditional Han script) <https://hosted.weblate.org/projects/f-droid/fdroidserver/zh_Hant/>\n"
@ -362,6 +362,11 @@ msgid "Can't build due to {} error while scanning"
msgid_plural "Can't build due to {} errors while scanning" msgid_plural "Can't build due to {} errors while scanning"
msgstr[0] "掃描時由於 {} 出錯,無法進行編譯" msgstr[0] "掃描時由於 {} 出錯,無法進行編譯"
#: ../fdroidserver/common.py
#, fuzzy, python-brace-format
msgid "Cannot read {path}: {error}"
msgstr "讀取 {path} 失敗:錯誤訊息{error}"
#: ../fdroidserver/rewritemeta.py #: ../fdroidserver/rewritemeta.py
#, python-brace-format #, python-brace-format
msgid "Cannot rewrite \"{path}\"" msgid "Cannot rewrite \"{path}\""
@ -1509,6 +1514,11 @@ msgstr "正在移除 {path}\""
msgid "Rename APK files that do not match package.name_123.apk" msgid "Rename APK files that do not match package.name_123.apk"
msgstr "為不符合 package.name_123.apk 格式的 APK 檔案更名" msgstr "為不符合 package.name_123.apk 格式的 APK 檔案更名"
#: ../fdroidserver/common.py
#, python-brace-format
msgid "RepoType {type} is deprecated, please switch to git."
msgstr ""
#: ../fdroidserver/nightly.py #: ../fdroidserver/nightly.py
#, python-brace-format #, python-brace-format
msgid "Resigning {apkfilename} with provided debug.keystore" msgid "Resigning {apkfilename} with provided debug.keystore"
@ -2045,6 +2055,10 @@ msgstr "正在使用 apksigner 驗證套件 {path}。"
msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}." msgid "VirusTotal API key cannot upload files larger than 32MB, use {url} to upload {path}."
msgstr "VirusTotal API key 無法上傳大於 32MB 的檔案, 選擇使用 {url} 來上傳檔案 {path} 。" msgstr "VirusTotal API key 無法上傳大於 32MB 的檔案, 選擇使用 {url} 來上傳檔案 {path} 。"
#: ../fdroidserver/nightly.py
msgid "WARNING: only public git repos are supported!"
msgstr ""
#: ../fdroidserver/__main__.py #: ../fdroidserver/__main__.py
msgid "Warn about possible metadata errors" msgid "Warn about possible metadata errors"
msgstr "關於中介資料可能錯誤的警告" msgstr "關於中介資料可能錯誤的警告"

View file

@ -30,7 +30,6 @@ force-exclude = '''(
| examples/fdroid_exportkeystore\.py | examples/fdroid_exportkeystore\.py
| examples/fdroid_fetchsrclibs\.py | examples/fdroid_fetchsrclibs\.py
| examples/fdroid_nitrokeyimport\.py | examples/fdroid_nitrokeyimport\.py
| fdroidserver/__init__\.py
| fdroidserver/__main__\.py | fdroidserver/__main__\.py
| fdroidserver/apksigcopier\.py | fdroidserver/apksigcopier\.py
| fdroidserver/looseversion\.py | fdroidserver/looseversion\.py

View file

@ -39,7 +39,3 @@ Tracking:
description: This app tracks and reports your activity description: This app tracks and reports your activity
icon: ic_antifeature_tracking.xml icon: ic_antifeature_tracking.xml
name: Tracking name: Tracking
UpstreamNonFree:
description: The upstream source code is not entirely Free
icon: ic_antifeature_upstreamnonfree.xml
name: Upstream Non-Free

View file

@ -38,7 +38,3 @@ Tracking:
description: Diese App verfolgt und versendet Ihre Aktivitäten description: Diese App verfolgt und versendet Ihre Aktivitäten
icon: ic_antifeature_tracking.xml icon: ic_antifeature_tracking.xml
name: Tracking name: Tracking
UpstreamNonFree:
description: Der Originalcode ist nicht völlig quelloffen
icon: ic_antifeature_upstreamnonfree.xml
name: Originalcode nicht-quelloffen

View file

@ -37,7 +37,3 @@ Tracking:
description: این کاره، فعّالیتتان را ردیابی و گزارش می‌کند description: این کاره، فعّالیتتان را ردیابی و گزارش می‌کند
icon: ic_antifeature_tracking.xml icon: ic_antifeature_tracking.xml
name: ردیابی name: ردیابی
UpstreamNonFree:
description: کد مبدأ بالادستی کاملاً آزاد نیست
icon: ic_antifeature_upstreamnonfree.xml
name: بالادست ناآزاد

View file

@ -38,7 +38,3 @@ Tracking:
description: Aplicația îți înregistrează și raportează activitatea undeva description: Aplicația îți înregistrează și raportează activitatea undeva
icon: ic_antifeature_tracking.xml icon: ic_antifeature_tracking.xml
name: Urmărire name: Urmărire
UpstreamNonFree:
description: Codul sursa originar nu este în totalitatea lui software liber
icon: ic_antifeature_upstreamnonfree.xml
name: Surse ne-libere

View file

@ -37,7 +37,3 @@ Tracking:
description: 此应用会记录并报告你的活动 description: 此应用会记录并报告你的活动
icon: ic_antifeature_tracking.xml icon: ic_antifeature_tracking.xml
name: 跟踪用户 name: 跟踪用户
UpstreamNonFree:
description: 上游源代码不是完全自由的
icon: ic_antifeature_upstreamnonfree.xml
name: 上游代码非自由

View file

@ -25,7 +25,6 @@ import sys
from argparse import ArgumentParser from argparse import ArgumentParser
import git import git
import yaml import yaml
localmodule = os.path.realpath( localmodule = os.path.realpath(

Some files were not shown because too many files have changed in this diff Show more