mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-04 14:16:21 +01:00
Compare commits
49 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b932b1188 | ||
|
|
f62153c746 | ||
|
|
88216c3f81 | ||
|
|
dc983c31e3 | ||
|
|
4204c44bde | ||
|
|
8da0122d17 | ||
|
|
c9fcf6e6bf | ||
|
|
36866cc59b | ||
|
|
298bdd98ed | ||
|
|
819018748d | ||
|
|
32e8e0fdd0 | ||
|
|
7625060a12 | ||
|
|
672cb13bfe | ||
|
|
7170f75b89 | ||
|
|
8f60c7a00a | ||
|
|
34ae6e402c | ||
|
|
0905e48994 | ||
|
|
02fcf7d500 | ||
|
|
8d8da50946 | ||
|
|
c1499d173f | ||
|
|
b149baa4e5 | ||
|
|
4807c69b5e | ||
|
|
ebefa0e307 | ||
|
|
468e7433f9 | ||
|
|
3ca313f907 | ||
|
|
820065fc04 | ||
|
|
3eddeefe28 | ||
|
|
82d7d7e3bf | ||
|
|
93194b4f2d | ||
|
|
fa335253d3 | ||
|
|
d1af9416b3 | ||
|
|
f4ac2ea400 | ||
|
|
31c1f8bb7d | ||
|
|
57f7178f1e | ||
|
|
17d4a4c415 | ||
|
|
18ce433fa0 | ||
|
|
1eadb1d934 | ||
|
|
59a8f8a967 | ||
|
|
2dc07b5519 | ||
|
|
3454520dfe | ||
|
|
7a195d4158 | ||
|
|
b73072dec0 | ||
|
|
1ca5e38bd9 | ||
|
|
ecb737c6a5 | ||
|
|
7063f53cdf | ||
|
|
017424b9d4 | ||
|
|
f6c26cf2ec | ||
|
|
9a422bd4ca | ||
|
|
47fec23f2e |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -69,11 +69,7 @@ celerybeat-schedule
|
||||
#gitlab configs
|
||||
.gitlab/
|
||||
|
||||
#transifex
|
||||
.tx/
|
||||
|
||||
#other
|
||||
.flake8
|
||||
.pylintrc
|
||||
Makefile
|
||||
.isort.cfg
|
||||
|
||||
@@ -89,7 +89,7 @@ test-3.10-core:
|
||||
|
||||
test-3.11-core:
|
||||
<<: *only-default
|
||||
image: python:3.11-rc-bullseye
|
||||
image: python:3.11-bullseye
|
||||
script:
|
||||
- tox -e py311-core
|
||||
artifacts:
|
||||
@@ -98,6 +98,18 @@ test-3.11-core:
|
||||
coverage_report:
|
||||
coverage_format: cobertura
|
||||
path: coverage.xml
|
||||
|
||||
test-pvpy-core:
|
||||
<<: *only-default
|
||||
image: pypy:3.9-bullseye
|
||||
script:
|
||||
- tox -e pypy-all
|
||||
artifacts:
|
||||
when: always
|
||||
reports:
|
||||
coverage_report:
|
||||
coverage_format: cobertura
|
||||
path: coverage.xml
|
||||
allow_failure: true
|
||||
|
||||
test-3.8-all:
|
||||
@@ -138,7 +150,7 @@ test-3.10-all:
|
||||
|
||||
test-3.11-all:
|
||||
<<: *only-default
|
||||
image: python:3.11-rc-bullseye
|
||||
image: python:3.11-bullseye
|
||||
script:
|
||||
- tox -e py311-all
|
||||
artifacts:
|
||||
@@ -147,6 +159,19 @@ test-3.11-all:
|
||||
coverage_report:
|
||||
coverage_format: cobertura
|
||||
path: coverage.xml
|
||||
coverage: '/(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/'
|
||||
|
||||
test-pvpy-all:
|
||||
<<: *only-default
|
||||
image: pypy:3.9-bullseye
|
||||
script:
|
||||
- tox -e pypy-all
|
||||
artifacts:
|
||||
when: always
|
||||
reports:
|
||||
coverage_report:
|
||||
coverage_format: cobertura
|
||||
path: coverage.xml
|
||||
allow_failure: true
|
||||
|
||||
build-test:
|
||||
|
||||
6
.isort.cfg
Normal file
6
.isort.cfg
Normal file
@@ -0,0 +1,6 @@
|
||||
[settings]
|
||||
profile=django
|
||||
sections=FUTURE,STDLIB,THIRDPARTY,DJANGO,ESI,FIRSTPARTY,LOCALFOLDER
|
||||
known_esi=esi
|
||||
known_django=django
|
||||
skip_gitignore=true
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
repos:
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v4.3.0
|
||||
rev: v4.4.0
|
||||
hooks:
|
||||
- id: check-case-conflict
|
||||
- id: check-json
|
||||
@@ -36,7 +36,7 @@ repos:
|
||||
args: [ '--remove' ]
|
||||
|
||||
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
|
||||
rev: 2.4.0
|
||||
rev: 2.7.1
|
||||
hooks:
|
||||
- id: editorconfig-checker
|
||||
exclude: |
|
||||
@@ -49,12 +49,13 @@ repos:
|
||||
)
|
||||
|
||||
- repo: https://github.com/asottile/pyupgrade
|
||||
rev: v2.34.0
|
||||
rev: v3.3.1
|
||||
hooks:
|
||||
- id: pyupgrade
|
||||
args: [ --py38-plus ]
|
||||
|
||||
- repo: https://github.com/asottile/setup-cfg-fmt
|
||||
rev: v1.20.1
|
||||
rev: v2.2.0
|
||||
hooks:
|
||||
- id: setup-cfg-fmt
|
||||
args: [ --include-version-classifiers ]
|
||||
|
||||
10
.tx/config
Normal file
10
.tx/config
Normal file
@@ -0,0 +1,10 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = zh-Hans: zh_Hans
|
||||
|
||||
[o:alliance-auth:p:alliance-auth:r:django-po]
|
||||
file_filter = allianceauth/locale/<lang>/LC_MESSAGES/django.po
|
||||
source_file = allianceauth/locale/en/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
minimum_perc = 0
|
||||
10
.tx/config_20230406134150.bak
Executable file
10
.tx/config_20230406134150.bak
Executable file
@@ -0,0 +1,10 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = zh-Hans:zh_Hans
|
||||
|
||||
[alliance-auth.django-po]
|
||||
file_filter = allianceauth/locale/<lang>/LC_MESSAGES/django.po
|
||||
minimum_perc = 0
|
||||
source_file = allianceauth/locale/en/LC_MESSAGES/django.po
|
||||
source_lang = en
|
||||
type = PO
|
||||
@@ -36,7 +36,7 @@ Main features:
|
||||
|
||||
- Can be easily extended with additional services and apps. Many are provided by the community and can be found here: [Community Creations](https://gitlab.com/allianceauth/community-creations)
|
||||
|
||||
- English :flag_gb:, Chinese :flag_cn:, German :flag_de:, Spanish :flag_es:, Korean :flag_kr: and Russian :flag_ru: localization
|
||||
- English :flag_gb:, Chinese :flag_cn:, German :flag_de:, Spanish :flag_es:, Korean :flag_kr:, Russian :flag_ru:, Italian :flag_it:, French :flag_fr:, Japanese :flag_jp: and Ukrainian :flag_ua: Localization
|
||||
|
||||
For further details about AA - including an installation guide and a full list of included services and plugin apps - please see the [official documentation](http://allianceauth.rtfd.io).
|
||||
|
||||
@@ -56,13 +56,15 @@ Here is an example of the Alliance Auth web site with some plug-ins apps and ser
|
||||
|
||||
- [Aaron Kable](https://gitlab.com/aaronkable/)
|
||||
- [Ariel Rin](https://gitlab.com/soratidus999/)
|
||||
- [Basraah](https://gitlab.com/basraah/)
|
||||
- [Col Crunch](https://gitlab.com/colcrunch/)
|
||||
- [Erik Kalkoken](https://gitlab.com/ErikKalkoken/)
|
||||
- [Rounon Dax](https://gitlab.com/ppfeufer)
|
||||
- [snipereagle1](https://gitlab.com/mckernanin)
|
||||
|
||||
### Former Developers
|
||||
|
||||
- [Adarnof](https://gitlab.com/adarnof/)
|
||||
- [Basraah](https://gitlab.com/basraah/)
|
||||
|
||||
### Beta Testers / Bug Fixers
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This will make sure the app is always imported when
|
||||
# Django starts so that shared_task will use this app.
|
||||
|
||||
__version__ = '3.3.0'
|
||||
__version__ = '3.4.0'
|
||||
__title__ = 'Alliance Auth'
|
||||
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
|
||||
NAME = f'{__title__} v{__version__}'
|
||||
|
||||
@@ -8,6 +8,7 @@ from django.conf import settings
|
||||
from esi.clients import esi_client_factory
|
||||
|
||||
from allianceauth import __version__
|
||||
from allianceauth.utils.django import StartupCommand
|
||||
|
||||
|
||||
SWAGGER_SPEC_PATH = os.path.join(os.path.dirname(
|
||||
@@ -175,15 +176,16 @@ class EveProvider:
|
||||
|
||||
class EveSwaggerProvider(EveProvider):
|
||||
def __init__(self, token=None, adapter=None):
|
||||
if settings.DEBUG:
|
||||
if settings.DEBUG or StartupCommand().is_management_command:
|
||||
self._client = None
|
||||
logger.info(
|
||||
'DEBUG mode detected: ESI client will be loaded on-demand.'
|
||||
)
|
||||
logger.info('ESI client will be loaded on-demand')
|
||||
else:
|
||||
logger.info('Loading ESI client')
|
||||
try:
|
||||
self._client = esi_client_factory(
|
||||
token=token, spec_file=SWAGGER_SPEC_PATH, app_info_text=("allianceauth v" + __version__)
|
||||
token=token,
|
||||
spec_file=SWAGGER_SPEC_PATH,
|
||||
app_info_text=f"allianceauth v{__version__}"
|
||||
)
|
||||
except (HTTPError, RefResolutionError):
|
||||
logger.exception(
|
||||
|
||||
Binary file not shown.
@@ -6,17 +6,17 @@
|
||||
# Translators:
|
||||
# Erik Kalkoken <erik.kalkoken@gmail.com>, 2020
|
||||
# Joel Falknau <ozirascal@gmail.com>, 2021
|
||||
# Peter Pfeufer <rounon.dax@terra-nanotech.de>, 2022
|
||||
# Peter Pfeufer, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-14 23:17+1000\n"
|
||||
"POT-Creation-Date: 2022-10-09 18:20+1000\n"
|
||||
"PO-Revision-Date: 2020-02-18 03:14+0000\n"
|
||||
"Last-Translator: Peter Pfeufer <rounon.dax@terra-nanotech.de>, 2022\n"
|
||||
"Language-Team: German (https://www.transifex.com/alliance-auth/teams/107430/de/)\n"
|
||||
"Last-Translator: Peter Pfeufer, 2022\n"
|
||||
"Language-Team: German (https://app.transifex.com/alliance-auth/teams/107430/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -47,47 +47,38 @@ msgstr ""
|
||||
"Du kannst diese eingeschränkten Gruppen nicht hinzufügen oder entfernen: %s"
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:89
|
||||
msgid "English"
|
||||
msgstr "Englisch"
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:90
|
||||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:91
|
||||
msgid "Spanish"
|
||||
msgstr "Spanisch"
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:92
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chinesisch vereinfacht"
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:93
|
||||
msgid "Russian"
|
||||
msgstr "Russisch"
|
||||
|
||||
#: allianceauth/authentication/models.py:85
|
||||
#: allianceauth/project_template/project_name/settings/base.py:94
|
||||
msgid "Korean"
|
||||
msgstr "Koreanisch"
|
||||
|
||||
#: allianceauth/authentication/models.py:86
|
||||
#: allianceauth/project_template/project_name/settings/base.py:95
|
||||
msgid "French"
|
||||
msgstr "Französisch"
|
||||
|
||||
#: allianceauth/authentication/models.py:87
|
||||
#: allianceauth/project_template/project_name/settings/base.py:96
|
||||
msgid "Japanese"
|
||||
msgstr "Japanisch"
|
||||
|
||||
#: allianceauth/authentication/models.py:88
|
||||
#: allianceauth/project_template/project_name/settings/base.py:97
|
||||
msgid "Italian"
|
||||
msgstr "Italienisch"
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-14 23:17+1000\n"
|
||||
"POT-Creation-Date: 2022-10-09 18:20+1000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -40,47 +40,38 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:89
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:90
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:91
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:92
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:93
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:85
|
||||
#: allianceauth/project_template/project_name/settings/base.py:94
|
||||
msgid "Korean"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:86
|
||||
#: allianceauth/project_template/project_name/settings/base.py:95
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:87
|
||||
#: allianceauth/project_template/project_name/settings/base.py:96
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:88
|
||||
#: allianceauth/project_template/project_name/settings/base.py:97
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -6,16 +6,19 @@
|
||||
# Translators:
|
||||
# frank1210 <francolopez_16@hotmail.com>, 2021
|
||||
# Joel Falknau <ozirascal@gmail.com>, 2021
|
||||
# Young Anexo, 2023
|
||||
# Fegpawn Kaundur, 2023
|
||||
# trenus, 2023
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-14 23:17+1000\n"
|
||||
"POT-Creation-Date: 2022-10-09 18:20+1000\n"
|
||||
"PO-Revision-Date: 2020-02-18 03:14+0000\n"
|
||||
"Last-Translator: Joel Falknau <ozirascal@gmail.com>, 2021\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/alliance-auth/teams/107430/es/)\n"
|
||||
"Last-Translator: trenus, 2023\n"
|
||||
"Language-Team: Spanish (https://app.transifex.com/alliance-auth/teams/107430/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -24,16 +27,17 @@ msgstr ""
|
||||
|
||||
#: allianceauth/analytics/models.py:29
|
||||
msgid "Google Analytics Universal"
|
||||
msgstr ""
|
||||
msgstr "Google Analytics Universal"
|
||||
|
||||
#: allianceauth/analytics/models.py:30
|
||||
msgid "Google Analytics V4"
|
||||
msgstr ""
|
||||
msgstr "Google Analytics V4"
|
||||
|
||||
#: allianceauth/authentication/decorators.py:37
|
||||
msgid "A main character is required to perform that action. Add one below."
|
||||
msgstr ""
|
||||
"Un personaje principal es requerido para completar esta accion. Agregue uno"
|
||||
"Se necesita un personaje principal para realizar esa acción. Añade uno a "
|
||||
"continuación."
|
||||
|
||||
#: allianceauth/authentication/forms.py:12
|
||||
msgid "Email"
|
||||
@@ -42,77 +46,68 @@ msgstr "E-mail"
|
||||
#: allianceauth/authentication/forms.py:62
|
||||
#, python-format
|
||||
msgid "You are not allowed to add or remove these restricted groups: %s"
|
||||
msgstr ""
|
||||
msgstr "No puedes añadir o eliminar estos grupos restringidos: %s"
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:89
|
||||
msgid "English"
|
||||
msgstr "Ingles"
|
||||
msgstr "Inglés"
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:90
|
||||
msgid "German"
|
||||
msgstr "Aleman"
|
||||
msgstr "Alemán"
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:91
|
||||
msgid "Spanish"
|
||||
msgstr "Español"
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:92
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
msgstr "Chino Simplificado"
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:93
|
||||
msgid "Russian"
|
||||
msgstr "Ruso"
|
||||
|
||||
#: allianceauth/authentication/models.py:85
|
||||
#: allianceauth/project_template/project_name/settings/base.py:94
|
||||
msgid "Korean"
|
||||
msgstr ""
|
||||
msgstr "Coreano"
|
||||
|
||||
#: allianceauth/authentication/models.py:86
|
||||
#: allianceauth/project_template/project_name/settings/base.py:95
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
msgstr "Francés"
|
||||
|
||||
#: allianceauth/authentication/models.py:87
|
||||
#: allianceauth/project_template/project_name/settings/base.py:96
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
msgstr "Japonés"
|
||||
|
||||
#: allianceauth/authentication/models.py:88
|
||||
#: allianceauth/project_template/project_name/settings/base.py:97
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
msgstr "Italiano"
|
||||
|
||||
#: allianceauth/authentication/models.py:91
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
msgstr "Idioma"
|
||||
|
||||
#: allianceauth/authentication/models.py:96
|
||||
#: allianceauth/templates/allianceauth/night-toggle.html:6
|
||||
msgid "Night Mode"
|
||||
msgstr ""
|
||||
msgstr "Modo Nocturno"
|
||||
|
||||
#: allianceauth/authentication/models.py:110
|
||||
#, python-format
|
||||
msgid "State changed to: %s"
|
||||
msgstr ""
|
||||
msgstr "Estado cambiado a: %s"
|
||||
|
||||
#: allianceauth/authentication/models.py:111
|
||||
#, python-format
|
||||
msgid "Your user's state is now: %(state)s"
|
||||
msgstr ""
|
||||
msgstr "El estado de su usuario es ahora: %(state)s"
|
||||
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:4
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:7
|
||||
#: allianceauth/templates/allianceauth/side-menu.html:10
|
||||
msgid "Dashboard"
|
||||
msgstr "Pagina Principal"
|
||||
msgstr "Página principal"
|
||||
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:17
|
||||
#, python-format
|
||||
@@ -121,6 +116,8 @@ msgid ""
|
||||
" Main Character (State: %(state)s)\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Personaje Principal (estado: %(state)s)"
|
||||
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:101
|
||||
msgid "No main character set."
|
||||
@@ -136,7 +133,7 @@ msgstr "Cambiar Personaje Principal"
|
||||
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:125
|
||||
msgid "Group Memberships"
|
||||
msgstr ""
|
||||
msgstr "Membresia de Grupos"
|
||||
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:145
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:21
|
||||
@@ -172,23 +169,25 @@ msgstr "Ingresar"
|
||||
|
||||
#: allianceauth/authentication/templates/public/login.html:10
|
||||
msgid "Login with Eve SSO"
|
||||
msgstr ""
|
||||
msgstr "Iniciar Sesión con Eve SSO"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:24
|
||||
msgid "For information on SSO, ESI and security read the CCP Dev Blog"
|
||||
msgstr ""
|
||||
"Para más información sobre SSO, ESI y seguridad, lea el blog de desarrollo "
|
||||
"de CCP."
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:26
|
||||
msgid "Introducing ESI - A New API For Eve Online"
|
||||
msgstr ""
|
||||
msgstr "Presentación de ESI - Una nueva API para Eve Online"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:32
|
||||
msgid "Manage ESI Applications"
|
||||
msgstr ""
|
||||
msgstr "Gestionar aplicaciones ESI"
|
||||
|
||||
#: allianceauth/authentication/templates/public/register.html:6
|
||||
msgid "Registration"
|
||||
msgstr ""
|
||||
msgstr "Registro"
|
||||
|
||||
#: allianceauth/authentication/templates/public/register.html:21
|
||||
msgid "Register"
|
||||
@@ -204,6 +203,8 @@ msgid ""
|
||||
"Cannot change main character to %(char)s: character owned by a different "
|
||||
"account."
|
||||
msgstr ""
|
||||
"No se puede cambiar de personaje principal a %(char)s: personaje "
|
||||
"perteneciente a otra cuenta."
|
||||
|
||||
#: allianceauth/authentication/views.py:83
|
||||
#, python-format
|
||||
@@ -245,7 +246,7 @@ msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:262
|
||||
msgid "Registration of new accounts is not allowed at this time."
|
||||
msgstr ""
|
||||
msgstr "En este momento no se permite el registro de nuevas cuentas."
|
||||
|
||||
#: allianceauth/corputils/auth_hooks.py:11
|
||||
msgid "Corporation Stats"
|
||||
@@ -495,9 +496,9 @@ msgstr "Mes Siguiente"
|
||||
#, python-format
|
||||
msgid "%(user)s has collected one link this month."
|
||||
msgid_plural "%(user)s has collected %(links)s links this month."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[0] "%(user)s ha recopilado un enlace este mes."
|
||||
msgstr[1] " %(user)s ha recopilado %(links)s enlaces este mes."
|
||||
msgstr[2] "%(user)s ha recopilado %(links)s enlaces este mes."
|
||||
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:26
|
||||
msgid "Times used"
|
||||
@@ -507,9 +508,9 @@ msgstr "Utilizado"
|
||||
#, python-format
|
||||
msgid "%(user)s has created one link this month."
|
||||
msgid_plural "%(user)s has created %(links)s links this month."
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[0] "%(user)s ha creado un enlace este mes."
|
||||
msgstr[1] "%(user)s ha creado %(links)s enlaces este mes."
|
||||
msgstr[2] "%(user)s ha creado %(links)s enlaces este mes."
|
||||
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:46
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:25
|
||||
@@ -607,11 +608,11 @@ msgstr "No hay fatlinks creados recientemente"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:218
|
||||
msgid "Character does not exist"
|
||||
msgstr ""
|
||||
msgstr "Personaje no existe"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:221
|
||||
msgid "User does not exist"
|
||||
msgstr ""
|
||||
msgstr "Usuario no existe"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:299
|
||||
msgid "Fleet participation registered."
|
||||
@@ -627,6 +628,8 @@ msgid ""
|
||||
"Cannot register the fleet participation for {character.character_name}. The "
|
||||
"character needs to be online."
|
||||
msgstr ""
|
||||
"No se puede registrar la participación en la flota para "
|
||||
"{character.character_name}. El personaje debe estar en línea."
|
||||
|
||||
#: allianceauth/groupmanagement/auth_hooks.py:17
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:13
|
||||
@@ -635,15 +638,15 @@ msgstr "Manejo de Grupo"
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:15
|
||||
msgid "This name has been reserved and can not be used for groups."
|
||||
msgstr ""
|
||||
msgstr "Este nombre ha sido reservado y no puede utilizarse para grupos."
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:25
|
||||
msgid "(auto)"
|
||||
msgstr ""
|
||||
msgstr "(auto)"
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:34
|
||||
msgid "There already exists a group with that name."
|
||||
msgstr ""
|
||||
msgstr "Ya existe un grupo con ese nombre."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:105
|
||||
msgid ""
|
||||
@@ -651,16 +654,24 @@ msgid ""
|
||||
"group.<br>Used for groups such as Members, Corp_*, Alliance_* "
|
||||
"etc.<br><b>Overrides Hidden and Open options when selected.</b>"
|
||||
msgstr ""
|
||||
"Grupo interno, los usuarios no pueden ver, unirse o solicitar unirse a este "
|
||||
"grupo.<br>Se utiliza para grupos como Miembros, Corp_*, Alliance_*, "
|
||||
"etc.<br><b>Anula las opciones Oculto y Abierto cuando se selecciona.</b>"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:113
|
||||
msgid "Group is hidden from users but can still join with the correct link."
|
||||
msgstr ""
|
||||
"El grupo está oculto para los usuarios, pero aún pueden unirse con el enlace"
|
||||
" correcto."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:119
|
||||
msgid ""
|
||||
"Group is open and users will be automatically added upon request.<br>If the "
|
||||
"group is not open users will need their request manually approved."
|
||||
msgstr ""
|
||||
"El grupo está abierto y los usuarios se añadirán automáticamente cuando lo "
|
||||
"soliciten.<br>Si el grupo no está abierto, los usuarios necesitarán que su "
|
||||
"solicitud sea aprobada manualmente."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:126
|
||||
msgid ""
|
||||
@@ -669,12 +680,18 @@ msgid ""
|
||||
"remove users from this group automatically when they are no longer "
|
||||
"authenticated."
|
||||
msgstr ""
|
||||
"El grupo es público. Cualquier usuario registrado puede unirse a este grupo,"
|
||||
" con visibilidad basada en las otras opciones establecidas para este "
|
||||
"grupo.<br>Auth no eliminará automáticamente a los usuarios de este grupo "
|
||||
"cuando ya no estén autenticados."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:135
|
||||
msgid ""
|
||||
"Group is restricted. This means that adding or removing users for this group"
|
||||
" requires a superuser admin."
|
||||
msgstr ""
|
||||
"El grupo está restringido. Esto significa que para añadir o eliminar "
|
||||
"usuarios de este grupo se requiere un superusuario administrador."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:144
|
||||
msgid ""
|
||||
@@ -682,6 +699,9 @@ msgid ""
|
||||
"<code>auth.group_management</code> permission to allow a user to manage all "
|
||||
"groups.<br>"
|
||||
msgstr ""
|
||||
"Los líderes de grupo pueden procesar solicitudes para este grupo. Utilice el"
|
||||
" permiso <code>auth.group_management</code> para permitir que un usuario "
|
||||
"gestione todos los grupos.<br>"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:154
|
||||
msgid ""
|
||||
@@ -689,49 +709,56 @@ msgid ""
|
||||
"<code>auth.group_management</code> permission to allow a user to manage all "
|
||||
"groups.<br>"
|
||||
msgstr ""
|
||||
"Los miembros de los grupos líderes pueden procesar solicitudes para este "
|
||||
"grupo. Utilice el <code>permiso auth.group_management</code> para permitir "
|
||||
"que un usuario gestione todos los grupos.<br>"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:163
|
||||
msgid ""
|
||||
"States listed here will have the ability to join this group provided they "
|
||||
"have the proper permissions.<br>"
|
||||
msgstr ""
|
||||
"Los estados que figuren en esta lista podrán unirse a este grupo siempre que"
|
||||
" dispongan de los permisos adecuados.<br>"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:171
|
||||
msgid ""
|
||||
"Short description <i>(max. 512 characters)</i> of the group shown to users."
|
||||
msgstr ""
|
||||
"Breve descripción <i>(máx. 512 caracteres)</i> del grupo que se muestra a "
|
||||
"los usuarios."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:178
|
||||
msgid "Can request non-public groups"
|
||||
msgstr ""
|
||||
msgstr "Se pueden solicitar grupos no públicos"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:209
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
msgstr "nombre"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:212
|
||||
msgid "Name that can not be used for groups."
|
||||
msgstr ""
|
||||
msgstr "Nombre que no se puede utilizar para los grupos."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:215
|
||||
msgid "reason"
|
||||
msgstr ""
|
||||
msgstr "razón"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:215
|
||||
msgid "Reason why this name is reserved."
|
||||
msgstr ""
|
||||
msgstr "Razón por la que este nombre está reservado."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:218
|
||||
msgid "created by"
|
||||
msgstr ""
|
||||
msgstr "creado por"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:223
|
||||
msgid "created at"
|
||||
msgstr ""
|
||||
msgstr "creado en"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:223
|
||||
msgid "Date when this entry was created"
|
||||
msgstr ""
|
||||
msgstr "Fecha de creación de esta entrada"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:4
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:13
|
||||
@@ -773,11 +800,11 @@ msgstr "Actor"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:48
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
msgstr "Eliminado"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:60
|
||||
msgid "All times displayed are EVE/UTC."
|
||||
msgstr ""
|
||||
msgstr "Todas las horas indicadas son EVE/UTC."
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:67
|
||||
msgid "No entries found for this group."
|
||||
@@ -792,18 +819,18 @@ msgstr "Miembros del Grupo"
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:113
|
||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:21
|
||||
msgid "Organization"
|
||||
msgstr ""
|
||||
msgstr "Organización"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:49
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:75
|
||||
msgid "Group leader"
|
||||
msgstr ""
|
||||
msgstr "Líder de grupo"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:60
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:82
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:139
|
||||
msgid "(unknown)"
|
||||
msgstr ""
|
||||
msgstr "(desconocido)"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:65
|
||||
msgid "Remove from group"
|
||||
@@ -865,7 +892,7 @@ msgstr "Auditar Miembros"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:63
|
||||
msgid "Copy Direct Join Link"
|
||||
msgstr ""
|
||||
msgstr "Copiar enlace directo"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:74
|
||||
msgid "No groups to list."
|
||||
@@ -911,11 +938,11 @@ msgstr "Manejo de Grupos"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:24
|
||||
msgid "Join Requests"
|
||||
msgstr ""
|
||||
msgstr "Solicitudes de ingreso"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:35
|
||||
msgid "Leave Requests"
|
||||
msgstr ""
|
||||
msgstr "Abandonar solicitudes"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:57
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:114
|
||||
@@ -1001,6 +1028,8 @@ msgid ""
|
||||
"An unhandled error occurred while processing the application from "
|
||||
"%(mainchar)s to leave %(group)s."
|
||||
msgstr ""
|
||||
"Se ha producido un error al procesar la solicitud de %(mainchar)s para "
|
||||
"abandonar %(group)s."
|
||||
|
||||
#: allianceauth/groupmanagement/views.py:292
|
||||
#, python-format
|
||||
@@ -1015,11 +1044,11 @@ msgstr "No puedes unirte a ese grupo"
|
||||
|
||||
#: allianceauth/groupmanagement/views.py:341
|
||||
msgid "You are already a member of that group."
|
||||
msgstr ""
|
||||
msgstr "Ya eres miembro de ese grupo."
|
||||
|
||||
#: allianceauth/groupmanagement/views.py:358
|
||||
msgid "You already have a pending application for that group."
|
||||
msgstr ""
|
||||
msgstr "Ya tiene una solicitud pendiente para ese grupo."
|
||||
|
||||
#: allianceauth/groupmanagement/views.py:367
|
||||
#, python-format
|
||||
@@ -1036,7 +1065,7 @@ msgstr "No eres miembro de ese grupo"
|
||||
|
||||
#: allianceauth/groupmanagement/views.py:393
|
||||
msgid "You already have a pending leave request for that group."
|
||||
msgstr ""
|
||||
msgstr "Ya tiene una solicitud de baja pendiente para ese grupo."
|
||||
|
||||
#: allianceauth/groupmanagement/views.py:409
|
||||
#, python-format
|
||||
@@ -1220,19 +1249,19 @@ msgstr "Agregar comentario"
|
||||
|
||||
#: allianceauth/notifications/models.py:21
|
||||
msgid "danger"
|
||||
msgstr ""
|
||||
msgstr "peligro"
|
||||
|
||||
#: allianceauth/notifications/models.py:22
|
||||
msgid "warning"
|
||||
msgstr ""
|
||||
msgstr "advertencia"
|
||||
|
||||
#: allianceauth/notifications/models.py:23
|
||||
msgid "info"
|
||||
msgstr ""
|
||||
msgstr "info"
|
||||
|
||||
#: allianceauth/notifications/models.py:24
|
||||
msgid "success"
|
||||
msgstr ""
|
||||
msgstr "éxito"
|
||||
|
||||
#: allianceauth/notifications/templates/notifications/list.html:4
|
||||
#: allianceauth/notifications/templates/notifications/list.html:7
|
||||
@@ -1266,7 +1295,7 @@ msgstr "Titulo"
|
||||
|
||||
#: allianceauth/notifications/templates/notifications/list_partial.html:28
|
||||
msgid "No notifications."
|
||||
msgstr ""
|
||||
msgstr "No hay notificaciones."
|
||||
|
||||
#: allianceauth/notifications/templates/notifications/view.html:4
|
||||
#: allianceauth/notifications/templates/notifications/view.html:8
|
||||
@@ -1314,7 +1343,7 @@ msgstr "Nombre de la operacion"
|
||||
|
||||
#: allianceauth/optimer/form.py:16
|
||||
msgid "Operation Type"
|
||||
msgstr ""
|
||||
msgstr "Tipo de operación"
|
||||
|
||||
#: allianceauth/optimer/form.py:17
|
||||
#: allianceauth/srp/templates/srp/management.html:38
|
||||
@@ -1328,7 +1357,7 @@ msgstr "Informacion Adicional"
|
||||
|
||||
#: allianceauth/optimer/form.py:23
|
||||
msgid "(Optional) Describe the operation with a couple of short words."
|
||||
msgstr ""
|
||||
msgstr "(Opcional) Describa la operación con un par de palabras breves."
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/add.html:6
|
||||
#: allianceauth/optimer/templates/optimer/management.html:13
|
||||
@@ -1365,7 +1394,7 @@ msgstr "Tipo en EVE actual:"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:26
|
||||
msgid "Next Fleet Operations"
|
||||
msgstr ""
|
||||
msgstr "Próximas operaciones de flota"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:30
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:362
|
||||
@@ -1374,7 +1403,7 @@ msgstr "No hay proximos timers."
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:33
|
||||
msgid "Past Fleet Operations"
|
||||
msgstr ""
|
||||
msgstr "Operaciones de flota pasadas"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:37
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:535
|
||||
@@ -1413,7 +1442,7 @@ msgstr "Auditar Permisos"
|
||||
|
||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:20
|
||||
msgid "User / Character"
|
||||
msgstr ""
|
||||
msgstr "Usuario / Personaje"
|
||||
|
||||
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:4
|
||||
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:8
|
||||
@@ -1458,16 +1487,16 @@ msgstr "Estados"
|
||||
|
||||
#: allianceauth/services/abstract.py:72
|
||||
msgid "That service account already exists"
|
||||
msgstr ""
|
||||
msgstr "Esa cuenta de servicio ya existe"
|
||||
|
||||
#: allianceauth/services/abstract.py:103
|
||||
#, python-brace-format
|
||||
msgid "Successfully set your {self.service_name} password"
|
||||
msgstr ""
|
||||
msgstr "Ha establecido correctamente su contraseña {self.service_name}."
|
||||
|
||||
#: allianceauth/services/auth_hooks.py:12
|
||||
msgid "Services"
|
||||
msgstr ""
|
||||
msgstr "Servicios"
|
||||
|
||||
#: allianceauth/services/forms.py:6
|
||||
msgid "Name of Fleet:"
|
||||
@@ -1531,29 +1560,31 @@ msgstr "La contraseña tiene que tener 8 caracteres de largo minimo"
|
||||
|
||||
#: allianceauth/services/modules/discord/models.py:187
|
||||
msgid "Discord Account Disabled"
|
||||
msgstr ""
|
||||
msgstr "Cuenta de Discord desactivada"
|
||||
|
||||
#: allianceauth/services/modules/discord/models.py:189
|
||||
msgid ""
|
||||
"Your Discord account was disabled automatically by Auth. If you think this "
|
||||
"was a mistake, please contact an admin."
|
||||
msgstr ""
|
||||
"Tu cuenta de Discord ha sido desactivada automáticamente por Auth. Si crees "
|
||||
"que se trata de un error, ponte en contacto con un administrador."
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:5
|
||||
msgid "Discord"
|
||||
msgstr ""
|
||||
msgstr "Discord"
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:18
|
||||
msgid "Join the Discord server"
|
||||
msgstr ""
|
||||
msgstr "Unirse al servidor Discord"
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:22
|
||||
msgid "Leave- and rejoin the Discord Server (Reset)"
|
||||
msgstr ""
|
||||
msgstr "Salir y volver al servidor Discord (Reiniciar)"
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:25
|
||||
msgid "Leave the Discord server"
|
||||
msgstr ""
|
||||
msgstr "Abandonar el servidor de Discord"
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32
|
||||
msgid "Link Discord Server"
|
||||
@@ -1561,68 +1592,74 @@ msgstr "Enlace a servidor de Discord"
|
||||
|
||||
#: allianceauth/services/modules/discord/views.py:30
|
||||
msgid "Deactivated Discord account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta de Discord desactivada."
|
||||
|
||||
#: allianceauth/services/modules/discord/views.py:36
|
||||
#: allianceauth/services/modules/discord/views.py:59
|
||||
msgid "An error occurred while processing your Discord account."
|
||||
msgstr ""
|
||||
msgstr "Se ha producido un error al procesar tu cuenta de Discord."
|
||||
|
||||
#: allianceauth/services/modules/discord/views.py:102
|
||||
msgid "Your Discord account has been successfully activated."
|
||||
msgstr ""
|
||||
msgstr "Tu cuenta de Discord se ha activado correctamente."
|
||||
|
||||
#: allianceauth/services/modules/discord/views.py:108
|
||||
msgid ""
|
||||
"An error occurred while trying to activate your Discord account. Please try "
|
||||
"again."
|
||||
msgstr ""
|
||||
"Se ha producido un error al intentar activar tu cuenta de Discord. Inténtalo"
|
||||
" de nuevo."
|
||||
|
||||
#: allianceauth/services/modules/discourse/views.py:29
|
||||
msgid "You are not authorized to access Discourse."
|
||||
msgstr ""
|
||||
msgstr "No estás autorizado a acceder a Discourse."
|
||||
|
||||
#: allianceauth/services/modules/discourse/views.py:34
|
||||
msgid "You must have a main character set to access Discourse."
|
||||
msgstr ""
|
||||
msgstr "Para acceder a Discourse es necesario tener un personaje principal."
|
||||
|
||||
#: allianceauth/services/modules/discourse/views.py:44
|
||||
msgid ""
|
||||
"No SSO payload or signature. Please contact support if this problem "
|
||||
"persists."
|
||||
msgstr ""
|
||||
"No existe contenido ni firma SSO. Póngase en contacto con el servicio de "
|
||||
"asistencia si este problema persiste."
|
||||
|
||||
#: allianceauth/services/modules/discourse/views.py:54
|
||||
#: allianceauth/services/modules/discourse/views.py:62
|
||||
msgid "Invalid payload. Please contact support if this problem persists."
|
||||
msgstr ""
|
||||
"Contenido no válido. Póngase en contacto con el servicio de asistencia si "
|
||||
"este problema persiste."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:31
|
||||
msgid "Activated IPSuite4 account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta IPSuite4 activada."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:39
|
||||
#: allianceauth/services/modules/ips4/views.py:60
|
||||
#: allianceauth/services/modules/ips4/views.py:81
|
||||
#: allianceauth/services/modules/ips4/views.py:101
|
||||
msgid "An error occurred while processing your IPSuite4 account."
|
||||
msgstr ""
|
||||
msgstr "Se ha producido un error al procesar su cuenta IPSuite4."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:52
|
||||
msgid "Reset IPSuite4 password."
|
||||
msgstr ""
|
||||
msgstr "Restablecer la contraseña de IPSuite4."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:78
|
||||
msgid "Set IPSuite4 password."
|
||||
msgstr ""
|
||||
msgstr "Establecer contraseña de IPSuite4."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:98
|
||||
msgid "Deactivated IPSuite4 account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta IPSuite4 desactivada."
|
||||
|
||||
#: allianceauth/services/modules/openfire/auth_hooks.py:26
|
||||
msgid "Jabber"
|
||||
msgstr ""
|
||||
msgstr "Jabber"
|
||||
|
||||
#: allianceauth/services/modules/openfire/auth_hooks.py:79
|
||||
#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:5
|
||||
@@ -1632,7 +1669,7 @@ msgstr "Anuncio por Jabber"
|
||||
|
||||
#: allianceauth/services/modules/openfire/auth_hooks.py:94
|
||||
msgid "Fleet Broadcast Formatter"
|
||||
msgstr ""
|
||||
msgstr "Formateador de difusión de flota"
|
||||
|
||||
#: allianceauth/services/modules/openfire/forms.py:7
|
||||
msgid "Message"
|
||||
@@ -1648,73 +1685,73 @@ msgstr "Anuncio"
|
||||
|
||||
#: allianceauth/services/modules/openfire/views.py:35
|
||||
msgid "Activated jabber account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta jabber activada."
|
||||
|
||||
#: allianceauth/services/modules/openfire/views.py:43
|
||||
#: allianceauth/services/modules/openfire/views.py:56
|
||||
#: allianceauth/services/modules/openfire/views.py:76
|
||||
#: allianceauth/services/modules/openfire/views.py:147
|
||||
msgid "An error occurred while processing your jabber account."
|
||||
msgstr ""
|
||||
msgstr "Se ha producido un error al procesar su cuenta jabber."
|
||||
|
||||
#: allianceauth/services/modules/openfire/views.py:69
|
||||
msgid "Reset jabber password."
|
||||
msgstr ""
|
||||
msgstr "Restablecer contraseña jabber."
|
||||
|
||||
#: allianceauth/services/modules/openfire/views.py:115
|
||||
#, python-format
|
||||
msgid "Sent jabber broadcast to %s"
|
||||
msgstr ""
|
||||
msgstr "Enviar difusión jabber a %s"
|
||||
|
||||
#: allianceauth/services/modules/openfire/views.py:144
|
||||
msgid "Set jabber password."
|
||||
msgstr ""
|
||||
msgstr "Establecer contraseña jabber."
|
||||
|
||||
#: allianceauth/services/modules/phpbb3/views.py:34
|
||||
msgid "Activated forum account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta del foro activada."
|
||||
|
||||
#: allianceauth/services/modules/phpbb3/views.py:42
|
||||
#: allianceauth/services/modules/phpbb3/views.py:56
|
||||
#: allianceauth/services/modules/phpbb3/views.py:78
|
||||
#: allianceauth/services/modules/phpbb3/views.py:101
|
||||
msgid "An error occurred while processing your forum account."
|
||||
msgstr ""
|
||||
msgstr "Se ha producido un error al procesar su cuenta del foro."
|
||||
|
||||
#: allianceauth/services/modules/phpbb3/views.py:53
|
||||
msgid "Deactivated forum account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta del foro desactivada."
|
||||
|
||||
#: allianceauth/services/modules/phpbb3/views.py:70
|
||||
msgid "Reset forum password."
|
||||
msgstr ""
|
||||
msgstr "Restablecer contraseña del foro."
|
||||
|
||||
#: allianceauth/services/modules/phpbb3/views.py:98
|
||||
msgid "Set forum password."
|
||||
msgstr ""
|
||||
msgstr "Establecer contraseña del foro."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:52
|
||||
msgid "Activated SMF account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta SMF activada."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:65
|
||||
#: allianceauth/services/modules/smf/views.py:81
|
||||
#: allianceauth/services/modules/smf/views.py:102
|
||||
#: allianceauth/services/modules/smf/views.py:124
|
||||
msgid "An error occurred while processing your SMF account."
|
||||
msgstr ""
|
||||
msgstr "Se ha producido un error al procesar tu cuenta SMF."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:78
|
||||
msgid "Deactivated SMF account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta SMF desactivada."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:95
|
||||
msgid "Reset SMF password."
|
||||
msgstr ""
|
||||
msgstr "Restablecer contraseña de SMF."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:121
|
||||
msgid "Set SMF password."
|
||||
msgstr ""
|
||||
msgstr "Establecer contraseña de SMF."
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/forms.py:14
|
||||
#, python-format
|
||||
@@ -1723,7 +1760,7 @@ msgstr "No fue posible localizar tu usuario %s en el servidor"
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/templates/admin/teamspeak3/authts/change_list.html:8
|
||||
msgid "Update TS3 groups"
|
||||
msgstr ""
|
||||
msgstr "Actualizar los grupos de TS3"
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:5
|
||||
msgid "Verify Teamspeak"
|
||||
@@ -1745,44 +1782,44 @@ msgstr "Continuar"
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/views.py:35
|
||||
msgid "Activated TeamSpeak3 account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta de TeamSpeak3 activada."
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/views.py:38
|
||||
#: allianceauth/services/modules/teamspeak3/views.py:74
|
||||
#: allianceauth/services/modules/teamspeak3/views.py:100
|
||||
msgid "An error occurred while processing your TeamSpeak3 account."
|
||||
msgstr ""
|
||||
msgstr "Se ha producido un error al procesar tu cuenta de TeamSpeak3."
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/views.py:71
|
||||
msgid "Deactivated TeamSpeak3 account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta de TeamSpeak3 desactivada."
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/views.py:97
|
||||
msgid "Reset TeamSpeak3 permission key."
|
||||
msgstr ""
|
||||
msgstr "Restablecer la clave de permiso de TeamSpeak3."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:30
|
||||
msgid "Activated XenForo account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta de XenForo activada."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:40
|
||||
#: allianceauth/services/modules/xenforo/views.py:52
|
||||
#: allianceauth/services/modules/xenforo/views.py:73
|
||||
#: allianceauth/services/modules/xenforo/views.py:94
|
||||
msgid "An error occurred while processing your XenForo account."
|
||||
msgstr ""
|
||||
msgstr "Se ha producido un error al procesar tu cuenta de XenForo."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:50
|
||||
msgid "Deactivated XenForo account."
|
||||
msgstr ""
|
||||
msgstr "Cuenta de XenForo desactivada."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:65
|
||||
msgid "Reset XenForo account password."
|
||||
msgstr ""
|
||||
msgstr "Restablecer la contraseña de la cuenta de XenForo."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:91
|
||||
msgid "Changed XenForo password."
|
||||
msgstr ""
|
||||
msgstr "Contraseña de XenForo cambiada."
|
||||
|
||||
#: allianceauth/services/templates/services/fleetformattertool.html:5
|
||||
msgid "Fleet Formatter Tool"
|
||||
@@ -1807,6 +1844,8 @@ msgstr "Eliminar tu cuenta en %(service_name)s ?"
|
||||
msgid ""
|
||||
"Are you sure you want to delete your %(service_name)s account %(object)s?"
|
||||
msgstr ""
|
||||
"¿Estás seguro de que quieres eliminar tu cuenta de %(service_name)s "
|
||||
"%(object)s?"
|
||||
|
||||
#: allianceauth/services/templates/services/service_credentials.html:4
|
||||
#: allianceauth/services/templates/services/service_credentials.html:8
|
||||
@@ -1860,15 +1899,16 @@ msgstr "Doctrina"
|
||||
|
||||
#: allianceauth/srp/form.py:16
|
||||
msgid "Killboard Link (zkillboard.com or kb.evetools.org)"
|
||||
msgstr ""
|
||||
msgstr "Enlace Killboard (zkillboard.com o kb.evetools.org)"
|
||||
|
||||
#: allianceauth/srp/form.py:34
|
||||
msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org"
|
||||
msgstr ""
|
||||
msgstr "Enlace no válido. Por favor, utilice zkillboard.com o kb.evetools.org"
|
||||
|
||||
#: allianceauth/srp/form.py:46
|
||||
msgid "Invalid Link. Please post a direct link to a killmail."
|
||||
msgstr ""
|
||||
"Enlace no válido. Por favor, proporcione un enlace directo a un killmail."
|
||||
|
||||
#: allianceauth/srp/form.py:53
|
||||
msgid "After Action Report Link"
|
||||
@@ -1889,7 +1929,7 @@ msgstr "Entregar este enlace a los miembros"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:5
|
||||
msgid "Srp Fleet Data"
|
||||
msgstr ""
|
||||
msgstr "Informacion de SRP de la flota"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:50
|
||||
msgid "SRP Fleet Data"
|
||||
@@ -1942,6 +1982,8 @@ msgstr "Costo del SRP"
|
||||
#: allianceauth/srp/templates/srp/data.html:95
|
||||
msgid "Click value to edit Enter to save & next ESC to cancel"
|
||||
msgstr ""
|
||||
"Haz clic en el valor para editar. Presiona Enter para guardar y continuar, o"
|
||||
" ESC para cancelar"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:98
|
||||
msgid "Post Time"
|
||||
@@ -2063,7 +2105,7 @@ msgstr "Imposible localizar el SRP con el codigo %(srpfleetid)s"
|
||||
|
||||
#: allianceauth/srp/views.py:179
|
||||
msgid "This kill mail has already been posted."
|
||||
msgstr ""
|
||||
msgstr "Este correo mortal ya ha sido publicado."
|
||||
|
||||
#: allianceauth/srp/views.py:200
|
||||
msgid ""
|
||||
@@ -2132,11 +2174,11 @@ msgstr "Cerrado"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:28
|
||||
msgid "Powered by GitLab"
|
||||
msgstr ""
|
||||
msgstr "Desarrollado por GitLab"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
|
||||
msgid "Support Discord"
|
||||
msgstr ""
|
||||
msgstr "Soporte Discord"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:43
|
||||
msgid "Software Version"
|
||||
@@ -2148,7 +2190,7 @@ msgstr "Actual"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
||||
msgid "Latest Stable"
|
||||
msgstr ""
|
||||
msgstr "Último Estable"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:59
|
||||
msgid "Update available"
|
||||
@@ -2156,11 +2198,11 @@ msgstr "Actualizacion Disponible"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:64
|
||||
msgid "Latest Pre-Release"
|
||||
msgstr ""
|
||||
msgstr "Último Pre-Lanzamiento"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:70
|
||||
msgid "Pre-Release available"
|
||||
msgstr ""
|
||||
msgstr "Pre-Lanzamiento disponible"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:78
|
||||
msgid "Task Queue"
|
||||
@@ -2173,6 +2215,8 @@ msgid ""
|
||||
" Status of %(total)s processed tasks • last %(latest)s\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Estado de %(total)s tareas procesadas • últimos %(latest)s"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
|
||||
#, python-format
|
||||
@@ -2181,6 +2225,8 @@ msgid ""
|
||||
" %(queue_length)s queued tasks\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"%(queue_length)s tareas en cola"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
|
||||
msgid "Admin"
|
||||
@@ -2188,16 +2234,16 @@ msgstr "Administrador"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
||||
msgid "AA Documentation"
|
||||
msgstr ""
|
||||
msgstr "Documentación AA"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:26
|
||||
msgid "AA Support Discord"
|
||||
msgstr ""
|
||||
msgstr "Soporte Discord AA"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:10
|
||||
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:14
|
||||
msgid "User Menu"
|
||||
msgstr ""
|
||||
msgstr "Menú de usuario"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:56
|
||||
msgid "Logout"
|
||||
@@ -2245,7 +2291,7 @@ msgstr "Tipo de Estructura"
|
||||
|
||||
#: allianceauth/timerboard/form.py:62
|
||||
msgid "Timer Type"
|
||||
msgstr ""
|
||||
msgstr "Tipo de temporizador"
|
||||
|
||||
#: allianceauth/timerboard/form.py:63
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:32
|
||||
@@ -2276,15 +2322,15 @@ msgstr "Restringido a Corp"
|
||||
|
||||
#: allianceauth/timerboard/models.py:14
|
||||
msgid "Not Specified"
|
||||
msgstr ""
|
||||
msgstr "Sin especificación"
|
||||
|
||||
#: allianceauth/timerboard/models.py:15
|
||||
msgid "Shield"
|
||||
msgstr ""
|
||||
msgstr "Escudo"
|
||||
|
||||
#: allianceauth/timerboard/models.py:16
|
||||
msgid "Armor"
|
||||
msgstr ""
|
||||
msgstr "Armadura"
|
||||
|
||||
#: allianceauth/timerboard/models.py:17
|
||||
msgid "Hull"
|
||||
@@ -2292,15 +2338,15 @@ msgstr "Tipo"
|
||||
|
||||
#: allianceauth/timerboard/models.py:18
|
||||
msgid "Final"
|
||||
msgstr ""
|
||||
msgstr "Final"
|
||||
|
||||
#: allianceauth/timerboard/models.py:19
|
||||
msgid "Anchoring"
|
||||
msgstr ""
|
||||
msgstr "Anclando"
|
||||
|
||||
#: allianceauth/timerboard/models.py:20
|
||||
msgid "Unanchoring"
|
||||
msgstr ""
|
||||
msgstr "Desanclando"
|
||||
|
||||
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:11
|
||||
msgid "Delete Timer"
|
||||
|
||||
Binary file not shown.
@@ -10,16 +10,18 @@
|
||||
# Idea ., 2021
|
||||
# Mickael PATTE, 2021
|
||||
# Geoffrey Fabbro, 2021
|
||||
# Mohssine Daghghar, 2023
|
||||
# Ludovick Fortin, 2023
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-14 23:17+1000\n"
|
||||
"POT-Creation-Date: 2022-10-09 18:20+1000\n"
|
||||
"PO-Revision-Date: 2020-02-18 03:14+0000\n"
|
||||
"Last-Translator: Geoffrey Fabbro, 2021\n"
|
||||
"Language-Team: French (France) (https://www.transifex.com/alliance-auth/teams/107430/fr_FR/)\n"
|
||||
"Last-Translator: Ludovick Fortin, 2023\n"
|
||||
"Language-Team: French (France) (https://app.transifex.com/alliance-auth/teams/107430/fr_FR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -28,7 +30,7 @@ msgstr ""
|
||||
|
||||
#: allianceauth/analytics/models.py:29
|
||||
msgid "Google Analytics Universal"
|
||||
msgstr ""
|
||||
msgstr "Google Analytique Universelle"
|
||||
|
||||
#: allianceauth/analytics/models.py:30
|
||||
msgid "Google Analytics V4"
|
||||
@@ -48,55 +50,48 @@ msgstr "Email"
|
||||
#, python-format
|
||||
msgid "You are not allowed to add or remove these restricted groups: %s"
|
||||
msgstr ""
|
||||
"Vous n'avez pas l’autorisation d'ajouter ou d'enlever ces groupes "
|
||||
"restreints: %s"
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:89
|
||||
msgid "English"
|
||||
msgstr "Anglais"
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:90
|
||||
msgid "German"
|
||||
msgstr "Allemand"
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:91
|
||||
msgid "Spanish"
|
||||
msgstr "Espagnol"
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:92
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "Chinois simplifié"
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:93
|
||||
msgid "Russian"
|
||||
msgstr "Russe"
|
||||
|
||||
#: allianceauth/authentication/models.py:85
|
||||
#: allianceauth/project_template/project_name/settings/base.py:94
|
||||
msgid "Korean"
|
||||
msgstr "Coréen"
|
||||
|
||||
#: allianceauth/authentication/models.py:86
|
||||
#: allianceauth/project_template/project_name/settings/base.py:95
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
#: allianceauth/authentication/models.py:87
|
||||
#: allianceauth/project_template/project_name/settings/base.py:96
|
||||
msgid "Japanese"
|
||||
msgstr "Japonais"
|
||||
|
||||
#: allianceauth/authentication/models.py:88
|
||||
#: allianceauth/project_template/project_name/settings/base.py:97
|
||||
msgid "Italian"
|
||||
msgstr "Italien"
|
||||
|
||||
#: allianceauth/authentication/models.py:91
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
msgstr "Langue"
|
||||
|
||||
#: allianceauth/authentication/models.py:96
|
||||
#: allianceauth/templates/allianceauth/night-toggle.html:6
|
||||
@@ -179,19 +174,21 @@ msgstr "Connexion"
|
||||
|
||||
#: allianceauth/authentication/templates/public/login.html:10
|
||||
msgid "Login with Eve SSO"
|
||||
msgstr ""
|
||||
msgstr "Connexion avec Eve SSO"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:24
|
||||
msgid "For information on SSO, ESI and security read the CCP Dev Blog"
|
||||
msgstr ""
|
||||
"Pour de l'information sur le SSO, le ESI et la sécurité, lisez le blog de "
|
||||
"développeur CCP"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:26
|
||||
msgid "Introducing ESI - A New API For Eve Online"
|
||||
msgstr ""
|
||||
msgstr "Présentation d'ESI, une nouvelle API pour Eve Online."
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:32
|
||||
msgid "Manage ESI Applications"
|
||||
msgstr ""
|
||||
msgstr "Gestion des Application ESI"
|
||||
|
||||
#: allianceauth/authentication/templates/public/register.html:6
|
||||
msgid "Registration"
|
||||
@@ -614,11 +611,11 @@ msgstr "Aucun lien FAT enregistré"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:218
|
||||
msgid "Character does not exist"
|
||||
msgstr ""
|
||||
msgstr "Le personnage n'existe pas"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:221
|
||||
msgid "User does not exist"
|
||||
msgstr ""
|
||||
msgstr "L'utilisateur n'existe pas"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:299
|
||||
msgid "Fleet participation registered."
|
||||
@@ -634,6 +631,8 @@ msgid ""
|
||||
"Cannot register the fleet participation for {character.character_name}. The "
|
||||
"character needs to be online."
|
||||
msgstr ""
|
||||
"Impossible d'enregistrer la participation pour {character.character_name}. "
|
||||
"Le personnage doit être en ligne."
|
||||
|
||||
#: allianceauth/groupmanagement/auth_hooks.py:17
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:13
|
||||
@@ -642,15 +641,15 @@ msgstr "Gestion de groupe"
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:15
|
||||
msgid "This name has been reserved and can not be used for groups."
|
||||
msgstr ""
|
||||
msgstr "Ce nom a été réserver et il ne peut être utilisé pour les groupes."
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:25
|
||||
msgid "(auto)"
|
||||
msgstr ""
|
||||
msgstr "(automatique)"
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:34
|
||||
msgid "There already exists a group with that name."
|
||||
msgstr ""
|
||||
msgstr "Il existe déjà un groupe portant ce nom."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:105
|
||||
msgid ""
|
||||
@@ -658,16 +657,25 @@ msgid ""
|
||||
"group.<br>Used for groups such as Members, Corp_*, Alliance_* "
|
||||
"etc.<br><b>Overrides Hidden and Open options when selected.</b>"
|
||||
msgstr ""
|
||||
"Groupe interne, les utilisateurs ne peuvent pas voir, rejoindre ou demander "
|
||||
"de rejoindre ce groupe.<br> Utilisé pour les groupes comme, Membres, "
|
||||
"Corporations _*, Alliance etc.<br><b> Annule les options masquer et exposer "
|
||||
"quand sélectionner."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:113
|
||||
msgid "Group is hidden from users but can still join with the correct link."
|
||||
msgstr ""
|
||||
"Le groupe est caché aux utilisateurs, mais ils peuvent toujours rejoindre "
|
||||
"avec le bon lien."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:119
|
||||
msgid ""
|
||||
"Group is open and users will be automatically added upon request.<br>If the "
|
||||
"group is not open users will need their request manually approved."
|
||||
msgstr ""
|
||||
"Le groupe est ouvert, et les utilisateurs seront automatiquement ajoutés sur"
|
||||
" demande. <br> Si le groupe n’est pas ouvert, les utilisateurs auront besoin"
|
||||
" que leurs demandes soit approuvées manuellement."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:126
|
||||
msgid ""
|
||||
@@ -676,12 +684,18 @@ msgid ""
|
||||
"remove users from this group automatically when they are no longer "
|
||||
"authenticated."
|
||||
msgstr ""
|
||||
"Le groupe est public. Tout utilisateur enregistré peut rejoindre ce groupe, "
|
||||
"avec une visibilité basée sur les autres options définies pour ce "
|
||||
"groupe.<br> L' Auth ne supprimera pas automatiquement les utilisateurs de ce"
|
||||
" groupe lorsqu’ils ne seront plus authentifiés."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:135
|
||||
msgid ""
|
||||
"Group is restricted. This means that adding or removing users for this group"
|
||||
" requires a superuser admin."
|
||||
msgstr ""
|
||||
"Le groupe est restreint. Cela signifie que l’ajout ou la suppression "
|
||||
"d’utilisateurs pour ce groupe nécessite un administrateur superutilisateur."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:144
|
||||
msgid ""
|
||||
@@ -707,38 +721,40 @@ msgstr ""
|
||||
msgid ""
|
||||
"Short description <i>(max. 512 characters)</i> of the group shown to users."
|
||||
msgstr ""
|
||||
"Brève description <i> (512 caractères maximum) </i> du groupe présenté aux "
|
||||
"utilisateurs."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:178
|
||||
msgid "Can request non-public groups"
|
||||
msgstr ""
|
||||
msgstr "Peut demander des groupes non publics"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:209
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
msgstr "Nom"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:212
|
||||
msgid "Name that can not be used for groups."
|
||||
msgstr ""
|
||||
msgstr "Nom qui ne peut pas être utilisé pour les groupes."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:215
|
||||
msgid "reason"
|
||||
msgstr ""
|
||||
msgstr "raison"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:215
|
||||
msgid "Reason why this name is reserved."
|
||||
msgstr ""
|
||||
msgstr "Raison pour laquelle ce nom est réservé."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:218
|
||||
msgid "created by"
|
||||
msgstr ""
|
||||
msgstr "créé par"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:223
|
||||
msgid "created at"
|
||||
msgstr ""
|
||||
msgstr "créé à"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:223
|
||||
msgid "Date when this entry was created"
|
||||
msgstr ""
|
||||
msgstr "Date de création de cette entrée"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:4
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:13
|
||||
@@ -868,7 +884,7 @@ msgstr "Voir les membres"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:59
|
||||
msgid "Audit Members"
|
||||
msgstr ""
|
||||
msgstr "Membres de l'audit"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:63
|
||||
msgid "Copy Direct Join Link"
|
||||
@@ -1274,7 +1290,7 @@ msgstr "Titre"
|
||||
|
||||
#: allianceauth/notifications/templates/notifications/list_partial.html:28
|
||||
msgid "No notifications."
|
||||
msgstr ""
|
||||
msgstr "Aucune notification."
|
||||
|
||||
#: allianceauth/notifications/templates/notifications/view.html:4
|
||||
#: allianceauth/notifications/templates/notifications/view.html:8
|
||||
@@ -1322,7 +1338,7 @@ msgstr "Nom de l'opération"
|
||||
|
||||
#: allianceauth/optimer/form.py:16
|
||||
msgid "Operation Type"
|
||||
msgstr ""
|
||||
msgstr "Type d'opération"
|
||||
|
||||
#: allianceauth/optimer/form.py:17
|
||||
#: allianceauth/srp/templates/srp/management.html:38
|
||||
@@ -1336,7 +1352,7 @@ msgstr "Information additionnelle"
|
||||
|
||||
#: allianceauth/optimer/form.py:23
|
||||
msgid "(Optional) Describe the operation with a couple of short words."
|
||||
msgstr ""
|
||||
msgstr "(Facultatif) Décrivez l'opération en quelques mots."
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/add.html:6
|
||||
#: allianceauth/optimer/templates/optimer/management.html:13
|
||||
@@ -1373,7 +1389,7 @@ msgstr "Heure d'Eve actuelle:"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:26
|
||||
msgid "Next Fleet Operations"
|
||||
msgstr ""
|
||||
msgstr "Prochaines opérations de la flotte"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:30
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:362
|
||||
@@ -1382,7 +1398,7 @@ msgstr "Aucun minuteur à venir."
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:33
|
||||
msgid "Past Fleet Operations"
|
||||
msgstr ""
|
||||
msgstr "Opérations passées de la flotte"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:37
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:535
|
||||
@@ -1830,7 +1846,7 @@ msgstr ""
|
||||
#: allianceauth/services/templates/services/service_credentials.html:8
|
||||
#, python-format
|
||||
msgid "%(service_name)s Credentials"
|
||||
msgstr ""
|
||||
msgstr "%(service_name)sInformations d'identification"
|
||||
|
||||
#: allianceauth/services/templates/services/service_password.html:5
|
||||
#, python-format
|
||||
@@ -1890,7 +1906,7 @@ msgstr "Lien non valide. Veuillez poster un lien direct vers un Killmail."
|
||||
|
||||
#: allianceauth/srp/form.py:53
|
||||
msgid "After Action Report Link"
|
||||
msgstr ""
|
||||
msgstr "Lien vers le rapport après action"
|
||||
|
||||
#: allianceauth/srp/templates/srp/add.html:5
|
||||
msgid "SRP Fleet Create"
|
||||
@@ -1907,7 +1923,7 @@ msgstr "Donner ce lien aux membres de la flotte"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:5
|
||||
msgid "Srp Fleet Data"
|
||||
msgstr ""
|
||||
msgstr "Données de flotte SRP"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:50
|
||||
msgid "SRP Fleet Data"
|
||||
@@ -1965,7 +1981,7 @@ msgstr ""
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:98
|
||||
msgid "Post Time"
|
||||
msgstr ""
|
||||
msgstr "Heure de publication"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:175
|
||||
msgid "No SRP requests for this fleet."
|
||||
@@ -2069,17 +2085,17 @@ msgstr "Flotte SRP %(fleetname)sActive."
|
||||
#: allianceauth/srp/views.py:140
|
||||
#, python-format
|
||||
msgid "Marked SRP fleet %(fleetname)s as completed."
|
||||
msgstr ""
|
||||
msgstr "Flotte SRP marquée %(fleetname)s comme terminée."
|
||||
|
||||
#: allianceauth/srp/views.py:153
|
||||
#, python-format
|
||||
msgid "Marked SRP fleet %(fleetname)s as incomplete."
|
||||
msgstr ""
|
||||
msgstr "Flotte SRP %(fleetname)smarquée comme incomplète."
|
||||
|
||||
#: allianceauth/srp/views.py:165
|
||||
#, python-format
|
||||
msgid "Unable to locate SRP code with ID %(srpfleetid)s"
|
||||
msgstr ""
|
||||
msgstr "Impossible de localiser le code SRP avec l'ID %(srpfleetid)s"
|
||||
|
||||
#: allianceauth/srp/views.py:179
|
||||
msgid "This kill mail has already been posted."
|
||||
@@ -2096,7 +2112,7 @@ msgstr ""
|
||||
#: allianceauth/srp/views.py:212
|
||||
#, python-format
|
||||
msgid "Submitted SRP request for your %(ship)s."
|
||||
msgstr ""
|
||||
msgstr "Demande SRP soumise pour votre. %(ship)s"
|
||||
|
||||
#: allianceauth/srp/views.py:216
|
||||
#, python-format
|
||||
@@ -2104,6 +2120,8 @@ msgid ""
|
||||
"Character %(charid)s does not belong to your Auth account. Please add the "
|
||||
"API key for this character and try again"
|
||||
msgstr ""
|
||||
"Le personnage%(charid)s n'appartient pas à votre compte Auth. Ajoutez la clé"
|
||||
" API pour ce personnage et réessayez"
|
||||
|
||||
#: allianceauth/srp/views.py:236 allianceauth/srp/views.py:262
|
||||
#: allianceauth/srp/views.py:300
|
||||
@@ -2131,17 +2149,17 @@ msgstr "Impossible à trouver, veuillez sélectionner une autre requête SRP"
|
||||
#: allianceauth/srp/views.py:323
|
||||
#, python-format
|
||||
msgid "Rejected %(numrequests)s SRP requests."
|
||||
msgstr ""
|
||||
msgstr "Requêtes %(numrequests)s SRP rejetées."
|
||||
|
||||
#: allianceauth/srp/views.py:336
|
||||
#, python-format
|
||||
msgid "Unable to locate SRP request with ID %(requestid)s"
|
||||
msgstr ""
|
||||
msgstr "Impossible de localiser la demande SRP avec l'ID %(requestid)s"
|
||||
|
||||
#: allianceauth/srp/views.py:360
|
||||
#, python-format
|
||||
msgid "Saved changes to SRP fleet %(fleetname)s"
|
||||
msgstr ""
|
||||
msgstr "Modifications enregistrées de la flotte SRP%(fleetname)s"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:8
|
||||
msgid "Alliance Auth Notifications"
|
||||
@@ -2194,6 +2212,9 @@ msgid ""
|
||||
" Status of %(total)s processed tasks • last %(latest)s\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"État des tâches %(total)s traitées • dernier %(latest)s\n"
|
||||
" "
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
|
||||
#, python-format
|
||||
@@ -2202,6 +2223,9 @@ msgid ""
|
||||
" %(queue_length)s queued tasks\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" %(queue_length)stâches en file d'attente\n"
|
||||
" "
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
|
||||
msgid "Admin"
|
||||
|
||||
Binary file not shown.
@@ -5,17 +5,17 @@
|
||||
#
|
||||
# Translators:
|
||||
# Alessandro Cresti, 2021
|
||||
# Linus Hope, 2021
|
||||
# Linus Hope, 2023
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-14 23:17+1000\n"
|
||||
"POT-Creation-Date: 2022-10-09 18:20+1000\n"
|
||||
"PO-Revision-Date: 2020-02-18 03:14+0000\n"
|
||||
"Last-Translator: Linus Hope, 2021\n"
|
||||
"Language-Team: Italian (Italy) (https://www.transifex.com/alliance-auth/teams/107430/it_IT/)\n"
|
||||
"Last-Translator: Linus Hope, 2023\n"
|
||||
"Language-Team: Italian (Italy) (https://app.transifex.com/alliance-auth/teams/107430/it_IT/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -24,11 +24,11 @@ msgstr ""
|
||||
|
||||
#: allianceauth/analytics/models.py:29
|
||||
msgid "Google Analytics Universal"
|
||||
msgstr ""
|
||||
msgstr "Google Analytics Universal"
|
||||
|
||||
#: allianceauth/analytics/models.py:30
|
||||
msgid "Google Analytics V4"
|
||||
msgstr ""
|
||||
msgstr "Google Analytics V4"
|
||||
|
||||
#: allianceauth/authentication/decorators.py:37
|
||||
msgid "A main character is required to perform that action. Add one below."
|
||||
@@ -38,76 +38,67 @@ msgstr ""
|
||||
|
||||
#: allianceauth/authentication/forms.py:12
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
msgstr "Indirizzo di posta elettronica"
|
||||
|
||||
#: allianceauth/authentication/forms.py:62
|
||||
#, python-format
|
||||
msgid "You are not allowed to add or remove these restricted groups: %s"
|
||||
msgstr ""
|
||||
msgstr "Non ti è consentito aggiungere o rimuovere questi gruppi limitati:%s"
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:89
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
msgstr "Inglese"
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:90
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
msgstr "Tedesco"
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:91
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
msgstr "Spagnolo"
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:92
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
msgstr "Cinese semplificato"
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:93
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
msgstr "Russo"
|
||||
|
||||
#: allianceauth/authentication/models.py:85
|
||||
#: allianceauth/project_template/project_name/settings/base.py:94
|
||||
msgid "Korean"
|
||||
msgstr ""
|
||||
msgstr "Coreano"
|
||||
|
||||
#: allianceauth/authentication/models.py:86
|
||||
#: allianceauth/project_template/project_name/settings/base.py:95
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
msgstr "Francese"
|
||||
|
||||
#: allianceauth/authentication/models.py:87
|
||||
#: allianceauth/project_template/project_name/settings/base.py:96
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
msgstr "Giapponese"
|
||||
|
||||
#: allianceauth/authentication/models.py:88
|
||||
#: allianceauth/project_template/project_name/settings/base.py:97
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
msgstr "Italiano"
|
||||
|
||||
#: allianceauth/authentication/models.py:91
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
msgstr "Lingua"
|
||||
|
||||
#: allianceauth/authentication/models.py:96
|
||||
#: allianceauth/templates/allianceauth/night-toggle.html:6
|
||||
msgid "Night Mode"
|
||||
msgstr ""
|
||||
msgstr "Modalità scura"
|
||||
|
||||
#: allianceauth/authentication/models.py:110
|
||||
#, python-format
|
||||
msgid "State changed to: %s"
|
||||
msgstr ""
|
||||
msgstr "Stato modificato a: %s"
|
||||
|
||||
#: allianceauth/authentication/models.py:111
|
||||
#, python-format
|
||||
msgid "Your user's state is now: %(state)s"
|
||||
msgstr ""
|
||||
msgstr "Il tuo stato utente è ora: %(state)s"
|
||||
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:4
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:7
|
||||
@@ -172,23 +163,25 @@ msgstr "Alleanza"
|
||||
#: allianceauth/authentication/templates/public/login.html:6
|
||||
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:58
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "Accedi"
|
||||
|
||||
#: allianceauth/authentication/templates/public/login.html:10
|
||||
msgid "Login with Eve SSO"
|
||||
msgstr ""
|
||||
msgstr "Accedi con EVE SSO"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:24
|
||||
msgid "For information on SSO, ESI and security read the CCP Dev Blog"
|
||||
msgstr ""
|
||||
"Per ulteriori informazioni riguardo a SSO, ESI e sicurezza consulta il CCP "
|
||||
"Dev Blog"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:26
|
||||
msgid "Introducing ESI - A New API For Eve Online"
|
||||
msgstr ""
|
||||
msgstr "Introducendo ESI - Una nuova API per Eve Online"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:32
|
||||
msgid "Manage ESI Applications"
|
||||
msgstr ""
|
||||
msgstr "Gestisci applicazioni ESI"
|
||||
|
||||
#: allianceauth/authentication/templates/public/register.html:6
|
||||
msgid "Registration"
|
||||
@@ -230,7 +223,7 @@ msgstr ""
|
||||
|
||||
#: allianceauth/authentication/views.py:133
|
||||
msgid "Unable to authenticate as the selected character."
|
||||
msgstr ""
|
||||
msgstr "Impossibile autenticarsi con il personaggio selezioanto."
|
||||
|
||||
#: allianceauth/authentication/views.py:197
|
||||
msgid "Registration token has expired."
|
||||
@@ -322,7 +315,7 @@ msgstr "Corporazione"
|
||||
#: allianceauth/corputils/templates/corputils/corpstats.html:167
|
||||
#: allianceauth/corputils/templates/corputils/search.html:27
|
||||
msgid "Killboard"
|
||||
msgstr ""
|
||||
msgstr "Killboard"
|
||||
|
||||
#: allianceauth/corputils/templates/corputils/corpstats.html:114
|
||||
#: allianceauth/corputils/templates/corputils/search.html:16
|
||||
@@ -350,11 +343,11 @@ msgstr "Cerca risultati"
|
||||
|
||||
#: allianceauth/corputils/templates/corputils/search.html:15
|
||||
msgid "zKillboard"
|
||||
msgstr ""
|
||||
msgstr "zKillboard"
|
||||
|
||||
#: allianceauth/corputils/views.py:54
|
||||
msgid "Selected corp already has a statistics module."
|
||||
msgstr ""
|
||||
msgstr "La corporazione selezionata dispone già di un modulo statistiche."
|
||||
|
||||
#: allianceauth/corputils/views.py:56
|
||||
msgid "Failed to gather corporation statistics with selected token."
|
||||
@@ -410,7 +403,7 @@ msgstr "Crea Fatlink"
|
||||
#: allianceauth/optimer/templates/optimer/add.html:13
|
||||
#: allianceauth/optimer/templates/optimer/add.html:22
|
||||
msgid "Create Fleet Operation"
|
||||
msgstr ""
|
||||
msgstr "Crea Fleet Operation"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkformatter.html:13
|
||||
msgid "Bad request!"
|
||||
@@ -508,7 +501,7 @@ msgstr[2] "%(user)s ha ottenuto %(links)s links questo mese."
|
||||
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:26
|
||||
msgid "Times used"
|
||||
msgstr ""
|
||||
msgstr "Numero di volte utilizzato"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:37
|
||||
#, python-format
|
||||
@@ -565,7 +558,7 @@ msgstr "Mese"
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:22
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:23
|
||||
msgid "Fats"
|
||||
msgstr ""
|
||||
msgstr "Fats"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:4
|
||||
msgid "Fatlink Corp Statistics"
|
||||
@@ -614,11 +607,11 @@ msgstr "Nessun fatlink documentato."
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:218
|
||||
msgid "Character does not exist"
|
||||
msgstr ""
|
||||
msgstr "Il personaggio non esiste"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:221
|
||||
msgid "User does not exist"
|
||||
msgstr ""
|
||||
msgstr "L'utente non esiste"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:299
|
||||
msgid "Fleet participation registered."
|
||||
@@ -634,23 +627,25 @@ msgid ""
|
||||
"Cannot register the fleet participation for {character.character_name}. The "
|
||||
"character needs to be online."
|
||||
msgstr ""
|
||||
"Impossibile registrare la partecipazione alla flotta per "
|
||||
"{character.character_name}. Il personaggio deve essere online."
|
||||
|
||||
#: allianceauth/groupmanagement/auth_hooks.py:17
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:13
|
||||
msgid "Group Management"
|
||||
msgstr ""
|
||||
msgstr "Gestione gruppi"
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:15
|
||||
msgid "This name has been reserved and can not be used for groups."
|
||||
msgstr ""
|
||||
msgstr "Questo nome è riservato e non può essere utilizzato per gruppi."
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:25
|
||||
msgid "(auto)"
|
||||
msgstr ""
|
||||
msgstr "(auto)"
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:34
|
||||
msgid "There already exists a group with that name."
|
||||
msgstr ""
|
||||
msgstr "Esiste già un gruppo con quel nome."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:105
|
||||
msgid ""
|
||||
@@ -658,16 +653,25 @@ msgid ""
|
||||
"group.<br>Used for groups such as Members, Corp_*, Alliance_* "
|
||||
"etc.<br><b>Overrides Hidden and Open options when selected.</b>"
|
||||
msgstr ""
|
||||
"Gruppo interno, gli utenti non possono vedere, unirsi o fare richiesta di "
|
||||
"adesione a questo gruppo. <br>Utilizzato per gruppi come Membri, Corpazioni,"
|
||||
" Alleanze, etc. <br><b>Sovrascrive opzioni nascoste e aperte quando "
|
||||
"seleazionato."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:113
|
||||
msgid "Group is hidden from users but can still join with the correct link."
|
||||
msgstr ""
|
||||
"Il gruppo è nascosto agli utenti ma questi vi possono aderire utilizzando il"
|
||||
" link corretto. "
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:119
|
||||
msgid ""
|
||||
"Group is open and users will be automatically added upon request.<br>If the "
|
||||
"group is not open users will need their request manually approved."
|
||||
msgstr ""
|
||||
"Il gruppo è aperto e gli utenti saranno automaticamente aggiunti a seguito "
|
||||
"richiesta. <br>Se il gruppo non è aperto gli utenti dovranno necessitare di "
|
||||
"approvazione manuale."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:126
|
||||
msgid ""
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -17,10 +17,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-14 23:17+1000\n"
|
||||
"POT-Creation-Date: 2022-10-09 18:20+1000\n"
|
||||
"PO-Revision-Date: 2020-02-18 03:14+0000\n"
|
||||
"Last-Translator: jackfrost, 2022\n"
|
||||
"Language-Team: Korean (Korea) (https://www.transifex.com/alliance-auth/teams/107430/ko_KR/)\n"
|
||||
"Language-Team: Korean (Korea) (https://app.transifex.com/alliance-auth/teams/107430/ko_KR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -49,47 +49,38 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:89
|
||||
msgid "English"
|
||||
msgstr "영어"
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:90
|
||||
msgid "German"
|
||||
msgstr "독일어"
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:91
|
||||
msgid "Spanish"
|
||||
msgstr "스페인어"
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:92
|
||||
msgid "Chinese Simplified"
|
||||
msgstr "간체자"
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:93
|
||||
msgid "Russian"
|
||||
msgstr "러시아어"
|
||||
|
||||
#: allianceauth/authentication/models.py:85
|
||||
#: allianceauth/project_template/project_name/settings/base.py:94
|
||||
msgid "Korean"
|
||||
msgstr "한국어"
|
||||
|
||||
#: allianceauth/authentication/models.py:86
|
||||
#: allianceauth/project_template/project_name/settings/base.py:95
|
||||
msgid "French"
|
||||
msgstr "프랑스어"
|
||||
|
||||
#: allianceauth/authentication/models.py:87
|
||||
#: allianceauth/project_template/project_name/settings/base.py:96
|
||||
msgid "Japanese"
|
||||
msgstr "일본어"
|
||||
|
||||
#: allianceauth/authentication/models.py:88
|
||||
#: allianceauth/project_template/project_name/settings/base.py:97
|
||||
msgid "Italian"
|
||||
msgstr "이탈리아어"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,16 +7,17 @@
|
||||
# Alexander Gess <de.alex.gess@gmail.com>, 2020
|
||||
# Yuriy K <thedjcooltv@gmail.com>, 2020
|
||||
# Андрей Зубков <and.vareba81@gmail.com>, 2020
|
||||
# Filipp Chertiev <f@fzfx.ru>, 2023
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-14 23:17+1000\n"
|
||||
"POT-Creation-Date: 2022-10-09 18:20+1000\n"
|
||||
"PO-Revision-Date: 2020-02-18 03:14+0000\n"
|
||||
"Last-Translator: Андрей Зубков <and.vareba81@gmail.com>, 2020\n"
|
||||
"Language-Team: Russian (https://www.transifex.com/alliance-auth/teams/107430/ru/)\n"
|
||||
"Last-Translator: Filipp Chertiev <f@fzfx.ru>, 2023\n"
|
||||
"Language-Team: Russian (https://app.transifex.com/alliance-auth/teams/107430/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -25,15 +26,16 @@ msgstr ""
|
||||
|
||||
#: allianceauth/analytics/models.py:29
|
||||
msgid "Google Analytics Universal"
|
||||
msgstr ""
|
||||
msgstr "Google Analytics Universal"
|
||||
|
||||
#: allianceauth/analytics/models.py:30
|
||||
msgid "Google Analytics V4"
|
||||
msgstr ""
|
||||
msgstr "Google Analytics V4"
|
||||
|
||||
#: allianceauth/authentication/decorators.py:37
|
||||
msgid "A main character is required to perform that action. Add one below."
|
||||
msgstr "Необходимо указать основного персонажа. Добавим?"
|
||||
msgstr ""
|
||||
"Для продолжения следует указать основного персонажа. Выберите его ниже."
|
||||
|
||||
#: allianceauth/authentication/forms.py:12
|
||||
msgid "Email"
|
||||
@@ -42,61 +44,52 @@ msgstr "Email"
|
||||
#: allianceauth/authentication/forms.py:62
|
||||
#, python-format
|
||||
msgid "You are not allowed to add or remove these restricted groups: %s"
|
||||
msgstr ""
|
||||
msgstr "Вам не разрешено добавлять или удалять эти ограниченные группы: %s"
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:89
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
msgstr "Английский"
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:90
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
msgstr "Немецкий"
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:91
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
msgstr "Испанский"
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:92
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
msgstr "Китайский упрощённый"
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:93
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
msgstr "Русский"
|
||||
|
||||
#: allianceauth/authentication/models.py:85
|
||||
#: allianceauth/project_template/project_name/settings/base.py:94
|
||||
msgid "Korean"
|
||||
msgstr ""
|
||||
msgstr "Корейский"
|
||||
|
||||
#: allianceauth/authentication/models.py:86
|
||||
#: allianceauth/project_template/project_name/settings/base.py:95
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
msgstr "Французский"
|
||||
|
||||
#: allianceauth/authentication/models.py:87
|
||||
#: allianceauth/project_template/project_name/settings/base.py:96
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
msgstr "Японский"
|
||||
|
||||
#: allianceauth/authentication/models.py:88
|
||||
#: allianceauth/project_template/project_name/settings/base.py:97
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
msgstr "Итальянский"
|
||||
|
||||
#: allianceauth/authentication/models.py:91
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
msgstr "Язык"
|
||||
|
||||
#: allianceauth/authentication/models.py:96
|
||||
#: allianceauth/templates/allianceauth/night-toggle.html:6
|
||||
msgid "Night Mode"
|
||||
msgstr ""
|
||||
msgstr "Ночной режим"
|
||||
|
||||
#: allianceauth/authentication/models.py:110
|
||||
#, python-format
|
||||
@@ -122,7 +115,7 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Основной персонаж (статус: %(state)s)\n"
|
||||
" Основной персонаж (статус: %(state)s)\n"
|
||||
" "
|
||||
|
||||
#: allianceauth/authentication/templates/authentication/dashboard.html:101
|
||||
@@ -175,23 +168,24 @@ msgstr "Вход"
|
||||
|
||||
#: allianceauth/authentication/templates/public/login.html:10
|
||||
msgid "Login with Eve SSO"
|
||||
msgstr ""
|
||||
msgstr "Зайти с помощью EVE SSO"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:24
|
||||
msgid "For information on SSO, ESI and security read the CCP Dev Blog"
|
||||
msgstr ""
|
||||
"Информацию по SSO, ESI и вопросам безопасности читайте в блоге CCP Dev"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:26
|
||||
msgid "Introducing ESI - A New API For Eve Online"
|
||||
msgstr ""
|
||||
msgstr "Введение в ESI — новое API для EVE Online"
|
||||
|
||||
#: allianceauth/authentication/templates/public/middle_box.html:32
|
||||
msgid "Manage ESI Applications"
|
||||
msgstr ""
|
||||
msgstr "Управление приложениями ESI"
|
||||
|
||||
#: allianceauth/authentication/templates/public/register.html:6
|
||||
msgid "Registration"
|
||||
msgstr ""
|
||||
msgstr "Регистрация"
|
||||
|
||||
#: allianceauth/authentication/templates/public/register.html:21
|
||||
msgid "Register"
|
||||
@@ -314,7 +308,7 @@ msgstr "Корпорация"
|
||||
#: allianceauth/corputils/templates/corputils/corpstats.html:167
|
||||
#: allianceauth/corputils/templates/corputils/search.html:27
|
||||
msgid "Killboard"
|
||||
msgstr "zKillBoard"
|
||||
msgstr "Killboard"
|
||||
|
||||
#: allianceauth/corputils/templates/corputils/corpstats.html:114
|
||||
#: allianceauth/corputils/templates/corputils/search.html:16
|
||||
@@ -342,7 +336,7 @@ msgstr "Результаты поиска:"
|
||||
|
||||
#: allianceauth/corputils/templates/corputils/search.html:15
|
||||
msgid "zKillboard"
|
||||
msgstr "zKillBoard"
|
||||
msgstr "zKillboard"
|
||||
|
||||
#: allianceauth/corputils/views.py:54
|
||||
msgid "Selected corp already has a statistics module."
|
||||
@@ -607,11 +601,11 @@ msgstr "Нет закрепленных ФлАк ссылок в записи"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:218
|
||||
msgid "Character does not exist"
|
||||
msgstr ""
|
||||
msgstr "Персонаж не существует"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:221
|
||||
msgid "User does not exist"
|
||||
msgstr ""
|
||||
msgstr "Пользователь не существует"
|
||||
|
||||
#: allianceauth/fleetactivitytracking/views.py:299
|
||||
msgid "Fleet participation registered."
|
||||
@@ -627,6 +621,8 @@ msgid ""
|
||||
"Cannot register the fleet participation for {character.character_name}. The "
|
||||
"character needs to be online."
|
||||
msgstr ""
|
||||
"Не могу зарегистрировать ФлАк для {character.character_name}. Персонаж "
|
||||
"должен быть онлайн."
|
||||
|
||||
#: allianceauth/groupmanagement/auth_hooks.py:17
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:13
|
||||
@@ -636,14 +632,15 @@ msgstr "Управление Группой"
|
||||
#: allianceauth/groupmanagement/forms.py:15
|
||||
msgid "This name has been reserved and can not be used for groups."
|
||||
msgstr ""
|
||||
"Это имя является зарезервированным и не может быть использовано для групп."
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:25
|
||||
msgid "(auto)"
|
||||
msgstr ""
|
||||
msgstr "(авто)"
|
||||
|
||||
#: allianceauth/groupmanagement/forms.py:34
|
||||
msgid "There already exists a group with that name."
|
||||
msgstr ""
|
||||
msgstr "Группа с таким именем уже существует."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:105
|
||||
msgid ""
|
||||
@@ -651,16 +648,25 @@ msgid ""
|
||||
"group.<br>Used for groups such as Members, Corp_*, Alliance_* "
|
||||
"etc.<br><b>Overrides Hidden and Open options when selected.</b>"
|
||||
msgstr ""
|
||||
"Внутренняя группа, пользователи не могут видеть эту группу, присоединяться к"
|
||||
" ней или подавать запрос на присоединение.<br>Используется таких групп как "
|
||||
"Members, Corp_*, Alliance_* и т. п.<br><b>Будучи выбранной, отменяет "
|
||||
"настройки \"Скрытая\" и \"Открытая\".</b>"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:113
|
||||
msgid "Group is hidden from users but can still join with the correct link."
|
||||
msgstr ""
|
||||
"Группы скрыты от пользователей, но к ним всё ещё можно присоединиться с "
|
||||
"помощью корректной ссылки."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:119
|
||||
msgid ""
|
||||
"Group is open and users will be automatically added upon request.<br>If the "
|
||||
"group is not open users will need their request manually approved."
|
||||
msgstr ""
|
||||
"Группа является открытой, пользователи будут автоматически добавлены в неё "
|
||||
"при отправке запроса.<br>Если группа не является открытой, запросы от "
|
||||
"пользователей будут требовать ручного подтверждения."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:126
|
||||
msgid ""
|
||||
@@ -669,12 +675,18 @@ msgid ""
|
||||
"remove users from this group automatically when they are no longer "
|
||||
"authenticated."
|
||||
msgstr ""
|
||||
"Группа является публичной. Любые зарегистрированные пользователи могут "
|
||||
"присоединиться к этой группе, настройки видимости будут основаны на других "
|
||||
"настройках данной группы.<br>Auth не будет удалять пользователей из этой "
|
||||
"группы автоматически при окончании срока их аутентификации."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:135
|
||||
msgid ""
|
||||
"Group is restricted. This means that adding or removing users for this group"
|
||||
" requires a superuser admin."
|
||||
msgstr ""
|
||||
"Группа является ограниченной. Это значит что добавление пользователей в эту "
|
||||
"группу или удаление из неё требует прав superuser admin."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:144
|
||||
msgid ""
|
||||
@@ -682,6 +694,9 @@ msgid ""
|
||||
"<code>auth.group_management</code> permission to allow a user to manage all "
|
||||
"groups.<br>"
|
||||
msgstr ""
|
||||
"Лидеры группы могут обрабатывать запросы, относящиеся к этой группе. "
|
||||
"Используйте разрешение <code>auth.group_management</code>, чтобы позволить "
|
||||
"пользователю управлять всеми группами.<br>"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:154
|
||||
msgid ""
|
||||
@@ -689,49 +704,56 @@ msgid ""
|
||||
"<code>auth.group_management</code> permission to allow a user to manage all "
|
||||
"groups.<br>"
|
||||
msgstr ""
|
||||
"Члены групп лидеров могут обрабатывать запросы, относящиеся к этой группе. "
|
||||
"Используйте разрешение <code>auth.group_management</code>, чтобы позволить "
|
||||
"пользователю управлять всеми группами.<br>"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:163
|
||||
msgid ""
|
||||
"States listed here will have the ability to join this group provided they "
|
||||
"have the proper permissions.<br>"
|
||||
msgstr ""
|
||||
"Статусы, перечисленные здесь, смогут присоединиться к группе, если у них "
|
||||
"есть соответствующие разрешения.<br>"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:171
|
||||
msgid ""
|
||||
"Short description <i>(max. 512 characters)</i> of the group shown to users."
|
||||
msgstr ""
|
||||
"Краткое описание <i>(макс. 512 символов)</i> группы, отображаемое "
|
||||
"пользователям."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:178
|
||||
msgid "Can request non-public groups"
|
||||
msgstr ""
|
||||
msgstr "Можно отправлять запрос на непубличную группу."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:209
|
||||
msgid "name"
|
||||
msgstr ""
|
||||
msgstr "имя"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:212
|
||||
msgid "Name that can not be used for groups."
|
||||
msgstr ""
|
||||
msgstr "Имя, которое не может быть использовано для групп."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:215
|
||||
msgid "reason"
|
||||
msgstr ""
|
||||
msgstr "причина"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:215
|
||||
msgid "Reason why this name is reserved."
|
||||
msgstr ""
|
||||
msgstr "Причина, по которой это имя зарезервировано."
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:218
|
||||
msgid "created by"
|
||||
msgstr ""
|
||||
msgstr "создано кем"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:223
|
||||
msgid "created at"
|
||||
msgstr ""
|
||||
msgstr "создано когда"
|
||||
|
||||
#: allianceauth/groupmanagement/models.py:223
|
||||
msgid "Date when this entry was created"
|
||||
msgstr ""
|
||||
msgstr "Дата, когда данное содержимое было создано"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:4
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:13
|
||||
@@ -773,11 +795,11 @@ msgstr "Исполнитель"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:48
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
msgstr "Удалено"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:60
|
||||
msgid "All times displayed are EVE/UTC."
|
||||
msgstr ""
|
||||
msgstr "Все значения времени отображаются в EVE/ET/UTC."
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:67
|
||||
msgid "No entries found for this group."
|
||||
@@ -797,13 +819,13 @@ msgstr "Корпорация"
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:49
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:75
|
||||
msgid "Group leader"
|
||||
msgstr ""
|
||||
msgstr "Лидер группы"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:60
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:82
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:139
|
||||
msgid "(unknown)"
|
||||
msgstr ""
|
||||
msgstr "(неизвестно)"
|
||||
|
||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:65
|
||||
msgid "Remove from group"
|
||||
@@ -1221,19 +1243,19 @@ msgstr "Откомментировать"
|
||||
|
||||
#: allianceauth/notifications/models.py:21
|
||||
msgid "danger"
|
||||
msgstr ""
|
||||
msgstr "опасн"
|
||||
|
||||
#: allianceauth/notifications/models.py:22
|
||||
msgid "warning"
|
||||
msgstr ""
|
||||
msgstr "упрежд"
|
||||
|
||||
#: allianceauth/notifications/models.py:23
|
||||
msgid "info"
|
||||
msgstr ""
|
||||
msgstr "инфо"
|
||||
|
||||
#: allianceauth/notifications/models.py:24
|
||||
msgid "success"
|
||||
msgstr ""
|
||||
msgstr "успех"
|
||||
|
||||
#: allianceauth/notifications/templates/notifications/list.html:4
|
||||
#: allianceauth/notifications/templates/notifications/list.html:7
|
||||
@@ -1267,7 +1289,7 @@ msgstr "Заголовок"
|
||||
|
||||
#: allianceauth/notifications/templates/notifications/list_partial.html:28
|
||||
msgid "No notifications."
|
||||
msgstr ""
|
||||
msgstr "Нет уведомлений."
|
||||
|
||||
#: allianceauth/notifications/templates/notifications/view.html:4
|
||||
#: allianceauth/notifications/templates/notifications/view.html:8
|
||||
@@ -1315,7 +1337,7 @@ msgstr "Название операции"
|
||||
|
||||
#: allianceauth/optimer/form.py:16
|
||||
msgid "Operation Type"
|
||||
msgstr ""
|
||||
msgstr "Тип операции"
|
||||
|
||||
#: allianceauth/optimer/form.py:17
|
||||
#: allianceauth/srp/templates/srp/management.html:38
|
||||
@@ -1329,7 +1351,7 @@ msgstr "Дополнительная информация"
|
||||
|
||||
#: allianceauth/optimer/form.py:23
|
||||
msgid "(Optional) Describe the operation with a couple of short words."
|
||||
msgstr ""
|
||||
msgstr "(Опционально) Опишите операцию несколькими короткими словами."
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/add.html:6
|
||||
#: allianceauth/optimer/templates/optimer/management.html:13
|
||||
@@ -1366,7 +1388,7 @@ msgstr "Текущий EVE Time:"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:26
|
||||
msgid "Next Fleet Operations"
|
||||
msgstr ""
|
||||
msgstr "Грядущие Флотовые операции"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:30
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:362
|
||||
@@ -1375,7 +1397,7 @@ msgstr "Нет предстоящих таймеров"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:33
|
||||
msgid "Past Fleet Operations"
|
||||
msgstr ""
|
||||
msgstr "Прошлые Флотовые операции"
|
||||
|
||||
#: allianceauth/optimer/templates/optimer/management.html:37
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:535
|
||||
@@ -1455,7 +1477,7 @@ msgstr "Пользователи"
|
||||
|
||||
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:41
|
||||
msgid "States"
|
||||
msgstr "Состояния"
|
||||
msgstr "Статусы"
|
||||
|
||||
#: allianceauth/services/abstract.py:72
|
||||
msgid "That service account already exists"
|
||||
@@ -1464,7 +1486,7 @@ msgstr "Этот сервис уже активирован"
|
||||
#: allianceauth/services/abstract.py:103
|
||||
#, python-brace-format
|
||||
msgid "Successfully set your {self.service_name} password"
|
||||
msgstr ""
|
||||
msgstr "Успешно установлен пароль для вашего {self.setvice_name}"
|
||||
|
||||
#: allianceauth/services/auth_hooks.py:12
|
||||
msgid "Services"
|
||||
@@ -1508,7 +1530,7 @@ msgstr "Назначение:"
|
||||
|
||||
#: allianceauth/services/forms.py:15
|
||||
msgid "Reimbursable?*"
|
||||
msgstr "Конпенсировать?"
|
||||
msgstr "Компенсировать?"
|
||||
|
||||
#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16
|
||||
msgid "Yes"
|
||||
@@ -1539,10 +1561,12 @@ msgid ""
|
||||
"Your Discord account was disabled automatically by Auth. If you think this "
|
||||
"was a mistake, please contact an admin."
|
||||
msgstr ""
|
||||
"Auth автоматически отключил ваш аккаунт Discord. Если вы думаете, что это "
|
||||
"произошло по ошибке, пожалуйста свяжитесь с админом."
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:5
|
||||
msgid "Discord"
|
||||
msgstr ""
|
||||
msgstr "Discord"
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:18
|
||||
msgid "Join the Discord server"
|
||||
@@ -1550,7 +1574,7 @@ msgstr "Подключиться к серверу Discord"
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:22
|
||||
msgid "Leave- and rejoin the Discord Server (Reset)"
|
||||
msgstr "Переподключиться к серверу Discord. "
|
||||
msgstr "Переподключиться к серверу Discord (сброс). "
|
||||
|
||||
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:25
|
||||
msgid "Leave the Discord server"
|
||||
@@ -1605,29 +1629,31 @@ msgstr ""
|
||||
#: allianceauth/services/modules/discourse/views.py:62
|
||||
msgid "Invalid payload. Please contact support if this problem persists."
|
||||
msgstr ""
|
||||
"Недопустимая \"полезная нагрузка\". Пожалуйста свяжитесь с поддержкой, если "
|
||||
"данная проблема будет продолжаться."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:31
|
||||
msgid "Activated IPSuite4 account."
|
||||
msgstr ""
|
||||
msgstr "Активирован аккаунт IPSuite4."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:39
|
||||
#: allianceauth/services/modules/ips4/views.py:60
|
||||
#: allianceauth/services/modules/ips4/views.py:81
|
||||
#: allianceauth/services/modules/ips4/views.py:101
|
||||
msgid "An error occurred while processing your IPSuite4 account."
|
||||
msgstr ""
|
||||
msgstr "Произошла ошибка при работе с вашим аккаунтом IPSuite4."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:52
|
||||
msgid "Reset IPSuite4 password."
|
||||
msgstr ""
|
||||
msgstr "Сбросить пароль IPSuite4."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:78
|
||||
msgid "Set IPSuite4 password."
|
||||
msgstr ""
|
||||
msgstr "Установить пароль IPSuite4."
|
||||
|
||||
#: allianceauth/services/modules/ips4/views.py:98
|
||||
msgid "Deactivated IPSuite4 account."
|
||||
msgstr ""
|
||||
msgstr "Деактивированный аккаунт IPSuite4."
|
||||
|
||||
#: allianceauth/services/modules/openfire/auth_hooks.py:26
|
||||
msgid "Jabber"
|
||||
@@ -1641,7 +1667,7 @@ msgstr "Jabber Бродкаст"
|
||||
|
||||
#: allianceauth/services/modules/openfire/auth_hooks.py:94
|
||||
msgid "Fleet Broadcast Formatter"
|
||||
msgstr ""
|
||||
msgstr "Флотовый Оповещатель"
|
||||
|
||||
#: allianceauth/services/modules/openfire/forms.py:7
|
||||
msgid "Message"
|
||||
@@ -1704,26 +1730,26 @@ msgstr "Установить пароль на Форум."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:52
|
||||
msgid "Activated SMF account."
|
||||
msgstr ""
|
||||
msgstr "Активированный аккаунт SMF."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:65
|
||||
#: allianceauth/services/modules/smf/views.py:81
|
||||
#: allianceauth/services/modules/smf/views.py:102
|
||||
#: allianceauth/services/modules/smf/views.py:124
|
||||
msgid "An error occurred while processing your SMF account."
|
||||
msgstr ""
|
||||
msgstr "Произошла ошибка при работе с вашим аккаунтом SMF."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:78
|
||||
msgid "Deactivated SMF account."
|
||||
msgstr ""
|
||||
msgstr "Деактивированный аккаунт SMF."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:95
|
||||
msgid "Reset SMF password."
|
||||
msgstr ""
|
||||
msgstr "Сбросить пароль SMF."
|
||||
|
||||
#: allianceauth/services/modules/smf/views.py:121
|
||||
msgid "Set SMF password."
|
||||
msgstr ""
|
||||
msgstr "Установить пароль SMF."
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/forms.py:14
|
||||
#, python-format
|
||||
@@ -1732,7 +1758,7 @@ msgstr "Не могу найти %s на сервере"
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/templates/admin/teamspeak3/authts/change_list.html:8
|
||||
msgid "Update TS3 groups"
|
||||
msgstr ""
|
||||
msgstr "Обновить группы TS3"
|
||||
|
||||
#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:5
|
||||
msgid "Verify Teamspeak"
|
||||
@@ -1772,26 +1798,26 @@ msgstr "Сбросить TeamSpeak3 ключ доступа."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:30
|
||||
msgid "Activated XenForo account."
|
||||
msgstr ""
|
||||
msgstr "Активированный аккаунт XenForo."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:40
|
||||
#: allianceauth/services/modules/xenforo/views.py:52
|
||||
#: allianceauth/services/modules/xenforo/views.py:73
|
||||
#: allianceauth/services/modules/xenforo/views.py:94
|
||||
msgid "An error occurred while processing your XenForo account."
|
||||
msgstr ""
|
||||
msgstr "Произошла ошибка при работе с вашим аккаунтом XenForo."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:50
|
||||
msgid "Deactivated XenForo account."
|
||||
msgstr ""
|
||||
msgstr "Деактивированный аккаунт XenForo."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:65
|
||||
msgid "Reset XenForo account password."
|
||||
msgstr ""
|
||||
msgstr "Сбросить пароль XenForo."
|
||||
|
||||
#: allianceauth/services/modules/xenforo/views.py:91
|
||||
msgid "Changed XenForo password."
|
||||
msgstr ""
|
||||
msgstr "Изменённый пароль XenForo."
|
||||
|
||||
#: allianceauth/services/templates/services/fleetformattertool.html:5
|
||||
msgid "Fleet Formatter Tool"
|
||||
@@ -1799,7 +1825,7 @@ msgstr "ФлитФорматер"
|
||||
|
||||
#: allianceauth/services/templates/services/fleetformattertool.html:10
|
||||
msgid "Fleet Broadcast Formatter Tool"
|
||||
msgstr "Флотовый Бродкастер"
|
||||
msgstr "Флотовый Оповещатель"
|
||||
|
||||
#: allianceauth/services/templates/services/fleetformattertool.html:23
|
||||
msgid "Format"
|
||||
@@ -1869,15 +1895,16 @@ msgstr "Флотовая Доктрина"
|
||||
|
||||
#: allianceauth/srp/form.py:16
|
||||
msgid "Killboard Link (zkillboard.com or kb.evetools.org)"
|
||||
msgstr ""
|
||||
msgstr "Ссылка киллборды (zkillboard.com или kb.evetools.org)"
|
||||
|
||||
#: allianceauth/srp/form.py:34
|
||||
msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org"
|
||||
msgstr ""
|
||||
"Неверная ссылка. Пожалуйста используйте zkillboard.com или kb.evetools.org"
|
||||
|
||||
#: allianceauth/srp/form.py:46
|
||||
msgid "Invalid Link. Please post a direct link to a killmail."
|
||||
msgstr ""
|
||||
msgstr "Неверная ссылка. Пожалуйста предоставьте прямую ссылку на киллмейл."
|
||||
|
||||
#: allianceauth/srp/form.py:53
|
||||
msgid "After Action Report Link"
|
||||
@@ -1898,7 +1925,7 @@ msgstr "Поделиться ссылкой с рядовыми участник
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:5
|
||||
msgid "Srp Fleet Data"
|
||||
msgstr ""
|
||||
msgstr "Данные флота по SRP"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:50
|
||||
msgid "SRP Fleet Data"
|
||||
@@ -1921,7 +1948,7 @@ msgstr "Суммарные потери:"
|
||||
#: allianceauth/srp/templates/srp/data.html:158
|
||||
#: allianceauth/srp/templates/srp/management.html:28
|
||||
msgid "Total ISK Cost:"
|
||||
msgstr "Оценочная стоимость (ISK):"
|
||||
msgstr "Оценочная стоимость, ISK:"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:80
|
||||
#: allianceauth/srp/templates/srp/data.html:166
|
||||
@@ -1934,7 +1961,7 @@ msgstr "Имя Пилота"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:90
|
||||
msgid "Killboard Link"
|
||||
msgstr "zKillBoard ссылка"
|
||||
msgstr "Killboard ссылка"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:92
|
||||
msgid "Ship Type"
|
||||
@@ -1942,7 +1969,7 @@ msgstr "Тип корабля"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:93
|
||||
msgid "Killboard Loss Amt"
|
||||
msgstr "потерь по zKillBoard на данный момент"
|
||||
msgstr "Потерь по Killboard на данный момент"
|
||||
|
||||
#: allianceauth/srp/templates/srp/data.html:94
|
||||
msgid "SRP ISK Cost"
|
||||
@@ -1978,7 +2005,7 @@ msgstr "Добавить SRP флот"
|
||||
|
||||
#: allianceauth/srp/templates/srp/management.html:39
|
||||
msgid "Fleet AAR"
|
||||
msgstr "Флитовый AAR."
|
||||
msgstr "Флитовый AAR"
|
||||
|
||||
#: allianceauth/srp/templates/srp/management.html:40
|
||||
msgid "Fleet SRP Code"
|
||||
@@ -2072,15 +2099,15 @@ msgstr "Не могу найти SRP код с ID %(srpfleetid)s"
|
||||
|
||||
#: allianceauth/srp/views.py:179
|
||||
msgid "This kill mail has already been posted."
|
||||
msgstr ""
|
||||
msgstr "Этот киллмейл уже был предоставлен ранее."
|
||||
|
||||
#: allianceauth/srp/views.py:200
|
||||
msgid ""
|
||||
"Your SRP request Killmail link is invalid. Please make sure you are using "
|
||||
"zKillboard."
|
||||
msgstr ""
|
||||
"Ваш SRP запрос Killmail неправильный. Пожалуйста убедитесь в правильности "
|
||||
"ссылки. "
|
||||
"Ссылка на киллмейл в вашем SRP запросе неправильная. Пожалуйста убедитесь в "
|
||||
"правильности ссылки. "
|
||||
|
||||
#: allianceauth/srp/views.py:212
|
||||
#, python-format
|
||||
@@ -2144,11 +2171,11 @@ msgstr "Закрыт"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:28
|
||||
msgid "Powered by GitLab"
|
||||
msgstr ""
|
||||
msgstr "При поддержке GitLab"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
|
||||
msgid "Support Discord"
|
||||
msgstr ""
|
||||
msgstr "Поддержка Discord"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:43
|
||||
msgid "Software Version"
|
||||
@@ -2185,6 +2212,8 @@ msgid ""
|
||||
" Status of %(total)s processed tasks • last %(latest)s\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Статус %(total)s обработанных задач • последние %(latest)s"
|
||||
|
||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
|
||||
#, python-format
|
||||
@@ -2193,6 +2222,8 @@ msgid ""
|
||||
" %(queue_length)s queued tasks\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" %(queue_length)s запланированных задач"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
|
||||
msgid "Admin"
|
||||
@@ -2200,16 +2231,16 @@ msgstr "Администратор"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
||||
msgid "AA Documentation"
|
||||
msgstr ""
|
||||
msgstr "Документация AA"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:26
|
||||
msgid "AA Support Discord"
|
||||
msgstr ""
|
||||
msgstr "Discord поддержки AA"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:10
|
||||
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:14
|
||||
msgid "User Menu"
|
||||
msgstr ""
|
||||
msgstr "Меню пользователя"
|
||||
|
||||
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:56
|
||||
msgid "Logout"
|
||||
@@ -2257,7 +2288,7 @@ msgstr "Тип структуры"
|
||||
|
||||
#: allianceauth/timerboard/form.py:62
|
||||
msgid "Timer Type"
|
||||
msgstr ""
|
||||
msgstr "Тип таймера"
|
||||
|
||||
#: allianceauth/timerboard/form.py:63
|
||||
#: allianceauth/timerboard/templates/timerboard/view.html:32
|
||||
@@ -2288,31 +2319,31 @@ msgstr "Корпорация зарегистрированна"
|
||||
|
||||
#: allianceauth/timerboard/models.py:14
|
||||
msgid "Not Specified"
|
||||
msgstr ""
|
||||
msgstr "Не указано"
|
||||
|
||||
#: allianceauth/timerboard/models.py:15
|
||||
msgid "Shield"
|
||||
msgstr ""
|
||||
msgstr "Щит"
|
||||
|
||||
#: allianceauth/timerboard/models.py:16
|
||||
msgid "Armor"
|
||||
msgstr ""
|
||||
msgstr "Броня"
|
||||
|
||||
#: allianceauth/timerboard/models.py:17
|
||||
msgid "Hull"
|
||||
msgstr ""
|
||||
msgstr "Структура"
|
||||
|
||||
#: allianceauth/timerboard/models.py:18
|
||||
msgid "Final"
|
||||
msgstr ""
|
||||
msgstr "Финальный"
|
||||
|
||||
#: allianceauth/timerboard/models.py:19
|
||||
msgid "Anchoring"
|
||||
msgstr ""
|
||||
msgstr "Постановка на якорь"
|
||||
|
||||
#: allianceauth/timerboard/models.py:20
|
||||
msgid "Unanchoring"
|
||||
msgstr ""
|
||||
msgstr "Снятие с якоря"
|
||||
|
||||
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:11
|
||||
msgid "Delete Timer"
|
||||
@@ -2372,4 +2403,4 @@ msgstr "Добавлен таймер в %(system)s на %(time)s."
|
||||
|
||||
#: allianceauth/timerboard/views.py:82
|
||||
msgid "Saved changes to the timer."
|
||||
msgstr "Изменения сохранены"
|
||||
msgstr "Изменения таймера сохранены."
|
||||
|
||||
BIN
allianceauth/locale/uk/LC_MESSAGES/django.mo
Normal file
BIN
allianceauth/locale/uk/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2410
allianceauth/locale/uk/LC_MESSAGES/django.po
Normal file
2410
allianceauth/locale/uk/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -13,10 +13,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-09-14 23:17+1000\n"
|
||||
"POT-Creation-Date: 2022-10-09 18:20+1000\n"
|
||||
"PO-Revision-Date: 2020-02-18 03:14+0000\n"
|
||||
"Last-Translator: Aaron BuBu <351793078@qq.com>, 2020\n"
|
||||
"Language-Team: Chinese Simplified (https://www.transifex.com/alliance-auth/teams/107430/zh-Hans/)\n"
|
||||
"Language-Team: Chinese Simplified (https://app.transifex.com/alliance-auth/teams/107430/zh-Hans/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -45,47 +45,38 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:80
|
||||
#: allianceauth/project_template/project_name/settings/base.py:89
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:81
|
||||
#: allianceauth/project_template/project_name/settings/base.py:90
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:82
|
||||
#: allianceauth/project_template/project_name/settings/base.py:91
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:83
|
||||
#: allianceauth/project_template/project_name/settings/base.py:92
|
||||
msgid "Chinese Simplified"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:84
|
||||
#: allianceauth/project_template/project_name/settings/base.py:93
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:85
|
||||
#: allianceauth/project_template/project_name/settings/base.py:94
|
||||
msgid "Korean"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:86
|
||||
#: allianceauth/project_template/project_name/settings/base.py:95
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:87
|
||||
#: allianceauth/project_template/project_name/settings/base.py:96
|
||||
msgid "Japanese"
|
||||
msgstr ""
|
||||
|
||||
#: allianceauth/authentication/models.py:88
|
||||
#: allianceauth/project_template/project_name/settings/base.py:97
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -94,6 +94,7 @@ LANGUAGES = (
|
||||
("fr", "French"),
|
||||
("ja", "Japanese"),
|
||||
("it", "Italian"),
|
||||
("uk", "Ukrainian"),
|
||||
)
|
||||
|
||||
TEMPLATES = [
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
<tr>
|
||||
<td class="text-center">{{ service_name }}</td>
|
||||
<td class="text-center">{{ username }}</td>
|
||||
<td class="text-center"><a href="mumble://{{ service_url }}">{{ service_url }}</a></td>
|
||||
<td class="text-center">
|
||||
{% if username == "" %}
|
||||
<td class="text-center">{{ service_url }}</td>
|
||||
<td class="text-center">
|
||||
<a href="{% url 'mumble:activate' %}" title="Activate" class="btn btn-warning">
|
||||
<span class="glyphicon glyphicon-ok"></span>
|
||||
</a>
|
||||
</td>
|
||||
{% else %}
|
||||
<td class="text-center"><a href="mumble://{{ connect_url }}">{{ service_url }}</a></td>
|
||||
<td class="text-center">
|
||||
<a href="{% url 'mumble:set_password' %}" title="Set Password" class="btn btn-warning">
|
||||
<span class="glyphicon glyphicon-pencil"></span>
|
||||
</a>
|
||||
@@ -17,9 +20,9 @@
|
||||
<a href="{% url 'mumble:deactivate' %}" title="Deactivate" class="btn btn-danger">
|
||||
<span class="glyphicon glyphicon-remove"></span>
|
||||
</a>
|
||||
<a href="mumble://{{ connect_url }}" class="btn btn-success" title="Connect">
|
||||
<a href="mumble://{{ connect_url }}" class="btn btn-success" title="Connect">
|
||||
<span class="glyphicon glyphicon-arrow-right"></span>
|
||||
</a>
|
||||
</td>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -457,7 +457,7 @@ class Teamspeak3AdminTestCase(TestCase):
|
||||
cls.site = AdminSite()
|
||||
cls.admin = AuthTSgroupAdmin(AuthTS, cls.site)
|
||||
cls.group = Group.objects.create(name='test')
|
||||
cls.ts_group = TSgroup.objects.create(ts_group_name='test')
|
||||
cls.ts_group = TSgroup.objects.create(ts_group_id=1, ts_group_name='test')
|
||||
|
||||
def test_field_queryset_no_reserved_names(self):
|
||||
"""Ensure all groups are listed when no reserved names"""
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<!-- Start X-editable JS from cdnjs -->
|
||||
<<script src="https://cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.1/bootstrap3-editable/js/bootstrap-editable.min.js" integrity="sha512-Mvqhe3YIUElH6VT0CFmUeRgYMrLvCGd2mvYCnJOf2nL9FvRBK74qRgTn7u0zSqA5cHiGxy83bwuhl1ASbS9M/w==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/x-editable/1.5.1/bootstrap3-editable/js/bootstrap-editable.min.js" integrity="sha512-Mvqhe3YIUElH6VT0CFmUeRgYMrLvCGd2mvYCnJOf2nL9FvRBK74qRgTn7u0zSqA5cHiGxy83bwuhl1ASbS9M/w==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<!-- End X-editable JS from cdnjs -->
|
||||
|
||||
@@ -4,8 +4,7 @@ from typing import Optional
|
||||
import amqp.exceptions
|
||||
import requests
|
||||
from celery.app import app_or_default
|
||||
from packaging.version import InvalidVersion
|
||||
from packaging.version import Version as Pep440Version
|
||||
from packaging.version import InvalidVersion, Version as Pep440Version
|
||||
|
||||
from django import template
|
||||
from django.conf import settings
|
||||
|
||||
25
allianceauth/utils/django.py
Normal file
25
allianceauth/utils/django.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import sys
|
||||
from copy import copy
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class StartupCommand:
|
||||
"""Information about the command this Django instance was started with."""
|
||||
|
||||
def __init__(self) -> None:
|
||||
self._argv = copy(sys.argv)
|
||||
|
||||
@property
|
||||
def argv(self) -> list:
|
||||
"""Return raw list of command line arguments."""
|
||||
return self._argv
|
||||
|
||||
@property
|
||||
def script_name(self) -> str:
|
||||
"""Return the base script name."""
|
||||
path = Path(self._argv[0])
|
||||
return path.name
|
||||
|
||||
@property
|
||||
def is_management_command(self) -> bool:
|
||||
return self.script_name == "manage.py"
|
||||
25
allianceauth/utils/tests/test_django.py
Normal file
25
allianceauth/utils/tests/test_django.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from unittest.mock import patch
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from allianceauth.utils.django import StartupCommand
|
||||
|
||||
MODULE_PATH = "allianceauth.utils.django"
|
||||
|
||||
|
||||
class TestStartupCommand(TestCase):
|
||||
def test_should_detect_management_command(self):
|
||||
# when
|
||||
with patch(MODULE_PATH + ".sys") as m:
|
||||
m.argv = ["manage.py", "check"]
|
||||
info = StartupCommand()
|
||||
# then
|
||||
self.assertTrue(info.is_management_command)
|
||||
|
||||
def test_should_detect_not_a_management_command(self):
|
||||
# when
|
||||
with patch(MODULE_PATH + ".sys") as m:
|
||||
m.argv = ['/home/python/allianceauth-dev/venv/bin/gunicorn', 'myauth.wsgi']
|
||||
info = StartupCommand()
|
||||
# then
|
||||
self.assertFalse(info.is_management_command)
|
||||
@@ -1,7 +1,7 @@
|
||||
PROTOCOL=https://
|
||||
AUTH_SUBDOMAIN=%AUTH_SUBDOMAIN%
|
||||
DOMAIN=%DOMAIN%
|
||||
AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:3.3.0
|
||||
AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v3.4.0
|
||||
|
||||
# Nginx Proxy Manager
|
||||
PROXY_HTTP_PORT=80
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
FROM python:3.9-slim
|
||||
ARG AUTH_VERSION=v3.3.0
|
||||
ARG AUTH_VERSION=v3.4.0
|
||||
ARG AUTH_PACKAGE=allianceauth==${AUTH_VERSION}
|
||||
ENV VIRTUAL_ENV=/opt/venv
|
||||
ENV AUTH_USER=allianceauth
|
||||
|
||||
@@ -49,7 +49,11 @@ Using a custom docker image is the preferred approach, as it gives you the stabi
|
||||
|
||||
1. Add each additional package that you want to install to a single line in `conf/requirements.txt`. It is recommended, but not required, that you include a version number as well. This will keep your packages from magically updating. You can lookup packages on https://package.wiki, and copy everything after `pip install` from the top of the page to use the most recent version. It should look something like `allianceauth-signal-pings==0.0.7`. Every entry in this file should be on a separate line
|
||||
1. In `docker-compose.yml`, comment out the `image` line under `allianceauth` (line 36... ish) and uncomment the `build` section
|
||||
1. Now run `docker-compose --env-file=.env up -d`, your custom container will be built, and auth will have your new packages. Make sure to follow the package's instructions on config values that go in `local.py`
|
||||
1. run `docker-compose --env-file=.env up -d`, your custom container will be built, and auth will have your new packages. Make sure to follow the package's instructions on config values that go in `local.py`
|
||||
1. run `docker-compose exec allianceauth bash` to open up a terminal inside your auth container
|
||||
1. run `allianceauth update myauth`
|
||||
1. run `auth migrate`
|
||||
1. run `auth collectstatic`
|
||||
|
||||
_NOTE: It is recommended that you put any secret values (API keys, database credentials, etc) in an environment variable instead of hardcoding them into `local.py`. This gives you the ability to track your config in git without committing passwords. To do this, just add it to your `.env` file, and then reference in `local.py` with `os.environ.get("SECRET_NAME")`_
|
||||
|
||||
@@ -58,8 +62,12 @@ _NOTE: It is recommended that you put any secret values (API keys, database cred
|
||||
### Base Image
|
||||
Whether you're using a custom image or not, the version of auth is dictated by $AA_DOCKER_TAG in your `.env` file.
|
||||
1. To update to a new version of auth, update the version number at the end (or replace the whole value with the tag in the release notes).
|
||||
1. Next, run `docker-compose pull`
|
||||
1. Finally, run `docker-compose --env-file=.env up -d`
|
||||
1. run `docker-compose pull`
|
||||
1. run `docker-compose --env-file=.env up -d`
|
||||
1. run `docker-compose exec allianceauth bash` to open up a terminal inside your auth container
|
||||
1. run `allianceauth update myauth`
|
||||
1. run `auth migrate`
|
||||
1. run `auth collectstatic`
|
||||
|
||||
_NOTE: If you specify a version of allianceauth in your `requirements.txt` in a custom image it will override the version from the base image. Not recommended unless you know what you're doing_
|
||||
|
||||
|
||||
@@ -67,11 +67,15 @@ INSTALLED_APPS += [
|
||||
# 'allianceauth.permissions_tool',
|
||||
# 'allianceauth.srp',
|
||||
# 'allianceauth.timerboard',
|
||||
|
||||
# https://allianceauth.readthedocs.io/en/latest/features/services/index.html
|
||||
# 'allianceauth.services.modules.discord',
|
||||
# 'allianceauth.services.modules.discourse',
|
||||
# 'allianceauth.services.modules.ips4',
|
||||
# 'allianceauth.services.modules.openfire',
|
||||
# 'allianceauth.services.modules.mumble',
|
||||
# An example of running mumble with authenticator in docker can be found here
|
||||
# https://github.com/Solar-Helix-Independent-Transport/allianceauth-docker-mumble
|
||||
# 'allianceauth.services.modules.phpbb3',
|
||||
# 'allianceauth.services.modules.smf',
|
||||
# 'allianceauth.services.modules.teamspeak3',
|
||||
|
||||
@@ -4,5 +4,3 @@ FROM $AA_DOCKER_TAG
|
||||
RUN cd /home/allianceauth
|
||||
COPY /conf/requirements.txt requirements.txt
|
||||
RUN pip install -r requirements.txt
|
||||
RUN python $AUTH_HOME/myauth/manage.py collectstatic --noinput
|
||||
RUN allianceauth update myauth
|
||||
|
||||
@@ -52,7 +52,7 @@ services:
|
||||
- auth_mysql
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana-oss:8.3.2
|
||||
image: grafana/grafana-oss:8.5.22
|
||||
restart: always
|
||||
depends_on:
|
||||
- auth_mysql
|
||||
|
||||
@@ -46,6 +46,7 @@ extensions = [
|
||||
'recommonmark',
|
||||
'sphinxcontrib_django2',
|
||||
'sphinx.ext.viewcode',
|
||||
'sphinx_copybutton'
|
||||
]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
|
||||
@@ -16,14 +16,14 @@ In addition all tools described in this guide are open source or free software.
|
||||
The development environment consists of the following components:
|
||||
|
||||
- Visual Studio Code with Remote WSL and Python extension
|
||||
- WSL with Ubuntu 18.04. LTS
|
||||
- Python 3.7 environment on WSL
|
||||
- WSL with Ubuntu (18.04. LTS or higher)
|
||||
- Python environment on WSL (3.8 or higher)
|
||||
- MySQL server on WSL
|
||||
- Redis on WSL
|
||||
- Alliance Auth on WSL
|
||||
- Celery on WSL
|
||||
|
||||
We will use the build-in Django development webserver, so we don't need to setup a WSGI server or a web server.
|
||||
We will use the build-in Django development web server, so we don't need to setup a WSGI server or a web server.
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
@@ -34,13 +34,13 @@ We will use the build-in Django development webserver, so we don't need to setup
|
||||
|
||||
The only requirement is a PC with Windows 10 and Internet connection in order to download the additional software components.
|
||||
|
||||
## Windows installation
|
||||
## Installing Windows apps
|
||||
|
||||
### Windows Subsystem for Linux
|
||||
|
||||
- Install from here: [Microsoft docs](https://docs.microsoft.com/en-us/windows/wsl/install-win10)
|
||||
|
||||
- Choose Ubuntu 18.04. LTS
|
||||
- Choose Ubuntu 18.04. LTS or higher
|
||||
|
||||
### Visual Studio Code
|
||||
|
||||
@@ -54,7 +54,7 @@ The only requirement is a PC with Windows 10 and Internet connection in order to
|
||||
|
||||
- Once connected to WSL install the Python extension on the WSL side
|
||||
|
||||
## WSL Installation
|
||||
## Setting up WSL / Linux
|
||||
|
||||
Open a WSL bash and update all software packets:
|
||||
|
||||
@@ -71,7 +71,7 @@ sudo apt-get install gettext
|
||||
|
||||
### Install Python
|
||||
|
||||
For AA we want to develop with Python 3.7, because that provides the maximum compatibility with today's AA installations.
|
||||
Next we need to install Python and related development tools.
|
||||
|
||||
```eval_rst
|
||||
.. hint::
|
||||
@@ -80,7 +80,7 @@ For AA we want to develop with Python 3.7, because that provides the maximum com
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
Should your Ubuntu come with a newer version of Python we recommend to still setup your dev environment with the oldest Python 3 version supported by AA, e.g Python 3.7
|
||||
Should your Ubuntu come with a newer version of Python we recommend to still setup your dev environment with the oldest Python 3 version currently supported by AA (e.g Python 3.8 at this time of writing) to ensure your apps are compatible with all current AA installations
|
||||
You an check out this `page <https://askubuntu.com/questions/682869/how-do-i-install-a-different-python-version-using-apt-get/1195153>`_ on how to install additional Python versions on Ubuntu.
|
||||
```
|
||||
|
||||
@@ -90,7 +90,19 @@ Use the following command to install Python 3 with all required libraries with t
|
||||
sudo apt-get install python3 python3-dev python3-venv python3-setuptools python3-pip python-pip
|
||||
```
|
||||
|
||||
### Installing the DBMS
|
||||
### Install redis and other tools
|
||||
|
||||
```bash
|
||||
sudo apt-get install unzip git redis-server curl libssl-dev libbz2-dev libffi-dev
|
||||
```
|
||||
|
||||
Start redis
|
||||
|
||||
```bash
|
||||
sudo redis-server --daemonize yes
|
||||
```
|
||||
|
||||
## Installing the DBMS
|
||||
|
||||
Install MySQL and required libraries with the following command:
|
||||
|
||||
@@ -122,35 +134,22 @@ sudo mysql -u root
|
||||
```
|
||||
|
||||
```sql
|
||||
CREATE USER 'aa_dev'@'localhost' IDENTIFIED BY 'PASSWORD';
|
||||
CREATE DATABASE aa_dev CHARACTER SET utf8mb4;
|
||||
GRANT ALL PRIVILEGES ON aa_dev . * TO 'aa_dev'@'localhost';
|
||||
CREATE DATABASE test_aa_dev CHARACTER SET utf8mb4;
|
||||
GRANT ALL PRIVILEGES ON test_aa_dev . * TO 'aa_dev'@'localhost';
|
||||
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'YOUR-PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON * . * TO 'admin'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
exit;
|
||||
```
|
||||
|
||||
Add timezone info to mysql
|
||||
Add timezone info to mysql:
|
||||
|
||||
```bash
|
||||
sudo mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql -u root mysql
|
||||
```
|
||||
|
||||
### Install redis and other tools
|
||||
|
||||
```bash
|
||||
sudo apt-get install unzip git redis-server curl libssl-dev libbz2-dev libffi-dev
|
||||
```
|
||||
|
||||
Start redis
|
||||
|
||||
```bash
|
||||
sudo redis-server --daemonize yes
|
||||
```
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
WSL does not have an init.d service, so it will not automatically start your services such as MySQL and Redis when you boot your Windows machine. For convenience we recommend putting the commands for starting these services in a bash script. Here is an example:
|
||||
If your WSL does not have an init.d service, it will not automatically start your services such as MySQL and Redis when you boot your Windows machine and you have to manually start them. For convenience we recommend putting these commands in a bash script. Here is an example:
|
||||
|
||||
::
|
||||
|
||||
@@ -159,7 +158,6 @@ sudo redis-server --daemonize yes
|
||||
sudo service mysql start
|
||||
sudo redis-server --daemonize yes
|
||||
|
||||
In addition it is possible to configure Windows to automatically start WSL services, but that procedure goes beyond the scopes of this guide.
|
||||
```
|
||||
|
||||
### Setup dev folder on WSL
|
||||
@@ -179,9 +177,14 @@ A good location for setting up this folder structure is your home folder or a su
|
||||
|
||||
Following this approach you can also setup additional AA projects, e.g. aa-dev-2, aa-dev-3 if needed.
|
||||
|
||||
Create the root folder aa-dev.
|
||||
Create the root folder `aa-dev`.
|
||||
|
||||
### setup virtual Python environment for aa-dev
|
||||
```eval_rst
|
||||
.. hint::
|
||||
The folders `venv` and `myauth` will be created automatically in later steps. Please do not create them manually as this would lead to errors.
|
||||
```
|
||||
|
||||
### Setup virtual Python environment for aa-dev
|
||||
|
||||
Create the virtual environment. Run this in your aa-dev folder:
|
||||
|
||||
@@ -195,16 +198,15 @@ And activate your venv:
|
||||
source venv/bin/activate
|
||||
```
|
||||
|
||||
### install Python packages
|
||||
### Install and update basic Python packages
|
||||
|
||||
```bash
|
||||
pip install --upgrade pip
|
||||
pip install wheel
|
||||
pip install -U pip setuptools wheel
|
||||
```
|
||||
|
||||
## Alliance Auth installation
|
||||
## Installing Alliance Auth
|
||||
|
||||
## Install and create AA instance
|
||||
### Install and create AA instance
|
||||
|
||||
```bash
|
||||
pip install allianceauth
|
||||
@@ -226,44 +228,55 @@ First you want to make sure exclude the venv folder from VSC as follows:
|
||||
Open settings and go to Files:Exclude
|
||||
Add pattern: `**/venv`
|
||||
|
||||
### Update settings
|
||||
### Create EVE Online SSO App
|
||||
|
||||
Open the settings file with VSC. Its under `myauth/myauth/settings/local.py`
|
||||
For the Eve Online related setup you need to create a SSO app on the developer site:
|
||||
|
||||
Make sure to have the settings of your Eve Online app ready.
|
||||
- Create your Eve Online SSO App on the [Eve Online developer site](https://developers.eveonline.com/)
|
||||
- Add all ESI scopes
|
||||
- Set callback URL to: `http://127.0.0.1:8000/sso/callback`
|
||||
|
||||
Turn on DEBUG mode to ensure your static files get served by Django:
|
||||
### Update Django settings
|
||||
|
||||
Open your local Django settings with VSC. The file is under `myauth/myauth/settings/local.py`
|
||||
|
||||
```eval_rst
|
||||
.. hint::
|
||||
There are two Django settings files: ``base.py`` and ``local.py``. The base settings file is controlled by the AA project and may change at any time. It is therefore recommended to only change the local settings file.
|
||||
```
|
||||
|
||||
```python
|
||||
DEBUG = True
|
||||
```
|
||||
|
||||
Define URL and name of your site:
|
||||
|
||||
```python
|
||||
SITE_URL = "http://127.0.0.1:8000"
|
||||
...
|
||||
SITE_NAME = "AA Dev"
|
||||
```
|
||||
|
||||
Update name, user and password of your DATABASE configuration.
|
||||
|
||||
```python
|
||||
DATABASES['default'] = {
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
'NAME': 'aa_dev',
|
||||
'USER': 'aa_dev',
|
||||
'PASSWORD': 'PASSWORD',
|
||||
'USER': 'admin',
|
||||
'PASSWORD': 'YOUR-PASSWORD',
|
||||
'HOST': '127.0.0.1',
|
||||
'PORT': '3306',
|
||||
'OPTIONS': {'charset': 'utf8mb4'},
|
||||
"TEST": {"CHARSET": "utf8mb4"},
|
||||
}
|
||||
```
|
||||
|
||||
For the Eve Online related setup you need to create a SSO app on the developer site:
|
||||
|
||||
- Create your Eve Online SSO App on the [Eve Online developer site](https://developers.eveonline.com/)
|
||||
- Add all ESI scopes
|
||||
- Set callback URL to: `http://localhost:8000/sso/callback`
|
||||
|
||||
Then update local.py with your settings:
|
||||
Add the credentials for your Eve Online SSO app as defined above:
|
||||
|
||||
```python
|
||||
ESI_SSO_CLIENT_ID = 'YOUR-ID'
|
||||
ESI_SSO_CLIENT_SECRET = 'YOUR_SECRET'
|
||||
ESI_SSO_CALLBACK_URL = 'http://localhost:8000/sso/callback'
|
||||
```
|
||||
|
||||
Disable email registration:
|
||||
@@ -340,17 +353,19 @@ In VSC click on Debug / Add Configuration and choose "Django". Should Django not
|
||||
|
||||
The result should look something like this:
|
||||
|
||||
```python
|
||||
```json
|
||||
{
|
||||
"name": "Python: Django",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/myauth/manage.py",
|
||||
"cwd": "${workspaceFolder}/myauth",
|
||||
"args": [
|
||||
"runserver",
|
||||
"--noreload"
|
||||
],
|
||||
"django": true
|
||||
"django": true,
|
||||
"justMyCode": true,
|
||||
}
|
||||
```
|
||||
|
||||
@@ -360,7 +375,7 @@ For celery we need another debug config, so that we can run it in parallel to ou
|
||||
|
||||
Here is an example debug config for Celery:
|
||||
|
||||
```javascript
|
||||
```json
|
||||
{
|
||||
"name": "Python: Celery",
|
||||
"type": "python",
|
||||
@@ -386,16 +401,16 @@ Here is an example debug config for Celery:
|
||||
|
||||
Finally it makes sense to have a dedicated debug config for running unit tests. Here is an example config for running all tests of the app `example`.
|
||||
|
||||
```javascript
|
||||
```json
|
||||
{
|
||||
"name": "Python: myauth unit tests",
|
||||
"type": "python",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/myauth/manage.py",
|
||||
"cwd": "${workspaceFolder}/myauth",
|
||||
"args": [
|
||||
"test",
|
||||
"--keepdb",
|
||||
"--debug-mode",
|
||||
"--failfast",
|
||||
"example",
|
||||
],
|
||||
@@ -410,7 +425,7 @@ You can also specify to run just a part of your test suite down to a test method
|
||||
|
||||
Finally you may also want to have a debug config to debug a non-Django Python script:
|
||||
|
||||
```javascript
|
||||
```json
|
||||
{
|
||||
"name": "Python: Current File",
|
||||
"type": "python",
|
||||
@@ -424,37 +439,31 @@ Finally you may also want to have a debug config to debug a non-Django Python sc
|
||||
|
||||
The following additional tools are very helpful when developing for AA with VS Code:
|
||||
|
||||
### Pylance
|
||||
### VS Code extensions
|
||||
|
||||
Pylance is an extension that works alongside Python in Visual Studio Code to provide performant language support: [Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
|
||||
|
||||
### Code Spell Checker
|
||||
|
||||
Typos in your user facing comments can be quite embarrassing. This spell checker helps you avoid them: [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
|
||||
|
||||
### markdownlint
|
||||
|
||||
Extension for Visual Studio Code - Markdown linting and style checking for Visual Studio Code: [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
|
||||
|
||||
### GitLens
|
||||
|
||||
Extension for Visual Studio Code - Supercharge the Git capabilities built into Visual Studio Code: [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens)
|
||||
|
||||
### RST preview
|
||||
|
||||
A VS Code extension to preview restructured text and provide syntax highlighting: [RST Preview](https://marketplace.visualstudio.com/items?itemName=tht13.rst-vscode)
|
||||
|
||||
### Django Template
|
||||
#### Django Template
|
||||
|
||||
This extension adds language colorization support and user snippets for the Django template language to VS Code: [Django Template](https://marketplace.visualstudio.com/items?itemName=bibhasdn.django-html)
|
||||
|
||||
### DBeaver
|
||||
#### Code Spell Checker
|
||||
|
||||
DBeaver is a free universal database tool and works with many different kinds of databases include MySQL. It can be installed on Windows 10 and will be able to help manage your MySQL databases running on WSL.
|
||||
Typos in your user facing comments can be quite embarrassing. This spell checker helps you avoid them: [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
|
||||
|
||||
Install from here. [DBeaver](https://dbeaver.io/)
|
||||
#### Git History
|
||||
|
||||
### django-extensions
|
||||
Very helpful to visualize the change history and compare different branches. [Git History](https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory)
|
||||
|
||||
#### markdownlint
|
||||
|
||||
Extension for Visual Studio Code - Markdown linting and style checking for Visual Studio Code: [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
|
||||
|
||||
#### Live Server
|
||||
|
||||
Live Server allows you to start a mini webserver for any file quickly. This can e.g. be useful for looking at changes to to Sphinx docs.: [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)
|
||||
|
||||
### Django apps
|
||||
|
||||
#### Django Extensions
|
||||
|
||||
[django-extensions](https://django-extensions.readthedocs.io/en/latest/) is a swiss army knife for django developers with adds a lot of very useful features to your Django site. Here are a few highlights:
|
||||
|
||||
@@ -462,6 +471,20 @@ Install from here. [DBeaver](https://dbeaver.io/)
|
||||
- graph_models - Creates a dependency graph of Django models. Visualizing a model dependency structure can be very useful for trying to understand how an existing Django app works, or e.g. how all the AA models work together.
|
||||
- runserver_plus - The standard runserver stuff but with the Werkzeug debugger baked in. This is a must have for any serious debugging.
|
||||
|
||||
#### Django Debug Toolbar
|
||||
|
||||
The [Django Debug Toolbar](https://github.com/jazzband/django-debug-toolbar) is a configurable set of panels that display various debug information about the current request/response and when clicked, display more details about the panel's content.
|
||||
|
||||
E.g. this tool is invaluable to debug and fix performance issues with Django queries.
|
||||
|
||||
### Windows applications
|
||||
|
||||
#### DBeaver
|
||||
|
||||
DBeaver is a free universal database tool and works with many different kinds of databases include MySQL. It can be installed on Windows 10 and will be able to help manage your MySQL databases running on WSL.
|
||||
|
||||
Install from here. [DBeaver](https://dbeaver.io/)
|
||||
|
||||
## Adding apps for development
|
||||
|
||||
The idea behind the particular folder structure of aa-dev is to have each and every app in its own folder and git repo. To integrate them with the AA instance they need to be installed once using the -e option that enabled editing of the package. And then added to the INSTALLED_APPS settings.
|
||||
|
||||
@@ -26,9 +26,10 @@ To install on your favorite flavour of Linux, identify and install equivalent pa
|
||||
|
||||
### OS Maintenance
|
||||
|
||||
It is reccommended to ensure your OS is fully up to date before proceeding. We may also add Package Repositories here, used later in the documentation.
|
||||
It is recommended to ensure your OS is fully up to date before proceeding. We may also add Package Repositories here, used later in the documentation.
|
||||
|
||||
Ubuntu 1804, 2004, 2204:
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
```
|
||||
@@ -41,7 +42,7 @@ sudo apt-get upgrade
|
||||
sudo do-dist-upgrade
|
||||
```
|
||||
|
||||
CentOS 7
|
||||
CentOS 7:
|
||||
|
||||
```bash
|
||||
yum install epel-release
|
||||
@@ -51,7 +52,7 @@ yum install epel-release
|
||||
sudo yum upgrade
|
||||
```
|
||||
|
||||
CentOS Stream 8
|
||||
CentOS Stream 8:
|
||||
|
||||
```bash
|
||||
sudo dnf config-manager --set-enabled powertools
|
||||
@@ -65,7 +66,7 @@ sudo dnf install epel-release epel-next-release
|
||||
sudo yum upgrade
|
||||
```
|
||||
|
||||
CentOS Stream 9
|
||||
CentOS Stream 9:
|
||||
|
||||
```bash
|
||||
sudo dnf config-manager --set-enabled crb
|
||||
@@ -78,15 +79,12 @@ dnf install epel-release epel-next-release
|
||||
```bash
|
||||
sudo yum upgrade
|
||||
```
|
||||
|
||||
### Python
|
||||
|
||||
Alliance Auth requires Python 3.8 or higher. Ensure it is installed on your server before proceeding.
|
||||
Install Python 3.10 and related tools on your system.
|
||||
|
||||
Ubuntu 1804, 2004:
|
||||
```eval_rst
|
||||
.. note::
|
||||
Ubuntu 2204 ships with Python 3.10 already
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo add-apt-repository ppa:deadsnakes/ppa
|
||||
@@ -100,13 +98,25 @@ sudo apt-get update
|
||||
sudo apt-get install python3.10 python3.10-dev python3.10-venv
|
||||
```
|
||||
|
||||
Ubuntu 2204:
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
Ubuntu 2204 ships with Python 3.10 already, but some important tools are missing in the default installation.
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo apt-get install python3.10-dev python3.10-venv
|
||||
```
|
||||
|
||||
CentOS 7:
|
||||
We need to build Python from source
|
||||
|
||||
Centos Stream 8/9:
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
A Python 3.9 Package is available for Stream 8 and 9. You _may_ use this instead of building your own package. But our documentation will assume Python3.10 and you may need to substitute as neccessary
|
||||
A Python 3.9 Package is available for Stream 8 and 9. You _may_ use this instead of building your own package. But our documentation will assume Python3.10 and you may need to substitute as necessary
|
||||
sudo dnf install python39 python39-devel
|
||||
```
|
||||
|
||||
@@ -137,29 +147,34 @@ cd Python-3.10.5/
|
||||
```bash
|
||||
sudo make altinstall
|
||||
```
|
||||
|
||||
### Database
|
||||
|
||||
It's recommended to use a database service instead of SQLite. Many options are available, but this guide will use MariaDB.
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
Many Ubuntu distributions come with an older version of Maria DB, which is not compatible with **Alliance Auth**. You need Maria DB 10.3 or higher!
|
||||
Ubuntu distributions prior to 20.04 come with an older version of Maria DB, which is not compatible with **Alliance Auth**. You need Maria DB 10.3 or higher!
|
||||
For 20.04 we still recommend to install Maria DB from the link below in order to get the newest stable version.
|
||||
For 22.04 we recommend installing from the default Ubuntu distro, since it comes with the newest stable version.
|
||||
```
|
||||
|
||||
Ubuntu 1804, 2004, 2204:
|
||||
Ubuntu 1804, 2004:
|
||||
|
||||
```eval_rst
|
||||
.. warning::
|
||||
Please follow these steps to update MariaDB
|
||||
https://mariadb.org/download/?t=repo-config&d=20.04+%22focal%22&v=10.6&r_m=osuosl
|
||||
```
|
||||
|
||||
|
||||
Ubuntu 1804, 2004, 2204
|
||||
|
||||
```bash
|
||||
apt-get install mariadb-server mariadb-client libmysqlclient-dev
|
||||
sudo apt-get install mariadb-server mariadb-client libmysqlclient-dev
|
||||
```
|
||||
|
||||
CentOS 7
|
||||
CentOS 7:
|
||||
|
||||
```eval_rst
|
||||
.. warning::
|
||||
Please follow these steps to update MariaDB
|
||||
@@ -170,11 +185,11 @@ CentOS 7
|
||||
sudo yum install MariaDB-server MariaDB-client MariaDB-devel MariaDB-shared
|
||||
```
|
||||
|
||||
CentOS Stream 8/9
|
||||
CentOS Stream 8/9:
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
We reccomend using the built in AppStream, as they are maintained by CentOS. Currently an AppStream is not available for 10.6
|
||||
We recommend using the built in AppStream, as they are maintained by CentOS. Currently an AppStream is not available for 10.6
|
||||
```
|
||||
|
||||
```bash
|
||||
@@ -188,6 +203,7 @@ sudo dnf install mariadb mariadb-server mariadb-devel
|
||||
```bash
|
||||
sudo systemctl enable mariadb
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl start mariadb
|
||||
```
|
||||
@@ -202,11 +218,13 @@ sudo systemctl start mariadb
|
||||
A few extra utilities are also required for installation of packages.
|
||||
|
||||
Ubuntu 1804, 2004, 2204:
|
||||
|
||||
```bash
|
||||
sudo apt-get install unzip git redis-server curl libssl-dev libbz2-dev libffi-dev build-essential
|
||||
```
|
||||
|
||||
CentOS 7:
|
||||
|
||||
```bash
|
||||
sudo yum install gcc gcc-c++ unzip git redis curl bzip2-devel openssl-devel libffi-devel wget
|
||||
```
|
||||
@@ -220,6 +238,7 @@ sudo systemctl start redis.service
|
||||
```
|
||||
|
||||
CentOS Stream 8, Stream 9:
|
||||
|
||||
```bash
|
||||
sudo dnf install gcc gcc-c++ unzip git redis curl bzip2-devel openssl-devel libffi-devel wget
|
||||
```
|
||||
@@ -231,6 +250,7 @@ sudo systemctl enable redis.service
|
||||
```bash
|
||||
sudo systemctl start redis.service
|
||||
```
|
||||
|
||||
## Database Setup
|
||||
|
||||
Alliance Auth needs a MySQL user account and database. Open an SQL shell with
|
||||
@@ -277,11 +297,13 @@ mysql_secure_installation
|
||||
For security and permissions, it’s highly recommended you create a separate user to install auth under. Do not log in as this account.
|
||||
|
||||
Ubuntu 1804, 2004, 2204:
|
||||
|
||||
```bash
|
||||
adduser --disabled-login allianceserver
|
||||
sudo adduser --disabled-login allianceserver
|
||||
```
|
||||
|
||||
CentOS 7, Stream 8, Stream 9:
|
||||
|
||||
```bash
|
||||
sudo useradd -s /bin/bash allianceserver
|
||||
```
|
||||
@@ -289,6 +311,7 @@ sudo useradd -s /bin/bash allianceserver
|
||||
```bash
|
||||
sudo passwd -l allianceserver
|
||||
```
|
||||
|
||||
### Prepare Directories
|
||||
|
||||
```bash
|
||||
@@ -308,6 +331,23 @@ sudo chown -R allianceserver:allianceserver /var/www/myauth/static/
|
||||
|
||||
### Virtual Environment
|
||||
|
||||
Switch to the allianceserver user.
|
||||
|
||||
```bash
|
||||
sudo su allianceserver
|
||||
```
|
||||
|
||||
And switch to it's home directory:
|
||||
|
||||
```bash
|
||||
cd
|
||||
```
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
In general using the allianceserver user will greatly simplify permission management, when installing and performing maintenance on Alliance Auth.
|
||||
```
|
||||
|
||||
Create a Python virtual environment and put it somewhere convenient (e.g. `/home/allianceserver/venv/auth/`)
|
||||
|
||||
```eval_rst
|
||||
@@ -346,16 +386,17 @@ As **callback URL** you want to define the URL of your Alliance Auth site plus t
|
||||
|
||||
### Alliance Auth Project
|
||||
|
||||
Update Pip before installing python packages:
|
||||
|
||||
```bash
|
||||
pip install -U pip setuptools
|
||||
```eval_rst
|
||||
.. warning::
|
||||
Before installing any Python packages please double-check that you have activated in the virtual environment. This is usually indicated by your command line in the terminal starting with: `(auth)`.
|
||||
```
|
||||
|
||||
Ensure wheel is available before continuing:
|
||||
#### Install Python packages
|
||||
|
||||
Update & install basic tools before installing further Python packages:
|
||||
|
||||
```bash
|
||||
pip install wheel
|
||||
pip install -U pip setuptools wheel
|
||||
```
|
||||
|
||||
You can install **Alliance Auth** with the following command. This will install AA and all its Python dependencies.
|
||||
@@ -370,7 +411,9 @@ You should also install Gunicorn now unless you want to use another WSGI server
|
||||
pip install gunicorn
|
||||
```
|
||||
|
||||
Now you need to create the application that will run the **Alliance Auth** install. Ensure you are in the allianceserver home directory by issuing:
|
||||
#### Create Alliance Auth project
|
||||
|
||||
Now you need to create the Django project that will run **Alliance Auth**. Ensure you are in the allianceserver home directory by issuing:
|
||||
|
||||
```bash
|
||||
cd /home/allianceserver
|
||||
@@ -382,16 +425,25 @@ The following command bootstraps a Django project which will run your **Alliance
|
||||
allianceauth start myauth
|
||||
```
|
||||
|
||||
The settings file needs configuring, edit the template at `myauth/myauth/settings/local.py`.
|
||||
#### Update settings
|
||||
|
||||
Your settings file needs configuring:
|
||||
|
||||
```bash
|
||||
nano myauth/myauth/settings/local.py
|
||||
```
|
||||
|
||||
**Be sure to configure:**
|
||||
* Your site URL as `SITE_URL`
|
||||
* The Database account setup earlier in **Database Setup**
|
||||
* `ESI_SSO_CLIENT_ID`, `ESI_SSO_CLIENT_SECRET` from the EVE Online Developers Portal earlier in **Eve Online Settings**
|
||||
* `ESI_USER_CONTACT_EMAIL` to an email address to ensure that CCP has reliable contact information for you
|
||||
* Valid Email server settings.
|
||||
|
||||
Django needs to install models to the database before it can start.
|
||||
- Your site URL as `SITE_URL`
|
||||
- The database user account setup from earlier in [Database Setup](#database-setup)
|
||||
- `ESI_SSO_CLIENT_ID`, `ESI_SSO_CLIENT_SECRET` from the EVE Online Developers Portal from earlier in [Eve Online SSO](#eve-online-sso)
|
||||
- `ESI_USER_CONTACT_EMAIL` to an email address to ensure that CCP has reliable contact information for you
|
||||
- Valid email server settings
|
||||
|
||||
#### Install database & static files
|
||||
|
||||
Django needs to setup the database before it can start.
|
||||
|
||||
```bash
|
||||
python /home/allianceserver/myauth/manage.py migrate
|
||||
@@ -400,7 +452,7 @@ python /home/allianceserver/myauth/manage.py migrate
|
||||
Now we need to round up all the static files required to render templates. Make a directory to serve them from and populate it.
|
||||
|
||||
```bash
|
||||
python /home/allianceserver/myauth/manage.py collectstatic
|
||||
python /home/allianceserver/myauth/manage.py collectstatic --noinput
|
||||
```
|
||||
|
||||
Check to ensure your settings are valid.
|
||||
@@ -409,7 +461,6 @@ Check to ensure your settings are valid.
|
||||
python /home/allianceserver/myauth/manage.py check
|
||||
```
|
||||
|
||||
|
||||
```eval_rst
|
||||
.. hint::
|
||||
If you are using root, ensure the allianceserver user has read/write permissions to this directory before proceeding::
|
||||
@@ -417,17 +468,7 @@ python /home/allianceserver/myauth/manage.py check
|
||||
chown -R allianceserver:allianceserver /home/allianceserver/myauth
|
||||
```
|
||||
|
||||
## Services
|
||||
|
||||
Alliance Auth needs some additional services to run, which we will set up and configure next.
|
||||
|
||||
### Gunicorn
|
||||
|
||||
To run the **Alliance Auth** website a [WSGI Server](https://www.fullstackpython.com/wsgi-servers.html) is required. For this [Gunicorn](http://gunicorn.org/) is highly recommended for its ease of configuring. It can be manually run from within your `myauth` base directory with `gunicorn --bind 0.0.0.0 myauth.wsgi` or automatically run using Supervisor.
|
||||
|
||||
The default configuration is good enough for most installations. Additional information is available in the [gunicorn](gunicorn.md) doc.
|
||||
|
||||
## Superuser
|
||||
#### Setup superuser
|
||||
|
||||
Before using your auth site, it is essential to create a superuser account. This account will have all permissions in Alliance Auth. It's OK to use this as your personal auth account.
|
||||
|
||||
@@ -439,6 +480,16 @@ Once your install is complete, the superuser account is accessed by logging in v
|
||||
|
||||
If you intend to use this account as your personal auth account you need to add a main character. Navigate to the normal user dashboard (at `https://example.com`) after logging in via the admin site and select `Change Main`. Once a main character has been added, it is possible to use SSO to login to this account.
|
||||
|
||||
## Services
|
||||
|
||||
Alliance Auth needs some additional services to run, which we will set up and configure next.
|
||||
|
||||
### Gunicorn
|
||||
|
||||
To run the **Alliance Auth** website a [WSGI Server](https://www.fullstackpython.com/wsgi-servers.html) is required. For this [Gunicorn](http://gunicorn.org/) is highly recommended for its ease of configuring. It can be manually run from within your `myauth` base directory with `gunicorn --bind 0.0.0.0 myauth.wsgi` or automatically run using Supervisor.
|
||||
|
||||
The default configuration is good enough for most installations. Additional information is available in the [gunicorn](gunicorn.md) doc.
|
||||
|
||||
### Supervisor
|
||||
|
||||
[Supervisor](http://supervisord.org/) is a process watchdog service: it makes sure other processes are started automatically and kept running. It can be used to automatically start the WSGI server and Celery workers for background tasks.
|
||||
@@ -461,9 +512,11 @@ CentOS 7:
|
||||
```bash
|
||||
sudo dnf install supervisor
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl enable supervisord.service
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl start supervisord.service
|
||||
```
|
||||
@@ -473,9 +526,11 @@ CentOS Stream 8, Stream 9:
|
||||
```bash
|
||||
sudo dnf install supervisor
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl enable supervisord.service
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl start supervisord.service
|
||||
```
|
||||
@@ -491,21 +546,21 @@ ln -s /home/allianceserver/myauth/supervisor.conf /etc/supervisor/conf.d/myauth.
|
||||
CentOS:
|
||||
|
||||
```bash
|
||||
ln -s /home/allianceserver/myauth/supervisor.conf /etc/supervisord.d/myauth.ini
|
||||
sudo ln -s /home/allianceserver/myauth/supervisor.conf /etc/supervisord.d/myauth.ini
|
||||
```
|
||||
|
||||
Activate it with `supervisorctl reload`.
|
||||
Activate it with `sudo supervisorctl reload`.
|
||||
|
||||
You can check the status of the processes with `supervisorctl status`. Logs from these processes are available in `/home/allianceserver/myauth/log` named by process.
|
||||
You can check the status of the processes with `sudo supervisorctl status`. Logs from these processes are available in `/home/allianceserver/myauth/log` named by process.
|
||||
|
||||
```eval_rst
|
||||
.. note::
|
||||
Any time the code or your settings change you'll need to restart Gunicorn and Celery. ::
|
||||
|
||||
supervisorctl restart myauth:
|
||||
sudo supervisorctl restart myauth:
|
||||
```
|
||||
|
||||
## Webserver
|
||||
## Web server
|
||||
|
||||
Once installed, decide on whether you're going to use [NGINX](nginx.md) or [Apache](apache.md) and follow the respective guide.
|
||||
|
||||
@@ -530,7 +585,7 @@ source /home/allianceserver/venv/auth/bin/activate
|
||||
and update with:
|
||||
|
||||
```bash
|
||||
pip install --upgrade allianceauth
|
||||
pip install -U allianceauth
|
||||
```
|
||||
|
||||
Some releases come with changes to the base settings. Update your project's settings with:
|
||||
@@ -548,7 +603,7 @@ python /home/allianceserver/myauth/manage.py migrate
|
||||
Finally, some releases come with new or changed static files. Run the following command to update your static files folder:
|
||||
|
||||
```bash
|
||||
python /home/allianceserver/myauth/manage.py collectstatic
|
||||
python /home/allianceserver/myauth/manage.py collectstatic --noinput
|
||||
```
|
||||
|
||||
Always restart AA, Celery and Gunicorn after updating:
|
||||
|
||||
@@ -13,4 +13,5 @@ The official installation guide will install a stable version of Alliance Auth t
|
||||
|
||||
gunicorn
|
||||
celery
|
||||
redis
|
||||
```
|
||||
|
||||
22
docs/maintenance/tuning/redis.md
Normal file
22
docs/maintenance/tuning/redis.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Redis
|
||||
|
||||
## Compression
|
||||
|
||||
Cache compression can help tame the memory usage of specialised installation configurations and Community Apps that heavily utilize Redis.
|
||||
|
||||
Various compression algorithms are supported, with various strengths. Our testing has shown that lzma works best with our use cases. You can read more at [Django-Redis Compression Support](https://github.com/jazzband/django-redis#compression-support)
|
||||
|
||||
Add the following lines to `local.py`
|
||||
|
||||
```python
|
||||
import lzma
|
||||
|
||||
CACHES = {
|
||||
"default": {
|
||||
# ...
|
||||
"OPTIONS": {
|
||||
"COMPRESSOR": "django_redis.compressors.lzma.LzmaCompressor",
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -5,11 +5,12 @@ recommonmark==0.7.1
|
||||
Jinja2<3.1
|
||||
docutils==0.16
|
||||
sphinxcontrib-django2
|
||||
sphinx-copybutton
|
||||
|
||||
# Autodoc dependencies
|
||||
celery>=5.2.0,<6.0.0
|
||||
celery_once>=3.0.1
|
||||
django>=4.0.5,<5.0.0
|
||||
django>=4.0.6,<4.1.0
|
||||
django-bootstrap-form
|
||||
django-celery-beat>=2.3.0
|
||||
django-esi>=4.0.1
|
||||
|
||||
16
setup.cfg
16
setup.cfg
@@ -17,9 +17,11 @@ classifiers =
|
||||
Operating System :: POSIX :: Linux
|
||||
Programming Language :: Python
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3 :: Only
|
||||
Programming Language :: Python :: 3.8
|
||||
Programming Language :: Python :: 3.9
|
||||
Programming Language :: Python :: 3.10
|
||||
Programming Language :: Python :: 3.11
|
||||
Topic :: Internet :: WWW/HTTP
|
||||
Topic :: Internet :: WWW/HTTP :: Dynamic Content
|
||||
home_page = https://gitlab.com/allianceauth/allianceauth
|
||||
@@ -35,28 +37,28 @@ packages = find_namespace:
|
||||
install_requires =
|
||||
bcrypt
|
||||
beautifulsoup4
|
||||
celery>=5.2.0,<6.0.0
|
||||
celery>=5.2.0,<6
|
||||
celery-once>=3.0.1
|
||||
django>=4.0.6,<4.1.0
|
||||
django>=4.0.9,<4.1.0
|
||||
django-bootstrap-form
|
||||
django-celery-beat>=2.3.0
|
||||
django-esi>=4.0.1
|
||||
django-redis>=5.2.0,<6.0.0
|
||||
django-redis>=5.2.0
|
||||
django-registration>=3.3
|
||||
django-sortedm2m
|
||||
dnspython
|
||||
mysqlclient>=2.1.0
|
||||
openfire-restapi
|
||||
packaging>=21.0,<22
|
||||
packaging>=21.0
|
||||
passlib
|
||||
pydiscourse
|
||||
python-slugify>=1.2
|
||||
redis>=4.0.0,<5.0.0
|
||||
requests>=2.9.1,<3.0.0
|
||||
redis>=4.0.0
|
||||
requests>=2.9.1
|
||||
requests-oauthlib
|
||||
semantic-version
|
||||
slixmpp
|
||||
python_requires = ~=3.8
|
||||
python_requires = >=3.8
|
||||
include_package_data = True
|
||||
zip_safe = False
|
||||
|
||||
|
||||
7
tox.ini
7
tox.ini
@@ -2,18 +2,18 @@
|
||||
isolated_build = True
|
||||
skipsdist = true
|
||||
usedevelop = true
|
||||
envlist = py{38,39,310,311}-{all,core}, docs
|
||||
envlist = py{38,39,310,311,py}-{all,core}, docs
|
||||
|
||||
[testenv]
|
||||
setenv =
|
||||
all: DJANGO_SETTINGS_MODULE = tests.settings_all
|
||||
core: DJANGO_SETTINGS_MODULE = tests.settings_core
|
||||
basepython =
|
||||
py37: python3.7
|
||||
py38: python3.8
|
||||
py39: python3.9
|
||||
py310: python3.10
|
||||
py311: python3.11
|
||||
pypy: pypy3
|
||||
deps=
|
||||
coverage
|
||||
install_command = pip install -e ".[test]" -U {opts} {packages}
|
||||
@@ -26,7 +26,8 @@ commands =
|
||||
[testenv:docs]
|
||||
description = invoke sphinx-build to build the HTML docs
|
||||
basepython = python3.9
|
||||
skip_install = True
|
||||
deps = -r{toxinidir}/docs/requirements.txt
|
||||
install_command =
|
||||
install_command = python -I -m pip install {opts} {packages}
|
||||
commands =
|
||||
sphinx-build -T -E -b html -d "{toxworkdir}/docs_doctree" -D language=en docs "{toxworkdir}/docs_out" {posargs}
|
||||
|
||||
Reference in New Issue
Block a user