chiark / gitweb /
Merge branch 'newcomers' into 'master'
authorHans-Christoph Steiner <hans@guardianproject.info>
Sat, 16 Sep 2017 08:07:56 +0000 (08:07 +0000)
committerHans-Christoph Steiner <hans@guardianproject.info>
Sat, 16 Sep 2017 08:07:56 +0000 (08:07 +0000)
allow starting without config.py

See merge request fdroid/fdroidserver!335

43 files changed:
.gitignore
.gitlab-ci.yml
fdroid
fdroidserver/__init__.py
fdroidserver/btlog.py
fdroidserver/build.py
fdroidserver/checkupdates.py
fdroidserver/common.py
fdroidserver/dscanner.py
fdroidserver/gpgsign.py
fdroidserver/import.py
fdroidserver/index.py
fdroidserver/init.py
fdroidserver/install.py
fdroidserver/lint.py
fdroidserver/metadata.py
fdroidserver/publish.py
fdroidserver/rewritemeta.py
fdroidserver/scanner.py
fdroidserver/server.py
fdroidserver/signatures.py
fdroidserver/signindex.py
fdroidserver/stats.py
fdroidserver/update.py
fdroidserver/verify.py
jenkins-build-makebuildserver
locale/bo/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/de/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/en/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/es/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/es_AR/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/fa/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/fr/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/it/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/kab/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/pt_BR/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/pt_PT/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/tr/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/uk/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/zh_Hans/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
locale/zh_Hant/LC_MESSAGES/fdroidserver.po [new file with mode: 0644]
setup.py
tests/update.TestCase

index a606026bc046d357d797730588a937782e9b46b0..3bccb197d772d4f9b9f143e8be885fb5ed08cbb2 100644 (file)
@@ -44,3 +44,6 @@ makebuildserver.config.py
 /tests/repo/info.guardianproject.checkey/en-US/phoneScreenshots/checkey.png
 /tests/urzip-πÇÇπÇÇ现代汉语通用字-български-عربي1234.apk
 /unsigned/
