diff --git a/ALL_README.md b/ALL_README.md index 152f2e7..e3c80d2 100644 --- a/ALL_README.md +++ b/ALL_README.md @@ -5,4 +5,6 @@ - [Irakurri README euskaraz](README_eu.md) - [Lire le README en français](README_fr.md) - [Le o README en galego](README_gl.md) +- [Baca README dalam bahasa bahasa Indonesia](README_id.md) +- [Прочитать README на русский](README_ru.md) - [阅读中文(简体)的 README](README_zh_Hans.md) diff --git a/README.md b/README.md index 845d78c..8d06df1 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ It shall NOT be edited by hand. # Weblate for YunoHost -[![Integration level](https://dash.yunohost.org/integration/weblate.svg)](https://dash.yunohost.org/appci/app/weblate) ![Working status](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/weblate.svg)](https://ci-apps.yunohost.org/ci/apps/weblate/) ![Working status](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) [![Install Weblate with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=weblate) @@ -18,7 +18,7 @@ It shall NOT be edited by hand. Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files. -**Shipped version:** 5.4.3~ynh1 +**Shipped version:** 5.5.3~ynh1 **Demo:** diff --git a/README_es.md b/README_es.md index 487f4b0..12c1ce6 100644 --- a/README_es.md +++ b/README_es.md @@ -5,7 +5,7 @@ No se debe editar a mano. # Weblate para Yunohost -[![Nivel de integración](https://dash.yunohost.org/integration/weblate.svg)](https://dash.yunohost.org/appci/app/weblate) ![Estado funcional](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Estado En Mantención](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) +[![Nivel de integración](https://dash.yunohost.org/integration/weblate.svg)](https://ci-apps.yunohost.org/ci/apps/weblate/) ![Estado funcional](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Estado En Mantención](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) [![Instalar Weblate con Yunhost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=weblate) @@ -18,7 +18,7 @@ No se debe editar a mano. Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files. -**Versión actual:** 5.4.3~ynh1 +**Versión actual:** 5.5.3~ynh1 **Demo:** diff --git a/README_eu.md b/README_eu.md index 765e537..4fdb601 100644 --- a/README_eu.md +++ b/README_eu.md @@ -5,7 +5,7 @@ EZ editatu eskuz. # Weblate YunoHost-erako -[![Integrazio maila](https://dash.yunohost.org/integration/weblate.svg)](https://dash.yunohost.org/appci/app/weblate) ![Funtzionamendu egoera](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Mantentze egoera](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) +[![Integrazio maila](https://dash.yunohost.org/integration/weblate.svg)](https://ci-apps.yunohost.org/ci/apps/weblate/) ![Funtzionamendu egoera](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Mantentze egoera](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) [![Instalatu Weblate YunoHost-ekin](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=weblate) @@ -18,7 +18,7 @@ EZ editatu eskuz. Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files. -**Paketatutako bertsioa:** 5.4.3~ynh1 +**Paketatutako bertsioa:** 5.5.3~ynh1 **Demoa:** diff --git a/README_fr.md b/README_fr.md index 09c13a9..5294406 100644 --- a/README_fr.md +++ b/README_fr.md @@ -5,7 +5,7 @@ Il NE doit PAS être modifié à la main. # Weblate pour YunoHost -[![Niveau d’intégration](https://dash.yunohost.org/integration/weblate.svg)](https://dash.yunohost.org/appci/app/weblate) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) +[![Niveau d’intégration](https://dash.yunohost.org/integration/weblate.svg)](https://ci-apps.yunohost.org/ci/apps/weblate/) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) [![Installer Weblate avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=weblate) @@ -18,7 +18,7 @@ Il NE doit PAS être modifié à la main. Weblate est un outil de traduction libre avec une intégration étroite du contrôle de version. Il fournit deux interfaces utilisateur, la propagation des traductions entre les composants, les contrôles de qualité et la liaison automatique aux fichiers source. -**Version incluse :** 5.4.3~ynh1 +**Version incluse :** 5.5.3~ynh1 **Démo :** diff --git a/README_gl.md b/README_gl.md index 0e531eb..561bace 100644 --- a/README_gl.md +++ b/README_gl.md @@ -5,7 +5,7 @@ NON debe editarse manualmente. # Weblate para YunoHost -[![Nivel de integración](https://dash.yunohost.org/integration/weblate.svg)](https://dash.yunohost.org/appci/app/weblate) ![Estado de funcionamento](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Estado de mantemento](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) +[![Nivel de integración](https://dash.yunohost.org/integration/weblate.svg)](https://ci-apps.yunohost.org/ci/apps/weblate/) ![Estado de funcionamento](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Estado de mantemento](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) [![Instalar Weblate con YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=weblate) @@ -18,7 +18,7 @@ NON debe editarse manualmente. Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files. -**Versión proporcionada:** 5.4.3~ynh1 +**Versión proporcionada:** 5.5.3~ynh1 **Demo:** diff --git a/README_id.md b/README_id.md new file mode 100644 index 0000000..43c5274 --- /dev/null +++ b/README_id.md @@ -0,0 +1,50 @@ + + +# Weblate untuk YunoHost + +[![Tingkat integrasi](https://dash.yunohost.org/integration/weblate.svg)](https://ci-apps.yunohost.org/ci/apps/weblate/) ![Status kerja](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Status pemeliharaan](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) + +[![Pasang Weblate dengan YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=weblate) + +*[Baca README ini dengan bahasa yang lain.](./ALL_README.md)* + +> *Paket ini memperbolehkan Anda untuk memasang Weblate secara cepat dan mudah pada server YunoHost.* +> *Bila Anda tidak mempunyai YunoHost, silakan berkonsultasi dengan [panduan](https://yunohost.org/install) untuk mempelajari bagaimana untuk memasangnya.* + +## Ringkasan + +Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files. + +**Versi terkirim:** 5.5.3~ynh1 + +**Demo:** + +## Tangkapan Layar + +![Tangkapan Layar pada Weblate](./doc/screenshots/BigScreenshot.png) + +## Dokumentasi dan sumber daya + +- Website aplikasi resmi: +- Dokumentasi pengguna resmi: +- Dokumentasi admin resmi: +- Depot kode aplikasi hulu: +- Gudang YunoHost: +- Laporkan bug: + +## Info developer + +Silakan kirim pull request ke [`testing` branch](https://github.com/YunoHost-Apps/weblate_ynh/tree/testing). + +Untuk mencoba branch `testing`, silakan dilanjutkan seperti: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/weblate_ynh/tree/testing --debug +atau +sudo yunohost app upgrade weblate -u https://github.com/YunoHost-Apps/weblate_ynh/tree/testing --debug +``` + +**Info lebih lanjut mengenai pemaketan aplikasi:** diff --git a/README_ru.md b/README_ru.md new file mode 100644 index 0000000..0f3af64 --- /dev/null +++ b/README_ru.md @@ -0,0 +1,50 @@ + + +# Weblate для YunoHost + +[![Уровень интеграции](https://dash.yunohost.org/integration/weblate.svg)](https://ci-apps.yunohost.org/ci/apps/weblate/) ![Состояние работы](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![Состояние сопровождения](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) + +[![Установите Weblate с YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=weblate) + +*[Прочтите этот README на других языках.](./ALL_README.md)* + +> *Этот пакет позволяет Вам установить Weblate быстро и просто на YunoHost-сервер.* +> *Если у Вас нет YunoHost, пожалуйста, посмотрите [инструкцию](https://yunohost.org/install), чтобы узнать, как установить его.* + +## Обзор + +Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files. + +**Поставляемая версия:** 5.5.3~ynh1 + +**Демо-версия:** + +## Снимки экрана + +![Снимок экрана Weblate](./doc/screenshots/BigScreenshot.png) + +## Документация и ресурсы + +- Официальный веб-сайт приложения: +- Официальная документация пользователя: +- Официальная документация администратора: +- Репозиторий кода главной ветки приложения: +- Магазин YunoHost: +- Сообщите об ошибке: + +## Информация для разработчиков + +Пришлите Ваш запрос на слияние в [ветку `testing`](https://github.com/YunoHost-Apps/weblate_ynh/tree/testing). + +Чтобы попробовать ветку `testing`, пожалуйста, сделайте что-то вроде этого: + +```bash +sudo yunohost app install https://github.com/YunoHost-Apps/weblate_ynh/tree/testing --debug +или +sudo yunohost app upgrade weblate -u https://github.com/YunoHost-Apps/weblate_ynh/tree/testing --debug +``` + +**Больше информации о пакетировании приложений:** diff --git a/README_zh_Hans.md b/README_zh_Hans.md index 8d764e1..14cd73c 100644 --- a/README_zh_Hans.md +++ b/README_zh_Hans.md @@ -5,7 +5,7 @@ # YunoHost 上的 Weblate -[![集成程度](https://dash.yunohost.org/integration/weblate.svg)](https://dash.yunohost.org/appci/app/weblate) ![工作状态](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![维护状态](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) +[![集成程度](https://dash.yunohost.org/integration/weblate.svg)](https://ci-apps.yunohost.org/ci/apps/weblate/) ![工作状态](https://ci-apps.yunohost.org/ci/badges/weblate.status.svg) ![维护状态](https://ci-apps.yunohost.org/ci/badges/weblate.maintain.svg) [![使用 YunoHost 安装 Weblate](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=weblate) @@ -18,7 +18,7 @@ Weblate is a libre web-based translation tool with tight version control integration. It provides two user interfaces, propagation of translations across components, quality checks and automatic linking to source files. -**分发版本:** 5.4.3~ynh1 +**分发版本:** 5.5.3~ynh1 **演示:** diff --git a/conf/settings.py b/conf/settings.py index d274ee9..9b55daa 100644 --- a/conf/settings.py +++ b/conf/settings.py @@ -15,9 +15,7 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -# Copyright © Michal Čihař -# -# SPDX-License-Identifier: GPL-3.0-or-later +# mypy: disable-error-code="var-annotated" import os import platform @@ -138,6 +136,7 @@ LANGUAGES = ( ("sr", "Српски"), ("sr-latn", "Srpski"), ("sv", "Svenska"), + ("ta", "தமிழ்"), ("th", "ไทย"), ("tr", "Türkçe"), ("uk", "Українська"), @@ -158,7 +157,7 @@ USE_TZ = True DEFAULT_AUTO_FIELD = "django.db.models.AutoField" # URL prefix to use, please see documentation for more details -# WARNING: this must be without trailing slash (this is why we set __PATH_NO_SLASH__ (cf. loaded settings in install and upgrade)) +# YUNOHOST_WARNING: this must be without trailing slash (this is why we set __PATH_NO_SLASH__ (cf. loaded settings in install and upgrade)) URL_PREFIX = "__PATH_NO_SLASH__" # Absolute filesystem path to the directory that will hold user-uploaded files. @@ -222,9 +221,6 @@ GITHUB_CREDENTIALS = { "token": "__GITHUB_TOKEN__", } } -# Azure DevOps username and token for sending pull requests. -# Please see the documentation for more details. -AZURE_DEVOPS_CREDENTIALS = {} # Azure DevOps username and token for sending pull requests. # Please see the documentation for more details. @@ -244,7 +240,7 @@ GITLAB_CREDENTIALS = { BITBUCKETSERVER_CREDENTIALS = {} # Authentication configuration -AUTHENTICATION_BACKENDS = ( +AUTHENTICATION_BACKENDS: tuple[str, ...] = ( "social_core.backends.email.EmailAuth", # "social_core.backends.google.GoogleOAuth2", # "social_core.backends.github.GithubOAuth2", @@ -431,7 +427,7 @@ INSTALLED_APPS = [ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", - "django.contrib.admin.apps.SimpleAdminConfig", + "django.contrib.admin", "django.contrib.admindocs", "django.contrib.sitemaps", "django.contrib.humanize", @@ -464,7 +460,7 @@ if platform.system() != "Windows": # Since Python 3.7 connect failures are silently discarded, so # the exception is almost never raised here. Instead we look whether the socket # to syslog is open after init. - HAVE_SYSLOG = handler.socket.fileno() != -1 + HAVE_SYSLOG = handler.socket.fileno() != -1 # type: ignore[attr-defined] handler.close() except OSError: HAVE_SYSLOG = False @@ -477,7 +473,7 @@ DEFAULT_LOGLEVEL = "DEBUG" if DEBUG else "INFO" # the site admins on every HTTP 500 error when DEBUG=False. # See http://docs.djangoproject.com/en/stable/topics/logging for # more details on how to customize your logging configuration. -LOGGING = { +LOGGING: dict = { "version": 1, "disable_existing_loggers": True, "filters": {"require_debug_false": {"()": "django.utils.log.RequireDebugFalse"}}, @@ -615,6 +611,10 @@ LOGOUT_URL = f"{URL_PREFIX}/accounts/logout/" # Default location for login LOGIN_REDIRECT_URL = f"{URL_PREFIX}/" +LOGOUT_REDIRECT_URL = f"{URL_PREFIX}/" + +# Opt-in for Django 6.0 default +FORMS_URLFIELD_ASSUME_HTTPS = True # Anonymous user name ANONYMOUS_USER_NAME = "anonymous" @@ -657,6 +657,7 @@ CRISPY_TEMPLATE_PACK = "bootstrap3" # "weblate.checks.chars.EndColonCheck", # "weblate.checks.chars.EndQuestionCheck", # "weblate.checks.chars.EndExclamationCheck", +# "weblate.checks.chars.EndInterrobangCheck", # "weblate.checks.chars.EndEllipsisCheck", # "weblate.checks.chars.EndSemicolonCheck", # "weblate.checks.chars.MaxLengthCheck", @@ -824,6 +825,7 @@ REST_FRAMEWORK = { "DEFAULT_PAGINATION_CLASS": "weblate.api.pagination.StandardPagination", "PAGE_SIZE": 50, "VIEW_DESCRIPTION_FUNCTION": "weblate.api.views.get_view_description", + "EXCEPTION_HANDLER": "weblate.api.views.weblate_exception_handler", "UNAUTHENTICATED_USER": "weblate.auth.models.get_anonymous", } @@ -850,6 +852,7 @@ if REQUIRE_LOGIN: # rf"{URL_PREFIX}/healthz/$", # Allowing public access to health check # rf"{URL_PREFIX}/api/(.*)$", # Allowing access to API # rf"{URL_PREFIX}/js/i18n/$", # JavaScript localization +# rf"{URL_PREFIX}/css/custom\.css$", # Custom CSS support # rf"{URL_PREFIX}/contact/$", # Optional for contact form # rf"{URL_PREFIX}/legal/(.*)$", # Optional for legal app # rf"{URL_PREFIX}/avatar/(.*)$", # Optional for avatars @@ -869,7 +872,9 @@ SILENCED_SYSTEM_CHECKS = [ # Celery worker configuration for production CELERY_TASK_ALWAYS_EAGER = False CELERY_BROKER_URL = "redis://127.0.0.1:6379/__REDIS_DB__" -CELERY_RESULT_BACKEND = CELERY_BROKER_URL +CELERY_RESULT_BACKEND: str | None = CELERY_BROKER_URL +CELERY_BROKER_CONNECTION_RETRY_ON_STARTUP = True +CELERY_BROKER_CONNECTION_RETRY = True # Celery settings, it is not recommended to change these CELERY_WORKER_MAX_MEMORY_PER_CHILD = 200000 @@ -887,7 +892,7 @@ CELERY_TASK_ROUTES = { # CORS allowed origins CORS_ALLOWED_ORIGINS = [] -CORS_URLS_REGEX = r"^/api/.*$" +CORS_URLS_REGEX = rf"^{URL_PREFIX}/api/.*$" # Enable plain database backups DATABASE_BACKUP = "plain" diff --git a/manifest.toml b/manifest.toml index 33a3fe4..53c8cc7 100644 --- a/manifest.toml +++ b/manifest.toml @@ -7,7 +7,7 @@ name = "Weblate" description.en = "Translation platform using Git and Python" description.fr = "Plateforme de traduction utilisant Git et Python" -version = "5.4.3~ynh1" +version = "5.5.3~ynh1" maintainers = ["Thovi98"] @@ -22,7 +22,7 @@ cpe = "cpe:2.3:a:weblate:weblate" fund = "https://weblate.org/fr/donate/" [integration] -yunohost = ">= 11.2.12" +yunohost = ">= 12.0.0" architectures = "all" multi_instance = true ldap = false @@ -94,11 +94,28 @@ ram.runtime = "3G" main.default = 8080 [resources.apt] - # §1 = weblate dependecies, §2 = borgbackup dependencies - packages = ["libxml2-dev", "libxslt-dev", "libfreetype6-dev", "libjpeg-dev", "libz-dev", "libyaml-dev", "libffi-dev", "libcairo-dev", "gir1.2-pango-1.0", "libgirepository1.0-dev", "libacl1-dev", "libssl-dev", "libpq-dev", "libjpeg62-turbo-dev", "build-essential", "python3-gdbm", "python3-dev", "python3-pip", "python3-venv", "python3-virtualenv", "virtualenv", "git", "uwsgi", "uwsgi-plugin-python3", "redis-server", "postgresql", "postgresql-contrib", "hub", - - - "libacl1-dev", "libacl1", "libssl-dev", "liblz4-dev", "libzstd-dev", "libxxhash-dev", "build-essential", "pkg-config", "python3-pkgconfig"] + packages = [ + # Weblate dependencies + "build-essential", "git", + "gir1.2-pango-1.0", "libacl1-dev", "libcairo-dev", "libffi-dev", "libfreetype6-dev", + "libgirepository1.0-dev", "libjpeg-dev", "libjpeg62-turbo-dev", "libpq-dev", + "libssl-dev", "libxml2-dev", "libxslt-dev", "libyaml-dev", "libz-dev", "librsvg2-dev", + "python3-gdbm", + "python3-dev", + "python3-pip", + "python3-venv", + "python3-virtualenv", + "virtualenv", + "uwsgi", + "uwsgi-plugin-python3", + "redis-server", + "postgresql", + "postgresql-contrib", + "hub", + # Borg backup dependencies + "pkg-config", "python3-pkgconfig", + "libacl1-dev", "libacl1", "libssl-dev", "liblz4-dev", "libzstd-dev", "libxxhash-dev", + ] [resources.database] type = "postgresql" diff --git a/tests.toml b/tests.toml index b38404d..c6f8b1c 100644 --- a/tests.toml +++ b/tests.toml @@ -27,4 +27,5 @@ test_format = 1.0 test_upgrade_from.52db1ab.name = "5.3.1-ynh2" test_upgrade_from.e075efc.name = "5.4.1" - test_upgrade_from.40ff28f.name = "5.4.2" \ No newline at end of file + test_upgrade_from.40ff28f.name = "5.4.2" + test_upgrade_from.def94c9.name = "5.4.3" \ No newline at end of file