diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c4f69a7..b76fe549 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,19 +5,51 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [Unreleased] + +For a more complete overview, see the [2.0 +milestone](https://gitlab.com/fdroid/fdroidserver/-/milestones/10) + ### Added -* makebuildserver: added ndk r20 +* `fdroid update` inserts donation links based on upstream's _FUNDING.yml_ + ([!754](https://gitlab.com/fdroid/fdroidserver/merge_requests/754)) +* Stable, public API for most useful functions + ([!798](https://gitlab.com/fdroid/fdroidserver/merge_requests/798)) +* Load with any YAML lib and use with the API, no more custom parser needed + ([!826](https://gitlab.com/fdroid/fdroidserver/merge_requests/826)) + ([!838](https://gitlab.com/fdroid/fdroidserver/merge_requests/838)) +* _config.yml_ for a safe, easy, standard configuration format ([!663](https://gitlab.com/fdroid/fdroidserver/merge_requests/663)) -* added support for gradle 5.5.1 - ([!656](https://gitlab.com/fdroid/fdroidserver/merge_requests/656)) -* add SHA256 to filename of repo graphics +* Config options can be set from environment variables using this syntax: + `keystorepass: {env: keystorepass}` ([!669](https://gitlab.com/fdroid/fdroidserver/merge_requests/669)) -* support for srclibs metadata in YAML format +* Add SHA256 to filename of repo graphics + ([!669](https://gitlab.com/fdroid/fdroidserver/merge_requests/669)) +* Support for srclibs metadata in YAML format ([!700](https://gitlab.com/fdroid/fdroidserver/merge_requests/700)) -* check srclibs and app-metadata files with yamllint +* Check srclibs and app-metadata files with yamllint ([!721](https://gitlab.com/fdroid/fdroidserver/merge_requests/721)) +* Added plugin system for adding subcommands to `fdroid` + ([!709](https://gitlab.com/fdroid/fdroidserver/merge_requests/709)) +* `fdroid update`, `fdroid publish`, and `fdroid signindex` now work + with SmartCard HSMs, specifically the NitroKey HSM + ([!779](https://gitlab.com/fdroid/fdroidserver/merge_requests/779)) + ([!782](https://gitlab.com/fdroid/fdroidserver/merge_requests/782)) +* `fdroid update` support for Triple-T Gradle Play Publisher v2.x + ([!683](https://gitlab.com/fdroid/fdroidserver/merge_requests/683)) ### Fixed +* Smoother process for signing APKs with `apksigner` + ([!736](https://gitlab.com/fdroid/fdroidserver/merge_requests/736)) + ([!821](https://gitlab.com/fdroid/fdroidserver/merge_requests/821)) +* All parts except _build_ and _publish_ work without the Android SDK + ([!821](https://gitlab.com/fdroid/fdroidserver/merge_requests/821)) +* Description: is now passed to clients unchanged, no HTML conversion + ([!828](https://gitlab.com/fdroid/fdroidserver/merge_requests/828)) +* Lots of improvements for scanning for proprietary code and trackers + ([!748](https://gitlab.com/fdroid/fdroidserver/merge_requests/748)) + ([!REPLACE](https://gitlab.com/fdroid/fdroidserver/merge_requests/REPLACE)) + ([!844](https://gitlab.com/fdroid/fdroidserver/merge_requests/844)) +* `fdroid mirror` now generates complete, working local mirror repos * fix build-logs dissapearing when deploying ([!685](https://gitlab.com/fdroid/fdroidserver/merge_requests/685)) * do not crash when system encoding can not be retrieved @@ -33,11 +65,30 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ([!651](https://gitlab.com/fdroid/fdroidserver/merge_requests/651)) * `fdroid init` generates PKCS12 keystores, drop Java < 8 support ([!801](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/801)) +* Parse Version Codes specified in hex + ([!692](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/692)) +* Major refactoring on core parts of code to be more Pythonic + ([!756](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/756)) ### Removed -* removed support for txt and json metadata +* Removed all support for _.txt_ and _.json_ metadata ([!772](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/772)) +* dropped support for Debian 8 _jessie_ and 9 _stretch_ +* dropped support for Ubuntu releases older than bionic 18.04 +* dropped `fdroid server update` and `fdroid server init`, + use `fdroid deploy` +* `fdroid dscanner` was removed. + ([!711](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/711)) * `make_current_version_link` is now off by default +* Dropped `force_build_tools` config option + ([!797](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/797)) +* Dropped `accepted_formats` config option, there is only _.yml_ now + ([!818](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/818)) +* `Provides:` was removed as a metadata field + ([!654](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/654)) +* Remove unused `latestapps.dat` + ([!794](https://gitlab.com/fdroid/fdroidserver/-/merge_requests/794)) + ## [1.1.4] - 2019-08-15 ### Fixed diff --git a/MANIFEST.in b/MANIFEST.in index 948d8fc7..49e08dbc 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -9,7 +9,12 @@ include buildserver/Vagrantfile include CHANGELOG.md include completion/bash-completion include examples/config.yml +include examples/fdroid_exportkeystore.py +include examples/fdroid_export_keystore_to_nitrokey.py +include examples/fdroid_extract_repo_pubkey.py +include examples/fdroid_fetchsrclibs.py include examples/fdroid-icon.png +include examples/fdroid_nitrokeyimport.py include examples/makebuildserver.config.py include examples/opensc-fdroid.cfg include examples/public-read-only-s3-bucket-policy.json diff --git a/examples/fdroid_export_keystore_to_nitrokey.py b/examples/fdroid_export_keystore_to_nitrokey.py new file mode 100644 index 00000000..92de2b30 --- /dev/null +++ b/examples/fdroid_export_keystore_to_nitrokey.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +# +# an fdroid plugin for exporting a repo's keystore in standard PEM format + +import os +from argparse import ArgumentParser +from fdroidserver import common +from fdroidserver.common import FDroidPopen +from fdroidserver.exception import BuildException + +fdroid_summary = "export the repo's keystore file to a NitroKey HSM" + + +def run(cmd, error): + envs = {'LC_ALL': 'C.UTF-8', + 'PIN': config['smartcard_pin'], + 'FDROID_KEY_STORE_PASS': config['keystorepass'], + 'FDROID_KEY_PASS': config['keypass']} + p = FDroidPopen(cmd, envs=envs) + if p.returncode != 0: + raise BuildException(error, p.output) + + +def main(): + global config + parser = ArgumentParser() + common.setup_global_opts(parser) + options = parser.parse_args() + config = common.read_config(options) + destkeystore = config['keystore'].replace('.jks', '.p12').replace('/', '_') + exportkeystore = config['keystore'].replace('.jks', '.pem').replace('/', '_') + if os.path.exists(destkeystore) or os.path.exists(exportkeystore): + raise BuildException('%s exists!' % exportkeystore) + run([config['keytool'], '-importkeystore', + '-srckeystore', config['keystore'], + '-srcalias', config['repo_keyalias'], + '-srcstorepass:env', 'FDROID_KEY_STORE_PASS', + '-srckeypass:env', 'FDROID_KEY_PASS', + '-destkeystore', destkeystore, + '-deststorepass:env', 'FDROID_KEY_STORE_PASS', + '-deststoretype', 'PKCS12'], + 'Failed to convert to PKCS12!') +# run(['openssl', 'pkcs12', '-in', destkeystore, +# '-passin', 'env:FDROID_KEY_STORE_PASS', '-nokeys', +# '-out', exportkeystore, +# '-passout', 'env:FDROID_KEY_STORE_PASS'], +# 'Failed to convert to PEM!') + run(['pkcs15-init', '--delete-objects', 'privkey,pubkey', + '--id', '3', '--store-private-key', destkeystore, + '--format', 'pkcs12', '--auth-id', '3', + '--verify-pin', '--pin', 'env:PIN'], + '') + run(['pkcs15-init', '--delete-objects', 'privkey,pubkey', + '--id', '2', '--store-private-key', destkeystore, + '--format', 'pkcs12', '--auth-id', '3', + '--verify-pin', '--pin', 'env:PIN'], + '') + + +if __name__ == "__main__": + main() diff --git a/examples/fdroid_exportkeystore.py b/examples/fdroid_exportkeystore.py new file mode 100644 index 00000000..9e54e397 --- /dev/null +++ b/examples/fdroid_exportkeystore.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +# +# an fdroid plugin for exporting a repo's keystore in standard PEM format + +import os +from argparse import ArgumentParser +from fdroidserver import common +from fdroidserver.common import FDroidPopen +from fdroidserver.exception import BuildException + +fdroid_summary = 'export the keystore in standard PEM format' + + +def main(): + parser = ArgumentParser() + common.setup_global_opts(parser) + options = parser.parse_args() + config = common.read_config(options) + env_vars = {'LC_ALL': 'C.UTF-8', + 'FDROID_KEY_STORE_PASS': config['keystorepass'], + 'FDROID_KEY_PASS': config['keypass']} + destkeystore = config['keystore'].replace('.jks', '.p12').replace('/', '_') + exportkeystore = config['keystore'].replace('.jks', '.pem').replace('/', '_') + if os.path.exists(destkeystore) or os.path.exists(exportkeystore): + raise BuildException('%s exists!' % exportkeystore) + p = FDroidPopen([config['keytool'], '-importkeystore', + '-srckeystore', config['keystore'], + '-srcalias', config['repo_keyalias'], + '-srcstorepass:env', 'FDROID_KEY_STORE_PASS', + '-srckeypass:env', 'FDROID_KEY_PASS', + '-destkeystore', destkeystore, + '-deststoretype', 'PKCS12', + '-deststorepass:env', 'FDROID_KEY_STORE_PASS', + '-destkeypass:env', 'FDROID_KEY_PASS'], + envs=env_vars) + if p.returncode != 0: + raise BuildException("Failed to convert to PKCS12!", p.output) + p = FDroidPopen(['openssl', 'pkcs12', '-in', destkeystore, + '-passin', 'env:FDROID_KEY_STORE_PASS', '-nokeys', + '-out', exportkeystore, + '-passout', 'env:FDROID_KEY_STORE_PASS'], + envs=env_vars) + if p.returncode != 0: + raise BuildException("Failed to convert to PEM!", p.output) + + +if __name__ == "__main__": + main() diff --git a/examples/fdroid_extract_repo_pubkey.py b/examples/fdroid_extract_repo_pubkey.py new file mode 100644 index 00000000..de13d267 --- /dev/null +++ b/examples/fdroid_extract_repo_pubkey.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 +# +# an fdroid plugin print the repo_pubkey from a repo's keystore +# + +from argparse import ArgumentParser +from fdroidserver import common, index + +fdroid_summary = 'export the keystore in standard PEM format' + + +def main(): + parser = ArgumentParser() + common.setup_global_opts(parser) + options = parser.parse_args() + common.config = common.read_config(options) + pubkey, repo_pubkey_fingerprint = index.extract_pubkey() + print('repo_pubkey = "%s"' % pubkey.decode()) + + +if __name__ == "__main__": + main() diff --git a/examples/fdroid_nitrokeyimport.py b/examples/fdroid_nitrokeyimport.py new file mode 100644 index 00000000..44ec299c --- /dev/null +++ b/examples/fdroid_nitrokeyimport.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +from argparse import ArgumentParser +from fdroidserver import common +from fdroidserver.common import FDroidPopen +from fdroidserver.exception import BuildException + +fdroid_summary = 'import the local keystore into a SmartCard HSM' + + +def main(): + parser = ArgumentParser() + common.setup_global_opts(parser) + options = parser.parse_args() + config = common.read_config(options) + env_vars = { + 'LC_ALL': 'C.UTF-8', + 'FDROID_KEY_STORE_PASS': config['keystorepass'], + 'FDROID_KEY_PASS': config['keypass'], + 'SMARTCARD_PIN': str(config['smartcard_pin']), + } + p = FDroidPopen([config['keytool'], '-importkeystore', + '-srcalias', config['repo_keyalias'], + '-srckeystore', config['keystore'], + '-srcstorepass:env', 'FDROID_KEY_STORE_PASS', + '-srckeypass:env', 'FDROID_KEY_PASS', + '-destalias', config['repo_keyalias'], + '-destkeystore', 'NONE', + '-deststoretype', 'PKCS11', + '-providerName', 'SunPKCS11-OpenSC', + '-providerClass', 'sun.security.pkcs11.SunPKCS11', + '-providerArg', 'opensc-fdroid.cfg', + '-deststorepass:env', 'SMARTCARD_PIN', + '-J-Djava.security.debug=sunpkcs11'], + envs=env_vars) + if p.returncode != 0: + raise BuildException("Failed to import into HSM!", p.output) + + +if __name__ == "__main__": + main() diff --git a/fdroidserver/update.py b/fdroidserver/update.py index 80e092c3..8679b134 100644 --- a/fdroidserver/update.py +++ b/fdroidserver/update.py @@ -56,7 +56,7 @@ if hasattr(Image, 'DecompressionBombWarning'): warnings.simplefilter('error', Image.DecompressionBombWarning) Image.MAX_IMAGE_PIXELS = 0xffffff # 4096x4096 -METADATA_VERSION = 21 +METADATA_VERSION = 20000 # less than the valid range of versionCode, i.e. Java's Integer.MIN_VALUE UNSET_VERSION_CODE = -0x100000000 diff --git a/locale/pt_BR/LC_MESSAGES/fdroidserver.po b/locale/pt_BR/LC_MESSAGES/fdroidserver.po index 4b63dd12..f6b70bcd 100644 --- a/locale/pt_BR/LC_MESSAGES/fdroidserver.po +++ b/locale/pt_BR/LC_MESSAGES/fdroidserver.po @@ -3,7 +3,7 @@ # Wellington Terumi Uemura , 2020. # André Marcelo Alvarenga , 2020. # Hans-Christoph Steiner , 2020. -# Rafael Fontenelle , 2020. +# Rafael Fontenelle , 2020, 2021. # ssantos , 2020. # The Cats , 2020. msgid "" @@ -11,15 +11,15 @@ msgstr "" "Project-Id-Version: fdroidserver 0.9\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "POT-Creation-Date: 2021-01-14 14:55+0100\n" -"PO-Revision-Date: 2020-11-09 19:08+0000\n" -"Last-Translator: The Cats \n" +"PO-Revision-Date: 2021-01-14 21:33+0000\n" +"Last-Translator: Rafael Fontenelle \n" "Language-Team: Portuguese (Brazil) \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 4.3.2\n" +"X-Generator: Weblate 4.5-dev\n" #: ../fdroidserver/common.py msgid "" @@ -154,9 +154,8 @@ msgid "'keypass' not found in config.py!" msgstr "'keypass' não foi encontrada em config.py!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keypass' not found in config.yml!" -msgstr "'keypass' não foi encontrada em config.py!" +msgstr "\"keypass\" não encontrada em config.yml!" #: ../fdroidserver/common.py msgid "'keystore' is NONE and 'smartcardoptions' is blank!" @@ -167,27 +166,24 @@ msgid "'keystore' not found in config.py!" msgstr "'keystore' não encontrada em config.py!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keystore' not found in config.yml!" -msgstr "'keystore' não encontrada em config.py!" +msgstr "\"keystore\" não encontrada em config.yml!" #: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystorepass' not found in config.py!" msgstr "'keystorepass' não encontrada em config.py!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keystorepass' not found in config.yml!" -msgstr "'keystorepass' não encontrada em config.py!" +msgstr "\"keystorepass\" não encontrada em config.yml!" #: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'repo_keyalias' not found in config.py!" msgstr "'repo_keyalias' não encontrada em config.py!" #: ../fdroidserver/common.py -#, fuzzy msgid "'repo_keyalias' not found in config.yml!" -msgstr "'repo_keyalias' não encontrada em config.py!" +msgstr "\"repo_keyalias\" não encontrada em config.yml!" #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #: /usr/lib/python3.7/argparse.py @@ -199,9 +195,8 @@ msgid "'sdk_path' not set in 'config.py'!" msgstr "'sdk_path' não definido em 'config.py'!" #: ../fdroidserver/common.py -#, fuzzy msgid "'sdk_path' not set in config.yml!" -msgstr "'sdk_path' não definido em 'config.py'!" +msgstr "\"sdk_path\" não definido em config.yml!" #. Translators: "build-tools" is the file name of a package from #. Google, it is part of the Android SDK. So it probably shouldn't be @@ -249,7 +244,7 @@ msgstr "...checkupdate falhou para {appid} : {error}" #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #: /usr/lib/python3.7/argparse.py msgid ".__call__() not defined" -msgstr ".__ligação__() não definida" +msgstr ".__call__() não definida" #: ../fdroidserver/metadata.py msgid ".fdroid.txt is not supported! Convert to .fdroid.yml or .fdroid.json." @@ -269,7 +264,7 @@ msgstr "Adicione assinaturas PGP usando GnuPG para os pacotes no repositório" #: ../fdroid ../fdroidserver/__main__.py msgid "Add a new application from its source code" -msgstr "Adicione um novo aplicativo a partir do seu código fonte" +msgstr "Adiciona um novo aplicativo a partir do seu código-fonte" #: ../fdroidserver/update.py msgid "Add a repo signing key to an unsigned repo" @@ -318,9 +313,9 @@ msgid "Android SDK '{path}' does not have '{dirname}' installed!" msgstr "O SDK Android '{path}' não tem '{dirname}' instalado!" #: ../fdroidserver/init.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Android SDK not found at {path}!" -msgstr "SDK do Android não foi encontrado!" +msgstr "Android SDK não encontrado em {path}!" #: ../fdroidserver/common.py msgid "Android SDK not found!" @@ -337,9 +332,9 @@ msgid "Android SDK path '{path}' is not a directory!" msgstr "O caminho do SDK Android '{path}' não é um diretório!" #: ../fdroidserver/common.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Android SDK tool {cmd} found!" -msgstr "SDK do Android não foi encontrado!" +msgstr "Ferramenta {cmd} do Android SDK encontrada!" #. Translators: "build-tools" is the file name of a package from #. Google, it is part of the Android SDK. So it probably shouldn't be @@ -389,7 +384,7 @@ msgstr "Link simbólico quebrado: {path}" #: ../fdroid ../fdroidserver/__main__.py msgid "Build a package from source" -msgstr "Compilar um pacote a partir do código fonte" +msgstr "Compila um pacote a partir do código-fonte" #: ../fdroidserver/build.py msgid "Build all applications available" @@ -459,7 +454,7 @@ msgstr "As categorias não estão definidas" #: ../fdroid ../fdroidserver/__main__.py msgid "Check for updates to applications" -msgstr "Verifique se existem atualizações para os aplicativos" +msgstr "Verifica se existem atualizações para os aplicativos" #: ../fdroidserver/update.py #, python-brace-format @@ -489,7 +484,7 @@ msgstr "Lista de categorias separadas por vírgula." #: ../fdroid ../fdroidserver/__main__.py #, c-format, python-format msgid "Command '%s' not recognised.\n" -msgstr "Comando '%s' não é reconhecido\n" +msgstr "Comando \"%s\" não reconhecido.\n" #: ../fdroidserver/checkupdates.py msgid "Commit changes" @@ -502,7 +497,7 @@ msgstr "Argumentos conflitantes: \"--verbose\" e \"--quiet\" não podem ser espe #: ../fdroidserver/common.py #, python-brace-format msgid "Conflicting config files! Using {newfile}, ignoring {oldfile}!" -msgstr "" +msgstr "Arquivos de configuração conflitantes! Usando {newfile}, ignorando {oldfile}!" #: ../fdroidserver/common.py #, python-brace-format @@ -523,9 +518,9 @@ msgid "Could not find {path} to remove it" msgstr "Impossível encontrar {path} para removê-lo" #: ../fdroidserver/update.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Could not open APK {path} for analysis: " -msgstr "Impossível abrir o arquivo de APK para analisá-lo" +msgstr "Impossível abrir o APK {path} para análise: " #: ../fdroidserver/update.py msgid "Could not open apk file for analysis" @@ -565,7 +560,7 @@ msgstr "Criar uma chave de assinatura do repositório em uma keystore" #: ../fdroidserver/update.py msgid "Create skeleton metadata files that are missing" -msgstr "Criar as bases dos arquivos de metadados que estão faltando" +msgstr "Cria as bases dos arquivos de metadados que estão faltando" #: ../fdroidserver/deploy.py ../fdroidserver/upload.py #, python-brace-format @@ -614,7 +609,7 @@ msgstr "DEBUG_KEYSTORE não está definido ou o valor está incompleto" #: ../fdroidserver/update.py msgid "Delete APKs and/or OBBs without metadata from the repo" -msgstr "Apagar os APKs e/ou OBBs sem metadados do repositório" +msgstr "Apaga os APKs e/ou OBBs sem metadados do repositório" #: ../fdroidserver/deploy.py #, python-brace-format @@ -717,7 +712,7 @@ msgstr "Link duplicado em '{field}': {url}" #: ../fdroid msgid "Dynamically scan APKs post build" -msgstr "Escanear dinamicamente os APKs após a compilação" +msgstr "Percorre dinamicamente os APKs após a compilação" #: ../fdroidserver/__main__.py msgid "ERROR: The \"server\" subcommand has been removed, use \"deploy\"!" @@ -757,7 +752,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format msgid "Environment variable {var} from {configname} is not set!" -msgstr "" +msgstr "A variável de ambiente {var} de {configname} não está definida!" #: ../fdroidserver/deploy.py ../fdroidserver/checkupdates.py #: ../fdroidserver/upload.py @@ -1030,7 +1025,7 @@ msgstr "Instalar todos os aplicativos assinados disponíveis" #: ../fdroid ../fdroidserver/__main__.py msgid "Install built packages on devices" -msgstr "Instalar pacotes prontos nos dispositivos" +msgstr "Instala pacotes compilados nos dispositivos" #: ../fdroidserver/install.py #, python-format @@ -1054,7 +1049,7 @@ msgstr "Instalando '{apkfilename}' em {dev} …" #: ../fdroid ../fdroidserver/__main__.py msgid "Interact with the repo HTTP server" -msgstr "Interagir com o servidor HTTP do repositório" +msgstr "Interage com o servidor HTTP do repositório" #: ../fdroidserver/update.py msgid "Invalid APK" @@ -1245,9 +1240,8 @@ msgid "No commit specified for {versionName} in {linedesc}" msgstr "Nenhum commit especificado para {versionName} em {linedesc}" #: ../fdroidserver/common.py -#, fuzzy msgid "No config.yml found, using defaults." -msgstr "Nenhum 'config.py' encontrado, usando padrões." +msgstr "Nenhum config.yml encontrado, usando padrões." #: ../fdroidserver/index.py msgid "No fingerprint in URL." @@ -1328,9 +1322,8 @@ msgid "Now set these in config.py:" msgstr "Agora defina estes em config.py:" #: ../fdroidserver/init.py -#, fuzzy msgid "Now set these in config.yml:" -msgstr "Agora defina estes em config.py:" +msgstr "Agora, defina estes em config.yml:" #. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/update.py @@ -1482,7 +1475,7 @@ msgstr "Produzir XML/JSON legível por humanos para arquivos de índice" #: ../fdroidserver/update.py msgid "Produce human-readable index.xml" -msgstr "Gerar um index.xml legível por humanos" +msgstr "Produz um index.xml legível por humanos" #: ../fdroidserver/import.py msgid "Project URL to import from." @@ -1508,11 +1501,11 @@ msgstr "Empurrando para {url}" #: ../fdroid ../fdroidserver/__main__.py msgid "Quickly start a new repository" -msgstr "Rapidamente comece um novo repositório" +msgstr "Cria rapidamente um novo repositório" #: ../fdroid ../fdroidserver/__main__.py msgid "Read all the metadata files and exit" -msgstr "Ler todos os arquivos de metadados e sair" +msgstr "Lê todos os arquivos de metadados e sai" #: ../fdroidserver/common.py #, python-brace-format @@ -1546,7 +1539,7 @@ msgstr "Removendo arquivos especificados" #: ../fdroidserver/update.py 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" +msgstr "Renomeia arquivos APK que não correspondem a pacote.nome_123.apk" #: ../fdroidserver/update.py msgid "Report on build data status" @@ -1571,7 +1564,7 @@ msgstr "Restringir a saída a erros e avisos" #: ../fdroid ../fdroidserver/__main__.py msgid "Rewrite all the metadata files" -msgstr "Reescrever todos os arquivos de metadados" +msgstr "Reescreve todos os arquivos de metadados" #: ../fdroidserver/rewritemeta.py msgid "Rewrite to a specific format: " @@ -1614,7 +1607,7 @@ msgstr "Verifique os APKs resultantes na busca das classes não gratuitas já co #: ../fdroid ../fdroidserver/__main__.py msgid "Scan the source code of a package" -msgstr "Escanear o código fonte de um pacote" +msgstr "Percorre o código-fonte de um pacote" #: ../fdroidserver/scanner.py #, python-brace-format @@ -1667,11 +1660,11 @@ msgstr "Configurar um emulador, instalar o apk nele e escanear com o drozer" #: ../fdroid ../fdroidserver/__main__.py msgid "Sign and place packages in the repo" -msgstr "Assine e coloque pacotes no repositório" +msgstr "Assina e coloca pacotes no repositório" #: ../fdroid ../fdroidserver/__main__.py msgid "Sign indexes created using update --nosign" -msgstr "Assinar os índices criados usando update --nosign" +msgstr "Assina os índices criados usando update --nosign" #: ../fdroidserver/build.py msgid "Skip scanning the source code for binaries and other problems" @@ -1804,9 +1797,8 @@ msgid "To use awsbucket, awssecretkey and awsaccesskeyid must also be set in con msgstr "Para usar awsbucket, os awssecretkey e awsaccesskeyid também devem ser definidos no config.py!" #: ../fdroidserver/deploy.py -#, fuzzy msgid "To use awsbucket, awssecretkey and awsaccesskeyid must also be set in config.yml!" -msgstr "Para usar awsbucket, os awssecretkey e awsaccesskeyid também devem ser definidos no config.py!" +msgstr "Para usar awsbucket, awssecretkey and awsaccesskeyid também devem ser definidos em config.yml!" #: ../fdroidserver/lint.py msgid "URL must start with https:// or http://" @@ -1841,7 +1833,7 @@ msgstr "Texto inesperado na mesma linha como {field} em {linedesc}" #: ../fdroidserver/common.py #, python-brace-format msgid "Unknown entry {key} in {configname}" -msgstr "" +msgstr "Entrada desconhecida {key} em {configname}" #: ../fdroid ../fdroidserver/__main__.py msgid "Unknown exception found!" @@ -1958,15 +1950,15 @@ msgstr "Caminho scanignore não usado: %s" #: ../fdroid ../fdroidserver/__main__.py msgid "Update repo information for new packages" -msgstr "Atualize as informações do repositório para novos pacotes" +msgstr "Atualiza as informações do repositório para novos pacotes" #: ../fdroid ../fdroidserver/__main__.py msgid "Update the binary transparency log for a URL" -msgstr "Atualizar o log de transparência de um binário para um URL" +msgstr "Atualiza o log de transparência de um binário para um URL" #: ../fdroid ../fdroidserver/__main__.py msgid "Update the stats of the repo" -msgstr "Atualizar as estatísticas do repositório" +msgstr "Atualiza as estatísticas do repositório" #: ../fdroidserver/update.py ../fdroidserver/build.py msgid "Update the wiki" @@ -2082,7 +2074,7 @@ msgstr "Verifique a cópia em cache local em vez de redescarregando." #: ../fdroid ../fdroidserver/__main__.py msgid "Verify the integrity of downloaded packages" -msgstr "Verifique a integridade dos pacotes baixados" +msgstr "Verifica a integridade dos pacotes baixados" #: ../fdroidserver/index.py msgid "Verifying index signature:" @@ -2095,7 +2087,7 @@ msgstr "A chave API do VirusTotal não pode carregar arquivos maiores que 32MB, #: ../fdroid ../fdroidserver/__main__.py msgid "Warn about possible metadata errors" -msgstr "Avisar sobre possíveis erros de metadados" +msgstr "Avisa sobre possíveis erros de metadados" #: ../fdroidserver/update.py msgid "When configured for signed indexes, create only unsigned indexes at this stage" @@ -2134,7 +2126,7 @@ msgstr "adicionando a {name}: {path}" #: /usr/lib/python3.7/argparse.py #, python-format msgid "ambiguous option: %(option)s could match %(matches)s" -msgstr "opção ambígua: %(option)s poderia corresponder %(matches)s" +msgstr "opção ambígua: %(option)s pode corresponder a %(matches)s" #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py #: /usr/lib/python3.7/optparse.py @@ -2194,7 +2186,7 @@ msgstr "não é possível analisar a especificação scrlib (não uma string): ' #: /usr/lib/python3.7/argparse.py #, python-format msgid "can't open '%s': %s" -msgstr "não dá pra abrir '%s': %s" +msgstr "não foi possível abrir \"%s\": %s" #: ../fdroidserver/build.py #, python-brace-format @@ -2465,13 +2457,13 @@ msgstr "opção %s: escolha inválida: %r (escolha entre %s)" #: /usr/lib/python3.7/getopt.py #, python-format msgid "option -%s not recognized" -msgstr "Comando '%s' não é reconhecido" +msgstr "opção -%s não reconhecida" #: /usr/lib/python3.5/getopt.py /usr/lib/python3.6/getopt.py #: /usr/lib/python3.7/getopt.py #, python-format msgid "option -%s requires argument" -msgstr "Opção -%s necessita argumento" +msgstr "a opção -%s necessita de argumento" #: /usr/lib/python3.5/getopt.py /usr/lib/python3.6/getopt.py #: /usr/lib/python3.7/getopt.py @@ -2489,7 +2481,7 @@ msgstr "opção --%s não é prefixo único" #: /usr/lib/python3.7/getopt.py #, python-format msgid "option --%s not recognized" -msgstr "Comando --%s não é reconhecido" +msgstr "opção --%s não reconhecida" #: /usr/lib/python3.5/getopt.py /usr/lib/python3.6/getopt.py #: /usr/lib/python3.7/getopt.py @@ -2548,13 +2540,13 @@ msgstr "biblioteca compartilhada" #: /usr/lib/python3.5/optparse.py /usr/lib/python3.6/optparse.py #: /usr/lib/python3.7/optparse.py msgid "show program's version number and exit" -msgstr "mostrar versão do programa e sair" +msgstr "mostra o número da versão do programa e sai" #: /usr/lib/python3.5/argparse.py /usr/lib/python3.5/optparse.py #: /usr/lib/python3.6/argparse.py /usr/lib/python3.6/optparse.py #: /usr/lib/python3.7/argparse.py /usr/lib/python3.7/optparse.py msgid "show this help message and exit" -msgstr "mostrar esta mensagem de ajuda e sair" +msgstr "mostra esta mensagem de ajuda e sai" #: ../fdroidserver/signatures.py msgid "signed APK, either a file-path or HTTPS URL." @@ -2733,7 +2725,7 @@ msgstr "{name} \"{path}\" não existe! Corrija-o no config.py." #: ../fdroidserver/common.py #, python-brace-format msgid "{oldfile} is deprecated, use {newfile}" -msgstr "" +msgstr "{oldfile} foi descontinuado, use {newfile}" #: ../fdroidserver/import.py #, python-brace-format diff --git a/locale/ru/LC_MESSAGES/fdroidserver.po b/locale/ru/LC_MESSAGES/fdroidserver.po index 5cdba1ad..a4e976f0 100644 --- a/locale/ru/LC_MESSAGES/fdroidserver.po +++ b/locale/ru/LC_MESSAGES/fdroidserver.po @@ -1,6 +1,6 @@ # SOME DESCRIPTIVE TITLE. # This file is put in the public domain. -# Golubev Alexander , 2020. +# Golubev Alexander , 2020, 2021. # Mingun , 2020. # anonymous , 2020. # Andrey , 2020. @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: fdroidserver 1.0.0-95-gd7af22b\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "POT-Creation-Date: 2021-01-14 14:55+0100\n" -"PO-Revision-Date: 2020-12-23 21:25+0000\n" +"PO-Revision-Date: 2021-01-14 21:33+0000\n" "Last-Translator: Golubev Alexander \n" "Language-Team: Russian \n" "Language: ru\n" @@ -21,7 +21,7 @@ msgstr "" "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 4.4.1-dev\n" +"X-Generator: Weblate 4.5-dev\n" #: ../fdroidserver/common.py msgid "" @@ -157,9 +157,8 @@ msgid "'keypass' not found in config.py!" msgstr "В config.py нет переменной 'keypass'!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keypass' not found in config.yml!" -msgstr "В config.py нет переменной 'keypass'!" +msgstr "'keypass' не найден в config.yml!" #: ../fdroidserver/common.py msgid "'keystore' is NONE and 'smartcardoptions' is blank!" @@ -170,27 +169,24 @@ msgid "'keystore' not found in config.py!" msgstr "В config.py нет переменной 'keystore'!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keystore' not found in config.yml!" -msgstr "В config.py нет переменной 'keystore'!" +msgstr "'keystore' не найден в config.yml!" #: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystorepass' not found in config.py!" msgstr "В config.py нет переменной 'keystorepass'!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keystorepass' not found in config.yml!" -msgstr "В config.py нет переменной 'keystorepass'!" +msgstr "'keystorepass' не найден в config.yml!" #: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'repo_keyalias' not found in config.py!" msgstr "В config.py нет переменной 'repo_ keyalias'!" #: ../fdroidserver/common.py -#, fuzzy msgid "'repo_keyalias' not found in config.yml!" -msgstr "В config.py нет переменной 'repo_ keyalias'!" +msgstr "'repo_keyalias' не найден в config.yml!" #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #: /usr/lib/python3.7/argparse.py @@ -202,9 +198,8 @@ msgid "'sdk_path' not set in 'config.py'!" msgstr "В config.py не определен 'sdk_path'!" #: ../fdroidserver/common.py -#, fuzzy msgid "'sdk_path' not set in config.yml!" -msgstr "В config.py не определен 'sdk_path'!" +msgstr "'sdk_path' не найден в config.yml!" #. Translators: "build-tools" is the file name of a package from #. Google, it is part of the Android SDK. So it probably shouldn't be @@ -321,9 +316,9 @@ msgid "Android SDK '{path}' does not have '{dirname}' installed!" msgstr "В установленной Android SDK '{path}' нет '{dirname}'!" #: ../fdroidserver/init.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Android SDK not found at {path}!" -msgstr "Android SDK не обнаружен!" +msgstr "Android SDK не обнаружен в {path}!" #: ../fdroidserver/common.py msgid "Android SDK not found!" @@ -340,9 +335,9 @@ msgid "Android SDK path '{path}' is not a directory!" msgstr "Путь Android SDK '{path}' указывает не на директорию!" #: ../fdroidserver/common.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Android SDK tool {cmd} found!" -msgstr "Android SDK не обнаружен!" +msgstr "Утилита {cmd} из Android SDK не найдена!" #. Translators: "build-tools" is the file name of a package from #. Google, it is part of the Android SDK. So it probably shouldn't be @@ -506,7 +501,7 @@ msgstr "Несовместимые аргументы: '--verbose' и '--quiet' #: ../fdroidserver/common.py #, python-brace-format msgid "Conflicting config files! Using {newfile}, ignoring {oldfile}!" -msgstr "" +msgstr "Конфликтуюущие файлы настроек! {newfile} — используется; {oldfile} — игнорируется!" #: ../fdroidserver/common.py #, python-brace-format @@ -527,9 +522,9 @@ msgid "Could not find {path} to remove it" msgstr "Указанный для удаления {path} не найден" #: ../fdroidserver/update.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Could not open APK {path} for analysis: " -msgstr "Не удалось открыть и проанализировать файл APK" +msgstr "Не удалось открыть и проанализировать файл APK {path}: " #: ../fdroidserver/update.py msgid "Could not open apk file for analysis" @@ -761,7 +756,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format msgid "Environment variable {var} from {configname} is not set!" -msgstr "" +msgstr "Переменная среды {var} из {configname} не установлена!" #: ../fdroidserver/deploy.py ../fdroidserver/checkupdates.py #: ../fdroidserver/upload.py @@ -1249,9 +1244,8 @@ msgid "No commit specified for {versionName} in {linedesc}" msgstr "Не выбраны коммиты для {versionName} в {linedesc}" #: ../fdroidserver/common.py -#, fuzzy msgid "No config.yml found, using defaults." -msgstr "Файл 'config.py' не обнаружен. Используется конфигурация по умолчанию." +msgstr "Файл 'config.yml' не обнаружен. Используется конфигурация по умолчанию." #: ../fdroidserver/index.py msgid "No fingerprint in URL." @@ -1332,9 +1326,8 @@ msgid "Now set these in config.py:" msgstr "Определите эти переменные в config.py:" #: ../fdroidserver/init.py -#, fuzzy msgid "Now set these in config.yml:" -msgstr "Определите эти переменные в config.py:" +msgstr "Определите эти переменные в config.yml:" #. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/update.py @@ -1809,9 +1802,8 @@ msgid "To use awsbucket, awssecretkey and awsaccesskeyid must also be set in con msgstr "Необходимо определить переменные awsbucket, awssecretkey и awsaccesskeyid в config.py!" #: ../fdroidserver/deploy.py -#, fuzzy msgid "To use awsbucket, awssecretkey and awsaccesskeyid must also be set in config.yml!" -msgstr "Необходимо определить переменные awsbucket, awssecretkey и awsaccesskeyid в config.py!" +msgstr "Чтобы использовать awsbucket необходимо определить awssecretkey и awsaccesskeyid в config.yml!" #: ../fdroidserver/lint.py msgid "URL must start with https:// or http://" @@ -1846,7 +1838,7 @@ msgstr "Лишний текст в той же строчке, что и {field} #: ../fdroidserver/common.py #, python-brace-format msgid "Unknown entry {key} in {configname}" -msgstr "" +msgstr "Неизвестная запись {key} в {configname}" #: ../fdroid ../fdroidserver/__main__.py msgid "Unknown exception found!" @@ -2741,7 +2733,7 @@ msgstr "{name}: неверный путь \"{path}\"! Поправьте его #: ../fdroidserver/common.py #, python-brace-format msgid "{oldfile} is deprecated, use {newfile}" -msgstr "" +msgstr "{oldfile} признан устаревшим; используйте {newfile}" #: ../fdroidserver/import.py #, python-brace-format diff --git a/locale/tr/LC_MESSAGES/fdroidserver.po b/locale/tr/LC_MESSAGES/fdroidserver.po index 210820a6..f03ca0c6 100644 --- a/locale/tr/LC_MESSAGES/fdroidserver.po +++ b/locale/tr/LC_MESSAGES/fdroidserver.po @@ -1,12 +1,12 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. -# Oğuz Ersen , 2020. +# Oğuz Ersen , 2020, 2021. msgid "" msgstr "" "Project-Id-Version: fdroidserver 0.9\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "POT-Creation-Date: 2021-01-14 14:55+0100\n" -"PO-Revision-Date: 2020-10-22 17:26+0000\n" +"PO-Revision-Date: 2021-01-14 21:33+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.3.1\n" +"X-Generator: Weblate 4.5-dev\n" #: ../fdroidserver/common.py msgid "" @@ -148,9 +148,8 @@ msgid "'keypass' not found in config.py!" msgstr "'keypass' config.py içinde bulunamadı!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keypass' not found in config.yml!" -msgstr "'keypass' config.py içinde bulunamadı!" +msgstr "'keypass' config.yml içinde bulunamadı!" #: ../fdroidserver/common.py msgid "'keystore' is NONE and 'smartcardoptions' is blank!" @@ -161,27 +160,24 @@ msgid "'keystore' not found in config.py!" msgstr "'keystore' config.py içinde bulunamadı!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keystore' not found in config.yml!" -msgstr "'keystore' config.py içinde bulunamadı!" +msgstr "'keystore' config.yml içinde bulunamadı!" #: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystorepass' not found in config.py!" msgstr "'keystorepass' config.py içinde bulunamadı!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keystorepass' not found in config.yml!" -msgstr "'keystorepass' config.py içinde bulunamadı!" +msgstr "'keystorepass' config.yml içinde bulunamadı!" #: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'repo_keyalias' not found in config.py!" msgstr "'repo_keyalias' config.py içinde bulunamadı!" #: ../fdroidserver/common.py -#, fuzzy msgid "'repo_keyalias' not found in config.yml!" -msgstr "'repo_keyalias' config.py içinde bulunamadı!" +msgstr "'repo_keyalias' config.yml içinde bulunamadı!" #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #: /usr/lib/python3.7/argparse.py @@ -193,9 +189,8 @@ msgid "'sdk_path' not set in 'config.py'!" msgstr "'sdk_path' 'config.py' içinde ayarlı değil!" #: ../fdroidserver/common.py -#, fuzzy msgid "'sdk_path' not set in config.yml!" -msgstr "'sdk_path' 'config.py' içinde ayarlı değil!" +msgstr "'sdk_path' config.yml içinde ayarlı değil!" #. Translators: "build-tools" is the file name of a package from #. Google, it is part of the Android SDK. So it probably shouldn't be @@ -312,9 +307,9 @@ msgid "Android SDK '{path}' does not have '{dirname}' installed!" msgstr "Android SDK '{path}' içinde '{dirname}' kurulu değil!" #: ../fdroidserver/init.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Android SDK not found at {path}!" -msgstr "Android SDK bulunamadı!" +msgstr "Android SDK {path} konumunda bulunamadı!" #: ../fdroidserver/common.py msgid "Android SDK not found!" @@ -331,9 +326,9 @@ msgid "Android SDK path '{path}' is not a directory!" msgstr "Android SDK yolu '{path}' bir dizin değil!" #: ../fdroidserver/common.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Android SDK tool {cmd} found!" -msgstr "Android SDK bulunamadı!" +msgstr "Android SDK aracı {cmd} bulundu!" #. Translators: "build-tools" is the file name of a package from #. Google, it is part of the Android SDK. So it probably shouldn't be @@ -496,7 +491,7 @@ msgstr "Çakışan argümanlar: '--verbose' ve '--quiet' aynı anda belirtilemez #: ../fdroidserver/common.py #, python-brace-format msgid "Conflicting config files! Using {newfile}, ignoring {oldfile}!" -msgstr "" +msgstr "Çakışan yapılandırma dosyaları! {newfile} kullanılıyor, {oldfile} yok sayılıyor!" #: ../fdroidserver/common.py #, python-brace-format @@ -517,9 +512,9 @@ msgid "Could not find {path} to remove it" msgstr "Kaldırmak için {path} bulunamadı" #: ../fdroidserver/update.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Could not open APK {path} for analysis: " -msgstr "İnceleme için apk dosyası açılamadı" +msgstr "İnceleme için APK {path} açılamadı: " #: ../fdroidserver/update.py msgid "Could not open apk file for analysis" @@ -751,7 +746,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format msgid "Environment variable {var} from {configname} is not set!" -msgstr "" +msgstr "{configname} içinden {var} ortam değişkeni ayarlı değil!" #: ../fdroidserver/deploy.py ../fdroidserver/checkupdates.py #: ../fdroidserver/upload.py @@ -1219,7 +1214,7 @@ msgstr "Ad '%s' yalnızca kendiliğinden bir ad - kaldırın" #: ../fdroidserver/common.py msgid "No 'config.py' found, using defaults." -msgstr "'config.py' bulunamadı, öntanımlılar kullanılıyor." +msgstr "'config.py' bulunamadı, öntanımlı değerler kullanılıyor." #: ../fdroidserver/common.py msgid "No Android SDK found!" @@ -1239,9 +1234,8 @@ msgid "No commit specified for {versionName} in {linedesc}" msgstr "{linedesc} içindeki {versionName} için belirtilen işleme yok" #: ../fdroidserver/common.py -#, fuzzy msgid "No config.yml found, using defaults." -msgstr "'config.py' bulunamadı, öntanımlılar kullanılıyor." +msgstr "config.yml bulunamadı, öntanımlı değerler kullanılıyor." #: ../fdroidserver/index.py msgid "No fingerprint in URL." @@ -1322,9 +1316,8 @@ msgid "Now set these in config.py:" msgstr "Şimdi bunları config.py içinde ayarlayın:" #: ../fdroidserver/init.py -#, fuzzy msgid "Now set these in config.yml:" -msgstr "Şimdi bunları config.py içinde ayarlayın:" +msgstr "Şimdi bunları config.yml içinde ayarlayın:" #. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/update.py @@ -1798,9 +1791,8 @@ msgid "To use awsbucket, awssecretkey and awsaccesskeyid must also be set in con msgstr "Awsbucket kullanmak için, awssecretkey ve awsaccesskeyid de config.py içinde ayarlanmalı!" #: ../fdroidserver/deploy.py -#, fuzzy msgid "To use awsbucket, awssecretkey and awsaccesskeyid must also be set in config.yml!" -msgstr "Awsbucket kullanmak için, awssecretkey ve awsaccesskeyid de config.py içinde ayarlanmalı!" +msgstr "Awsbucket kullanmak için, awssecretkey ve awsaccesskeyid de config.yml içinde ayarlanmalı!" #: ../fdroidserver/lint.py msgid "URL must start with https:// or http://" @@ -1835,7 +1827,7 @@ msgstr "{linedesc} içinde {field} ile aynı satırda beklenmeyen metin" #: ../fdroidserver/common.py #, python-brace-format msgid "Unknown entry {key} in {configname}" -msgstr "" +msgstr "{configname} içinde bilinmeyen girdi {key}" #: ../fdroid ../fdroidserver/__main__.py msgid "Unknown exception found!" @@ -2727,7 +2719,7 @@ msgstr "{name} \"{path}\" yok! config.py içinde düzeltin." #: ../fdroidserver/common.py #, python-brace-format msgid "{oldfile} is deprecated, use {newfile}" -msgstr "" +msgstr "{oldfile} kullanımdan kaldırıldı, {newfile} kullanın" #: ../fdroidserver/import.py #, python-brace-format diff --git a/locale/uk/LC_MESSAGES/fdroidserver.po b/locale/uk/LC_MESSAGES/fdroidserver.po index 5e117d08..4970c325 100644 --- a/locale/uk/LC_MESSAGES/fdroidserver.po +++ b/locale/uk/LC_MESSAGES/fdroidserver.po @@ -2,13 +2,13 @@ # Copyright (C) YEAR Free Software Foundation, Inc. # Hans-Christoph Steiner , 2020. # ihor_ck , 2020. -# Ihor Hordiichuk , 2020. +# Ihor Hordiichuk , 2020, 2021. msgid "" msgstr "" "Project-Id-Version: fdroidserver 0.9\n" "Report-Msgid-Bugs-To: https://gitlab.com/fdroid/fdroidserver/issues\n" "POT-Creation-Date: 2021-01-14 14:55+0100\n" -"PO-Revision-Date: 2020-12-08 12:29+0000\n" +"PO-Revision-Date: 2021-01-14 21:33+0000\n" "Last-Translator: Ihor Hordiichuk \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -16,7 +16,7 @@ msgstr "" "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 4.4-dev\n" +"X-Generator: Weblate 4.5-dev\n" #: ../fdroidserver/common.py msgid "" @@ -151,9 +151,8 @@ msgid "'keypass' not found in config.py!" msgstr "'keypass' не знайдено в config.py!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keypass' not found in config.yml!" -msgstr "'keypass' не знайдено в config.py!" +msgstr "'keypass' не знайдено в config.yml!" #: ../fdroidserver/common.py msgid "'keystore' is NONE and 'smartcardoptions' is blank!" @@ -164,27 +163,24 @@ msgid "'keystore' not found in config.py!" msgstr "'keystore' не знайдено в config.py!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keystore' not found in config.yml!" -msgstr "'keystore' не знайдено в config.py!" +msgstr "'keystore' не знайдено в config.yml!" #: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'keystorepass' not found in config.py!" msgstr "'keystorepass' не знайдено в config.py!" #: ../fdroidserver/common.py -#, fuzzy msgid "'keystorepass' not found in config.yml!" -msgstr "'keystorepass' не знайдено в config.py!" +msgstr "'keystorepass' не знайдено в config.yml!" #: ../fdroidserver/index.py ../fdroidserver/common.py msgid "'repo_keyalias' not found in config.py!" msgstr "'repo_keyalias' не знайдено в config.py!" #: ../fdroidserver/common.py -#, fuzzy msgid "'repo_keyalias' not found in config.yml!" -msgstr "'repo_keyalias' не знайдено в config.py!" +msgstr "'repo_keyalias' не знайдено в config.yml!" #: /usr/lib/python3.5/argparse.py /usr/lib/python3.6/argparse.py #: /usr/lib/python3.7/argparse.py @@ -196,9 +192,8 @@ msgid "'sdk_path' not set in 'config.py'!" msgstr "'sdk_path' не встановлено в 'config.py'!" #: ../fdroidserver/common.py -#, fuzzy msgid "'sdk_path' not set in config.yml!" -msgstr "'sdk_path' не встановлено в 'config.py'!" +msgstr "'sdk_path' не встановлено в config.yml!" #. Translators: "build-tools" is the file name of a package from #. Google, it is part of the Android SDK. So it probably shouldn't be @@ -315,9 +310,9 @@ msgid "Android SDK '{path}' does not have '{dirname}' installed!" msgstr "Android SDK '{path}' '{dirname}' не встановлено!" #: ../fdroidserver/init.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Android SDK not found at {path}!" -msgstr "Android SDK не знайдено!" +msgstr "Android SDK не знайдено в {path}!" #: ../fdroidserver/common.py msgid "Android SDK not found!" @@ -334,9 +329,9 @@ msgid "Android SDK path '{path}' is not a directory!" msgstr "Android SDK шлях '{path}' це не каталог!" #: ../fdroidserver/common.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Android SDK tool {cmd} found!" -msgstr "Android SDK не знайдено!" +msgstr "{cmd} засіб Android SDK знайдено!" #. Translators: "build-tools" is the file name of a package from #. Google, it is part of the Android SDK. So it probably shouldn't be @@ -500,7 +495,7 @@ msgstr "Конфліктні аргументи: \"---verbose\" і \"--quiet\" #: ../fdroidserver/common.py #, python-brace-format msgid "Conflicting config files! Using {newfile}, ignoring {oldfile}!" -msgstr "" +msgstr "Суперечливі файли налаштувань! Використання {newfile}, ігнорування {oldfile}!" #: ../fdroidserver/common.py #, python-brace-format @@ -521,9 +516,9 @@ msgid "Could not find {path} to remove it" msgstr "Не вдалося знайти шлях {path}, щоб вилучити його" #: ../fdroidserver/update.py -#, fuzzy, python-brace-format +#, python-brace-format msgid "Could not open APK {path} for analysis: " -msgstr "Не вдалося відкрити файл apk для аналізу" +msgstr "Не вдалося відкрити файл APK {path} для аналізу: " #: ../fdroidserver/update.py msgid "Could not open apk file for analysis" @@ -755,7 +750,7 @@ msgstr "" #: ../fdroidserver/common.py #, python-brace-format msgid "Environment variable {var} from {configname} is not set!" -msgstr "" +msgstr "Змінну середовища {var} від {configname} не налаштованоно!" #: ../fdroidserver/deploy.py ../fdroidserver/checkupdates.py #: ../fdroidserver/upload.py @@ -1243,9 +1238,8 @@ msgid "No commit specified for {versionName} in {linedesc}" msgstr "У версії {linedesc} не вказано поданнь для {versionName}" #: ../fdroidserver/common.py -#, fuzzy msgid "No config.yml found, using defaults." -msgstr "Не знайдено 'config.py', використовуючи типові налаштування." +msgstr "config.yml не знайдено, використання типових налаштувань." #: ../fdroidserver/index.py msgid "No fingerprint in URL." @@ -1326,9 +1320,8 @@ msgid "Now set these in config.py:" msgstr "Тепер встановіть їх у config.py:" #: ../fdroidserver/init.py -#, fuzzy msgid "Now set these in config.yml:" -msgstr "Тепер встановіть їх у config.py:" +msgstr "Тепер встановіть їх у config.yml:" #. Translators: https://developer.android.com/guide/topics/manifest/manifest-element.html#vcode #: ../fdroidserver/update.py @@ -1803,9 +1796,8 @@ msgid "To use awsbucket, awssecretkey and awsaccesskeyid must also be set in con msgstr "Для використання awsbucket, awssecretkey та awsaccesskeyid також слід налаштувати config.py!" #: ../fdroidserver/deploy.py -#, fuzzy msgid "To use awsbucket, awssecretkey and awsaccesskeyid must also be set in config.yml!" -msgstr "Для використання awsbucket, awssecretkey та awsaccesskeyid також слід налаштувати config.py!" +msgstr "Для користування awsbucket, awssecretkey та awsaccesskeyid також слід налаштувати їх у config.yml!" #: ../fdroidserver/lint.py msgid "URL must start with https:// or http://" @@ -1840,7 +1832,7 @@ msgstr "Несподіваний текст у тому ж рядку, що і { #: ../fdroidserver/common.py #, python-brace-format msgid "Unknown entry {key} in {configname}" -msgstr "" +msgstr "Невідомий запис {key} у {configname}" #: ../fdroid ../fdroidserver/__main__.py msgid "Unknown exception found!" @@ -2735,7 +2727,7 @@ msgstr "{name} \"{path}\" не існує! Виправте його в config.p #: ../fdroidserver/common.py #, python-brace-format msgid "{oldfile} is deprecated, use {newfile}" -msgstr "" +msgstr "{oldfile} вилучено, використовується {newfile}" #: ../fdroidserver/import.py #, python-brace-format diff --git a/setup.py b/setup.py index 22958250..ca8c1e2b 100755 --- a/setup.py +++ b/setup.py @@ -53,7 +53,7 @@ with open("README.md", "r") as fh: long_description = fh.read() setup(name='fdroidserver', - version='2.0a5', + version='2.0b', description='F-Droid Server Tools', long_description=long_description, long_description_content_type='text/markdown', diff --git a/tests/repo/index-v1.json b/tests/repo/index-v1.json index fe93947a..5ad2ffe6 100644 --- a/tests/repo/index-v1.json +++ b/tests/repo/index-v1.json @@ -1,7 +1,7 @@ { "repo": { "timestamp": 1502845383782, - "version": 21, + "version": 20000, "name": "My First F-Droid Repo Demo", "icon": "fdroid-icon.png", "address": "https://MyFirstFDroidRepo.org/fdroid/repo", diff --git a/tests/repo/index.xml b/tests/repo/index.xml index 9af45f96..6f9ed101 100644 --- a/tests/repo/index.xml +++ b/tests/repo/index.xml @@ -1,6 +1,6 @@ - + This is a repository of apps to be used with F-Droid. Applications in this repository are either official binaries built by the original application developers, or are binaries built from source by the admin of f-droid.org using the tools on https://gitlab.com/u/fdroid. http://foobarfoobarfoobar.onion/fdroid/repo https://foo.bar/fdroid/repo