+
+# generated by gettext
+locale/*/LC_MESSAGES/fdroidserver.mo
index 6ce9064e37f70e86ddc45ab9d6faa9b47d7534d3..0b0a4d3e5e4562170ee85d4d3b5e4fdace523513 100644 (file)
@@ -6,10 +6,12 @@ test:
     - cd tests
     - ./complete-ci-tests
 
-# Test that the parsing of the .txt format didn't change 
-# from last released version.
+# Test that the parsing of the .txt format didn't change from last
+# released version. Ensure that the official tags are included when
+# running these tests on forks as well.
 metadata_v0:
   script:
+    - git fetch https://gitlab.com/fdroid/fdroidserver 0.8
     - cd tests
     - export GITCOMMIT=`git describe`
     - git checkout 0.8  # bump after release
diff --git a/fdroid b/fdroid
index 0b483e0150e98f795e39f84d7096e83c4e9e5159..467551c00989c6007f52466b98f2ca735bf58a80 100755 (executable)
--- a/fdroid
+++ b/fdroid
@@ -22,36 +22,38 @@ import logging
 
 import fdroidserver.common
 import fdroidserver.metadata
+from fdroidserver import _
 from argparse import ArgumentError
 from collections import OrderedDict
 
+
 commands = OrderedDict([
-    ("build", "Build a package from source"),
-    ("init", "Quickly start a new repository"),
-    ("publish", "Sign and place packages in the repo"),
-    ("gpgsign", "Add gpg signatures for packages in repo"),
-    ("update", "Update repo information for new packages"),
-    ("verify", "Verify the integrity of downloaded packages"),
-    ("checkupdates", "Check for updates to applications"),
-    ("import", "Add a new application from its source code"),
-    ("install", "Install built packages on devices"),
-    ("readmeta", "Read all the metadata files and exit"),
-    ("rewritemeta", "Rewrite all the metadata files"),
-    ("lint", "Warn about possible metadata errors"),
-    ("scanner", "Scan the source code of a package"),
-    ("dscanner", "Dynamically scan APKs post build"),
-    ("stats", "Update the stats of the repo"),
-    ("server", "Interact with the repo HTTP server"),
-    ("signindex", "Sign indexes created using update --nosign"),
-    ("btlog", "Update the binary transparency log for a URL"),
-    ("signatures", "Extract signatures from APKs"),
+    ("build", _("Build a package from source")),
+    ("init", _("Quickly start a new repository")),
+    ("publish", _("Sign and place packages in the repo")),
+    ("gpgsign", _("Add gpg signatures for packages in repo")),
+    ("update", _("Update repo information for new packages")),
+    ("verify", _("Verify the integrity of downloaded packages")),
+    ("checkupdates", _("Check for updates to applications")),
+    ("import", _("Add a new application from its source code")),
+    ("install", _("Install built packages on devices")),
+    ("readmeta", _("Read all the metadata files and exit")),
+    ("rewritemeta", _("Rewrite all the metadata files")),
+    ("lint", _("Warn about possible metadata errors")),
+    ("scanner", _("Scan the source code of a package")),
+    ("dscanner", _("Dynamically scan APKs post build")),
+    ("stats", _("Update the stats of the repo")),
+    ("server", _("Interact with the repo HTTP server")),
+    ("signindex", _("Sign indexes created using update --nosign")),
+    ("btlog", _("Update the binary transparency log for a URL")),
+    ("signatures", _("Extract signatures from APKs")),
 ])
 
 
 def print_help():
-    print("usage: fdroid [-h|--help|--version] <command> [<args>]")
+    print(_("usage: fdroid [-h|--help|--version] <command> [<args>]"))
     print("")
-    print("Valid commands are:")
+    print(_("Valid commands are:"))
     for cmd, summary in commands.items():
         print("   " + cmd + ' ' * (15 - len(cmd)) + summary)
     print("")
@@ -70,7 +72,7 @@ def main():
             sys.exit(0)
         elif command == '--version':
             import os.path
-            output = 'no version info found!'
+            output = _('no version info found!')
             cmddir = os.path.realpath(os.path.dirname(__file__))
             moduledir = os.path.realpath(os.path.dirname(fdroidserver.common.__file__) + '/..')
             if cmddir == moduledir:
@@ -97,7 +99,7 @@ def main():
             print(output),
             sys.exit(0)
         else:
-            print("Command '%s' not recognised.\n" % command)
+            print(_("Command '%s' not recognised.\n" % command))
             print_help()
             sys.exit(1)
 
@@ -143,7 +145,7 @@ def main():
     # These should only be unexpected crashes due to bugs in the code
     # str(e) often doesn't contain a reason, so just show the backtrace
     except Exception as e:
-        logging.critical("Unknown exception found!")
+        logging.critical(_("Unknown exception found!"))
         raise
     sys.exit(0)
 
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..2e88551a8f7ad9d048b84f62c4f938e345ce8236 100644 (file)
@@ -0,0 +1,22 @@
+
+import gettext
+import glob
+import os
+import sys
+
+
+# support running straight from git and standard installs
+rootpaths = [
+    os.path.realpath(os.path.join(os.path.dirname(__file__), '..')),
+    sys.prefix + 'share',
+]
+
+localedir = None
+for rootpath in rootpaths:
+    if len(glob.glob(os.path.join(rootpath, 'locale', '*', 'LC_MESSAGES', 'fdroidserver.mo'))) > 0:
+        localedir = os.path.join(rootpath, 'locale')
+        break
+
+gettext.bindtextdomain('fdroidserver', localedir)
+gettext.textdomain('fdroidserver')
+_ = gettext.gettext
index 452addca1dcc9d84d45e4bfae2356a7e9623a1f5..de357039758a5e7c369610b7d5fe9735fa9bac53 100755 (executable)
@@ -40,9 +40,10 @@ import xml.dom.minidom
 import zipfile
 from argparse import ArgumentParser
 
-from .exception import FDroidException
+from . import _
 from . import common
 from . import server
+from .exception import FDroidException
 
 
 options = None
@@ -117,12 +118,12 @@ For more info on this idea:
             jarin.close()
             gitrepo.index.add([repof, ])
 
-        files = []
-        for root, dirs, filenames in os.walk(repodir):
-            for f in filenames:
-                files.append(os.path.relpath(os.path.join(root, f), repodir))
+        output_files = []
+        for root, dirs, files in os.walk(repodir):
+            for f in files:
+                output_files.append(os.path.relpath(os.path.join(root, f), repodir))
         output = collections.OrderedDict()
-        for f in sorted(files):
+        for f in sorted(output_files):
             repofile = os.path.join(repodir, f)
             stat = os.stat(repofile)
             output[f] = (
@@ -151,11 +152,11 @@ def main():
     common.setup_global_opts(parser)
     parser.add_argument("--git-repo",
                         default=os.path.join(os.getcwd(), 'binary_transparency'),
-                        help="Path to the git repo to use as the log")
+                        help=_("Path to the git repo to use as the log"))
     parser.add_argument("-u", "--url", default='https://f-droid.org',
-                        help="The base URL for the repo to log (default: https://f-droid.org)")
+                        help=_("The base URL for the repo to log (default: https://f-droid.org)"))
     parser.add_argument("--git-remote", default=None,
-                        help="Push the log to this git remote repository")
+                        help=_("Push the log to this git remote repository"))
     options = parser.parse_args()
 
     if options.verbose:
index 3bca0a8fda7749ab6ecd4fd465d4fe36bcc1ba6b..889945d320720bd9776d2663fc392d2bf7769a2f 100644 (file)
@@ -32,6 +32,7 @@ from configparser import ConfigParser
 from argparse import ArgumentParser
 import logging
 
+from . import _
 from . import common
 from . import net
 from . import metadata
@@ -96,19 +97,19 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force):
 
         # Helper to copy the contents of a directory to the server...
         def send_dir(path):
-            root = os.path.dirname(path)
+            startroot = os.path.dirname(path)
             main = os.path.basename(path)
             ftp.mkdir(main)
-            for r, d, f in os.walk(path):
-                rr = os.path.relpath(rroot)
+            for root, dirs, files in os.walk(path):
+                rr = os.path.relpath(root, startroot)
                 ftp.chdir(rr)
-                for dd in d:
-                    ftp.mkdir(dd)
-                for ff in f:
-                    lfile = os.path.join(root, rr, ff)
+                for d in dirs:
+                    ftp.mkdir(d)
+                for f in files:
+                    lfile = os.path.join(startroot, rr, f)
                     if not os.path.islink(lfile):
-                        ftp.put(lfile, ff)
-                        ftp.chmod(ff, os.stat(lfile).st_mode)
+                        ftp.put(lfile, f)
+                        ftp.chmod(f, os.stat(lfile).st_mode)
                 for i in range(len(rr.split('/'))):
                     ftp.chdir('..')
             ftp.chdir('..')
@@ -162,7 +163,7 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force):
                         ftp.mkdir(d)
                     ftp.chdir(d)
                 ftp.put(libsrc, lp[-1])
-                for _ in lp[:-1]:
+                for _ignored in lp[:-1]:
                     ftp.chdir('..')
         # Copy any srclibs that are required...
         srclibpaths = []
@@ -210,23 +211,33 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force):
         cmdline += " %s:%s" % (app.id, build.versionCode)
         chan.exec_command('bash --login -c "' + cmdline + '"')
 
-        output = bytes()
-        output += get_android_tools_version_log(build.ndk_path()).encode()
-        while not chan.exit_status_ready():
-            while chan.recv_ready():
-                output += chan.recv(1024)
-            time.sleep(0.1)
+        # Fetch build process output ...
+        try:
+            cmd_stdout = chan.makefile('rb', 1024)
+            output = bytes()
+            output += get_android_tools_version_log(build.ndk_path()).encode()
+            while not chan.exit_status_ready():
+                line = cmd_stdout.readline()
+                if line:
+                    if options.verbose:
+                        logging.debug("buildserver > " + str(line, 'utf-8').rstrip())
+                    output += line
+                else:
+                    time.sleep(0.05)
+            for line in cmd_stdout.readlines():
+                if options.verbose:
+                    logging.debug("buildserver > " + str(line, 'utf-8').rstrip())
+                output += line
+        finally:
+            cmd_stdout.close()
+
+        # Check build process exit status ...
         logging.info("...getting exit status")
         returncode = chan.recv_exit_status()
-        while True:
-            get = chan.recv(1024)
-            if len(get) == 0:
-                break
-            output += get
         if returncode != 0:
             raise BuildException(
                 "Build.py failed on server for {0}:{1}".format(
-                    app.id, build.versionName), str(output, 'utf-8'))
+                    app.id, build.versionName), None if options.verbose else str(output, 'utf-8'))
 
         # Retreive logs...
         toolsversion_log = common.get_toolsversion_logname(app, build)
@@ -251,8 +262,8 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force):
                 ftp.get(tarball, os.path.join(output_dir, tarball))
         except Exception:
             raise BuildException(
-                "Build failed for %s:%s - missing output files".format(
-                    app.id, build.versionName), output)
+                "Build failed for {0}:{1} - missing output files".format(
+                    app.id, build.versionName), None if options.verbose else str(output, 'utf-8'))
         ftp.close()
 
     finally:
@@ -985,33 +996,33 @@ def parse_commandline():
 
     parser = ArgumentParser(usage="%(prog)s [options] [APPID[:VERCODE] [APPID[:VERCODE] ...]]")
     common.setup_global_opts(parser)
-    parser.add_argument("appid", nargs='*', help="app-id with optional versionCode in the form APPID[:VERCODE]")
+    parser.add_argument("appid", nargs='*', help=_("applicationId with optional versionCode in the form APPID[:VERCODE]"))
     parser.add_argument("-l", "--latest", action="store_true", default=False,
-                        help="Build only the latest version of each package")
+                        help=_("Build only the latest version of each package"))
     parser.add_argument("-s", "--stop", action="store_true", default=False,
-                        help="Make the build stop on exceptions")
+                        help=_("Make the build stop on exceptions"))
     parser.add_argument("-t", "--test", action="store_true", default=False,
-                        help="Test mode - put output in the tmp directory only, and always build, even if the output already exists.")
+                        help=_("Test mode - put output in the tmp directory only, and always build, even if the output already exists."))
     parser.add_argument("--server", action="store_true", default=False,
-                        help="Use build server")
+                        help=_("Use build server"))
     parser.add_argument("--resetserver", action="store_true", default=False,
-                        help="Reset and create a brand new build server, even if the existing one appears to be ok.")
+                        help=_("Reset and create a brand new build server, even if the existing one appears to be ok."))
     parser.add_argument("--on-server", dest="onserver", action="store_true", default=False,
-                        help="Specify that we're running on the build server")
+                        help=_("Specify that we're running on the build server"))
     parser.add_argument("--skip-scan", dest="skipscan", action="store_true", default=False,
-                        help="Skip scanning the source code for binaries and other problems")
+                        help=_("Skip scanning the source code for binaries and other problems"))
     parser.add_argument("--dscanner", action="store_true", default=False,
-                        help="Setup an emulator, install the apk on it and perform a drozer scan")
+                        help=_("Setup an emulator, install the apk on it and perform a drozer scan"))
     parser.add_argument("--no-tarball", dest="notarball", action="store_true", default=False,
-                        help="Don't create a source tarball, useful when testing a build")
+                        help=_("Don't create a source tarball, useful when testing a build"))
     parser.add_argument("--no-refresh", dest="refresh", action="store_false", default=True,
-                        help="Don't refresh the repository, useful when testing a build with no internet connection")
+                        help=_("Don't refresh the repository, useful when testing a build with no internet connection"))
     parser.add_argument("-f", "--force", action="store_true", default=False,
-                        help="Force build of disabled apps, and carries on regardless of scan problems. Only allowed in test mode.")
+                        help=_("Force build of disabled apps, and carries on regardless of scan problems. Only allowed in test mode."))
     parser.add_argument("-a", "--all", action="store_true", default=False,
-                        help="Build all applications available")
+                        help=_("Build all applications available"))
     parser.add_argument("-w", "--wiki", default=False, action="store_true",
-                        help="Update the wiki")
+                        help=_("Update the wiki"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
@@ -1306,7 +1317,7 @@ def main():
         logging.info("Cleaning up after ourselves.")
         docker.clean()
 
-    logging.info("Finished.")
+    logging.info(_("Finished"))
     if len(build_succeeded) > 0:
         logging.info(str(len(build_succeeded)) + ' builds succeeded')
     if len(failed_apps) > 0:
index 217139d19a956fb052d5ac5f5365e89615ba5f49..7c269c1f366f849531e4c3b4bbd94555ec6ac19b 100644 (file)
@@ -30,6 +30,7 @@ from distutils.version import LooseVersion
 import logging
 import copy
 
+from . import _
 from . import common
 from . import metadata
 from .exception import VCSException, FDroidException, MetaDataException
@@ -302,10 +303,10 @@ def check_gplay(app):
 # Return all directories under startdir that contain any of the manifest
 # files, and thus are probably an Android project.
 def dirs_with_manifest(startdir):
-    for r, d, f in os.walk(startdir):
-        if any(m in f for m in [
+    for root, dirs, files in os.walk(startdir):
+        if any(m in files for m in [
                 'AndroidManifest.xml', 'pom.xml', 'build.gradle']):
-            yield r
+            yield root
 
 
 # Tries to find a new subdir starting from the root build_dir. Returns said
@@ -509,15 +510,15 @@ def main():
     # Parse command line...
     parser = ArgumentParser(usage="%(prog)s [options] [APPID [APPID ...]]")
     common.setup_global_opts(parser)
-    parser.add_argument("appid", nargs='*', help="app-id to check for updates")
+    parser.add_argument("appid", nargs='*', help=_("applicationId to check for updates"))
     parser.add_argument("--auto", action="store_true", default=False,
-                        help="Process auto-updates")
+                        help=_("Process auto-updates"))
     parser.add_argument("--autoonly", action="store_true", default=False,
-                        help="Only process apps with auto-updates")
+                        help=_("Only process apps with auto-updates"))
     parser.add_argument("--commit", action="store_true", default=False,
-                        help="Commit changes")
+                        help=_("Commit changes"))
     parser.add_argument("--gplay", action="store_true", default=False,
-                        help="Only print differences with the Play Store")
+                        help=_("Only print differences with the Play Store"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
@@ -567,7 +568,7 @@ def main():
         except Exception as e:
             logging.error("...checkupdate failed for {0} : {1}".format(appid, e))
 
-    logging.info("Finished.")
+    logging.info(_("Finished"))
 
 
 if __name__ == "__main__":
index 6e4e5d8dbf543aa29cec8fe5a31cfd8d902f7f01..a39b671a7560685e5c091338f4f288cbe41b0d13 100644 (file)
@@ -49,6 +49,7 @@ from pyasn1.error import PyAsn1Error
 from distutils.util import strtobool
 
 import fdroidserver.metadata
+from fdroidserver import _
 from fdroidserver.exception import FDroidException, VCSException, BuildException
 from .asynchronousfilereader import AsynchronousFileReader
 
@@ -123,9 +124,9 @@ default_config = {
 
 def setup_global_opts(parser):
     parser.add_argument("-v", "--verbose", action="store_true", default=False,
-                        help="Spew out even more information than normal")
+                        help=_("Spew out even more information than normal"))
     parser.add_argument("-q", "--quiet", action="store_true", default=False,
-                        help="Restrict output to warnings and errors")
+                        help=_("Restrict output to warnings and errors"))
 
 
 def fill_config_defaults(thisconfig):
@@ -1022,9 +1023,9 @@ def retrieve_string(app_dir, string, xmlfiles=None):
             os.path.join(app_dir, 'res'),
             os.path.join(app_dir, 'src', 'main', 'res'),
         ]:
-            for r, d, f in os.walk(res_dir):
-                if os.path.basename(r) == 'values':
-                    xmlfiles += [os.path.join(r, x) for x in f if x.endswith('.xml')]
+            for root, dirs, files in os.walk(res_dir):
+                if os.path.basename(root) == 'values':
+                    xmlfiles += [os.path.join(root, x) for x in files if x.endswith('.xml')]
 
     name = string[len('@string/'):]
 
index a9ffa0275f7ffbe43072313489cb902fde6a9031..5622fc4dfc1b9fd9372c125eafaf5feb43f2a8ff 100644 (file)
@@ -24,7 +24,9 @@ from time import sleep
 from argparse import ArgumentParser
 from subprocess import CalledProcessError, check_output
 
-from fdroidserver import common, metadata
+from . import _
+from . import common
+from . import metadata
 
 try:
     from docker import Client
@@ -407,25 +409,25 @@ def main():
 
     parser.add_argument(
         "app_id", nargs='*',
-        help="app-id with optional versioncode in the form APPID[:VERCODE]")
+        help=_("applicationId with optional versionCode in the form APPID[:VERCODE]"))
     parser.add_argument(
         "-l", "--latest", action="store_true", default=False,
-        help="Scan only the latest version of each package")
+        help=_("Scan only the latest version of each package"))
     parser.add_argument(
         "--clean-after", default=False, action='store_true',
-        help="Clean after all scans have finished")
+        help=_("Clean after all scans have finished"))
     parser.add_argument(
         "--clean-before", default=False, action='store_true',
-        help="Clean before the scans start and rebuild the container")
+        help=_("Clean before the scans start and rebuild the container"))
     parser.add_argument(
         "--clean-only", default=False, action='store_true',
-        help="Clean up all containers and then exit")
+        help=_("Clean up all containers and then exit"))
     parser.add_argument(
         "--init-only", default=False, action='store_true',
-        help="Prepare drozer to run a scan")
+        help=_("Prepare drozer to run a scan"))
     parser.add_argument(
         "--repo-path", default="repo", action="store",
-        help="Override path for repo APKs (default: ./repo)")
+        help=_("Override path for repo APKs (default: ./repo)"))
 
     options = parser.parse_args()
     config = common.read_config(options)
index 159ddf408730a8811d07ccaaa16d41b0207fc83a..b942a21beb54940fb5147f4dae8cdcef141110af 100644 (file)
@@ -21,6 +21,7 @@ import glob
 from argparse import ArgumentParser
 import logging
 
+from . import _
 from . import common
 from .common import FDroidPopen
 from .exception import FDroidException
@@ -46,7 +47,7 @@ def main():
 
     for output_dir in repodirs:
         if not os.path.isdir(output_dir):
-            raise FDroidException("Missing output directory '" + output_dir + "'")
+            raise FDroidException(_("Missing output directory") + " '" + output_dir + "'")
 
         # Process any apks that are waiting to be signed...
         for f in sorted(glob.glob(os.path.join(output_dir, '*.*'))):
index 43e395b74557da927c53168ec70c04f9d3d1af65..ba2f934215af14907616aebfbbe986cffd5522e6 100644 (file)
@@ -26,6 +26,7 @@ from argparse import ArgumentParser
 from configparser import ConfigParser
 import logging
 
+from . import _
 from . import common
 from . import metadata
 from .exception import FDroidException
@@ -59,7 +60,7 @@ def getrepofrompage(url):
         repo = page[index + 9:]
         index = repo.find('<')
         if index == -1:
-            return (None, "Error while getting repo address")
+            return (None, _("Error while getting repo address"))
         repo = repo[:index]
         repo = repo.split('"')[0]
         return (repotype, repo)
@@ -71,12 +72,12 @@ def getrepofrompage(url):
         repo = page[index + 10:]
         index = repo.find('<')
         if index == -1:
-            return (None, "Error while getting repo address")
+            return (None, _("Error while getting repo address"))
         repo = repo[:index]
         repo = repo.split('"')[0]
         return (repotype, repo)
 
-    return (None, "No information found." + page)
+    return (None, _("No information found.") + page)
 
 
 config = None
@@ -87,7 +88,7 @@ def get_metadata_from_url(app, url):
 
     tmp_dir = 'tmp'
     if not os.path.isdir(tmp_dir):
-        logging.info("Creating temporary directory")
+        logging.info(_("Creating temporary directory"))
         os.makedirs(tmp_dir)
 
     # Figure out what kind of project it is...
@@ -190,15 +191,15 @@ def main():
     parser = ArgumentParser()
     common.setup_global_opts(parser)
     parser.add_argument("-u", "--url", default=None,
-                        help="Project URL to import from.")
+                        help=_("Project URL to import from."))
     parser.add_argument("-s", "--subdir", default=None,
-                        help="Path to main android project subdirectory, if not in root.")
+                        help=_("Path to main android project subdirectory, if not in root."))
     parser.add_argument("-c", "--categories", default=None,
-                        help="Comma separated list of categories.")
+                        help=_("Comma separated list of categories."))
     parser.add_argument("-l", "--license", default=None,
-                        help="Overall license of the project.")
+                        help=_("Overall license of the project."))
     parser.add_argument("--rev", default=None,
-                        help="Allows a different revision (or git branch) to be specified for the initial import")
+                        help=_("Allows a different revision (or git branch) to be specified for the initial import"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
@@ -214,7 +215,7 @@ def main():
 
     local_metadata_files = common.get_local_metadata_files()
     if local_metadata_files != []:
-        raise FDroidException("This repo already has local metadata: %s" % local_metadata_files[0])
+        raise FDroidException(_("This repo already has local metadata: %s") % local_metadata_files[0])
 
     if options.url is None and os.path.isdir('.git'):
         app.AutoName = os.path.basename(os.getcwd())
@@ -252,11 +253,11 @@ def main():
 
         versionName, versionCode, package = common.parse_androidmanifests(paths, app)
         if not package:
-            raise FDroidException("Couldn't find package ID")
+            raise FDroidException(_("Couldn't find package ID"))
         if not versionName:
-            logging.warn("Couldn't find latest version name")
+            logging.warn(_("Couldn't find latest version name"))
         if not versionCode:
-            logging.warn("Couldn't find latest version code")
+            logging.warn(_("Couldn't find latest version code"))
     else:
         spec = os.path.join(root_dir, 'buildozer.spec')
         if os.path.exists(spec):
@@ -268,7 +269,7 @@ def main():
             versionName = bconfig.get('app', 'version')
             versionCode = None
         else:
-            raise FDroidException("No android or kivy project could be found. Specify --subdir?")
+            raise FDroidException(_("No android or kivy project could be found. Specify --subdir?"))
 
     # Make sure it's actually new...
     if package in apps:
index 53d2787aa58fbda5d350fcf0cd40f4032e6c9f72..59139e17f70b0492aaa903c141dac4590ebebd82 100644 (file)
@@ -34,7 +34,11 @@ from binascii import hexlify, unhexlify
 from datetime import datetime
 from xml.dom.minidom import Document
 
-from fdroidserver import metadata, signindex, common, net
+from . import _
+from . import common
+from . import metadata
+from . import net
+from . import signindex
 from fdroidserver.common import FDroidPopen, FDroidPopenBytes
 from fdroidserver.exception import FDroidException, VerificationException, MetaDataException
 
@@ -62,16 +66,16 @@ def make(apps, sortedids, apks, repodir, archive):
     if not common.options.nosign:
         if 'repo_keyalias' not in common.config:
             nosigningkey = True
-            logging.critical("'repo_keyalias' not found in config.py!")
+            logging.critical(_("'repo_keyalias' not found in config.py!"))
         if 'keystore' not in common.config:
             nosigningkey = True
-            logging.critical("'keystore' not found in config.py!")
+            logging.critical(_("'keystore' not found in config.py!"))
         if 'keystorepass' not in common.config:
             nosigningkey = True
-            logging.critical("'keystorepass' not found in config.py!")
+            logging.critical(_("'keystorepass' not found in config.py!"))
         if 'keypass' not in common.config:
             nosigningkey = True
-            logging.critical("'keypass' not found in config.py!")
+            logging.critical(_("'keypass' not found in config.py!"))
         if not os.path.exists(common.config['keystore']):
             nosigningkey = True
             logging.critical("'" + common.config['keystore'] + "' does not exist!")
@@ -104,7 +108,7 @@ def make(apps, sortedids, apks, repodir, archive):
     for mirror in sorted(common.config.get('mirrors', [])):
         base = os.path.basename(urllib.parse.urlparse(mirror).path.rstrip('/'))
         if common.config.get('nonstandardwebroot') is not True and base != 'fdroid':
-            logging.error("mirror '" + mirror + "' does not end with 'fdroid'!")
+            logging.error(_("mirror '%s' does not end with 'fdroid'!") % mirror)
             mirrorcheckfailed = True
         # must end with / or urljoin strips a whole path segment
         if mirror.endswith('/'):
@@ -115,7 +119,7 @@ def make(apps, sortedids, apks, repodir, archive):
         for url in get_mirror_service_urls(mirror):
             mirrors.append(url + '/' + repodir)
     if mirrorcheckfailed:
-        raise FDroidException("Malformed repository mirrors.")
+        raise FDroidException(_("Malformed repository mirrors."))
     if mirrors:
         repodict['mirrors'] = mirrors
 
@@ -144,7 +148,7 @@ def make(apps, sortedids, apks, repodir, archive):
             elif all(isinstance(item, str) for item in common.config[key]):
                 packageNames = common.config[key]
             else:
-                raise TypeError('only accepts strings, lists, and tuples')
+                raise TypeError(_('only accepts strings, lists, and tuples'))
         requestsdict[command] = packageNames
 
     make_v0(appsWithPackages, apks, repodir, repodict, requestsdict)
@@ -199,7 +203,7 @@ def make_v1(apps, packages, repodir, repodict, requestsdict):
     for package in packages:
         packageName = package['packageName']
         if packageName not in apps:
-            logging.info('Ignoring package without metadata: ' + package['apkName'])
+            logging.info(_('Ignoring package without metadata: ') + package['apkName'])
             continue
         if packageName in output_packages:
             packagelist = output_packages[packageName]
@@ -224,7 +228,7 @@ def make_v1(apps, packages, repodir, repodict, requestsdict):
             json.dump(output, fp, default=_index_encoder_default)
 
     if common.options.nosign:
-        logging.debug('index-v1 must have a signature, use `fdroid signindex` to create it!')
+        logging.debug(_('index-v1 must have a signature, use `fdroid signindex` to create it!'))
     else:
         signindex.config = common.config
         signindex.sign_index_v1(repodir, json_name)
@@ -501,9 +505,9 @@ def make_v0(apps, apks, repodir, repodict, requestsdict):
     if 'repo_keyalias' in common.config:
 
         if common.options.nosign:
-            logging.info("Creating unsigned index in preparation for signing")
+            logging.info(_("Creating unsigned index in preparation for signing"))
         else:
-            logging.info("Creating signed index with this key (SHA256):")
+            logging.info(_("Creating signed index with this key (SHA256):"))
             logging.info("%s" % repo_pubkey_fingerprint)
 
         # Create a jar of the index...
@@ -613,7 +617,7 @@ def download_repo_index(url_str, etag=None, verify_fingerprint=True):
     if verify_fingerprint:
         query = urllib.parse.parse_qs(url.query)
         if 'fingerprint' not in query:
-            raise VerificationException("No fingerprint in URL.")
+            raise VerificationException(_("No fingerprint in URL."))
         fingerprint = query['fingerprint'][0]
 
     url = urllib.parse.SplitResult(url.scheme, url.netloc, url.path + '/index-v1.jar', '', '')
@@ -635,7 +639,7 @@ def download_repo_index(url_str, etag=None, verify_fingerprint=True):
 
         # compare the fingerprint if verify_fingerprint is True
         if verify_fingerprint and fingerprint.upper() != public_key_fingerprint:
-            raise VerificationException("The repository's fingerprint does not match.")
+            raise VerificationException(_("The repository's fingerprint does not match."))
 
         # load repository index from JSON
         index = json.loads(jar.read('index-v1.json').decode("utf-8"))
@@ -655,7 +659,7 @@ def verify_jar_signature(file):
     :raises: VerificationException() if the JAR's signature could not be verified
     """
     if not common.verify_apk_signature(file, jar=True):
-        raise VerificationException("The repository's index could not be verified.")
+        raise VerificationException(_("The repository's index could not be verified."))
 
 
 def get_public_key_from_jar(jar):
@@ -670,9 +674,9 @@ def get_public_key_from_jar(jar):
     # extract certificate from jar
     certs = [n for n in jar.namelist() if common.CERT_PATH_REGEX.match(n)]
     if len(certs) < 1:
-        raise VerificationException("Found no signing certificates for repository.")
+        raise VerificationException(_("Found no signing certificates for repository."))
     if len(certs) > 1:
-        raise VerificationException("Found multiple signing certificates for repository.")
+        raise VerificationException(_("Found multiple signing certificates for repository."))
 
     # extract public key from certificate
     public_key = common.get_certificate(jar.read(certs[0]))
index 5a89546437ea6dc4a4c5806b5e9c83201cdaae8e..a115f64c717cc4cb74d3b25306d3545be79dd884 100644 (file)
@@ -27,6 +27,7 @@ import sys
 from argparse import ArgumentParser
 import logging
 
+from . import _
 from . import common
 from .exception import FDroidException
 
@@ -53,15 +54,15 @@ def main():
     parser = ArgumentParser()
     common.setup_global_opts(parser)
     parser.add_argument("-d", "--distinguished-name", default=None,
-                        help="X.509 'Distiguished Name' used when generating keys")
+                        help=_("X.509 'Distiguished Name' used when generating keys"))
     parser.add_argument("--keystore", default=None,
-                        help="Path to the keystore for the repo signing key")
+                        help=_("Path to the keystore for the repo signing key"))
     parser.add_argument("--repo-keyalias", default=None,
-                        help="Alias of the repo signing key in the keystore")
+                        help=_("Alias of the repo signing key in the keystore"))
     parser.add_argument("--android-home", default=None,
-                        help="Path to the Android SDK (sometimes set in ANDROID_HOME)")
+                        help=_("Path to the Android SDK (sometimes set in ANDROID_HOME)"))
     parser.add_argument("--no-prompt", action="store_true", default=False,
-                        help="Do not prompt for Android SDK path, just fail")
+                        help=_("Do not prompt for Android SDK path, just fail"))
     options = parser.parse_args()
 
     # find root install prefix
@@ -106,8 +107,7 @@ def main():
                                                 'AppData', 'Local', 'Android', 'android-sdk')
             while not options.no_prompt:
                 try:
-                    s = input('Enter the path to the Android SDK ('
-                              + default_sdk_path + ') here:\n> ')
+                    s = input(_('Enter the path to the Android SDK (%s) here:\n> ') % default_sdk_path)
                 except KeyboardInterrupt:
                     print('')
                     sys.exit(1)
@@ -231,21 +231,20 @@ def main():
         common.write_to_config(test_config, 'keydname', c['keydname'])
         common.genkeystore(c)
 
-    logging.info('Built repo based in "' + fdroiddir + '"')
-    logging.info('with this config:')
-    logging.info('  Android SDK:\t\t\t' + config['sdk_path'])
+    msg = '\n'
+    msg += _('Built repo based in "%s" with this config:') % fdroiddir
+    msg += '\n\n  Android SDK:\t\t\t' + config['sdk_path']
     if aapt:
-        logging.info('  Android SDK Build Tools:\t' + os.path.dirname(aapt))
-    logging.info('  Android NDK r12b (optional):\t$ANDROID_NDK')
-    logging.info('  Keystore for signing key:\t' + keystore)
+        msg += '\n  Android SDK Build Tools:\t' + os.path.dirname(aapt)
+    msg += '\n  Android NDK r12b (optional):\t$ANDROID_NDK'
+    msg += '\n  ' + _('Keystore for signing key:\t') + keystore
     if repo_keyalias is not None:
-        logging.info('  Alias for key in store:\t' + repo_keyalias)
-    logging.info('\nTo complete the setup, add your APKs to "' +
-                 os.path.join(fdroiddir, 'repo') + '"' + '''
+        msg += '\n  Alias for key in store:\t' + repo_keyalias
+    msg += '\n\n' + '''To complete the setup, add your APKs to "%s"
 then run "fdroid update -c; fdroid update".  You might also want to edit
 "config.py" to set the URL, repo name, and more.  You should also set up
 a signing key (a temporary one might have been automatically generated).
 
 For more info: https://f-droid.org/docs/Setup_an_F-Droid_App_Repo
-and https://f-droid.org/docs/Signing_Process
-''')
+and https://f-droid.org/docs/Signing_Process''' % os.path.join(fdroiddir, 'repo')
+    logging.info(msg)
index 9f1264284b6e85e2c853bef495bb175a5d51e239..e3e21ff5a4dfe5a0f5da01ce16d9c820aa70b058 100644 (file)
@@ -23,6 +23,7 @@ import glob
 from argparse import ArgumentParser
 import logging
 
+from . import _
 from . import common
 from .common import SdkToolsPopen
 from .exception import FDroidException
@@ -49,19 +50,19 @@ def main():
     # Parse command line...
     parser = ArgumentParser(usage="%(prog)s [options] [APPID[:VERCODE] [APPID[:VERCODE] ...]]")
     common.setup_global_opts(parser)
-    parser.add_argument("appid", nargs='*', help="app-id with optional versionCode in the form APPID[:VERCODE]")
+    parser.add_argument("appid", nargs='*', help=_("applicationId with optional versionCode in the form APPID[:VERCODE]"))
     parser.add_argument("-a", "--all", action="store_true", default=False,
-                        help="Install all signed applications available")
+                        help=_("Install all signed applications available"))
     options = parser.parse_args()
 
     if not options.appid and not options.all:
-        parser.error("option %s: If you really want to install all the signed apps, use --all" % "all")
+        parser.error(_("option %s: If you really want to install all the signed apps, use --all") % "all")
 
     config = common.read_config(options)
 
     output_dir = 'repo'
     if not os.path.isdir(output_dir):
-        logging.info("No signed output directory - nothing to do")
+        logging.info(_("No signed output directory - nothing to do"))
         sys.exit(0)
 
     if options.appid:
@@ -84,7 +85,7 @@ def main():
 
         for appid, apk in apks.items():
             if not apk:
-                raise FDroidException("No signed apk available for %s" % appid)
+                raise FDroidException(_("No signed apk available for %s") % appid)
 
     else:
 
@@ -95,10 +96,10 @@ def main():
         # Get device list each time to avoid device not found errors
         devs = devices()
         if not devs:
-            raise FDroidException("No attached devices found")
-        logging.info("Installing %s..." % apk)
+            raise FDroidException(_("No attached devices found"))
+        logging.info(_("Installing %s...") % apk)
         for dev in devs:
-            logging.info("Installing %s on %s..." % (apk, dev))
+            logging.info(_("Installing %s on %s...") % (apk, dev))
             p = SdkToolsPopen(['adb', "-s", dev, "install", apk])
             fail = ""
             for line in p.output.splitlines():
@@ -108,12 +109,12 @@ def main():
                 continue
 
             if fail == "INSTALL_FAILED_ALREADY_EXISTS":
-                logging.warn("%s is already installed on %s." % (apk, dev))
+                logging.warn(_("%s is already installed on %s.") % (apk, dev))
             else:
-                raise FDroidException("Failed to install %s on %s: %s" % (
+                raise FDroidException(_("Failed to install %s on %s: %s") % (
                     apk, dev, fail))
 
-    logging.info("\nFinished")
+    logging.info('\n' + _('Finished'))
 
 
 if __name__ == "__main__":
index 04ef0f9cbbdb202cddfe2bcfaff1472b48256e75..492a09fc05a87b607077a10f1e063bc39516f438 100644 (file)
@@ -22,6 +22,7 @@ import os
 import re
 import sys
 
+from . import _
 from . import common
 from . import metadata
 from . import rewritemeta
@@ -47,7 +48,7 @@ https_enforcings = [
 
 def forbid_shortener(domain):
     return (re.compile(r'https?://[^/]*' + re.escape(domain) + r'/.*'),
-            "URL shorteners should not be used")
+            _("URL shorteners should not be used"))
 
 
 http_url_shorteners = [
@@ -62,9 +63,9 @@ http_url_shorteners = [
 
 http_checks = https_enforcings + http_url_shorteners + [
     (re.compile(r'.*github\.com/[^/]+/[^/]+\.git'),
-     "Appending .git is not necessary"),
+     _("Appending .git is not necessary")),
     (re.compile(r'.*://[^/]*(github|gitlab|bitbucket|rawgit)[^/]*/([^/]+/){1,3}master'),
-     "Use /HEAD instead of /master to point at a file in the default branch"),
+     _("Use /HEAD instead of /master to point at a file in the default branch")),
 ]
 
 regex_checks = {
@@ -73,44 +74,44 @@ regex_checks = {
     'Repo': https_enforcings,
     'IssueTracker': http_checks + [
         (re.compile(r'.*github\.com/[^/]+/[^/]+/*$'),
-         "/issues is missing"),
+         _("/issues is missing")),
         (re.compile(r'.*gitlab\.com/[^/]+/[^/]+/*$'),
-         "/issues is missing"),
+         _("/issues is missing")),
     ],
     'Donate': http_checks + [
         (re.compile(r'.*flattr\.com'),
-         "Flattr donation methods belong in the FlattrID flag"),
+         _("Flattr donation methods belong in the FlattrID flag")),
     ],
     'Changelog': http_checks,
     'Author Name': [
         (re.compile(r'^\s'),
-         "Unnecessary leading space"),
+         _("Unnecessary leading space")),
         (re.compile(r'.*\s$'),
-         "Unnecessary trailing space"),
+         _("Unnecessary trailing space")),
     ],
     'Summary': [
         (re.compile(r'.*\b(free software|open source)\b.*', re.IGNORECASE),
-         "No need to specify that the app is Free Software"),
+         _("No need to specify that the app is Free Software")),
         (re.compile(r'.*((your|for).*android|android.*(app|device|client|port|version))', re.IGNORECASE),
-         "No need to specify that the app is for Android"),
+         _("No need to specify that the app is for Android")),
         (re.compile(r'.*[a-z0-9][.!?]( |$)'),
-         "Punctuation should be avoided"),
+         _("Punctuation should be avoided")),
         (re.compile(r'^\s'),
-         "Unnecessary leading space"),
+         _("Unnecessary leading space")),
         (re.compile(r'.*\s$'),
-         "Unnecessary trailing space"),
+         _("Unnecessary trailing space")),
     ],
     'Description': [
         (re.compile(r'\s*[*#][^ .]'),
-         "Invalid bulleted list"),
+         _("Invalid bulleted list")),
         (re.compile(r'^\s'),
-         "Unnecessary leading space"),
+         _("Unnecessary leading space")),
         (re.compile(r'.*\s$'),
-         "Unnecessary trailing space"),
+         _("Unnecessary trailing space")),
         (re.compile(r'.*([^[]|^)\[[^:[\]]+( |\]|$)'),
-         "Invalid link - use [http://foo.bar Link title] or [http://foo.bar]"),
+         _("Invalid link - use [http://foo.bar Link title] or [http://foo.bar]")),
         (re.compile(r'(^|.* )https?://[^ ]+'),
-         "Unlinkified link - use [http://foo.bar Link title] or [http://foo.bar]"),
+         _("Unlinkified link - use [http://foo.bar Link title] or [http://foo.bar]")),
     ],
 }
 
@@ -155,7 +156,7 @@ def check_ucm_tags(app):
             and lastbuild.versionCode == app.CurrentVersionCode
             and not lastbuild.forcevercode
             and any(s in lastbuild.commit for s in '.,_-/')):
-        yield "Last used commit '%s' looks like a tag, but Update Check Mode is '%s'" % (
+        yield _("Last used commit '%s' looks like a tag, but Update Check Mode is '%s'") % (
             lastbuild.commit, app.UpdateCheckMode)
 
 
@@ -163,11 +164,11 @@ def check_char_limits(app):
     limits = config['char_limits']
 
     if len(app.Summary) > limits['summary']:
-        yield "Summary of length %s is over the %i char limit" % (
+        yield _("Summary of length %s is over the %i char limit") % (
             len(app.Summary), limits['summary'])
 
     if len(app.Description) > limits['description']:
-        yield "Description of length %s is over the %i char limit" % (
+        yield _("Description of length %s is over the %i char limit") % (
             len(app.Description), limits['description'])
 
 
@@ -185,12 +186,12 @@ def check_old_links(app):
         for f in ['WebSite', 'SourceCode', 'IssueTracker', 'Changelog']:
             v = app.get(f)
             if any(s in v for s in old_sites):
-                yield "App is in '%s' but has a link to '%s'" % (app.Repo, v)
+                yield _("App is in '%s' but has a link to '%s'") % (app.Repo, v)
 
 
 def check_useless_fields(app):
     if app.UpdateCheckName == app.id:
-        yield "Update Check Name is set to the known app id - it can be removed"
+        yield _("Update Check Name is set to the known app id - it can be removed")
 
 
 filling_ucms = re.compile(r'^(Tags.*|RepoManifest.*)')
@@ -199,12 +200,12 @@ filling_ucms = re.compile(r'^(Tags.*|RepoManifest.*)')
 def check_checkupdates_ran(app):
     if filling_ucms.match(app.UpdateCheckMode):
         if not app.AutoName and not app.CurrentVersion and app.CurrentVersionCode == '0':
-            yield "UCM is set but it looks like checkupdates hasn't been run yet"
+            yield _("UCM is set but it looks like checkupdates hasn't been run yet")
 
 
 def check_empty_fields(app):
     if not app.Categories:
-        yield "Categories are not set"
+        yield _("Categories are not set")
 
 
 all_categories = set([
@@ -231,12 +232,12 @@ all_categories = set([
 def check_categories(app):
     for categ in app.Categories:
         if categ not in all_categories:
-            yield "Category '%s' is not valid" % categ
+            yield _("Category '%s' is not valid" % categ)
 
 
 def check_duplicates(app):
     if app.Name and app.Name == app.AutoName:
-        yield "Name '%s' is just the auto name - remove it" % app.Name
+        yield _("Name '%s' is just the auto name - remove it") % app.Name
 
     links_seen = set()
     for f in ['Source Code', 'Web Site', 'Issue Tracker', 'Changelog']:
@@ -245,25 +246,25 @@ def check_duplicates(app):
             continue
         v = v.lower()
         if v in links_seen:
-            yield "Duplicate link in '%s': %s" % (f, v)
+            yield _("Duplicate link in '%s': %s") % (f, v)
         else:
             links_seen.add(v)
 
     name = app.Name or app.AutoName
     if app.Summary and name:
         if app.Summary.lower() == name.lower():
-            yield "Summary '%s' is just the app's name" % app.Summary
+            yield _("Summary '%s' is just the app's name") % app.Summary
 
     if app.Summary and app.Description and len(app.Description) == 1:
         if app.Summary.lower() == app.Description[0].lower():
-            yield "Description '%s' is just the app's summary" % app.Summary
+            yield _("Description '%s' is just the app's summary") % app.Summary
 
     seenlines = set()
     for l in app.Description.splitlines():
         if len(l) < 1:
             continue
         if l in seenlines:
-            yield "Description has a duplicate line"
+            yield _("Description has a duplicate line")
         seenlines.add(l)
 
 
@@ -276,7 +277,7 @@ def check_mediawiki_links(app):
         url = um.group(1)
         for m, r in http_checks:
             if m.match(url):
-                yield "URL '%s' in Description: %s" % (url, r)
+                yield _("URL '%s' in Description: %s") % (url, r)
 
 
 def check_bulleted_lists(app):
@@ -291,7 +292,7 @@ def check_bulleted_lists(app):
         if l[0] == lchar and l[1] == ' ':
             lcount += 1
             if lcount > 2 and lchar not in validchars:
-                yield "Description has a list (%s) but it isn't bulleted (*) nor numbered (#)" % lchar
+                yield _("Description has a list (%s) but it isn't bulleted (*) nor numbered (#)") % lchar
                 break
         else:
             lchar = l[0]
@@ -304,18 +305,18 @@ def check_builds(app):
     for build in app.builds:
         if build.disable:
             if build.disable.startswith('Generated by import.py'):
-                yield "Build generated by `fdroid import` - remove disable line once ready"
+                yield _("Build generated by `fdroid import` - remove disable line once ready")
             continue
         for s in ['master', 'origin', 'HEAD', 'default', 'trunk']:
             if build.commit and build.commit.startswith(s):
-                yield "Branch '%s' used as commit in build '%s'" % (s, build.versionName)
+                yield _("Branch '%s' used as commit in build '%s'") % (s, build.versionName)
             for srclib in build.srclibs:
                 ref = srclib.split('@')[1].split('/')[0]
                 if ref.startswith(s):
-                    yield "Branch '%s' used as commit in srclib '%s'" % (s, srclib)
+                    yield _("Branch '%s' used as commit in srclib '%s'") % (s, srclib)
         for key in build.keys():
             if key not in supported_flags:
-                yield key + ' is not an accepted build field'
+                yield _('%s is not an accepted build field') % key
 
 
 def check_files_dir(app):
@@ -326,7 +327,7 @@ def check_files_dir(app):
     for name in os.listdir(dir_path):
         path = os.path.join(dir_path, name)
         if not (os.path.isfile(path) or name == 'signatures' or locale_pattern.match(name)):
-            yield "Found non-file at %s" % path
+            yield _("Found non-file at %s") % path
             continue
         files.add(name)
 
@@ -334,45 +335,45 @@ def check_files_dir(app):
     for build in app.builds:
         for fname in build.patch:
             if fname not in files:
-                yield "Unknown file %s in build '%s'" % (fname, build.versionName)
+                yield _("Unknown file %s in build '%s'") % (fname, build.versionName)
             else:
                 used.add(fname)
 
     for name in files.difference(used):
         if locale_pattern.match(name):
             continue
-        yield "Unused file at %s" % os.path.join(dir_path, name)
+        yield _("Unused file at %s") % os.path.join(dir_path, name)
 
 
 def check_format(app):
     if options.format and not rewritemeta.proper_format(app):
-        yield "Run rewritemeta to fix formatting"
+        yield _("Run rewritemeta to fix formatting")
 
 
 def check_license_tag(app):
     '''Ensure all license tags are in https://spdx.org/license-list'''
     if app.License.rstrip('+') not in SPDX:
-        yield 'Invalid license tag "%s"! Use only tags from https://spdx.org/license-list' \
+        yield _('Invalid license tag "%s"! Use only tags from https://spdx.org/license-list') \
             % (app.License)
 
 
 def check_extlib_dir(apps):
     dir_path = os.path.join('build', 'extlib')
-    files = set()
-    for root, dirs, names in os.walk(dir_path):
-        for name in names:
-            files.add(os.path.join(root, name)[len(dir_path) + 1:])
+    unused_extlib_files = set()
+    for root, dirs, files in os.walk(dir_path):
+        for name in files:
+            unused_extlib_files.add(os.path.join(root, name)[len(dir_path) + 1:])
 
     used = set()
     for app in apps:
         for build in app.builds:
             for path in build.extlibs:
-                if path not in files:
-                    yield "%s: Unknown extlib %s in build '%s'" % (app.id, path, build.versionName)
+                if path not in unused_extlib_files:
+                    yield _("%s: Unknown extlib %s in build '%s'") % (app.id, path, build.versionName)
                 else:
                     used.add(path)
 
-    for path in files.difference(used):
+    for path in unused_extlib_files.difference(used):
         if any(path.endswith(s) for s in [
                 '.gitignore',
                 'source.txt', 'origin.txt', 'md5.txt',
@@ -381,7 +382,7 @@ def check_extlib_dir(apps):
                 'NOTICE', 'NOTICE.txt',
                 ]):
             continue
-        yield "Unused extlib at %s" % os.path.join(dir_path, path)
+        yield _("Unused extlib at %s") % os.path.join(dir_path, path)
 
 
 def check_for_unsupported_metadata_files(basedir=""):
@@ -397,7 +398,7 @@ def check_for_unsupported_metadata_files(basedir=""):
             for t in formats:
                 exists = exists or os.path.exists(f + '.' + t)
             if not exists:
-                print('"' + f + '/" has no matching metadata file!')
+                print(_('"%s/" has no matching metadata file!') % f)
                 return_value = True
         elif not os.path.splitext(f)[1][1:] in formats:
             print('"' + f.replace(basedir, '')
@@ -415,8 +416,8 @@ def main():
     parser = ArgumentParser(usage="%(prog)s [options] [APPID [APPID ...]]")
     common.setup_global_opts(parser)
     parser.add_argument("-f", "--format", action="store_true", default=False,
-                        help="Also warn about formatting issues, like rewritemeta -l")
-    parser.add_argument("appid", nargs='*', help="app-id in the form APPID")
+                        help=_("Also warn about formatting issues, like rewritemeta -l"))
+    parser.add_argument("appid", nargs='*', help=_("applicationId in the form APPID"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
index 25e0537705411cd6c7fdb18f52e19344d0e46db3..d1602d9ebeea18d2341e8aa294d17d624fd247cb 100644 (file)
@@ -35,6 +35,7 @@ except ImportError:
     YamlLoader = Loader
 
 import fdroidserver.common
+from fdroidserver import _
 from fdroidserver.exception import MetaDataException, FDroidException
 
 srclibs = None
@@ -1519,4 +1520,4 @@ def write_metadata(metadatapath, app):
 def add_metadata_arguments(parser):
     '''add common command line flags related to metadata processing'''
     parser.add_argument("-W", default='error',
-                        help="force errors to be warnings, or ignore")
+                        help=_("force errors to be warnings, or ignore"))
index ad2009067041a1616aaadf3d12143af2bfff38aa..94cf166b45b78d15b0cfc60c6bede6061dc590a5 100644 (file)
@@ -26,6 +26,7 @@ import hashlib
 from argparse import ArgumentParser
 import logging
 
+from . import _
 from . import common
 from . import metadata
 from .common import FDroidPopen, SdkToolsPopen
@@ -43,7 +44,7 @@ def main():
     parser = ArgumentParser(usage="%(prog)s [options] "
                             "[APPID[:VERCODE] [APPID[:VERCODE] ...]]")
     common.setup_global_opts(parser)
-    parser.add_argument("appid", nargs='*', help="app-id with optional versionCode in the form APPID[:VERCODE]")
+    parser.add_argument("appid", nargs='*', help=_("applicationId with optional versionCode in the form APPID[:VERCODE]"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
@@ -51,27 +52,27 @@ def main():
     config = common.read_config(options)
 
     if not ('jarsigner' in config and 'keytool' in config):
-        logging.critical('Java JDK not found! Install in standard location or set java_paths!')
+        logging.critical(_('Java JDK not found! Install in standard location or set java_paths!'))
         sys.exit(1)
 
     log_dir = 'logs'
     if not os.path.isdir(log_dir):
-        logging.info("Creating log directory")
+        logging.info(_("Creating log directory"))
         os.makedirs(log_dir)
 
     tmp_dir = 'tmp'
     if not os.path.isdir(tmp_dir):
-        logging.info("Creating temporary directory")
+        logging.info(_("Creating temporary directory"))
         os.makedirs(tmp_dir)
 
     output_dir = 'repo'
     if not os.path.isdir(output_dir):
-        logging.info("Creating output directory")
+        logging.info(_("Creating output directory"))
         os.makedirs(output_dir)
 
     unsigned_dir = 'unsigned'
     if not os.path.isdir(unsigned_dir):
-        logging.warning("No unsigned directory - nothing to do")
+        logging.warning(_("No unsigned directory - nothing to do"))
         sys.exit(1)
 
     if not os.path.exists(config['keystore']):
@@ -95,7 +96,7 @@ def main():
         m.update(appid.encode('utf-8'))
         keyalias = m.hexdigest()[:8]
         if keyalias in allaliases:
-            logging.error("There is a keyalias collision - publishing halted")
+            logging.error(_("There is a keyalias collision - publishing halted"))
             sys.exit(1)
         allaliases.append(keyalias)
     logging.info("{0} apps, {0} key aliases".format(len(allapps),
@@ -208,13 +209,13 @@ def main():
                              'SHA1withRSA', '-digestalg', 'SHA1',
                              apkfile, keyalias], envs=env_vars)
             if p.returncode != 0:
-                raise BuildException("Failed to sign application")
+                raise BuildException(_("Failed to sign application"))
 
             # Zipalign it...
             p = SdkToolsPopen(['zipalign', '-v', '4', apkfile,
                                os.path.join(output_dir, apkfilename)])
             if p.returncode != 0:
-                raise BuildException("Failed to align application")
+                raise BuildException(_("Failed to align application"))
             os.remove(apkfile)
 
         # Move the source tarball into the output directory...
index ae4627ebdd8936a21174b34c6a950629797bccc7..776e1f14c41e034b1db3f6e80b908d63d86668c5 100644 (file)
@@ -22,6 +22,7 @@ import os
 import logging
 import io
 
+from . import _
 from . import common
 from . import metadata
 
@@ -51,10 +52,10 @@ def main():
     parser = ArgumentParser(usage="%(prog)s [options] [APPID [APPID ...]]")
     common.setup_global_opts(parser)
     parser.add_argument("-l", "--list", action="store_true", default=False,
-                        help="List files that would be reformatted")
+                        help=_("List files that would be reformatted"))
     parser.add_argument("-t", "--to", default=None,
-                        help="Rewrite to a specific format: " + ', '.join(supported))
-    parser.add_argument("appid", nargs='*', help="app-id in the form APPID")
+                        help=_("Rewrite to a specific format: ") + ', '.join(supported))
+    parser.add_argument("appid", nargs='*', help=_("applicationId in the form APPID"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
@@ -66,21 +67,21 @@ def main():
     apps = common.read_app_args(options.appid, allapps, False)
 
     if options.list and options.to is not None:
-        parser.error("Cannot use --list and --to at the same time")
+        parser.error(_("Cannot use --list and --to at the same time"))
 
     if options.to is not None and options.to not in supported:
-        parser.error("Unsupported metadata format, use: --to [" + ' '.join(supported) + "]")
+        parser.error(_("Unsupported metadata format, use: --to [%s]") % ' '.join(supported))
 
     for appid, app in apps.items():
         path = app.metadatapath
         base, ext = common.get_extension(path)
         if not options.to and ext not in supported:
-            logging.info("Ignoring %s file at '%s'" % (ext, path))
+            logging.info(_("Ignoring %s file at '%s'") % (ext, path))
             continue
         elif options.to is not None:
-            logging.info("rewriting '%s' to %s" % (appid, options.to))
+            logging.info(_("rewriting '%s' to %s") % (appid, options.to))
         else:
-            logging.info("rewriting '%s'" % (appid))
+            logging.info(_("rewriting '%s'") % (appid))
 
         to_ext = ext
         if options.to is not None:
@@ -107,7 +108,7 @@ def main():
         if ext != to_ext:
             os.remove(path)
 
-    logging.debug("Finished.")
+    logging.debug(_("Finished"))
 
 
 if __name__ == "__main__":
index f768e6788a98d6f9a1cdc5d89f512df88d3a3ef4..874f0b0081d72e489981ea74cc73a89f02a2c7fb 100644 (file)
@@ -22,6 +22,7 @@ import traceback
 from argparse import ArgumentParser
 import logging
 
+from . import _
 from . import common
 from . import metadata
 from .exception import BuildException, VCSException
@@ -165,20 +166,20 @@ def scan_source(build_dir, build):
         return any(command.match(line) for command in gradle_compile_commands)
 
     # Iterate through all files in the source code
-    for dirpath, dirnames, filenames in os.walk(build_dir, topdown=True):
+    for root, dirs, files in os.walk(build_dir, topdown=True):
 
         # It's topdown, so checking the basename is enough
         for ignoredir in ('.hg', '.git', '.svn', '.bzr'):
-            if ignoredir in dirnames:
-                dirnames.remove(ignoredir)
+            if ignoredir in dirs:
+                dirs.remove(ignoredir)
 
-        for curfile in filenames:
+        for curfile in files:
 
             if curfile in ['.DS_Store']:
                 continue
 
             # Path (relative) to the file
-            filepath = os.path.join(dirpath, curfile)
+            filepath = os.path.join(root, curfile)
 
             if os.path.islink(filepath):
                 continue
@@ -256,7 +257,7 @@ def main():
     # Parse command line...
     parser = ArgumentParser(usage="%(prog)s [options] [APPID[:VERCODE] [APPID[:VERCODE] ...]]")
     common.setup_global_opts(parser)
-    parser.add_argument("appid", nargs='*', help="app-id with optional versionCode in the form APPID[:VERCODE]")
+    parser.add_argument("appid", nargs='*', help=_("applicationId with optional versionCode in the form APPID[:VERCODE]"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
@@ -329,8 +330,8 @@ def main():
                 appid, traceback.format_exc()))
             probcount += 1
 
-    logging.info("Finished:")
-    print("%d problems found" % probcount)
+    logging.info(_("Finished"))
+    print(_("%d problems found") % probcount)
 
 
 if __name__ == "__main__":
index 3b36eceeac96a8fc110bfa3f99ec932b9ebc1c0e..aa15284f6e28f5161ba4270b6803571c09e119a9 100644 (file)
@@ -29,6 +29,7 @@ from argparse import ArgumentParser
 import logging
 import shutil
 
+from . import _
 from . import common
 from .exception import FDroidException
 
@@ -154,7 +155,7 @@ def update_awsbucket_libcloud(repo_section):
         if obj.name.startswith(upload_dir + '/'):
             objs[obj.name] = obj
 
-    for root, _, files in os.walk(os.path.join(os.getcwd(), repo_section)):
+    for root, dirs, files in os.walk(os.path.join(os.getcwd(), repo_section)):
         for name in files:
             upload = False
             file_to_upload = os.path.join(root, name)
@@ -307,9 +308,9 @@ def update_localcopy(repo_section, local_copy_dir):
 def _get_size(start_path='.'):
     '''get size of all files in a dir https://stackoverflow.com/a/1392549'''
     total_size = 0
-    for dirpath, dirnames, filenames in os.walk(start_path):
-        for f in filenames:
-            fp = os.path.join(dirpath, f)
+    for root, dirs, files in os.walk(start_path):
+        for f in files:
+            fp = os.path.join(root, f)
             total_size += os.path.getsize(fp)
     return total_size
 
@@ -577,19 +578,19 @@ def main():
     # Parse command line...
     parser = ArgumentParser()
     common.setup_global_opts(parser)
-    parser.add_argument("command", help="command to execute, either 'init' or 'update'")
+    parser.add_argument("command", help=_("command to execute, either 'init' or 'update'"))
     parser.add_argument("-i", "--identity-file", default=None,
-                        help="Specify an identity file to provide to SSH for rsyncing")
+                        help=_("Specify an identity file to provide to SSH for rsyncing"))
     parser.add_argument("--local-copy-dir", default=None,
-                        help="Specify a local folder to sync the repo to")
+                        help=_("Specify a local folder to sync the repo to"))
     parser.add_argument("--no-checksum", action="store_true", default=False,
-                        help="Don't use rsync checksums")
+                        help=_("Don't use rsync checksums"))
     options = parser.parse_args()
 
     config = common.read_config(options)
 
     if options.command != 'init' and options.command != 'update':
-        logging.critical("The only commands currently supported are 'init' and 'update'")
+        logging.critical(_("The only commands currently supported are 'init' and 'update'"))
         sys.exit(1)
 
     if config.get('nonstandardwebroot') is True:
@@ -605,7 +606,7 @@ def main():
         elif len(s) == 2:
             host, fdroiddir = s
         else:
-            logging.error('Malformed serverwebroot line: ' + serverwebroot)
+            logging.error(_('Malformed serverwebroot line:') + ' ' + serverwebroot)
             sys.exit(1)
         repobase = os.path.basename(fdroiddir)
         if standardwebroot and repobase != 'fdroid':
@@ -624,7 +625,7 @@ def main():
     if local_copy_dir is not None:
         fdroiddir = local_copy_dir.rstrip('/')
         if os.path.exists(fdroiddir) and not os.path.isdir(fdroiddir):
-            logging.error('local_copy_dir must be directory, not a file!')
+            logging.error(_('local_copy_dir must be directory, not a file!'))
             sys.exit(1)
         if not os.path.exists(os.path.dirname(fdroiddir)):
             logging.error('The root dir for local_copy_dir "'
@@ -632,7 +633,7 @@ def main():
                           + '" does not exist!')
             sys.exit(1)
         if not os.path.isabs(fdroiddir):
-            logging.error('local_copy_dir must be an absolute path!')
+            logging.error(_('local_copy_dir must be an absolute path!'))
             sys.exit(1)
         repobase = os.path.basename(fdroiddir)
         if standardwebroot and repobase != 'fdroid':
@@ -652,8 +653,8 @@ def main():
             and not config.get('binary_transparency_remote') \
             and not config.get('virustotal_apikey') \
             and local_copy_dir is None:
-        logging.warn('No option set! Edit your config.py to set at least one among:\n'
-                     + 'serverwebroot, servergitmirrors, local_copy_dir, awsbucket, virustotal_apikey, androidobservatory, or binary_transparency_remote')
+        logging.warn(_('No option set! Edit your config.py to set at least one of these:')
+                     + '\nserverwebroot, servergitmirrors, local_copy_dir, awsbucket, virustotal_apikey, androidobservatory, or binary_transparency_remote')
         sys.exit(1)
 
     repo_sections = ['repo']
index 298711ae66dc749cb09c0dbfb45763ebacaf8e71..fb6c53a9adcc0547ab7495b2d522182b147fb16d 100644 (file)
@@ -22,6 +22,7 @@ import os
 import sys
 import logging
 
+from . import _
 from . import common
 from . import net
 from .exception import FDroidException
@@ -52,7 +53,7 @@ def extract(config, options):
         os.mkdir(tmp_dir)
 
     if not options.APK or len(options.APK) <= 0:
-        logging.critical('no APK supplied')
+        logging.critical(_('no APK supplied'))
         sys.exit(1)
 
     # iterate over supplied APKs downlaod and extract them...
@@ -61,21 +62,21 @@ def extract(config, options):
         try:
             if os.path.isfile(apk):
                 sigdir = extract_signature(apk)
-                logging.info('fetched singatures for %s -> %s', apk, sigdir)
+                logging.info(_('fetched signatures for %s -> %s'), apk, sigdir)
             elif httpre.match(apk):
                 if apk.startswith('https') or options.no_check_https:
                     try:
                         tmp_apk = os.path.join(tmp_dir, 'signed.apk')
                         net.download_file(apk, tmp_apk)
                         sigdir = extract_signature(tmp_apk)
-                        logging.info('fetched singatures for %s -> %s', apk, sigdir)
+                        logging.info(_('fetched signatures for %s -> %s'), apk, sigdir)
                     finally:
                         if tmp_apk and os.path.exists(tmp_apk):
                             os.remove(tmp_apk)
                 else:
-                    logging.warn('refuse downloading via insecure http connection (use https or specify --no-https-check): %s', apk)
+                    logging.warn(_('refuse downloading via insecure http connection (use https or specify --no-https-check): %s'), apk)
         except FDroidException as e:
-            logging.warning("failed fetching signatures for '%s': %s", apk, e)
+            logging.warning(_("failed fetching signatures for '%s': %s"), apk, e)
             if e.detail:
                 logging.debug(e.detail)
 
@@ -88,7 +89,7 @@ def main():
     parser = ArgumentParser(usage="%(prog)s [options] APK [APK...]")
     common.setup_global_opts(parser)
     parser.add_argument("APK", nargs='*',
-                        help="signed APK, either a file-path or Https-URL are fine here.")
+                        help=_("signed APK, either a file-path or HTTPS URL."))
     parser.add_argument("--no-check-https", action="store_true", default=False)
     options = parser.parse_args()
 
index 6b5dd98312815d43f366184b8770ec7714d58eb6..cbd552393539e26a83b6472f6dadee46a6662455 100644 (file)
@@ -21,6 +21,7 @@ import zipfile
 from argparse import ArgumentParser
 import logging
 
+from . import _
 from . import common
 from .exception import FDroidException
 
@@ -87,7 +88,7 @@ def main():
 
     if 'jarsigner' not in config:
         raise FDroidException(
-            'Java jarsigner not found! Install in standard location or set java_paths!')
+            _('Java jarsigner not found! Install in standard location or set java_paths!'))
 
     repodirs = ['repo']
     if config['archive_older'] != 0:
@@ -114,7 +115,7 @@ def main():
             signed += 1
 
     if signed == 0:
-        logging.info("Nothing to do")
+        logging.info(_("Nothing to do"))
 
 
 if __name__ == "__main__":
index 8a1aec2a4322de6e6a8a6b1e8c6ee5bb73d3d35d..e87db35facdd54a7d995a4a0a6b52d3246ffcc2d 100644 (file)
@@ -30,6 +30,7 @@ import logging
 import subprocess
 from collections import Counter
 
+from . import _
 from . import common
 from . import metadata
 
@@ -61,12 +62,12 @@ def main():
     parser = ArgumentParser()
     common.setup_global_opts(parser)
     parser.add_argument("-d", "--download", action="store_true", default=False,
-                        help="Download logs we don't have")
+                        help=_("Download logs we don't have"))
     parser.add_argument("--recalc", action="store_true", default=False,
-                        help="Recalculate aggregate stats - use when changes "
-                        "have been made that would invalidate old cached data.")
+                        help=_("Recalculate aggregate stats - use when changes "
+                               "have been made that would invalidate old cached data."))
     parser.add_argument("--nologs", action="store_true", default=False,
-                        help="Don't do anything logs-related")
+                        help=_("Don't do anything logs-related"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
@@ -171,10 +172,10 @@ def main():
                     uri = match.group('uri')
                     if not uri.endswith('.apk'):
                         continue
-                    _, apkname = os.path.split(uri)
+                    _ignored, apkname = os.path.split(uri)
                     app = knownapks.getapp(apkname)
                     if app:
-                        appid, _ = app
+                        appid, _ignored = app
                         today['apps'][appid] += 1
                         # Strip the '.apk' from apkname
                         appver = apkname[:-4]
@@ -298,7 +299,7 @@ def main():
         for apk in unknownapks:
             logging.info(apk)
 
-    logging.info("Finished.")
+    logging.info(_("Finished"))
 
 
 if __name__ == "__main__":
index 3d1635a21e51dbb78fab85c04dfcde4e1c41909b..2c46b7f29b99bfb81296da178d04901f112d272f 100644 (file)
@@ -37,6 +37,7 @@ from binascii import hexlify
 from PIL import Image
 import logging
 
+from . import _
 from . import common
 from . import index
 from . import metadata
@@ -1697,34 +1698,34 @@ def main():
     parser = ArgumentParser()
     common.setup_global_opts(parser)
     parser.add_argument("--create-key", action="store_true", default=False,
-                        help="Create a repo signing key in a keystore")
+                        help=_("Create a repo signing key in a keystore"))
     parser.add_argument("-c", "--create-metadata", action="store_true", default=False,
-                        help="Create skeleton metadata files that are missing")
+                        help=_("Create skeleton metadata files that are missing"))
     parser.add_argument("--delete-unknown", action="store_true", default=False,
-                        help="Delete APKs and/or OBBs without metadata from the repo")
+                        help=_("Delete APKs and/or OBBs without metadata from the repo"))
     parser.add_argument("-b", "--buildreport", action="store_true", default=False,
-                        help="Report on build data status")
+                        help=_("Report on build data status"))
     parser.add_argument("-i", "--interactive", default=False, action="store_true",
-                        help="Interactively ask about things that need updating.")
+                        help=_("Interactively ask about things that need updating."))
     parser.add_argument("-I", "--icons", action="store_true", default=False,
-                        help="Resize all the icons exceeding the max pixel size and exit")
+                        help=_("Resize all the icons exceeding the max pixel size and exit"))
     parser.add_argument("-e", "--editor", default="/etc/alternatives/editor",
-                        help="Specify editor to use in interactive mode. Default " +
+                        help=_("Specify editor to use in interactive mode. Default ") +
                         "is /etc/alternatives/editor")
     parser.add_argument("-w", "--wiki", default=False, action="store_true",
-                        help="Update the wiki")
+                        help=_("Update the wiki"))
     parser.add_argument("--pretty", action="store_true", default=False,
-                        help="Produce human-readable index.xml")
+                        help=_("Produce human-readable index.xml"))
     parser.add_argument("--clean", action="store_true", default=False,
-                        help="Clean update - don't uses caches, reprocess all apks")
+                        help=_("Clean update - don't uses caches, reprocess all apks"))
     parser.add_argument("--nosign", action="store_true", default=False,
-                        help="When configured for signed indexes, create only unsigned indexes at this stage")
+                        help=_("When configured for signed indexes, create only unsigned indexes at this stage"))
     parser.add_argument("--use-date-from-apk", action="store_true", default=False,
-                        help="Use date from apk instead of current time for newly added apks")
+                        help=_("Use date from apk instead of current time for newly added apks"))
     parser.add_argument("--rename-apks", action="store_true", default=False,
-                        help="Rename APK files that do not match package.name_123.apk")
+                        help=_("Rename APK files that do not match package.name_123.apk"))
     parser.add_argument("--allow-disabled-algorithms", action="store_true", default=False,
-                        help="Include APKs that are signed with disabled algorithms like MD5")
+                        help=_("Include APKs that are signed with disabled algorithms like MD5"))
     metadata.add_metadata_arguments(parser)
     options = parser.parse_args()
     metadata.warnings_action = options.W
@@ -1899,7 +1900,7 @@ def main():
     if options.wiki:
         update_wiki(apps, sortedids, apks + archapks)
 
-    logging.info("Finished.")
+    logging.info(_("Finished"))
 
 
 if __name__ == "__main__":
index bd629f97061f0b2c242f4295255291e05cbfd0bf..9c4015583532b9aedb09854b91115d3175010331 100644 (file)
@@ -23,6 +23,7 @@ import requests
 from argparse import ArgumentParser
 import logging
 
+from . import _
 from . import common
 from . import net
 from .exception import FDroidException
@@ -38,19 +39,19 @@ def main():
     # Parse command line...
     parser = ArgumentParser(usage="%(prog)s [options] [APPID[:VERCODE] [APPID[:VERCODE] ...]]")
     common.setup_global_opts(parser)
-    parser.add_argument("appid", nargs='*', help="app-id with optional versionCode in the form APPID[:VERCODE]")
+    parser.add_argument("appid", nargs='*', help=_("applicationId with optional versionCode in the form APPID[:VERCODE]"))
     options = parser.parse_args()
 
     config = common.read_config(options)
 
     tmp_dir = 'tmp'
     if not os.path.isdir(tmp_dir):
-        logging.info("Creating temporary directory")
+        logging.info(_("Creating temporary directory"))
         os.makedirs(tmp_dir)
 
     unsigned_dir = 'unsigned'
     if not os.path.isdir(unsigned_dir):
-        logging.error("No unsigned directory - nothing to do")
+        logging.error(_("No unsigned directory - nothing to do"))
         sys.exit(0)
 
     verified = 0
@@ -83,7 +84,7 @@ def main():
                 try:
                     net.download_file(url.replace('/repo', '/archive'), dldir=tmp_dir)
                 except requests.exceptions.HTTPError as e:
-                    raise FDroidException('Downloading %s failed. %s', (url, e))
+                    raise FDroidException(_('Downloading %s failed. %s'), (url, e))
 
             compare_result = common.verify_apks(
                 remoteapk,
@@ -99,7 +100,7 @@ def main():
             logging.info("...NOT verified - {0}".format(e))
             notverified += 1
 
-    logging.info("Finished")
+    logging.info(_("Finished"))
     logging.info("{0} successfully verified".format(verified))
     logging.info("{0} NOT verified".format(notverified))
 
index b30b41c6710ae6d5ce2eef4d61564c46cb53c1fd..5c9f1577e64adb9a9ec5c40fb261a33cb997311b 100755 (executable)
@@ -94,8 +94,6 @@ echo "build_server_always = True" >> config.py
 ../fdroid build --verbose --stop --latest org.fdroid.fdroid
 # Gradle, JNI, preassemble
 ../fdroid build --verbose --stop org.adaway:55
-# Uses verification
-../fdroid build --verbose --stop info.guardianproject.checkey:101
 # building old versions should still work
 ../fdroid build --verbose --stop org.fdroid.fdroid:96150
 # test OTA update ZIP build and publish
diff --git a/locale/bo/LC_MESSAGES/fdroidserver.po b/locale/bo/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..1e77158
--- /dev/null
@@ -0,0 +1,421 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-07-17 18:35+0000\n"
+"Last-Translator: Lobsang <lobsangsither@gmail.com>\n"
+"Language-Team: Tibetan "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/bo/>\n"
+"Language: bo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 2.16-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "འབྱུང་ཁུངས་ནས་ཐུམ་སྒྲིལ་བཟོས་འདུག"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "མཛོད་ཁང་གསར་པ་ཞིག་མྱུར་དུ་འགོ་བཙུགས།"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "མིང་རྟགས་བཀོད་ནས་ཐུམ་སྒྲིལ་རྣམས་རེ་པོ་ནང་བཞག"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "gpg གྱི་མིང་རྟགས་དེ་ཐུམ་སྒྲིལ་ནང་ཁ་སྣོན་བྱས་ནས་རེ་པོ་ནང་ལ་བཅུག"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "ཐུམ་སྒྲིལ་གསར་པའི་ཆེད་དུ་རེ་པོ་གནས་ཚུལ་གསར་བསྒྱུར་བྱེད།"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "ཕབ་ལེན་བྱས་པའི་ཐུམ་སྒྲིལ་གྱི་སྤུས་ཚད་ར་སྤྲོད།"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "མཉེན་ཆས་རྣམས་གསར་བསྒྱུར་བྱས་མིན་གཟིགས་ཞིབ་གནང་དང་།"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "འབྱུང་ཁུངས་ཨང་རྟགས་ནས་མཉེན་ཆས་གསར་པ་ཁ་སྣོན་བྱེད།"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "ཡོ་བྱད་སྒང་གི་ཐུམ་སྒྲིལ་བཟོས་པ་རྣམས་འགྲིག་བཅུག་བྱེད།"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "ཡིག་ཚགས་ཀྱི་རྒྱབ་ལྗོངས་ལོ་རྒྱུས་ཀློག་ནས་ཕྱིར་ཐོན།"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "ཡིག་ཚགས་ཀྱི་རྒྱབ་ལྗོངས་ལོ་རྒྱུས་ཚང་མ་སྐྱར་ཟིན།"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "ཡིག་ཚགས་ཀྱི་རྒྱབ་ལྗོངས་ལོ་རྒྱུས་སྐྱོན་སྲིད་པ་རྣམས་པ་ཉེན་བརྡ་གཏོང་།"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "ཐུམ་སྒྲིལ་བྱས་པའི་འབྱུང་ཁུངས་ཨང་རྟགས་འཚག་རྒྱབ"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "APKs ཐོན་སྐྱེད་རྗེས་ཀྱི་ཞིབ་ཚགས་པོའི་འཚག་རྒྱབ།"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "རེ་པོའི་གྲངས་ཐོ་རྣམས་གསར་བསྒྱུར་བྱེད།"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "རེ་པོ་HTTP ཞབས་ཞུ་འཕྲུལ་ཆས་དང་ཐུགས་ཕྲད།"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "གསར་བསྒྱུར་བེད་སྤྱོད་བྱས་ཏེ་བཟོས་པའི་མིང་རྟགས་བརྡ་སྟོན། --མིང་རྟགས་མེད།"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "URLཆེད་དུ་ཨང་གྲངས་ཀྱི་ཐོ་གཞུང་གསར་བསྒྱུར།"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "བེད་སྤྱོད་: ཨེཕ་རོཌ་ [-h|-རོགས་པ་|--ཐོན་རིམ་] <command> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "ཁུངས་ལྡན་གྱི་བཀའ་ཁྱབ་ནི།:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "བཀའ་ཁྱབ་ '%s 1'ངོས་འཛིན་ཐུབ་མ་སོང་།\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "ཆ་རྒྱུས་མེད་པའི་དམིགས་བསལ་ཞིག་རྙེད་སོང་།"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "གིཊ་རེ་པོའི་ཆེད་དུ་བདེ་སྤྱོད་བྱས་པའི་ཐོ་གཞུང་གི་ལམ།"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+"གཞི་རྩའི་URL དེ་རེ་པོ་ཡི་ཐོ་གཞུང་བཀོད་པའི་ཆེད་དུ་(སོར་བཞག: "
+"https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr "ཐོ་གཞུད་འདི་གིཊ་ཐག་རིང་གི་མཛོད་ཁང་ནང་འབུད་རྒྱག་གཏོང་།"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+"མཉེན་ཆས་ཀྱི་ངོ་བོ་དང་མཉམ་དུ་གདམ་ཀ་ཅན་གྱི་ཐོན་རིམ་ཨང་རྟགས་APPID[:VERCODE]"
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr "ཐུམ་སྒྲིལ་རེ་རེ་ལ་ཁོ་ནར་བཟོས་པའི་ཐོན་རིམ་གསར་ཤོས།"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr "དམིགས་བསལ་གྱི་གནས་སྐབས་ལ་ཐོན་སྐྱེད་དེ་བཀག་ཆོག"
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+"ཚོད་ལྟའི་ཚུལ་-གལ་སྲིད་ཡིག་ཚགས་འདི་སྔོན་ཚོད་ནས་ཡོད་ནའང་། ཡིག་ཚགས་འདི་སྐབས་ཕྲལ་"
+"གྱི་ཕྱོགས་དེབ་ཁོ་ནའི་ནང་ལ་བླུགས་པ་དང་རྟག་ཏུ་ཐོན་སྐྱེད་བཟོས།"
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr "ཐོན་སྐྱེད་ཞབས་ཞུ་འཕྲུལ་ཆས་བེད་སྤྱོད་བྱེད།"
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+"ཡོད་བཞིན་པའི་ཞབས་ཞུ་འཕྲུལ་ཆས་འདི་ལ་སྐྱོན་མེད་པ་ཡིན་རུང་། "
+"ཐོན་སྐྱེད་ཞབས་ཞུ་འཕྲུལ་ཆས་གསར་པ་ཞིག་སྐྱར་སྒྲིག་དང་བཟོས།"
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr ""
+"ང་ཚོས་ཐོན་སྐྱེད་ཞབས་ཞུ་འཕྲུལ་ཆས་འདིའི་སྒང་ལ་འཁོར་སྐྱོད་བྱེད་བཞིན་གསལ་སྟོན་བྱེ"
+"ད།"
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr "འབྱུང་ཁུངས་ཨ་རྟགས་དང་དཀའ་ངལ་གཞན་རྣམས་འཚག་རྒྱབ་མ་དགོས་པར་མཆོང་།"
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+"གློག་ཀླད་ལད་མོ་མཁན་ཞིག་སྒྲིག འདིའི་སྒང་ལ་apk "
+"ནང་འགྲིག་བཅུག་བྱེད་དུ་བཅུག་ནས་ཌོ་ཛར་འཚག་རྒྱབ་འགོ་བཙུགས་བྱེད།"
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr "ཊར་བོལ་གྱི་འབྱུང་ཁུངས་མ་བཟོས། འདིས་ཐོན་སྐྱེད་ཚོད་ལྟ་བྱེད་པ་ལ་ཕན་ཐོགས།"
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+"མཛོད་ཁང་སྐྱར་སོས་མ་བྱེད། "
+"དྲྭ་རྒྱ་མེད་པའི་སྐབས་ལ་ཐོན་སྐྱེད་ཚོད་ལྟ་བྱེད་པར་ཕན་ཐོགས་ཡོང་།"
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+"ནུས་མེད་མཉེན་ཆས་ལ་ཐོན་སྐྱེད་ཆེད་དུ་མངགས་ཏེ་བཟོས། "
+"འདི་འཚག་རྒྱབ་ཀྱི་དཀའ་ངལ་ཡོད་མིན་ལ་མ་ལྟོས་པར་མུ་མཐུད་དུ་འགྲོ་ཐུབ། "
+"འདི་ཚོད་ལྟའི་ཚུལ་ཁ་ོནར་ཆོག་མཆན་སྤྲད།"
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr "མཉེན་ཆས་ཡོད་བཞིན་པ་ཆ་ཚང་ལ་ཐོན་སྐྱེད་བཟོས།"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "ཝི་ཀི་གསར་བསྒྱུར་བྱེད།"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr "མཉེས་ཆས་ཁ་བྱང་རྒྱུད་གསར་བསྒྱར་ཡོད་མིན་ལྟོས།"
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "རང་འགུལ་གྱི་གསར་བསྒྱུར་རྣམས་བྱེད།"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr "མཉེན་ཆས་ཁོ་ནར་རང་འགུལ་གསར་བསྒྱུར་བྱེད།"
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr "བསྒྱུར་བ་གཏོང་བར་མོས་མཐུན་ཡོད།"
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr "མཉེས་ཆས་གསོག་ཉར་ཁང་དང་མི་འདྲ་པ་ཡོད་པ་ཁོ་ནར་པར་ཤུས་བྱེད།"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr "ནམ་རྒྱུན་ལས་ཀྱང་མང་བའི་གནས་ཚུལ་ཕྱིར་སྟོན།"
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr "ཡིག་ཚགས་ལ་ཉེན་བརྡ་དང་སྐྱོན་ཅན་རྣམས་དམ་བསྒྲགས་བྱེད།"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr "མཉེས་ཆས་ཁ་བྱང་དང་མཉམ་དུ་གདམ་ཀ་ཅན་གྱི་ཐོན་རིམ་ཨང་རྟགས།APPID[:VERCODE]"
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr "ཐུམ་སྒྲིལ་རེ་རེ་བའི་ཐོན་རིམ་གསར་ཤོས་གཅིག་པུ་འཚག་རྒྱབ།"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr "ཆ་ཚང་འཚག་རྒྱབ་ཚར་བའི་རྗེས་སུ་གཙང་མ་བཟོས།"
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr "འཚག་རྒྱབ་འགོ་མ་བཙུགས་གོང་ལ་གཙང་མ་དང་སྣོད་དེ་སྐྱར་དུ་བཟོས།"
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr "སྣོད་ཆ་ཚང་གཙང་མ་བཟོས་ནས་ཕྱིར་ཐོན།"
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr "འཚག་རྒྱབ་འཁོར་སྐྱོད་ཐུབ་པའི་ཆེད་དུ་ཌོ་ཛར་གྲ་སྒྲིག་བྱེད།"
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr "རེ་པོ་APKs ལམ་གྱི་སྒང་ལ་སྐྱར་སྣོན། (སོར་བཞག་: ./repo)"
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr "URL ལས་འཆར་ནང་འདྲེན།"
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+"གལ་སྲིད་ཆོག་མཆན་ཨ་མའི་ནང་ལ་མེད་ན། "
+"ལམ་གྱི་གཙོ་བོ་འདི་ཨེན་ཀྲོཌ་ལས་འཆར་གྱི་ཕྱོགས་དེབ་ཡན་ལག་སྟོན་ཡོད།"
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr "སྡེ་ཚན་སོ་སོའི་ཐོ་གཞུང་ལ་བར་མཚམས་རེ་འཇོག།"
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr "ལས་འཆར་འདིའི་ཁྱོན་ཡོངས་ཀྱི་ཆོག་མཆན་ལག་ཁྱེར།"
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+"ཐོག་མའི་ནང་འདྲེན་བྱེད་པའི་སྐབས་གསལ་པོའི་ཐོག་ནས་སྐྱར་སྦྱོང་(ཡང་ན་གིཊ་ཡན་ལག་)མི"
+"་འདྲ་བ་རྣམས་ལ་ཆོག་མཆན་སྤྲོད།"
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr "X.509 'ཁྱད་པར་ཅན་གྱི་མིང་' ལྡེ་མིག་བཟོས་པའི་སྐབས་ལ་བེད་སྤྱོད་བྱེད།"
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr ""
+"རེ་པོ་མིང་རྟགས་བཀོད་པའི་ལྡེ་མིག་ཆེད་དུ་སྟོན་པའི་ལྡེ་མིག་གསོག་ཉར་ཁང་གི་ལམ།"
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr "ལྡེ་མིག་གསོག་ཉར་ཁང་ནང་རེ་པོ་མིང་རྟགས་ལྡེ་མིག་བཀོད་པའི་གསང་མིང་།"
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr "ཨེན་ཀྲོཌ་SDK ཀྱི་ལམ། (སྐབས་རེ་ཨེན་ཀྲོཌ_ཁྱིམ་དུ་སྒྲིག་ཡོད།)"
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr "དེ་མ་ཐག་ཏུ་ཨེན་ཀྲོཌ་SDK གྱི་ལམ་མ་སྟོན། ད་ལྟ་བྱེད་ཐུབ་མ་སོང་།"
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr "ཡོད་བཞིན་པའི་མིང་རྟགས་བཀོད་པའི་མཉེན་ཆས་ཆ་ཚང་འགྲིག་བཅུག་བྱེད།"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr ""
+"མ་ཟད་བཀོད་སྒྲིག་བྱས་པའི་གནད་དོན་རྣམས་ལ་ཉེན་བརྡ་སྟོན། དཔེར་ན་rewritemeta -l"
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr "APPID བཀོད་པའི་ནང་གི་མཉེས་ཆས་ཁ་བྱང་།"
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "སྐྱོན་ཤོར་བ་ལ་ཉེན་བརྡ་ངེས་པར་དུ་གཏོང་དགོས་པ་དང་། ཡང་ན་ཡ་མ་བྱེད།"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr "སྐྱར་དུ་བཀོད་སྒྲིག་བྱེད་དགོས་པའི་ཡག་ཆ་རྣམས་ཀྱི་ཐོ་གཞུང་།"
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr "བཀོད་སྒྲིག་འདི་ག་རང་ལ་སྐྱར་བྲིས་བྱེད།: "
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr "ལག་བསྟར་བྱེད་རྒྱུར་བཀའ་གཏོང། ཡང་ན་'init'འམ་ཡང་ན་ 'གསར་བསྒྱུར།'"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr "rsync གྱི་ཆེད་དུ་SSH འདི་ངོ་ཐག་ཆོད་པའི་ཡིག་ཆ་ཞིག་དམིགས་སུ་བཀར་ནས་སྟེར།"
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr "བསྟི་གནས་ཀྱི་ཡིག་ཁུག་གཅིག་ཁ་ཕྱེས་ནས་རེ་པོ་འདི་ལ་མཉམ་བསྲེས།"
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr "rsync ཡིག་ཚགས་བརྟག་དཔྱད་ཀྱི་གསོག་ཉར་ཁང་འདི་བེད་སྤྱོད་མ་བྱེད།"
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr "ཐོ་གཞུང་ཕབ་ལེན་ང་ཚོར་མེད།"
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr ""
+"ཕྱོགས་བསྡོམས་བྱས་པའི་གྲངས་ཐོ་རྣམས་སྐྱར་རྩིས་བྱེད། "
+"-བསྒྱུར་བ་འགྲོ་བའི་སྐབས་ལ་བེད་སྤྱོད་བྱེད། "
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr "ཐོ་གཞུང་དང་འབྲེལ་བ་ཡོད་པའི་རིགས་ལ་གང་ཡང་མ་བྱེད།"
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr "ལྡེ་མིག་གསོག་ཉར་ཁག་གི་ནང་ལ་རེ་པོ་མིང་རྟགས་བཀོད་པའི་ལྡེ་མིག་གཅིག་བཟོས།"
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "བོར་བརླག་ཏུ་སོང་བའི་ཡིག་ཚགས་ཀྱི་རྒྱབ་ལྗོངས་ལོ་རྒྱུས་ཡང་སྐྱར་བཟོས།"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr ""
+"APKs དང/ཡང་ནOBBs "
+"གཉིས་ལ་རེ་པོ་ནས་འགྲེལ་ཡིག་ཚགས་ཀྱི་རྒྱབ་ལྗོངས་ལོ་རྒྱུས་མེད་པ་རྣམས་སུབས།"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr "ཐོན་སྐྱེད་ཡིག་ཚགས་གནས་བབས་སྒང་གི་སྙན་ཐོ།"
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr "གསར་བསྒྱུར་བྱེད་དགོས་པའི་རིགས་ལ་སྦས་གསང་མེད་པའི་ཐོག་ནས་གསུངས་རོགས།"
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr "པར་གྱི་རྒྱུ་ཆེ་ཆུང་ཚད་ལས་བརྒལ་ན་ཚད་གཞི་ཡང་སྐྱར་འགྱུར་བ་བཏང་ནས་ཕྱིར་ཐོན།"
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+"སྒྲིག་བཀོད་པར་དམིགས་སྟོན་བྱས་ནས་ལན་འདེབས་ཀྱི་ཚུལ་འདི་བེད་སྤྱོད་བྱེད་ སོར་བཞག "
+"%s 1"
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "མིས་ཀློག་ཐུབ་པའི་index.xml བཟོས།"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr ""
+"གསར་བསྒྱུར་གཙང་བཟོ།-ཡིག་ཆ་གསོག་ཉར་བེད་སྤྱོ་མ་བྱེད། apks ཚང་མ་སྐྱར་སྤྱོད་བྱེད།"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+"བརྡ་སྟོན་པའི་མིང་རྟགས་དེ་སྒྲིག་བཀོད་བྱས་ཚར་ན། "
+"གནས་སྐབས་མིང་རྟགས་མ་བཀོད་པའི་བརྡ་སྟོན་རྣམས་བཟོས།"
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+"apk རང་གི་ཚེས་གྲངས་དེ་བེད་སྤྱོད་བྱས་པ་ལས་ཁ་སྣོན་བྱས་པའི་apk "
+"གསར་པའི་དུས་ཚོས་བེད་སྤྱོད་མ་བྱེད།"
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr "package.name_123.apk དང་མི་འདྲ་བའི་APK ཡིག་ཆ་དེ་ཚོར་མིང་སྐྱར་ཏུ་བཏགས།"
diff --git a/locale/de/LC_MESSAGES/fdroidserver.po b/locale/de/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..6682f90
--- /dev/null
@@ -0,0 +1,420 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-07-16 20:06+0000\n"
+"Last-Translator: Claus Rüdinger <Mail-an-CR@web.de>\n"
+"Language-Team: German "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/de/>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.16-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "Programmpaket aus Quellcode erstellen"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "Schnellstart eines neuen Repositorys"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "Programmpakete in Paketquelle signieren und einstellen"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "GPG-Signaturen für Programmpakete in der Paketquelle hinzufügen"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "Paketquelleninformationen zu neuen Programmpaketen aktualisieren"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "Integrität der heruntergeladenen Programmpakete überprüfen"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "Auf Aktualisierungen für Anwendungen prüfen"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "Eine neue Anwendung aus ihrem Quellcode hinzufügen"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "Erstellte Programmpakete auf Geräten installieren"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "Alle Metadaten-Dateien betrachten und beenden"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "Alle Metadaten-Dateien neu schreiben"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "Vor möglichen Metadaten-Fehlern warnen"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "Quellcode eines Programmpakets durchsuchen"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "APKs nach Erstellung dynamisch durchsuchen"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Repository-Statistik aktualisieren"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "Mit dem HTTP-Server des Repository kommunizieren"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "Erstellte Indizes durch Verwendung von „update --nosign“ signieren"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "Binäres Transparency-Log einer URL aktualisieren"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "Sprachgebrauch: fdroid [-h|--help|--version] <command> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "Gültige Befehle sind:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "Befehl '%s' nicht erkannt.\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "Unbekannter Fehler aufgetreten!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "Pfad zum Git-Repository, der zur Anmeldung verwendet werden soll"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+"Basis-Adresse zur Anmeldung am Repository (Standard: https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr "Anmeldung an diesem Git-Repository durchführen"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr "App-ID mit optionalem Versionscode in der Form APPID[:VERCODE]"
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr "Nur die neueste Version jedes Programmpakets erstellen"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr "Erstellung bei Fehlern anhalten"
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+"Testmodus - Ausgabe nur ins tmp-Verzeichnis einfügen, immer erstellen, "
+"selbst wenn die Ausgabe bereits vorhanden ist."
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr "Build-Server verwenden"
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+"Zurücksetzen und ganz neuen Build-Server einrichten, auch wenn der "
+"bestehende in Ordnung zu sein scheint."
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr "Festlegen, dass F-Droid auf dem Build-Server läuft"
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+"Durchsuchen des Quellcodes nach Binärdateien und anderen Problemen "
+"überspringen"
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+"Einen Emulator einrichten, die APK installieren und mit ihm eine "
+"Sicherheitsprüfung (Drozer scan) durchführen"
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr "Keinen Tarball vom Quellcode erstellen, nützlich bei Test eines Builds"
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+"Keine Aktualisierung des Repositorys. Nützlich, wenn ein Build ohne "
+"Internetverbindung getestet wird"
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+"Erstellung deaktivierter Apps erzwingen und ungeachtet von Scan-Problemen "
+"ausüben. Nur im Testmodus erlaubt."
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr "Alle verfügbaren Anwendungen erstellen"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "Wiki aktualisieren"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr "App-ID, um auf Aktualisierungen zu prüfen"
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "Aktualisierungen automatisch ausführen"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr "Nur Apps mit automatischen Aktualisierungen verarbeiten"
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr "Änderungen übergeben"
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr "Nur Unterschiede zum Play Store ausgeben"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr "Mehr Informationen als gewöhnlich ausspucken"
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr "Ausgabe auf Warnungen und Fehler beschränken"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr "App-ID mit optionalem Versionscode in der Form APPID[:VERCODE]"
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr "Nur die neueste Version jedes Programmpakets durchsuchen"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr "Nach Abschluss aller Scans bereinigen"
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr "Vor Beginn der Scans bereinigen und Container neu erstellen"
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr "Alle Container bereinigen und danach beenden"
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr "Drozer auf einen Scan vorbereiten"
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr "Pfad für die APK-Paketquelle überschreiben (Standard: ./repo)"
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr "Projekt-Adresse, von der importiert werden soll."
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+"Pfad zum zentralen Androidprojekt-Unterverzeichnis, wenn es nicht im "
+"Stammverzeichnis ist."
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr "Liste der Kategorien durch Kommata getrennt."
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr "Gesamt-Lizenz des Projekts."
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+"Ermöglicht die Bestimmung unterschiedlicher Überarbeitungen (oder Git-Zweige)"
+" für den Erstimport"
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr "X.509 'Angesehener Name' wenn Schlüssel generiert werden"
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr "Pfad zum Schlüsselspeicher für den Repository-Signierschlüssel"
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr "Pseudonym des Repository-Signierchlüssels im Schlüsselspeicher"
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr ""
+"Pfad zum Android-SDK (Softwareentwicklungsbaukasten) (mitunter in "
+"ANDROID_HOME festgelegt)"
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr "Android-SDK-Pfad nicht abfragen, einfach überspringen"
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr "Alle verfügbaren, signierten Anwendungen installieren"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr "Auch vor Formatierungsfehler warnen, wie etwa \"rewritemeta -l\""
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr "App-ID in der Form APPID"
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "Fehler zwingend als Warnungen ausgeben oder ignorieren"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr "Dateien listen, die reformatiert würden"
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr "In ein spezielles Format umschreiben: "
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr "Ausführungsbefehl, entweder 'init' oder 'update'"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+"Eine Identitätsdatei bestimmen, die bei Re-Synchronisation an SSH übergeben "
+"wird"
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr ""
+"Einen lokalen Ordner bestimmen, in dem das Repository synchronisiert wird"
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr "Keine rsync-Prüfsummen verwenden"
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr "Herunterladung von Logs welche wir nicht haben"
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr "Sammelstatistik neu berechnen - nach Änderungen anwenden "
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr "Mache auf Logs bezogen nichts"
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr "Repository-Signierschlüssel in einem Schlüsselspeicher erstellen"
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "Gerüst für fehlende Metadaten-Dateien erstellen"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "APKs und/oder OBBs ohne Metadaten aus dem Repository löschen"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr "Bericht zum Build-Datenstatus"
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr "Angelegenheiten, die Aktualisierungen erfordern, interaktiv abfragen."
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+"Größe aller Symbole ändern, die die maximale Pixelgröße überschreiten, und "
+"beenden"
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+"Editor festlegen, der im interaktiven Modus verwendet werden soll. Standard "
+"%s"
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "Visuell lesbare „index.xml“ herstellen"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr ""
+"Sauber - ohne Verwendung der Zwischenspeicher - aktualisieren, alle APKs "
+"wiederaufbereiten"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+"Bei einer Konfiguration mit signierten Indizes, in dieser Phase nur "
+"unsignierte Indizes erstellen"
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr "APK-Datum statt der aktuellen Zeit für neu hinzugefügte APKs verwenden"
+
+#: ../fdroidserver/update.py:1529
+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"
diff --git a/locale/en/LC_MESSAGES/fdroidserver.po b/locale/en/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..7861148
--- /dev/null
@@ -0,0 +1,400 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-06-18 20:41+0000\n"
+"Last-Translator: monolifed <monolifed@gmail.com>\n"
+"Language-Team: English "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/en/>\n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.15-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "Build a package from source"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "Quickly start a new repository"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "Sign and place packages in the repo"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "Add GPG signatures for packages in repo"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "Update repo information for new packages"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "Verify the integrity of downloaded packages"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "Check for updates to applications"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "Add a new application from its source code"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "Install built packages on devices"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "Read all the metadata files and exit"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "Rewrite all the metadata files"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "Warn about possible metadata errors"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "Scan the source code of a package"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "Dynamically scan APKs post build"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Update the stats of the repo"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "Interact with the repo HTTP server"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "Sign indexes created using update --nosign"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "Update the binary transparency log for a URL"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "usage: fdroid [-h|--help|--version] <command> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "Valid commands are:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "Command '%s' not recognised.\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "Unknown exception found!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "Path to the git repo to use as the log"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr "The base URL for the repo to log (default: https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr "Push the log to this git remote repository"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr "app-id with optional versionCode in the form APPID[:VERCODE]"
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr "Build only the latest version of each package"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr "Make the build stop on exceptions"
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr "Use build server"
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be OK."
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr "Specify that we're running on the build server"
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr "Skip scanning of the source code for binaries and other problems"
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr "Setup an emulator, install the APK on it and perform a Drozer scan"
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr "Don't create a source tarball, useful when testing a build"
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr "Build all applications available"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "Update the wiki"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr "app-id to check for updates"
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "Process auto-updates"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr "Only process apps with auto-updates"
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr "Commit changes"
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr "Only print differences with the Play Store"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr "Spew out even more information than normal"
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr "Restrict output to warnings and errors"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr "app-id with optional versioncode in the form APPID[:VERCODE]"
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr "Scan only the latest version of each package"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr "Clean after all scans have finished"
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr "Clean before the scans start and rebuild the container"
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr "Clean up all containers and then exit"
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr "Prepare Drozer to run a scan"
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr "Override path for repo APKs (default: ./repo)"
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr "Project URL to import from."
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr "Path to main Android project subdirectory, if not in root."
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr "Comma separated list of categories."
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr "Overall license of the project."
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr "X.509 'Distinguished Name' used when generating keys"
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr "Path to the keystore for the repo signing key"
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr "Alias of the repo signing key in the keystore"
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr "Do not prompt for Android SDK path, just fail"
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr "Install all signed applications available"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr "Also warn about formatting issues, like rewritemeta -l"
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr "app-id in the form APPID"
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "force errors to be warnings, or ignore"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr "List files that would be reformatted"
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr "Rewrite in a specific format: "
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr "command to execute, either 'init' or 'update'"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr "Specify an identity file to provide to SSH for rsyncing"
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr "Specify a local folder to sync the repo to"
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr "Don't use rsync checksums"
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr "Download logs we don't have"
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr "Recalculate aggregate stats - use when changes "
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr "Don't do anything logs-related"
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr "Create a repo signing key in a keystore"
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "Create skeleton metadata files that are missing"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "Delete APKs and/or OBBs without metadata from the repo"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr "Report on build data status"
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr "Interactively ask about things that need updating."
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr "Resize all the icons exceeding the max pixel size and exit"
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr "Specify editor to use in interactive mode. Default %s"
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "Produce human-readable index.xml"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr "Clean update - don't uses caches, reprocess all APKs"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr "Use date from APK instead of current time for newly added APKs"
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr "Rename APK files that do not match package.name_123.apk"
diff --git a/locale/es/LC_MESSAGES/fdroidserver.po b/locale/es/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..d137559
--- /dev/null
@@ -0,0 +1,414 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-07-03 15:20+0000\n"
+"Last-Translator: José Rodrigo Baires Quezada <rbaires@irex.org>\n"
+"Language-Team: Spanish "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/es/>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.16-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "Crear un paquete desde la fuente"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "Iniciar rápidamente un nuevo repositorio"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "Firmar y colocar paquetes en el repositorio"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "Añadir las firmas gpg para los paquetes en el repositorio"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "Actualizar la información del repositorio para nuevos paquetes"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "Verificar la integridad de los paquetes descargados"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "Buscar actualizaciones de aplicaciones"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "Añadir una nueva aplicación desde su código fuente"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "Instalar paquetes constuídos en el dispositivo"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "Leer todos los archivos de metadatos y salir"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "Reescribir todos los archivos de metadatos"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "Alertar sobre posibles errores de metadatos"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "Escanear el código fuente de un paquete"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "Ejecutar Fdroid dscanner de una aplicación APK, previamente construída,"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Actualizar las estadísticas del repositorio"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "Interactuar con el servidor HTTP del repositorio"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "Firmar los índices creados usando update -nosign"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "Actualizar el registro de transparencia binario para una URL"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "Uso: fdroid [-h|--help|--version] <command> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "Los comandos válidos son:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "Comando %s no reconocido\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "¡Se encontró una excepción desconocida!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "Ruta de acceso al reporte git para usarlo como registro"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+"El URL base para  el registro del repositorio  (default: https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr "Pulse  el registro a este repositorio remoto git"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr "APP-ID con código de versión opcional en la forma APPID [: VERCODE]"
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr "Construir sólo la última versión de cada paquete"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr "Hacer que la construcción se detenga en las excepciones"
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+"Modo de prueba: ponga la salida solo en el directorio tmp y siga "
+"desarrollando, incluso si la salida ya existe."
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr "Use un servidor de compilación"
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+"Restablecer y crear un nuevo servidor de compilación, incluso si el "
+"existente parece estar bien."
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr "Especificar que estamos ejecutando en el servidor de compilación"
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+"Omitir el escaneo del código fuente por problemas binarios u otros problemas"
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+"Configurar un emulador, instalar la aplicación APK en él y realizar una \""
+"Drozer\" scan"
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr "No cree un tarball de origen, útil al probar una compilación"
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+"No actualizar el repositorio, útil al probar una compilación sin conexión a "
+"Internet"
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+"Forzar la creación de compilaciones deshabilitadas, independientemente de "
+"los problemas de escaneo. Sólo se permite en modo de prueba."
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr "Compilar todas las aplicaciones disponibles"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "Actualizar el wiki"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr "APP-ID para buscar actualizaciones"
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "Actualizaciones automáticas de procesos"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr "Solo procesar aplicaciones con actualizaciones automáticas"
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr "Aplicar cambios"
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr "Solo imprimir diferencias con el Play Store"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr "Diseminar más información de lo normal"
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr "Restringir los resultados a advertencias y errores"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr "APP-ID con código de versión opcional en la forma APPID [: VERCODE]"
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr "Escanear solo la última versión de cada paquete"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr "Limpiar después de que todos los análisis hayan finalizado"
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr "Limpiar antes de que los análisis inicien y reconstruir el contenedor"
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr "Limpiar todos los contenedores y luego salir"
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr "Preparar \"Drozer\" para ejecutar un análisis"
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr "Ruta de remplazo par el repositorio de APK (default: ./repo)"
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr "importar desde.URL del proyecto."
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+"Ruta al subdirectorio principal del proyecto Android, si no es en la raíz."
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr "Lista de categorías separadas por comas."
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr "Licencia general del proyecto."
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+"Permite especificar una revisión diferente (o git sector) para la "
+"importación inicial"
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr "X.509 'Nombre Distintivo' (DN) usado al generar claves"
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr "Ruta al depósito de claves para la clave de firma de repositorio"
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr "Alias de la clave de firma de repositorio en el depósitio de claves"
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr "Ruta al Android SDK (a veces ubicado en ANDROID_HOME)"
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr "No solicitar la ruta al Android SDK, si falla"
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr "Instalar todas las aplicaciones firmadas disponibles"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr "También advierta sobre problemas de formato, como r rewritemeta-l"
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr "APP-ID en el formato APPID"
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "Forzar a los errores a ser advertencias o ignorarlas"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr "Lista de archivos que se reformatearán"
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr "Reescribir a un formato específico: "
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr "Comando para ejecutar, ya sea 'init' o 'update'"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr "Especifique un fichero de identidad que ofrezca SSH para rsync"
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr "Especifique una carpeta local para sincronizar el"
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr "No use rsync checksums"
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr "Descargar registros que no tenemos"
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr "Recalcular agregación de estados - usar cuando cambie "
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr "No haga nada con registros relacionados"
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr "Cree una clave de firmado de repositorios en un llavero de claves"
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "Crear esqueleto de metadatos de archivos que faltan"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "Borrar del repositorio archivos APK y/o OBB sin metadatos"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr "Informe sobre el estado de los datos de compilación"
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr ""
+"Pregunte de forma interactiva sobre temas que necesitan una actualización."
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+"Cambiar el tamaño de todos los iconos que exceden el tamaño máximo del "
+"pixeles y salir"
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+"Especifique el editor para utilizar en modo interactivo. Predeterminado %s"
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "Produce un índice legible index.xml"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr ""
+"Actualización limpia, no usa caché, reprocesa todas las aplicaciones  APK"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+"Cuando está configurado para índices firmados, crear solo índices sin signo "
+"en esta etapa"
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+"Use la fecha del «apk» en vez de la fecha actual para los nuevos «apk» "
+"añadidos"
+
+#: ../fdroidserver/update.py:1529
+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"
diff --git a/locale/es_AR/LC_MESSAGES/fdroidserver.po b/locale/es_AR/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..ac743dd
--- /dev/null
@@ -0,0 +1,393 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-06-27 12:47+0000\n"
+"Last-Translator: Franco <fulanodetal.github1@openaliasbox.org>\n"
+"Language-Team: Spanish (Argentina) "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/es_AR/>\n"
+"Language: es_AR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.15-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "Compilar una paquete desde su código"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "Empezar rápidamente un repositorio nuevo"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "Firmar y ubicar paquetes en el repositorio"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "Agregar firmas GPG a paquetes en el repositorio"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "Actualizar información del repositorio para paquetes nuevos"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "Verificar la integridad de los paquetes descargados"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "Buscar actualizaciones de las aplicaciones"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "Agregar una aplicación nueva desde su código fuente"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "Instalar paquetes compilados en dispositivos"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "Leer todos los archivos de metadatos y salir"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "Rescribir todos los archivos de metadatos"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "Advertir sobre posibles errores en los metadatos"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "Escanear en código fuente de un paquete"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "Escanear dinámicamente APKs después de compilar"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Actualizar las estadísticas del repositorio"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "Interactuar con el servidor HTTP del repositorio"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "Firmar índicescreados con \"update --nosign\""
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "Actualizar el registro de transparencia binario de un URL"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "uso: fdroid [-h|--help|--version] <comando> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "Los comandos válidos son:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "No se reconoce el comando \"%s\".\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "¡Se encontró una excepción desconocida!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "Ruta de acceso al repositorio git para usar como registro"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+"La URL base del repositorio para el registro (predefinido: "
+"https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+#, fuzzy
+msgid "Push the log to this git remote repository"
+msgstr "Pulse el registro a este repositorio remoto git"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr ""
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr ""
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr ""
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr ""
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr ""
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr ""
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr ""
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr ""
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr ""
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr ""
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr ""
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr ""
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr ""
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr ""
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr ""
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr ""
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr ""
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "forzar errores al ser advertencias, o ignorar"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr ""
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr ""
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr ""
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr ""
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr ""
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr ""
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr ""
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr ""
+
+#: ../fdroidserver/update.py:1506
+#, fuzzy
+msgid "Create skeleton metadata files that are missing"
+msgstr "Crear esqueleto de metadatos de los archivos faltantes"
+
+#: ../fdroidserver/update.py:1508
+#, fuzzy
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "Borrar archivos APK y/o OBBs sin metadatos en el repositorio"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr ""
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr "Preguntar de forma interactiva sobre las cosas necesarias a actualizar."
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "Producir index.xml legible"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr "Limpiar actualización - no utiliza cachés, reprocesa todos los APK's"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr "Renombrar archivos APK que no corresponden a package.name_123.apk"
diff --git a/locale/fa/LC_MESSAGES/fdroidserver.po b/locale/fa/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..643f49a
--- /dev/null
@@ -0,0 +1,385 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr ""
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr ""
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr ""
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr ""
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr ""
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr ""
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr ""
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr ""
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr ""
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr ""
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr ""
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr ""
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr ""
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr ""
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr ""
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr ""
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr ""
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr ""
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr ""
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr ""
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr ""
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr ""
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr ""
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr ""
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr ""
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr ""
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr ""
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr ""
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr ""
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr ""
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr ""
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr ""
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr ""
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr ""
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr ""
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr ""
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr ""
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr ""
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr ""
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr ""
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr ""
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr ""
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr ""
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr ""
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr ""
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr ""
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr ""
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr ""
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr ""
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr ""
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr ""
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr ""
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr ""
diff --git a/locale/fr/LC_MESSAGES/fdroidserver.po b/locale/fr/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..4c64c13
--- /dev/null
@@ -0,0 +1,412 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-08-27 19:41+0000\n"
+"Last-Translator: Pierre-Alain Bandinelli <pa@bandinelli.net>\n"
+"Language-Team: French "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/fr/>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 2.17-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "Construire un paquet depuis les sources"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "Démarrage rapide d'un nouveau dépôt"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "Signer et placer les paquets dans le dépôt"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "Ajouter des signatures GPG pour les paquets dans le dépôt"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "Mettre à jour les données des dépôts pour les nouveaux paquets"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "Vérifier l'intégrité des paquets téléchargés"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "Vérifier les mises à jour pour les applications"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "Ajouter une nouvelle application depuis son code source"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "Installer les paquets compilés sur le(s) périphérique(s)"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "Lire toutes les métadonnées et quitter"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "Réécrire toutes les métadonnées"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "Avertir de possibles erreurs dans les métadonnées"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "Scanner le code source d'un paquet"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "Analyser dynamiquement les APKs après compilation"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Mettre à jour les statistiques du dépôt"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "Interagir avec le serveur HTTP du dépôt"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "Signer les indexes créés avec update --nosign"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr ""
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "utilisation : fdroid [-h|--help|--version] <commande> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "Les commandes valides sont les suivantes :"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "La commande '%s 1' n'est pas reconnue.\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "Exception inconnue détectée !"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "Chemin vers un dépôt git à utiliser comme journal"
+
+#: ../fdroidserver/btlog.py:156
+#, fuzzy
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr "URL de base pour le dépôt du journal (par défaut: https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+#, fuzzy
+msgid "Push the log to this git remote repository"
+msgstr "Envoyer les logs dans ce dépôt distant"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/build.py:877
+#, fuzzy
+msgid "Build only the latest version of each package"
+msgstr "Compiler uniquement la dernière version de chaque paquet"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr ""
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr ""
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+
+#: ../fdroidserver/build.py:899
+#, fuzzy
+msgid "Build all applications available"
+msgstr "Compiler toutes les applications disponibles"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "Mettre à jour le wiki"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "Réaliser les mises à jour automatiques"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:521
+#, fuzzy
+msgid "Only print differences with the Play Store"
+msgstr "Afficher seulement les différences avec le Google Play Store"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr ""
+
+#: ../fdroidserver/common.py:126
+#, fuzzy
+msgid "Restrict output to warnings and errors"
+msgstr "Restreindre les résultats aux avertissements et erreurs"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:413
+#, fuzzy
+msgid "Scan only the latest version of each package"
+msgstr "Analyser seulement la dernière version de chaque paquet"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr ""
+
+#: ../fdroidserver/import.py:193
+#, fuzzy
+msgid "Project URL to import from."
+msgstr "URL du projet à importer"
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr ""
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr ""
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr ""
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr ""
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr ""
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr ""
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr ""
+
+#: ../fdroidserver/install.py:54
+#, fuzzy
+msgid "Install all signed applications available"
+msgstr "Installer toutes les applications signées disponibles"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr ""
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr ""
+
+#: ../fdroidserver/metadata.py:1337
+#, fuzzy
+msgid "force errors to be warnings, or ignore"
+msgstr "forcer les erreurs en avertissement, ou les ignorer"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:56
+#, fuzzy
+msgid "Rewrite to a specific format: "
+msgstr "Réécrire dans un format spécifique : "
+
+#: ../fdroidserver/server.py:547
+#, fuzzy
+msgid "command to execute, either 'init' or 'update'"
+msgstr "Commande à exécuter, soit 'init' soit 'update'"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr ""
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr ""
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr ""
+
+#: ../fdroidserver/stats.py:66
+msgid ""
+"Recalculate aggregate stats - use when changes "
+"have been made that would invalidate old cached data."
+msgstr ""
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr ""
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr ""
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "Créer les métadonnées de base manquantes"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "Supprimer les APK et/ou OBB sans métadonnées dans le dépôt"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr ""
+
+#: ../fdroidserver/update.py:1512
+#, fuzzy
+msgid "Interactively ask about things that need updating."
+msgstr ""
+"Demander interactivement à propos des choses qui requièrent une mise à jour"
+
+#: ../fdroidserver/update.py:1514
+#, fuzzy
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+"Redimensionner toutes les icônes excédant la taille maximale en pixels et "
+"quitter"
+
+#: ../fdroidserver/update.py:1516
+#, c-format, fuzzy
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr "Définir l'éditeur à utiliser en mode interactif. Par défaut %s"
+
+#: ../fdroidserver/update.py:1521
+#, fuzzy
+msgid "Produce human-readable index.xml"
+msgstr "Produire un fichier index.xml lisible pour un humain"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr "Mise à jour propre - n'utilise pas les caches, ré-exécute tous les APKs"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+
+#: ../fdroidserver/update.py:1527
+#, fuzzy
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+"Utiliser la date de l'APK à la place de la date actuelle pour les APKs "
+"nouvellement ajoutés"
+
+#: ../fdroidserver/update.py:1529
+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"
diff --git a/locale/it/LC_MESSAGES/fdroidserver.po b/locale/it/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..1fa09e4
--- /dev/null
@@ -0,0 +1,388 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-07-12 15:24+0000\n"
+"Last-Translator: Roberto Albano De Rosa <robertoalbano@protonmail.com>\n"
+"Language-Team: Italian "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/it/>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.16-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr ""
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr ""
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr ""
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr ""
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr ""
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr ""
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "Cerca gli aggiornamenti delle applicazioni"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "Aggiungi una nuova applicazione dal suo codice sorgente"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr ""
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr ""
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr ""
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "Avvisa riguardo possibili errori metadata"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "Scansiona il codice sorgente di un pacchetto"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr ""
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Aggiorna le statistiche del repo"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr ""
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr ""
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr ""
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr ""
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "I comandi validi sono:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr ""
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "Eccezione sconosciuta trovata!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr ""
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr ""
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr ""
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr ""
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr ""
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr ""
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr ""
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr ""
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr ""
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr ""
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr ""
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr ""
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr ""
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr ""
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr ""
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr ""
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr ""
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr ""
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr ""
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr ""
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr ""
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr ""
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr ""
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr ""
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr ""
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr ""
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr ""
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr ""
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr ""
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr ""
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr ""
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr ""
diff --git a/locale/kab/LC_MESSAGES/fdroidserver.po b/locale/kab/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..cd4574b
--- /dev/null
@@ -0,0 +1,385 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: Kabyle (F-Droid)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-08-11 20:08+0200\n"
+"PO-Revision-Date: 2017-08-11 19:09+0100\n"
+"Last-Translator: Belkacem Mohammed <belkacem77@gmail.com>\n"
+"Language-Team: Kabyle "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/kab/>\n"
+"Language: kab\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 2.0.3\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr ""
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr ""
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr ""
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr ""
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr ""
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr ""
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr ""
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr ""
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr ""
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr ""
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr ""
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr ""
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr ""
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr ""
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Leqqem tidaddanin n ukufi"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr ""
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr ""
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr ""
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr ""
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr ""
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr ""
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr ""
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr ""
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr ""
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr ""
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "Leqqem awiki"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr ""
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr ""
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr ""
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr ""
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr ""
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr ""
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr ""
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr ""
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr ""
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr ""
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr ""
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr ""
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr ""
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr ""
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr ""
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr ""
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr ""
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr ""
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr ""
+
+#: ../fdroidserver/stats.py:66
+msgid ""
+"Recalculate aggregate stats - use when changes "
+"have been made that would invalidate old cached data."
+msgstr ""
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr ""
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr ""
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr ""
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr ""
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr ""
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr ""
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr ""
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr ""
diff --git a/locale/pt_BR/LC_MESSAGES/fdroidserver.po b/locale/pt_BR/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..ac4574a
--- /dev/null
@@ -0,0 +1,412 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-09-02 13:48+0000\n"
+"Last-Translator: Edgar Moraes Diniz <edgar.diniz@posteo.net>\n"
+"Language-Team: Portuguese (Brazil) "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/pt_BR/>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 2.17-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "Compilar um pacote a partir do código fonte"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "Rapidamente comece um novo repositório"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "Assine e coloque pacotes no repositório"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "Adicione assinaturas gpg para os pacotes no repositório"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "Atualize as informações do repositório para novos pacotes"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "Verifique a integridade dos pacotes baixados"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "Verifique se existem atualizações para os aplicativos"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "Adicione um novo aplicativo a partir do seu código fonte"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "Instalar pacotes prontos nos dispositivos"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "Ler todos os arquivos de metadados e sair"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "Reescrever todos os arquivos de metadados"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "Avisar sobre possíveis erros de metadados"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "Escanear o código fonte de um pacote"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "Escanear dinamicamente os APKs após a compilação"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Atualizar as estatísticas do repositório"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "Interagir com o servidor HTTP do repositório"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "Assinar os índices criados usando update --nosign"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "Atualizar o log de transparência de um binário para um URL"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "uso: fdroid [-h|--help|--version] <comando> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "Os comandos válidos são:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "Comando '%s' não é reconhecido\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "Uma exceção desconhecida foi encrontrada!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "Caminho para o repositório git para usar como log"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+"O URL base para o registro de mudanças do repositório (padrão: "
+"https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr "Mandar o registro de mudanças para este repositório git remoto"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+"app-id, com código de versão (versionCode) opcional, na forma APPID[:VERCODE]"
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr "Compilar apenas a última versão de cada pacote"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr "Fazer a compilação parar se encontrar exceções"
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+"Modo de teste - coloque a saída apenas no diretório tmp e sempre compile, "
+"mesmo que a saída já exista."
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr "Usar servidor de compilação"
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+"Redefinir e criar um novo servidor de compilação, mesmo que o existente "
+"parecer normal."
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr "Especificar que estamos executando no servidor de compilação"
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+"Pular o escaneamento do código fonte atrás de binários e outros problemas"
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr "Configurar um emulador, instalar o apk nele e escanear com o drozer"
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr "Não criar um tarball da fonte; útil quando testando uma compilação"
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+"Não atualizar o repositório; útil quando testando uma compilação sem conexão "
+"com a internet"
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+"Forçar a compilação de aplicativos desativados e continuar independentemente "
+"de problemas de escaneamento. Apenas permitido no modo de teste."
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr "Compilar todos aplicativos disponíveis"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "Atualizar a wiki"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr "app-id para verificar por atualizações"
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "Processar atualizações automáticas"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr "Processar apenas aplicativos com atualizações automáticas"
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr "Enviar mudanças"
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr "Apenas mostrar diferenças com a Play Store"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr "Mostrar ainda mais informações que o normal"
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr "Restringir a saída a erros e avisos"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr ""
+"app-id, com código de versão (versioncode) opcional, na forma APPID[:VERCODE]"
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr "Escanear apenas a versão mais recente de cada pacote"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr "Limpar depois que todos os escaneamentos terminarem"
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr "Limpar antes do escanemento começar e recompilar o container"
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr "Limpar todos os containers e então sair"
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr "Preparar o Drozer para fazer um escaneamento"
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr "Substituir o caminho para os APKs do repositório (padrão: ./repo)"
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr "URL do projeto para importar."
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+"Caminho para os principais subdiretórios do projeto android, se não estiver "
+"na raiz (root)."
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr "Lista de categorias separadas por vírgula."
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr "Licença geral do projeto."
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+"Permite que uma revisão diferente (ou árvore do git) seja especificada para "
+"a importação inicial"
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr "X.509 'Distiguished Name' usado ao gerar as chaves"
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr "Caminho até a keystore para a chave de assinatura do repositório"
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr "Alias (apelido) da chave de assinatura do repositório na keystore"
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr "Caminho até o Android SDK (algumas vezes definido em ANDROID_HOME)"
+
+#: ../fdroidserver/init.py:64
+#, fuzzy
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr "Não solicitar um caminho para o Android SDK, apenas emitir falha"
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr "Instalar todos os aplicativos assinados disponíveis"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr "Também avisar sobre problemas de formatação, como rewritemeta -l"
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr "app-id na forma APPID"
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "forçar erros como avisos ou ignorá-los"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr "Listar arquivos que devem ser reformatados"
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr "Reescrever para um formato específico: "
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr "comando para executar, seja 'init' ou 'update'"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+"Especifique um arquivo identidade para fornecer ao SSH para usar o rsync"
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr "Especifique uma pasta local para ser sincronizada com o repositório"
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr "Não usar as somas de verificação (checksums) do rsync"
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr "Baixar os registros de alterações que nós não temos"
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr "Recalcular estatísticas agregadas - usar quando mudar "
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr "Não fazer nada relacionado a registros de alterações"
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr "Criar uma chave de assinatura do repositório em uma keystore"
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "Criar as bases dos arquivos de metadados que estão faltando"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "Apagar do repositório os APKs e/ou OBBs sem metadados"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr "Relatório sobre o status dos dados de compilação"
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr "Perguntar interativamente sobre elementos que precisam de atualização."
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+"Redimensionar todos os ícones que excedam o tamanho máximo de pixels e sair"
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr "Especificar o editor que será usado no modo interativo. O padrão é %s"
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "Gerar um index.xml legível por humanos"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr "Atualização limpa - não usa cache, reprocessa todos os APKs"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+"Quando configurado para índices assinados, crie apenas índices não assinados "
+"nesta etapa"
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+"Usar a data do apk ao invés do horário atual para APKs recentemente "
+"adicionados"
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr "Renomear arquivos APK que não são do tipo pacote.nome_123.apk"
diff --git a/locale/pt_PT/LC_MESSAGES/fdroidserver.po b/locale/pt_PT/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..242e74b
--- /dev/null
@@ -0,0 +1,385 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pt_PT\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr ""
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr ""
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr ""
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr ""
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr ""
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr ""
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr ""
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr ""
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr ""
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr ""
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr ""
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr ""
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr ""
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr ""
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr ""
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr ""
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr ""
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr ""
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr ""
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr ""
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr ""
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr ""
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr ""
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr ""
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr ""
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr ""
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr ""
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr ""
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr ""
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr ""
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr ""
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr ""
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr ""
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr ""
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr ""
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr ""
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr ""
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr ""
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr ""
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr ""
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr ""
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr ""
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr ""
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr ""
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr ""
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr ""
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr ""
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr ""
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr ""
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr ""
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr ""
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr ""
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr ""
diff --git a/locale/tr/LC_MESSAGES/fdroidserver.po b/locale/tr/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..58e6e9d
--- /dev/null
@@ -0,0 +1,403 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-06-23 14:47+0000\n"
+"Last-Translator: monolifed <monolifed@gmail.com>\n"
+"Language-Team: Turkish "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/tr/>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 2.15-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "Kaynaktan bir paket oluştur"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "Hızlıca yeni bir depo başlat"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "Paketleri imzala ve depoya yerleştir"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "Depodaki paketler için GPG imzaları ekle"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "Yeni paketler için depo bilgisini güncelle"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "İndirilen paketlerin bütünlüğünü doğrula"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "Uygulama güncellemelerini denetle"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "Kaynak kodundan yeni bir uygulama ekle"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "Oluşturulan paketleri aygıtlara kur"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "Tüm meta veri dosyalarını oku ve çık"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "Tüm meta veri dosyalarını yeniden yaz"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "Olası meta veri hataları hakkında uyar"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "Bir paketin kaynak kodunu tara"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "Oluşturma sonrası APKları dinamik olarak tara"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "Depo istatistikleri güncelleştir"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "Depo HTTP sunucusu ile etkileşim kur"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "update -nosign ile yaratılan indeksleri imzala"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "Bir URL için çalıştırılabilir şeffaflık günlüğünü güncelle"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "kullanım: fdroid [-h|--help|--version] <komut>[<argümanlar>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "Geçerli komutlar:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "Komut '%s' tanınmıyor.\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "Bilinmeyen özel durum bulundu!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "Günlük olarak kullanılacak git deposunun konumu"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr "Günlüklenecek depo için taban URLsi (öntanımlı: https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr "Günlüğü bu git uzak deposuna it"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr "APPID[:VERCODE] biçiminde app-id, isteğe bağlı versionCode ile"
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr "Her paketin sadece son sürümünü oluştur"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr "Özel durumlarda oluşturmayı durdur"
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+"Sınama kipi - çıkışı sadece tmp dizinine koy, ve her zaman oluştur, çıkış "
+"zaten var olsa bile."
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr "Oluşturma sunucusu kullan"
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+"Sıfırla ve yeni bir oluşturma sunucusu yarat, var olan iyi görünüyor olsa "
+"bile."
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr "Oluşturma sunucusunda çalıştığımızı belirtin"
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+"Kaynak kodu, çalıştırılabilir dosyalar ve diğer sorunlar için taramayı atla"
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr "Bir emülatör kur, APKyı ona kur ve bir Drozer taraması yap"
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr "Bir kaynak tar dosyası yaratma, bir oluşturma sınanırken yararlıdır"
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+"Depoyu yenileme, bir oluşturma internet bağlantısı olmadan sınanırken "
+"yararlıdır"
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+"Devre dışı uygulamaların oluşturulmasını zorunlu kıl, ve tarama problemi "
+"olsa bile devam et. Sadece sınama kipinde izin verilir."
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr "Kullanılabilir tüm uygulamaları oluştur"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "Viki'yi güncelle"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr "Güncellemeleri denetlemek için app-id"
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "Kendiliğinden güncellemeleri işle"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr "Yalnızca kendiliğinden güncellemesi olan uygulamaları işle"
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr "Değişiklikleri işle"
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr "Yalnızca Play Store ile olan farkları yazdır"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr "Olağandan daha da çok bilgi çıkart"
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr "Çıkışı uyarılara ve hatalara kısıtla"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr "APPID[:VERCODE] biçiminde app-id, isteğe bağlı versioncode ile"
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr "Her paketin sadece en son sürümünü tara"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr "Tüm taramalar bitince temizle"
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr "Taramalar başlamadan önce temizle ve konteyneri yeniden oluştur"
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr "Bütün konteynerleri temizle ve sonra çık"
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr "Drozer'i bir tarama çalıştırmak için hazırla"
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr "Depo APKları için konumu geçersiz kıl (öntanımlı: ./repo)"
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr "İçe aktarma için proje URL'si."
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr "Kökte değilse, ana Android proje alt dizininin konumu."
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr "Kategorilerin virgülle ayrılmış listesi."
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr "Projenin genel lisansı."
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+"İlk içe aktarım için farklı bir revizyonun (veya git dalının) belirtilmesine "
+"izin verir"
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr "Anahtarlar üretilirken X.509 'Distinguished Name' kullanılır"
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr "Depo imzalama anahtarı için anahtar deposunun konumu"
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr "Depo imzalama anahtarının anahtar deposundaki takma adı"
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr "Android SDK konumu (bazen ANDROID_HOME'da ayarlıdır)"
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr "Android SDK konumunu sorma, sadece başarısız ol"
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr "Kullanılabilir tüm imzalı uygulamaları kur"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr "Ayrıca biçimlendirme sorunları hakkında uyar, rewritemeta -l gibi"
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr "APPID biçiminde app-id"
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "hataları uyarı olmaya zorla veya yok say"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr "Yeniden biçimlendirilecek olan dosyaları listele"
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr "Belirli bir biçimde yeniden yaz: "
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr "çalıştırılacak komut, 'init' ya da 'update'"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr "Rsync için SSH'a sağlanacak bir kimlik dosyası belirtin"
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr "Deponun eşleneceği yerel bir klasör belirtin"
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr "Rsync sağlama toplamlarını kullanma"
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr "Bizde olmayan günlükleri indir"
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr ""
+"Toplam istatistikleri yeniden hesapla - eski önbelleklenen veriyi geçersiz "
+"kılacak değişiklikler yapıldığında kullanın "
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr "Günlüklerle ilgili bir şey yapma"
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr "Bir anahtar deposunda, depo imzalama anahtarı yaratır"
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "Eksik olan iskelet meta veri dosyalarını yarat"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "Depodan meta verisi olmayan APKları ve/veya OBBleri sil"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr "Oluşturma veri durumu hakkında bildir"
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr "Güncelleme gerektiren şeyler hakkında etkileşimli olarak sor."
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr "Piksel boyut sınırını aşan tüm simgeleri yeniden boyutlandır ve çık"
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr "Etkileşimli kipte kullanılacak editörü belirtin. Öntanımlı %s"
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "Okunabilir index.xml üret"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr "Temiz güncelleme - önbellekleri kullanmaz, tüm APKları yeniden işler"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+"İmzalı indeksler için yapılandırıldığında, bu aşamada sadece imzasız "
+"indeksleri yarat"
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr "Yeni eklenen APKlar için o anki zaman yerine APK tarihini kullan"
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr "paket.ad_123.apk ile eşleşmeyen tüm APK dosyalarını yeniden adlandır"
diff --git a/locale/uk/LC_MESSAGES/fdroidserver.po b/locale/uk/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..e9ef8f4
--- /dev/null
@@ -0,0 +1,392 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-09-15 19:29+0000\n"
+"Last-Translator: Володимир Бриняк <bardvv@gmail.com>\n"
+"Language-Team: Ukrainian "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/uk/>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
+"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 2.17-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr ""
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr ""
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr ""
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr ""
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr ""
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr ""
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr ""
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr ""
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr ""
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr ""
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr ""
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr ""
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr ""
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr ""
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr ""
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr ""
+
+#: ../fdroid:50
+#, fuzzy
+msgid "Sign indexes created using update --nosign"
+msgstr "Запис індексів, створених за допомогою оновлення --nosign"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "Оновити бінарний журнал прозорості для URL-адреси"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "використання: fdroid [-h|--help|--version] <command> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "Дійсні команди:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "Команда '%s' не визнана.\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr ""
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr ""
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr ""
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr ""
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr ""
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr ""
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr ""
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr ""
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr ""
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr ""
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr ""
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr ""
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr ""
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr ""
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr ""
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr ""
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr ""
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr ""
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr ""
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr ""
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr ""
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr ""
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr ""
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr ""
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr ""
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr ""
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr ""
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr ""
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr ""
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr ""
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr ""
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr ""
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr ""
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr ""
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr ""
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr ""
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr ""
+
+#: ../fdroidserver/stats.py:66
+msgid ""
+"Recalculate aggregate stats - use when changes "
+"have been made that would invalidate old cached data."
+msgstr ""
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr ""
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr ""
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr ""
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr ""
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr ""
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr ""
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr ""
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr ""
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr ""
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr ""
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr ""
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr ""
diff --git a/locale/zh_Hans/LC_MESSAGES/fdroidserver.po b/locale/zh_Hans/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..d5be30f
--- /dev/null
@@ -0,0 +1,388 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-07-24 02:40+0000\n"
+"Last-Translator: sima <lin2s@riseup.net>\n"
+"Language-Team: Chinese (Simplified) "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/zh_Hans/>\n"
+"Language: zh_Hans\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 2.16-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "从源生成包"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "快速新建资源库"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "对包进行签名并将其加入资源库"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "添加包 gpg 签名至资源库"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "更新新包的资源库信息"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "验证已下载包的完整性"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "检查应用更新"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "从源码添加新的应用程序"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "在设备上安装生成包"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "读取全部元数据文件并退出"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "重写全部元数据文件"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "有关元数据可能错误的警告"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "扫描包源码"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "动态扫描已编译的 APKs"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "更新资源库统计信息"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "与资源库 HTTP 服务器互动"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "签署使用更新创建的索引 --nosign"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "更新 URL 的二进制透明度日志"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "用法:fdroid [-h|--help|--version] <command> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "有效的命令为:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "无法识别命令 '%s'。\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "发生未知异常!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "使用的 git 资源库路径在日志上"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr "资源库基 URL的日志(默认为 https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr "拖送日志至 git 远程资源库"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr "带有可选项 versionCode 的 app-id,格式:APPID[:VERCODE]"
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr "仅编译每个包的最新版本"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr "异常时中止编译"
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr "测试模式:仅将输出保存至 tmp 目录,即使输出已存在,仍然编译。"
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr "使用编译服务器"
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr "即使已有服务器看起来运行正常,请重置并创建一个全新的编译服务器。"
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr "指定在编译服务器上运行"
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr "跳过二进制源码扫描和其他问题"
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr "设置一个模拟器,然后在其中安装 apk 并执行 drozer 扫描"
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr "不创建源码 tarball 文件,便于内部版本测试"
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr "不刷新资源库,便于没有互联网时的内部版本测试"
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr "强制编译已禁用应用,忽略扫描出错。仅用于测试模式。"
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr "编译全部可用应用程序"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "更新维基页面"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr "app-id,用于检查更新"
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "处理自动更新"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr "仅处理使用自动更新的应用"
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr "提交更改"
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr "仅输出与 Play Store 的差异"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr "比一般情况输出更多的信息"
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr "仅输出警告和出错信息"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr "带有可选项 versioncode 的 app-id,格式:APPID[:VERCODE]"
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr "仅扫描每个包的最新版本"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr "扫描全部完成后清除"
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr "在扫描启动和容器重新编译之前清除"
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr "清除所有容器,然后退出"
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr "准备运行 drozer 扫描"
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr "覆盖资源库 APK 路径(默认为 ./repo)"
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr "项目 URL 导入位置。"
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr "如果不是位于根目录,路径为 android 主项目的子目录。"
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr "逗号分割的目录列表。"
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr "项目总体许可证。"
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr "可让运行初始导入时指定不同修订(或 git 分支)"
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr "X.509 生成密钥时所用的“可分辨名称”"
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr "资源库签名密钥的密钥存储(keystore)路径"
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr "密钥存储中资源库签名密钥的别名"
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr "Android SDK 路径(有时在 ANDROID_HOME 中设置)"
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr "不提示输入 Android SDK 路径,仅显示失败"
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr "安装全部可用的已签名应用"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr "同时提示格式问题,如 rewritemeta -l"
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr "app-id,格式:APPID"
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "强制错误提示警告或忽略"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr "列出全部需重新设定格式的文件"
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr "重写为特定格式: "
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr "执行命令:init 或 update"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr "指定 rsync 同步时 SSH 所用的标识文件"
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr "指定资源库同步的本地文件夹"
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr "请勿使用 rsync 校验和"
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr "下载当前没有的日志"
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr "重新计算聚合统计信息(发生更改时使用) "
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr "请勿做任何日志相关的操作"
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr "在密钥存储中创建资源库签名密钥"
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "创建缺少的主干元数据文件"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "从资源库中删除没有元数据的 APK 和 OBB"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr "报告编译数据状态"
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr "需更新事项的互动提示。"
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr "对超过像素大小上限的全部图标进行尺寸调整,然后退出"
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr "指定编辑器使用互动模式。默认 %s"
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "生成用户可读的 index.xml"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr "清除更新:不用缓存,重新处理全部 apk"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr "如果已配置为使用签名索引,该阶段仅创建未签名索引"
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr "对于最新添加的 apk,使用来自 apk 的日期,而不是当前时间"
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr "对于文件名不符合 package.name_123.apk 的文件进行重命名"
diff --git a/locale/zh_Hant/LC_MESSAGES/fdroidserver.po b/locale/zh_Hant/LC_MESSAGES/fdroidserver.po
new file mode 100644 (file)
index 0000000..b3bf57d
--- /dev/null
@@ -0,0 +1,388 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: team@f-droid.org\n"
+"POT-Creation-Date: 2017-06-01 17:23+0200\n"
+"PO-Revision-Date: 2017-08-31 02:59+0000\n"
+"Last-Translator: ezjerry liao <ezjerry@gmail.com>\n"
+"Language-Team: Chinese (Traditional) "
+"<https://hosted.weblate.org/projects/f-droid/fdroidserver/zh_Hant/>\n"
+"Language: zh_Hant\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 2.17-dev\n"
+
+#: ../fdroid:34
+msgid "Build a package from source"
+msgstr "從原始程式碼編譯成套裝軟體"
+
+#: ../fdroid:35
+msgid "Quickly start a new repository"
+msgstr "快速啟動新的儲存庫"
+
+#: ../fdroid:36
+msgid "Sign and place packages in the repo"
+msgstr "簽署並放置套件包在軟體倉庫中"
+
+#: ../fdroid:37
+msgid "Add gpg signatures for packages in repo"
+msgstr "在軟體倉庫中加入套件包的 gpg 簽署"
+
+#: ../fdroid:38
+msgid "Update repo information for new packages"
+msgstr "為新的套件包更新軟體倉庫資訊"
+
+#: ../fdroid:39
+msgid "Verify the integrity of downloaded packages"
+msgstr "驗證下載套裝軟體的完整性"
+
+#: ../fdroid:40
+msgid "Check for updates to applications"
+msgstr "檢查應用程式更新"
+
+#: ../fdroid:41
+msgid "Add a new application from its source code"
+msgstr "從原始程式碼增加一個新的應用程式"
+
+#: ../fdroid:42
+msgid "Install built packages on devices"
+msgstr "在裝置上安裝構建套件包"
+
+#: ../fdroid:43
+msgid "Read all the metadata files and exit"
+msgstr "讀取所有的中介資料檔案並退出"
+
+#: ../fdroid:44
+msgid "Rewrite all the metadata files"
+msgstr "重寫所有的中介資料檔案"
+
+#: ../fdroid:45
+msgid "Warn about possible metadata errors"
+msgstr "關於中介資料可能錯誤的警告"
+
+#: ../fdroid:46
+msgid "Scan the source code of a package"
+msgstr "掃描套件包的原始碼"
+
+#: ../fdroid:47
+msgid "Dynamically scan APKs post build"
+msgstr "動態掃描建置後的 APK"
+
+#: ../fdroid:48
+msgid "Update the stats of the repo"
+msgstr "更新軟體倉庫的統計"
+
+#: ../fdroid:49
+msgid "Interact with the repo HTTP server"
+msgstr "與軟體倉庫 HTTP 伺服器互動"
+
+#: ../fdroid:50
+msgid "Sign indexes created using update --nosign"
+msgstr "簽署使用更新建立的索引 --nosign"
+
+#: ../fdroid:51
+msgid "Update the binary transparency log for a URL"
+msgstr "為網址更新二進制的透明日誌"
+
+#: ../fdroid:56
+msgid "usage: fdroid [-h|--help|--version] <command> [<args>]"
+msgstr "用法:fdroid [-h|--help|--version] <command> [<args>]"
+
+#: ../fdroid:58
+msgid "Valid commands are:"
+msgstr "正確的命令是:"
+
+#: ../fdroid:104
+#, c-format
+msgid "Command '%s' not recognised.\n"
+msgstr "不能承認命令「%s」。\n"
+
+#: ../fdroid:150
+msgid "Unknown exception found!"
+msgstr "發現未知的異常!"
+
+#: ../fdroidserver/btlog.py:154
+msgid "Path to the git repo to use as the log"
+msgstr "到 git 軟體倉庫的路徑用在日誌"
+
+#: ../fdroidserver/btlog.py:156
+msgid "The base URL for the repo to log (default: https://f-droid.org)"
+msgstr "軟體倉庫日誌的總部網址(預設:https://f-droid.org)"
+
+#: ../fdroidserver/btlog.py:158
+msgid "Push the log to this git remote repository"
+msgstr "將日誌推送到 git 遠端軟體倉庫"
+
+#: ../fdroidserver/build.py:875 ../fdroidserver/install.py:52
+#: ../fdroidserver/publish.py:45 ../fdroidserver/scanner.py:255
+#: ../fdroidserver/verify.py:41
+msgid "app-id with optional versionCode in the form APPID[:VERCODE]"
+msgstr "app-id 具有任選的 versionCode 在此格式為 APPID [:VERCODE]"
+
+#: ../fdroidserver/build.py:877
+msgid "Build only the latest version of each package"
+msgstr "只構建每個套件包的最後版本"
+
+#: ../fdroidserver/build.py:879
+msgid "Make the build stop on exceptions"
+msgstr "異常時停止做構建"
+
+#: ../fdroidserver/build.py:881
+msgid ""
+"Test mode - put output in the tmp directory only, and always build, even if "
+"the output already exists."
+msgstr "測試模式 - 將輸出只放在 tmp 目錄中,即使輸出已經存在,仍然構建。"
+
+#: ../fdroidserver/build.py:883
+msgid "Use build server"
+msgstr "使用構建伺服器"
+
+#: ../fdroidserver/build.py:885
+msgid ""
+"Reset and create a brand new build server, even if the existing one appears "
+"to be ok."
+msgstr "即使現有的伺服器明顯是好的,仍重置並建立一個新的構建伺服器。"
+
+#: ../fdroidserver/build.py:887
+msgid "Specify that we're running on the build server"
+msgstr "指定在構建伺服務器上運作"
+
+#: ../fdroidserver/build.py:889
+msgid "Skip scanning the source code for binaries and other problems"
+msgstr "跳過掃描二進制碼和其它問題的原始碼"
+
+#: ../fdroidserver/build.py:891
+msgid "Setup an emulator, install the apk on it and perform a drozer scan"
+msgstr "設置一個模擬器,在其上安裝 apk 並執行 drozer 掃描"
+
+#: ../fdroidserver/build.py:893
+msgid "Don't create a source tarball, useful when testing a build"
+msgstr "不要建立 tarball,在測試一個構建時很有用處"
+
+#: ../fdroidserver/build.py:895
+msgid ""
+"Don't refresh the repository, useful when testing a build with no internet "
+"connection"
+msgstr "不要更新軟體倉庫,在沒有網路連線時測試構建很有用"
+
+#: ../fdroidserver/build.py:897
+msgid ""
+"Force build of disabled apps, and carries on regardless of scan problems. "
+"Only allowed in test mode."
+msgstr "強制停用應用程式的構建,並且忽視掃描問題而繼續。只允許在測試模式下。"
+
+#: ../fdroidserver/build.py:899
+msgid "Build all applications available"
+msgstr "構建所有可用的應用程式"
+
+#: ../fdroidserver/build.py:901 ../fdroidserver/update.py:1519
+msgid "Update the wiki"
+msgstr "更新維基百科"
+
+#: ../fdroidserver/checkupdates.py:513
+msgid "app-id to check for updates"
+msgstr "以 app-id 檢查更新"
+
+#: ../fdroidserver/checkupdates.py:515
+msgid "Process auto-updates"
+msgstr "處理自動更新"
+
+#: ../fdroidserver/checkupdates.py:517
+msgid "Only process apps with auto-updates"
+msgstr "只處理具有自動更新的應用程式"
+
+#: ../fdroidserver/checkupdates.py:519
+msgid "Commit changes"
+msgstr "提交變更"
+
+#: ../fdroidserver/checkupdates.py:521
+msgid "Only print differences with the Play Store"
+msgstr "僅印出與 Play Store 的不同處"
+
+#: ../fdroidserver/common.py:124
+msgid "Spew out even more information than normal"
+msgstr "傾湧出比正常情況下更多的資訊"
+
+#: ../fdroidserver/common.py:126
+msgid "Restrict output to warnings and errors"
+msgstr "將輸出限定為警告和錯誤"
+
+#: ../fdroidserver/dscanner.py:410
+msgid "app-id with optional versioncode in the form APPID[:VERCODE]"
+msgstr "app-id 具有任選的 versioncode 在此格式為 APPID [:VERCODE]"
+
+#: ../fdroidserver/dscanner.py:413
+msgid "Scan only the latest version of each package"
+msgstr "只掃描每個套件包的最新版本"
+
+#: ../fdroidserver/dscanner.py:416
+msgid "Clean after all scans have finished"
+msgstr "所有掃描完成後清除"
+
+#: ../fdroidserver/dscanner.py:419
+msgid "Clean before the scans start and rebuild the container"
+msgstr "在掃描開始與重新構建容器之前清除"
+
+#: ../fdroidserver/dscanner.py:422
+msgid "Clean up all containers and then exit"
+msgstr "清除所有容器,然後退出"
+
+#: ../fdroidserver/dscanner.py:425
+msgid "Prepare drozer to run a scan"
+msgstr "準備 drozer 以執行掃描"
+
+#: ../fdroidserver/dscanner.py:428
+msgid "Override path for repo APKs (default: ./repo)"
+msgstr "覆蓋軟體倉庫 APK 的路徑 (預設:./repo)"
+
+#: ../fdroidserver/import.py:193
+msgid "Project URL to import from."
+msgstr "要導入的專案網址。"
+
+#: ../fdroidserver/import.py:195
+msgid "Path to main android project subdirectory, if not in root."
+msgstr "如果不在根目錄下,路徑為 android 主要專案的子目錄。"
+
+#: ../fdroidserver/import.py:197
+msgid "Comma separated list of categories."
+msgstr "以逗號分隔類別清單。"
+
+#: ../fdroidserver/import.py:199
+msgid "Overall license of the project."
+msgstr "該專案的整體授權。"
+
+#: ../fdroidserver/import.py:201
+msgid ""
+"Allows a different revision (or git branch) to be specified for the initial "
+"import"
+msgstr "允許為初始匯入指定不同的校訂(或 git 分支)"
+
+#: ../fdroidserver/init.py:56
+msgid "X.509 'Distiguished Name' used when generating keys"
+msgstr "產生金鑰時使用 X.509 '專有名稱'"
+
+#: ../fdroidserver/init.py:58
+msgid "Path to the keystore for the repo signing key"
+msgstr "給軟體倉庫簽署金鑰的金鑰庫路徑"
+
+#: ../fdroidserver/init.py:60
+msgid "Alias of the repo signing key in the keystore"
+msgstr "在金鑰庫裡軟體倉庫簽署金鑰的別名"
+
+#: ../fdroidserver/init.py:62
+msgid "Path to the Android SDK (sometimes set in ANDROID_HOME)"
+msgstr "Android SDK 的路徑(有時在 ANDROID_HOME 中設定)"
+
+#: ../fdroidserver/init.py:64
+msgid "Do not prompt for Android SDK path, just fail"
+msgstr "不要為 Android SDK 的路徑提示,只提示失敗的"
+
+#: ../fdroidserver/install.py:54
+msgid "Install all signed applications available"
+msgstr "安裝所有已簽署可用的應用程式"
+
+#: ../fdroidserver/lint.py:393
+msgid "Also warn about formatting issues, like rewritemeta -l"
+msgstr "還要提醒格式化問題,如 rewritemeta -l"
+
+#: ../fdroidserver/lint.py:394 ../fdroidserver/rewritemeta.py:57
+msgid "app-id in the form APPID"
+msgstr "app-id,格式為 APPID"
+
+#: ../fdroidserver/metadata.py:1337
+msgid "force errors to be warnings, or ignore"
+msgstr "強制錯誤警告或忽略"
+
+#: ../fdroidserver/rewritemeta.py:54
+msgid "List files that would be reformatted"
+msgstr "列出將重新格式化的檔案"
+
+#: ../fdroidserver/rewritemeta.py:56
+msgid "Rewrite to a specific format: "
+msgstr "重寫為特定的格式: "
+
+#: ../fdroidserver/server.py:547
+msgid "command to execute, either 'init' or 'update'"
+msgstr "命令執行,'init' 或 'update' 中的任何一個"
+
+#: ../fdroidserver/server.py:549
+msgid "Specify an identity file to provide to SSH for rsyncing"
+msgstr "指定一個身份檔案以提供給 SSH 進行 rsync"
+
+#: ../fdroidserver/server.py:551
+msgid "Specify a local folder to sync the repo to"
+msgstr "指定要將軟體倉庫同步到本地的資料夾"
+
+#: ../fdroidserver/server.py:553
+msgid "Don't use rsync checksums"
+msgstr "不使用 rsync 檢驗和"
+
+#: ../fdroidserver/stats.py:64
+msgid "Download logs we don't have"
+msgstr "下載我們沒有的日誌"
+
+#: ../fdroidserver/stats.py:66
+msgid "Recalculate aggregate stats - use when changes "
+msgstr "重新計算集合統計 - 更改時使用 "
+
+#: ../fdroidserver/stats.py:69
+msgid "Don't do anything logs-related"
+msgstr "不要做任何與日誌有關的事情"
+
+#: ../fdroidserver/update.py:1504
+msgid "Create a repo signing key in a keystore"
+msgstr "在金鑰庫中建立一個軟體倉庫的簽署金鑰"
+
+#: ../fdroidserver/update.py:1506
+msgid "Create skeleton metadata files that are missing"
+msgstr "建立缺少的骨幹中介資料檔案"
+
+#: ../fdroidserver/update.py:1508
+msgid "Delete APKs and/or OBBs without metadata from the repo"
+msgstr "從軟體倉庫刪除缺少中介資料的 APK 和/或 OBB"
+
+#: ../fdroidserver/update.py:1510
+msgid "Report on build data status"
+msgstr "報告構建資料的狀態"
+
+#: ../fdroidserver/update.py:1512
+msgid "Interactively ask about things that need updating."
+msgstr "以對話方式詢問需要更新的內容。"
+
+#: ../fdroidserver/update.py:1514
+msgid "Resize all the icons exceeding the max pixel size and exit"
+msgstr "重設超過最大像素的所有圖示之尺寸並且退出"
+
+#: ../fdroidserver/update.py:1516
+#, c-format
+msgid "Specify editor to use in interactive mode. Default %s"
+msgstr "指定編輯器在互動模式使用。預設 %s"
+
+#: ../fdroidserver/update.py:1521
+msgid "Produce human-readable index.xml"
+msgstr "產生可讀懂的 index.xml 格式"
+
+#: ../fdroidserver/update.py:1523
+msgid "Clean update - don't uses caches, reprocess all apks"
+msgstr "清除更新 - 不使用快取,重新處理全部的 apk"
+
+#: ../fdroidserver/update.py:1525
+msgid ""
+"When configured for signed indexes, create only unsigned indexes at this "
+"stage"
+msgstr "當已組態為簽名的索引時,只能在此階段建立無簽名的索引"
+
+#: ../fdroidserver/update.py:1527
+msgid "Use date from apk instead of current time for newly added apks"
+msgstr "新增的 apk 使用日期,來自 apk 而不是目前時間"
+
+#: ../fdroidserver/update.py:1529
+msgid "Rename APK files that do not match package.name_123.apk"
+msgstr "為不符合 package.name_123.apk 格式的 APK 檔案更名"
index 6ee8c3a8b60dbe19eaabd5424820e1032589f765..ef153039374dfb903ddc0eb3708e78ccbd4b8b39 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -17,6 +17,7 @@ setup(name='fdroidserver',
       author='The F-Droid Project',
       author_email='team@f-droid.org',
       url='https://f-droid.org',
+      license='AGPL-3.0',
       packages=['fdroidserver', 'fdroidserver.asynchronousfilereader'],
       scripts=['fdroid', 'fd-commit', 'makebuildserver'],
       data_files=[
@@ -29,6 +30,7 @@ setup(name='fdroidserver',
                'examples/public-read-only-s3-bucket-policy.json',
                'examples/template.yml']),
       ],
+      python_requires='>=3.4',
       install_requires=[
           'clint',
           'GitPython',
index 5d292f4b7e0dce25cf904193656af4282eb8c170..76a938027b6ab72c481c9629022ec14ace37fa0e 100755 (executable)
@@ -8,11 +8,13 @@ import logging
 import optparse
 import os
 import shutil
+import subprocess
 import sys
 import tempfile
 import unittest
 import yaml
 from binascii import unhexlify
+from distutils.version import LooseVersion
 
 localmodule = os.path.realpath(
     os.path.join(os.path.dirname(inspect.getfile(inspect.currentframe())), '..'))
@@ -397,8 +399,15 @@ class UpdateTest(unittest.TestCase):
             self.assertFalse(os.path.exists(os.path.join('archive', apkName)))
             self.assertTrue(os.path.exists(os.path.join('repo', apkName)))
 
+            javac = config['jarsigner'].replace('jarsigner', 'javac')
+            v = subprocess.check_output([javac, '-version'], stderr=subprocess.STDOUT)[6:-1].decode('utf-8')
+            if LooseVersion(v) < LooseVersion('1.8.0_132'):
+                print('SKIPPING: running tests with old Java (' + v + ')')
+                return
+
             # this test only works on systems with fully updated Java/jarsigner
             # that has MD5 listed in jdk.jar.disabledAlgorithms in java.security
+            # https://blogs.oracle.com/java-platform-group/oracle-jre-will-no-longer-trust-md5-signed-code-by-default
             skip, apk, cachechanged = fdroidserver.update.process_apk({}, apkName, 'repo',
                                                                       knownapks,
                                                                       allow_disabled_algorithms=False,