aa-intel-tool 2.6.0__py3-none-any.whl → 2.6.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aa_intel_tool/__init__.py +1 -1
- aa_intel_tool/app_settings.py +15 -0
- aa_intel_tool/constants.py +6 -5
- aa_intel_tool/helper/eve_character.py +24 -36
- aa_intel_tool/helper/static_files.py +5 -4
- aa_intel_tool/locale/cs_CZ/LC_MESSAGES/django.po +15 -83
- aa_intel_tool/locale/de/LC_MESSAGES/django.mo +0 -0
- aa_intel_tool/locale/de/LC_MESSAGES/django.po +71 -87
- aa_intel_tool/locale/django.pot +16 -84
- aa_intel_tool/locale/es/LC_MESSAGES/django.po +19 -83
- aa_intel_tool/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- aa_intel_tool/locale/fr_FR/LC_MESSAGES/django.po +72 -88
- aa_intel_tool/locale/it_IT/LC_MESSAGES/django.po +15 -83
- aa_intel_tool/locale/ja/LC_MESSAGES/django.po +15 -83
- aa_intel_tool/locale/ko_KR/LC_MESSAGES/django.po +67 -83
- aa_intel_tool/locale/nl_NL/LC_MESSAGES/django.po +15 -83
- aa_intel_tool/locale/pl_PL/LC_MESSAGES/django.po +15 -83
- aa_intel_tool/locale/ru/LC_MESSAGES/django.mo +0 -0
- aa_intel_tool/locale/ru/LC_MESSAGES/django.po +71 -87
- aa_intel_tool/locale/sk/LC_MESSAGES/django.po +15 -83
- aa_intel_tool/locale/uk/LC_MESSAGES/django.mo +0 -0
- aa_intel_tool/locale/uk/LC_MESSAGES/django.po +71 -94
- aa_intel_tool/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- aa_intel_tool/locale/zh_Hans/LC_MESSAGES/django.po +20 -87
- aa_intel_tool/parser/general.py +11 -16
- aa_intel_tool/parser/helper/db.py +8 -11
- aa_intel_tool/parser/module/chatlist.py +97 -126
- aa_intel_tool/parser/module/dscan.py +115 -147
- aa_intel_tool/parser/module/fleetcomp.py +85 -102
- aa_intel_tool/static/aa_intel_tool/css/aa-intel-tool.css +6 -24
- aa_intel_tool/static/aa_intel_tool/css/aa-intel-tool.min.css +1 -1
- aa_intel_tool/static/aa_intel_tool/css/aa-intel-tool.min.css.map +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan-highlight.js +104 -64
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan-highlight.min.js.map +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan.js +5 -5
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan.min.js +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-chatscan.min.js.map +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan-highlight.js +43 -43
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan-highlight.min.js.map +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan.js +41 -17
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan.min.js +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-dscan.min.js.map +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition-highlight.js +51 -51
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition-highlight.min.js.map +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition.js +13 -7
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition.min.js +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-fleetcomposition.min.js.map +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-scan-result-common.js +53 -31
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-scan-result-common.min.js +1 -1
- aa_intel_tool/static/aa_intel_tool/javascript/aa-intel-tool-scan-result-common.min.js.map +1 -1
- aa_intel_tool/templates/aa_intel_tool/base.html +7 -42
- aa_intel_tool/templates/aa_intel_tool/partials/scan/evetime.html +1 -1
- aa_intel_tool/templatetags/aa_intel_tool.py +12 -7
- aa_intel_tool/tests/test-data/dscan.txt +250 -0
- aa_intel_tool/tests/test_admin.py +50 -38
- aa_intel_tool/tests/test_app_settings.py +23 -1
- aa_intel_tool/tests/test_helper_eve_character.py +405 -0
- aa_intel_tool/tests/test_models.py +188 -4
- aa_intel_tool/tests/test_parser_general.py +771 -0
- aa_intel_tool/tests/test_parser_module_chatlist.py +154 -0
- aa_intel_tool/tests/test_templatetags.py +24 -3
- {aa_intel_tool-2.6.0.dist-info → aa_intel_tool-2.6.2.dist-info}/METADATA +4 -4
- {aa_intel_tool-2.6.0.dist-info → aa_intel_tool-2.6.2.dist-info}/RECORD +65 -63
- aa_intel_tool/tests/test_parser.py +0 -135
- {aa_intel_tool-2.6.0.dist-info → aa_intel_tool-2.6.2.dist-info}/WHEEL +0 -0
- {aa_intel_tool-2.6.0.dist-info → aa_intel_tool-2.6.2.dist-info}/licenses/LICENSE +0 -0
aa_intel_tool/__init__.py
CHANGED
aa_intel_tool/app_settings.py
CHANGED
|
@@ -4,6 +4,10 @@ App settings
|
|
|
4
4
|
|
|
5
5
|
# Standard Library
|
|
6
6
|
from enum import IntEnum
|
|
7
|
+
from re import RegexFlag
|
|
8
|
+
|
|
9
|
+
# Django
|
|
10
|
+
from django.conf import settings
|
|
7
11
|
|
|
8
12
|
# Alliance Auth
|
|
9
13
|
from allianceauth.services.hooks import get_extension_logger
|
|
@@ -81,3 +85,14 @@ class UpwellStructureId(IntEnum):
|
|
|
81
85
|
"""
|
|
82
86
|
|
|
83
87
|
ANSIBLEX_JUMP_GATE = 35841
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def debug_enabled() -> RegexFlag:
|
|
91
|
+
"""
|
|
92
|
+
Check if DEBUG is enabled
|
|
93
|
+
|
|
94
|
+
:return:
|
|
95
|
+
:rtype:
|
|
96
|
+
"""
|
|
97
|
+
|
|
98
|
+
return settings.DEBUG
|
aa_intel_tool/constants.py
CHANGED
|
@@ -80,10 +80,11 @@ SUPPORTED_INTEL_TYPES = {
|
|
|
80
80
|
|
|
81
81
|
# Building our user agent for ESI calls
|
|
82
82
|
APP_NAME = "aa-intel-tool"
|
|
83
|
+
PACKAGE_NAME = "aa_intel_tool"
|
|
84
|
+
APP_VERBOSE_NAME = "AA Intel Tool"
|
|
85
|
+
APP_VERBOSE_NAME_USERAGENT = "AA-Intel-Tool"
|
|
83
86
|
GITHUB_URL = f"https://github.com/ppfeufer/{APP_NAME}"
|
|
84
|
-
USER_AGENT = f"{
|
|
87
|
+
USER_AGENT = f"{APP_VERBOSE_NAME_USERAGENT}/{__version__} (+{GITHUB_URL}) Django-ESI/{esi_version}"
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
AA_INTEL_TOOL_BASE_DIR, "static", "aa_intel_tool"
|
|
89
|
-
)
|
|
89
|
+
APP_BASE_DIR = os.path.join(os.path.dirname(__file__))
|
|
90
|
+
APP_STATIC_DIR = os.path.join(APP_BASE_DIR, "static", PACKAGE_NAME)
|
|
@@ -25,7 +25,7 @@ from aa_intel_tool import __title__
|
|
|
25
25
|
logger = LoggerAddTag(my_logger=get_extension_logger(name=__name__), prefix=__title__)
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
def _create_alliance(alliance_ids: Iterable[int]
|
|
28
|
+
def _create_alliance(alliance_ids: Iterable[int]) -> None:
|
|
29
29
|
"""
|
|
30
30
|
Bulk creation of EveAllianceInfo objects
|
|
31
31
|
|
|
@@ -36,7 +36,6 @@ def _create_alliance(alliance_ids: Iterable[int] = None) -> None:
|
|
|
36
36
|
"""
|
|
37
37
|
|
|
38
38
|
alliance_ids = set(alliance_ids)
|
|
39
|
-
|
|
40
39
|
existing_alliance_ids = set(
|
|
41
40
|
EveAllianceInfo.objects.filter(alliance_id__in=alliance_ids).values_list(
|
|
42
41
|
"alliance_id", flat=True
|
|
@@ -44,23 +43,21 @@ def _create_alliance(alliance_ids: Iterable[int] = None) -> None:
|
|
|
44
43
|
)
|
|
45
44
|
|
|
46
45
|
alliances_to_fetch = alliance_ids - existing_alliance_ids
|
|
47
|
-
count_alliances_to_fetch = len(alliances_to_fetch)
|
|
48
46
|
|
|
49
47
|
if alliances_to_fetch:
|
|
50
48
|
logger.debug(
|
|
51
|
-
f"{
|
|
49
|
+
f"{len(alliances_to_fetch)} EveAllianceInfo object(s) need to be created …"
|
|
52
50
|
)
|
|
53
51
|
|
|
54
|
-
for loop_count, alliance_id in enumerate(alliances_to_fetch):
|
|
52
|
+
for loop_count, alliance_id in enumerate(alliances_to_fetch, start=1):
|
|
55
53
|
alliance = EveAllianceInfo.objects.create_alliance(alliance_id=alliance_id)
|
|
56
|
-
|
|
57
54
|
logger.debug(
|
|
58
|
-
f"({loop_count
|
|
55
|
+
f"({loop_count}/{len(alliances_to_fetch)}) "
|
|
59
56
|
f"EveAllianceInfo object created for: {alliance.alliance_name}"
|
|
60
57
|
)
|
|
61
58
|
|
|
62
59
|
|
|
63
|
-
def _create_corporation(corporation_ids: Iterable[int]
|
|
60
|
+
def _create_corporation(corporation_ids: Iterable[int]) -> None:
|
|
64
61
|
"""
|
|
65
62
|
Bulk creation of EveCorporationInfo objects
|
|
66
63
|
|
|
@@ -71,7 +68,6 @@ def _create_corporation(corporation_ids: Iterable[int] = None) -> None:
|
|
|
71
68
|
"""
|
|
72
69
|
|
|
73
70
|
corporation_ids = set(corporation_ids)
|
|
74
|
-
|
|
75
71
|
existing_corporation_ids = set(
|
|
76
72
|
EveCorporationInfo.objects.filter(
|
|
77
73
|
corporation_id__in=corporation_ids
|
|
@@ -79,26 +75,25 @@ def _create_corporation(corporation_ids: Iterable[int] = None) -> None:
|
|
|
79
75
|
)
|
|
80
76
|
|
|
81
77
|
corporations_to_fetch = corporation_ids - existing_corporation_ids
|
|
82
|
-
count_corporations_to_fetch = len(corporations_to_fetch)
|
|
83
78
|
|
|
84
79
|
if corporations_to_fetch:
|
|
85
80
|
logger.debug(
|
|
86
|
-
f"{
|
|
81
|
+
f"{len(corporations_to_fetch)} EveCorporationInfo object(s) need to be created …"
|
|
87
82
|
)
|
|
88
83
|
|
|
89
|
-
for loop_count, corporation_id in enumerate(corporations_to_fetch):
|
|
84
|
+
for loop_count, corporation_id in enumerate(corporations_to_fetch, start=1):
|
|
90
85
|
corporation = EveCorporationInfo.objects.create_corporation(
|
|
91
86
|
corp_id=corporation_id
|
|
92
87
|
)
|
|
93
88
|
|
|
94
89
|
logger.debug(
|
|
95
|
-
f"({loop_count
|
|
90
|
+
f"({loop_count}/{len(corporations_to_fetch)}) "
|
|
96
91
|
f"EveCorporationInfo object created for: {corporation.corporation_name}"
|
|
97
92
|
)
|
|
98
93
|
|
|
99
94
|
|
|
100
95
|
def _create_character(
|
|
101
|
-
character_ids: Iterable[int]
|
|
96
|
+
character_ids: Iterable[int], with_affiliation: bool = True
|
|
102
97
|
) -> None:
|
|
103
98
|
"""
|
|
104
99
|
Bulk creation of EveCharacter objects
|
|
@@ -112,35 +107,30 @@ def _create_character(
|
|
|
112
107
|
"""
|
|
113
108
|
|
|
114
109
|
character_ids = set(character_ids)
|
|
110
|
+
tmp_affiliation_ids = {"alliance": set(), "corporation": set()}
|
|
115
111
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
logger.debug(
|
|
119
|
-
f"{count_characters_to_fetch} EveCharacter object(s) need to be created …"
|
|
120
|
-
)
|
|
121
|
-
|
|
122
|
-
tmp_character_ids = {"corporation": [], "alliance": []}
|
|
112
|
+
logger.info(f"{len(character_ids)} EveCharacter object(s) need to be created …")
|
|
123
113
|
|
|
124
|
-
for loop_count, character_id in enumerate(character_ids):
|
|
114
|
+
for loop_count, character_id in enumerate(character_ids, start=1):
|
|
125
115
|
# Create character
|
|
126
116
|
character = EveCharacter.objects.create_character(character_id=character_id)
|
|
127
117
|
|
|
128
118
|
logger.debug(
|
|
129
|
-
f"({loop_count
|
|
119
|
+
f"({loop_count}/{len(character_ids)}) "
|
|
130
120
|
f"EveCharacter object created for: {character.character_name}"
|
|
131
121
|
)
|
|
132
122
|
|
|
133
|
-
if character.alliance_id
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
123
|
+
affiliation_key = "alliance" if character.alliance_id else "corporation"
|
|
124
|
+
tmp_affiliation_ids[affiliation_key].add(
|
|
125
|
+
character.alliance_id or character.corporation_id
|
|
126
|
+
)
|
|
137
127
|
|
|
138
|
-
if with_affiliation
|
|
139
|
-
if
|
|
140
|
-
_create_alliance(
|
|
128
|
+
if with_affiliation:
|
|
129
|
+
if tmp_affiliation_ids["alliance"]:
|
|
130
|
+
_create_alliance(tmp_affiliation_ids["alliance"])
|
|
141
131
|
|
|
142
|
-
if
|
|
143
|
-
_create_corporation(
|
|
132
|
+
if tmp_affiliation_ids["corporation"]:
|
|
133
|
+
_create_corporation(tmp_affiliation_ids["corporation"])
|
|
144
134
|
|
|
145
135
|
|
|
146
136
|
def get_or_create_character(
|
|
@@ -157,7 +147,7 @@ def get_or_create_character(
|
|
|
157
147
|
:rtype:
|
|
158
148
|
"""
|
|
159
149
|
|
|
160
|
-
character_ids = set(character_ids)
|
|
150
|
+
character_ids = set(character_ids or [])
|
|
161
151
|
|
|
162
152
|
logger.debug(
|
|
163
153
|
msg=f"Getting information for {len(character_ids)} character(s) from AA …"
|
|
@@ -174,6 +164,4 @@ def get_or_create_character(
|
|
|
174
164
|
if character_ids_to_fetch:
|
|
175
165
|
_create_character(character_ids=character_ids_to_fetch, with_affiliation=True)
|
|
176
166
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
return characters
|
|
167
|
+
return EveCharacter.objects.filter(character_id__in=character_ids)
|
|
@@ -17,7 +17,7 @@ from app_utils.logging import LoggerAddTag
|
|
|
17
17
|
|
|
18
18
|
# AA Intel Tool
|
|
19
19
|
from aa_intel_tool import __title__
|
|
20
|
-
from aa_intel_tool.constants import
|
|
20
|
+
from aa_intel_tool.constants import APP_STATIC_DIR
|
|
21
21
|
|
|
22
22
|
logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__)
|
|
23
23
|
|
|
@@ -25,17 +25,18 @@ logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__
|
|
|
25
25
|
def calculate_integrity_hash(relative_file_path: str) -> str:
|
|
26
26
|
"""
|
|
27
27
|
Calculates the integrity hash for a given static file
|
|
28
|
+
|
|
28
29
|
:param self:
|
|
29
30
|
:type self:
|
|
30
|
-
:param relative_file_path: The file path relative to the `
|
|
31
|
+
:param relative_file_path: The file path relative to the `{APP_NAME}/{PACKAGE_NAME}/static/{PACKAGE_NAME}` folder
|
|
31
32
|
:type relative_file_path: str
|
|
32
33
|
:return: The integrity hash
|
|
33
34
|
:rtype: str
|
|
34
35
|
"""
|
|
35
36
|
|
|
36
|
-
file_path = os.path.join(AA_INTEL_TOOL_STATIC_DIR, relative_file_path)
|
|
37
37
|
integrity_hash = calculate_integrity(
|
|
38
|
-
path=Path(
|
|
38
|
+
path=Path(os.path.join(APP_STATIC_DIR, relative_file_path)),
|
|
39
|
+
algorithm=Algorithm.SHA512,
|
|
39
40
|
)
|
|
40
41
|
|
|
41
42
|
return integrity_hash
|
|
@@ -6,7 +6,7 @@ msgid ""
|
|
|
6
6
|
msgstr ""
|
|
7
7
|
"Project-Id-Version: AA Intel Tool 2.5.1\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-intel-tool/issues\n"
|
|
9
|
-
"POT-Creation-Date: 2025-
|
|
9
|
+
"POT-Creation-Date: 2025-04-09 11:22+0200\n"
|
|
10
10
|
"PO-Revision-Date: 2024-07-10 14:26+0000\n"
|
|
11
11
|
"Last-Translator: Dadas Aideron <dadas.aideron@gmail.com>\n"
|
|
12
12
|
"Language-Team: Czech <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-intel-tool/cs/>\n"
|
|
@@ -18,8 +18,8 @@ msgstr ""
|
|
|
18
18
|
"X-Generator: Weblate 5.6.2\n"
|
|
19
19
|
|
|
20
20
|
#: aa_intel_tool/__init__.py:9
|
|
21
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
22
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
21
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:7
|
|
22
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:11
|
|
23
23
|
#: aa_intel_tool/templates/aa_intel_tool/views/index.html:8
|
|
24
24
|
#: aa_intel_tool/templates/aa_intel_tool/views/scan/chatlist.html:5
|
|
25
25
|
#: aa_intel_tool/templates/aa_intel_tool/views/scan/dscan.html:5
|
|
@@ -159,23 +159,23 @@ msgstr ""
|
|
|
159
159
|
msgid "No suitable parser found. Input is not a supported intel type or malformed …"
|
|
160
160
|
msgstr ""
|
|
161
161
|
|
|
162
|
-
#: aa_intel_tool/parser/general.py:
|
|
162
|
+
#: aa_intel_tool/parser/general.py:63
|
|
163
163
|
msgid "No data to parse …"
|
|
164
164
|
msgstr ""
|
|
165
165
|
|
|
166
|
-
#: aa_intel_tool/parser/module/chatlist.py:
|
|
166
|
+
#: aa_intel_tool/parser/module/chatlist.py:60
|
|
167
167
|
msgid "Something went wrong while fetching the character information from ESI."
|
|
168
168
|
msgstr ""
|
|
169
169
|
|
|
170
|
-
#: aa_intel_tool/parser/module/chatlist.py:
|
|
170
|
+
#: aa_intel_tool/parser/module/chatlist.py:67
|
|
171
171
|
msgid "Character unknown to ESI."
|
|
172
172
|
msgstr ""
|
|
173
173
|
|
|
174
|
-
#: aa_intel_tool/parser/module/chatlist.py:
|
|
174
|
+
#: aa_intel_tool/parser/module/chatlist.py:256
|
|
175
175
|
msgid "The chat list module is currently disabled."
|
|
176
176
|
msgstr ""
|
|
177
177
|
|
|
178
|
-
#: aa_intel_tool/parser/module/chatlist.py:
|
|
178
|
+
#: aa_intel_tool/parser/module/chatlist.py:275
|
|
179
179
|
#, python-brace-format
|
|
180
180
|
msgid "Chat scans are currently limited to a maximum of {max_allowed_pilots} pilot per scan. Your list of pilots exceeds this limit."
|
|
181
181
|
msgid_plural "Chat scans are currently limited to a maximum of {max_allowed_pilots} pilots per scan. Your list of pilots exceeds this limit."
|
|
@@ -184,99 +184,31 @@ msgstr[1] ""
|
|
|
184
184
|
msgstr[2] ""
|
|
185
185
|
msgstr[3] ""
|
|
186
186
|
|
|
187
|
-
#: aa_intel_tool/parser/module/dscan.py:
|
|
187
|
+
#: aa_intel_tool/parser/module/dscan.py:362
|
|
188
188
|
msgid "The D-Scan module is currently disabled."
|
|
189
189
|
msgstr ""
|
|
190
190
|
|
|
191
|
-
#: aa_intel_tool/parser/module/fleetcomp.py:
|
|
191
|
+
#: aa_intel_tool/parser/module/fleetcomp.py:181
|
|
192
192
|
msgid "The fleet composition module is currently disabled."
|
|
193
193
|
msgstr ""
|
|
194
194
|
|
|
195
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
195
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:23
|
|
196
196
|
msgid "Permalink successfully copied"
|
|
197
197
|
msgstr ""
|
|
198
198
|
|
|
199
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
199
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:24
|
|
200
200
|
msgid "Something went wrong. Nothing copied. Maybe your browser does not support this function."
|
|
201
201
|
msgstr ""
|
|
202
202
|
|
|
203
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
203
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:25
|
|
204
204
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/alliances.html:4
|
|
205
205
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/corporations.html:4
|
|
206
206
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/pilots.html:3
|
|
207
207
|
msgid "Unaffiliated / No Alliance"
|
|
208
208
|
msgstr ""
|
|
209
209
|
|
|
210
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:23
|
|
211
|
-
msgid "NPC Corp"
|
|
212
|
-
msgstr ""
|
|
213
|
-
|
|
214
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:24
|
|
215
|
-
msgctxt "Decimal separator"
|
|
216
|
-
msgid "."
|
|
217
|
-
msgstr ""
|
|
218
|
-
|
|
219
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:25
|
|
220
|
-
msgctxt "Thousands separator"
|
|
221
|
-
msgid ","
|
|
222
|
-
msgstr ""
|
|
223
|
-
|
|
224
210
|
#: aa_intel_tool/templates/aa_intel_tool/base.html:26
|
|
225
|
-
msgid "
|
|
226
|
-
msgstr ""
|
|
227
|
-
|
|
228
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:27
|
|
229
|
-
msgctxt "Keep _END_ as it is. It will be replaced by a number."
|
|
230
|
-
msgid "Showing _END_ entries"
|
|
231
|
-
msgstr ""
|
|
232
|
-
|
|
233
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:28
|
|
234
|
-
msgctxt "Keep _MAX_ as it is. It will be replaced by a number."
|
|
235
|
-
msgid "(filtered from _MAX_ total entries)"
|
|
236
|
-
msgstr ""
|
|
237
|
-
|
|
238
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:29
|
|
239
|
-
msgid "No records available"
|
|
240
|
-
msgstr ""
|
|
241
|
-
|
|
242
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:30
|
|
243
|
-
msgid "Loading …"
|
|
244
|
-
msgstr ""
|
|
245
|
-
|
|
246
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:31
|
|
247
|
-
msgid "Processing …"
|
|
248
|
-
msgstr ""
|
|
249
|
-
|
|
250
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:32
|
|
251
|
-
msgid "Nothing found, sorry …"
|
|
252
|
-
msgstr ""
|
|
253
|
-
|
|
254
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:33
|
|
255
|
-
msgid "Search …"
|
|
256
|
-
msgstr ""
|
|
257
|
-
|
|
258
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:34
|
|
259
|
-
msgid "First"
|
|
260
|
-
msgstr ""
|
|
261
|
-
|
|
262
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:35
|
|
263
|
-
msgid "Last"
|
|
264
|
-
msgstr ""
|
|
265
|
-
|
|
266
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:36
|
|
267
|
-
msgid "Next"
|
|
268
|
-
msgstr ""
|
|
269
|
-
|
|
270
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:37
|
|
271
|
-
msgid "Previous"
|
|
272
|
-
msgstr ""
|
|
273
|
-
|
|
274
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:38
|
|
275
|
-
msgid ": activate to sort column ascending"
|
|
276
|
-
msgstr ""
|
|
277
|
-
|
|
278
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:39
|
|
279
|
-
msgid ": activate to sort column descending"
|
|
211
|
+
msgid "NPC Corp"
|
|
280
212
|
msgstr ""
|
|
281
213
|
|
|
282
214
|
#: aa_intel_tool/templates/aa_intel_tool/partials/body/scan-retention-note.html:5
|
|
@@ -457,7 +389,7 @@ msgid "No data."
|
|
|
457
389
|
msgstr ""
|
|
458
390
|
|
|
459
391
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/evetime.html:5
|
|
460
|
-
msgid "Scan taken at (
|
|
392
|
+
msgid "Scan taken at (EVE time)"
|
|
461
393
|
msgstr ""
|
|
462
394
|
|
|
463
395
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/fleetcomp/fleet-details.html:8
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# SOME DESCRIPTIVE TITLE.
|
|
2
2
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
3
3
|
# This file is distributed under the same license as the PACKAGE package.
|
|
4
|
-
# Peter Pfeufer <info@ppfeufer.de>, 2023, 2024.
|
|
4
|
+
# Peter Pfeufer <info@ppfeufer.de>, 2023, 2024, 2025.
|
|
5
5
|
msgid ""
|
|
6
6
|
msgstr ""
|
|
7
7
|
"Project-Id-Version: AA Intel Tool 2.5.1\n"
|
|
8
8
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-intel-tool/issues\n"
|
|
9
|
-
"POT-Creation-Date: 2025-
|
|
10
|
-
"PO-Revision-Date:
|
|
9
|
+
"POT-Creation-Date: 2025-04-09 11:22+0200\n"
|
|
10
|
+
"PO-Revision-Date: 2025-03-25 13:24+0000\n"
|
|
11
11
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
|
12
12
|
"Language-Team: German <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-intel-tool/de/>\n"
|
|
13
13
|
"Language: de\n"
|
|
@@ -15,11 +15,11 @@ msgstr ""
|
|
|
15
15
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
16
16
|
"Content-Transfer-Encoding: 8bit\n"
|
|
17
17
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
18
|
-
"X-Generator: Weblate 5.
|
|
18
|
+
"X-Generator: Weblate 5.10.4\n"
|
|
19
19
|
|
|
20
20
|
#: aa_intel_tool/__init__.py:9
|
|
21
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
22
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
21
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:7
|
|
22
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:11
|
|
23
23
|
#: aa_intel_tool/templates/aa_intel_tool/views/index.html:8
|
|
24
24
|
#: aa_intel_tool/templates/aa_intel_tool/views/scan/chatlist.html:5
|
|
25
25
|
#: aa_intel_tool/templates/aa_intel_tool/views/scan/dscan.html:5
|
|
@@ -159,124 +159,56 @@ msgstr "Scandaten"
|
|
|
159
159
|
msgid "No suitable parser found. Input is not a supported intel type or malformed …"
|
|
160
160
|
msgstr "Kein passender Parser gefunden. Die Eingabe ist kein unterstützter Inteltyp oder fehlerhaft …"
|
|
161
161
|
|
|
162
|
-
#: aa_intel_tool/parser/general.py:
|
|
162
|
+
#: aa_intel_tool/parser/general.py:63
|
|
163
163
|
msgid "No data to parse …"
|
|
164
164
|
msgstr "Keine Daten zum Parsen …"
|
|
165
165
|
|
|
166
|
-
#: aa_intel_tool/parser/module/chatlist.py:
|
|
166
|
+
#: aa_intel_tool/parser/module/chatlist.py:60
|
|
167
167
|
msgid "Something went wrong while fetching the character information from ESI."
|
|
168
168
|
msgstr "Beim Abrufen der Charakterinformationen von ESI ist ein Fehler aufgetreten."
|
|
169
169
|
|
|
170
|
-
#: aa_intel_tool/parser/module/chatlist.py:
|
|
170
|
+
#: aa_intel_tool/parser/module/chatlist.py:67
|
|
171
171
|
msgid "Character unknown to ESI."
|
|
172
172
|
msgstr "Charakter ist in ESI nicht bekannt."
|
|
173
173
|
|
|
174
|
-
#: aa_intel_tool/parser/module/chatlist.py:
|
|
174
|
+
#: aa_intel_tool/parser/module/chatlist.py:256
|
|
175
175
|
msgid "The chat list module is currently disabled."
|
|
176
176
|
msgstr "Das Chatlistenmodul ist derzeit deaktiviert."
|
|
177
177
|
|
|
178
|
-
#: aa_intel_tool/parser/module/chatlist.py:
|
|
178
|
+
#: aa_intel_tool/parser/module/chatlist.py:275
|
|
179
179
|
#, python-brace-format
|
|
180
180
|
msgid "Chat scans are currently limited to a maximum of {max_allowed_pilots} pilot per scan. Your list of pilots exceeds this limit."
|
|
181
181
|
msgid_plural "Chat scans are currently limited to a maximum of {max_allowed_pilots} pilots per scan. Your list of pilots exceeds this limit."
|
|
182
182
|
msgstr[0] "Chatscans sind derzeit auf maximal {max_allowed_pilots} Pilot pro Scan beschränkt. Deine Pilotenliste überschreitet diese Grenze."
|
|
183
183
|
msgstr[1] "Chatscans sind derzeit auf maximal {max_allowed_pilots} Piloten pro Scan beschränkt. Deine Pilotenliste überschreitet diese Grenze."
|
|
184
184
|
|
|
185
|
-
#: aa_intel_tool/parser/module/dscan.py:
|
|
185
|
+
#: aa_intel_tool/parser/module/dscan.py:362
|
|
186
186
|
msgid "The D-Scan module is currently disabled."
|
|
187
187
|
msgstr "Das D-Scan-Modul ist derzeit deaktiviert."
|
|
188
188
|
|
|
189
|
-
#: aa_intel_tool/parser/module/fleetcomp.py:
|
|
189
|
+
#: aa_intel_tool/parser/module/fleetcomp.py:181
|
|
190
190
|
msgid "The fleet composition module is currently disabled."
|
|
191
191
|
msgstr "Das Flottenzusammensetzungsmodul ist derzeit deaktiviert."
|
|
192
192
|
|
|
193
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
193
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:23
|
|
194
194
|
msgid "Permalink successfully copied"
|
|
195
195
|
msgstr "Permalink erfolgreich kopiert"
|
|
196
196
|
|
|
197
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
197
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:24
|
|
198
198
|
msgid "Something went wrong. Nothing copied. Maybe your browser does not support this function."
|
|
199
199
|
msgstr "Etwas ist schief gelaufen. Nichts kopiert. Möglicherweise unterstützt Dein Browser diese Funktion nicht."
|
|
200
200
|
|
|
201
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
201
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:25
|
|
202
202
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/alliances.html:4
|
|
203
203
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/corporations.html:4
|
|
204
204
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/chatlist/pilots.html:3
|
|
205
205
|
msgid "Unaffiliated / No Alliance"
|
|
206
206
|
msgstr "Unabhängig / Keine Allianz"
|
|
207
207
|
|
|
208
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:
|
|
208
|
+
#: aa_intel_tool/templates/aa_intel_tool/base.html:26
|
|
209
209
|
msgid "NPC Corp"
|
|
210
210
|
msgstr "NPC Corp"
|
|
211
211
|
|
|
212
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:24
|
|
213
|
-
msgctxt "Decimal separator"
|
|
214
|
-
msgid "."
|
|
215
|
-
msgstr ","
|
|
216
|
-
|
|
217
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:25
|
|
218
|
-
msgctxt "Thousands separator"
|
|
219
|
-
msgid ","
|
|
220
|
-
msgstr "."
|
|
221
|
-
|
|
222
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:26
|
|
223
|
-
msgid "No data available in this table"
|
|
224
|
-
msgstr "In dieser Tabelle sind keine Daten verfügbar"
|
|
225
|
-
|
|
226
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:27
|
|
227
|
-
msgctxt "Keep _END_ as it is. It will be replaced by a number."
|
|
228
|
-
msgid "Showing _END_ entries"
|
|
229
|
-
msgstr "Zeige _END_ Einträge"
|
|
230
|
-
|
|
231
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:28
|
|
232
|
-
msgctxt "Keep _MAX_ as it is. It will be replaced by a number."
|
|
233
|
-
msgid "(filtered from _MAX_ total entries)"
|
|
234
|
-
msgstr "(gefiltert von _MAX_ Einträgen)"
|
|
235
|
-
|
|
236
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:29
|
|
237
|
-
msgid "No records available"
|
|
238
|
-
msgstr "Keine Datensätze vorhanden"
|
|
239
|
-
|
|
240
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:30
|
|
241
|
-
msgid "Loading …"
|
|
242
|
-
msgstr "Lade …"
|
|
243
|
-
|
|
244
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:31
|
|
245
|
-
msgid "Processing …"
|
|
246
|
-
msgstr "Verarbeite …"
|
|
247
|
-
|
|
248
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:32
|
|
249
|
-
msgid "Nothing found, sorry …"
|
|
250
|
-
msgstr "Nichts gefunden, tut mir leid …"
|
|
251
|
-
|
|
252
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:33
|
|
253
|
-
msgid "Search …"
|
|
254
|
-
msgstr "Suche …"
|
|
255
|
-
|
|
256
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:34
|
|
257
|
-
msgid "First"
|
|
258
|
-
msgstr "Erster"
|
|
259
|
-
|
|
260
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:35
|
|
261
|
-
msgid "Last"
|
|
262
|
-
msgstr "Letzter"
|
|
263
|
-
|
|
264
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:36
|
|
265
|
-
msgid "Next"
|
|
266
|
-
msgstr "Nächster"
|
|
267
|
-
|
|
268
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:37
|
|
269
|
-
msgid "Previous"
|
|
270
|
-
msgstr "Vorheriger"
|
|
271
|
-
|
|
272
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:38
|
|
273
|
-
msgid ": activate to sort column ascending"
|
|
274
|
-
msgstr ": aktivieren, um die Spalte aufsteigend zu sortieren"
|
|
275
|
-
|
|
276
|
-
#: aa_intel_tool/templates/aa_intel_tool/base.html:39
|
|
277
|
-
msgid ": activate to sort column descending"
|
|
278
|
-
msgstr ": aktivieren, um die Spalte absteigend zu sortieren"
|
|
279
|
-
|
|
280
212
|
#: aa_intel_tool/templates/aa_intel_tool/partials/body/scan-retention-note.html:5
|
|
281
213
|
#, python-format
|
|
282
214
|
msgid "Scans will be deleted after %(scan_retention_time)s day."
|
|
@@ -451,8 +383,8 @@ msgid "No data."
|
|
|
451
383
|
msgstr "Keine Daten."
|
|
452
384
|
|
|
453
385
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/evetime.html:5
|
|
454
|
-
msgid "Scan taken at (
|
|
455
|
-
msgstr "Scan aufgenommen um (
|
|
386
|
+
msgid "Scan taken at (EVE time)"
|
|
387
|
+
msgstr "Scan aufgenommen um (EVE Zeit)"
|
|
456
388
|
|
|
457
389
|
#: aa_intel_tool/templates/aa_intel_tool/partials/scan/fleetcomp/fleet-details.html:8
|
|
458
390
|
msgid "Fleet details"
|
|
@@ -490,6 +422,58 @@ msgstr "(Systemfehler) Es ist etwas Unerwartetes passiert."
|
|
|
490
422
|
msgid "The scan you were looking for could not be found."
|
|
491
423
|
msgstr "Der gesuchte Scan konnte nicht gefunden werden."
|
|
492
424
|
|
|
425
|
+
#~ msgctxt "Decimal separator"
|
|
426
|
+
#~ msgid "."
|
|
427
|
+
#~ msgstr ","
|
|
428
|
+
|
|
429
|
+
#~ msgctxt "Thousands separator"
|
|
430
|
+
#~ msgid ","
|
|
431
|
+
#~ msgstr "."
|
|
432
|
+
|
|
433
|
+
#~ msgid "No data available in this table"
|
|
434
|
+
#~ msgstr "In dieser Tabelle sind keine Daten verfügbar"
|
|
435
|
+
|
|
436
|
+
#~ msgctxt "Keep _END_ as it is. It will be replaced by a number."
|
|
437
|
+
#~ msgid "Showing _END_ entries"
|
|
438
|
+
#~ msgstr "Zeige _END_ Einträge"
|
|
439
|
+
|
|
440
|
+
#~ msgctxt "Keep _MAX_ as it is. It will be replaced by a number."
|
|
441
|
+
#~ msgid "(filtered from _MAX_ total entries)"
|
|
442
|
+
#~ msgstr "(gefiltert von _MAX_ Einträgen)"
|
|
443
|
+
|
|
444
|
+
#~ msgid "No records available"
|
|
445
|
+
#~ msgstr "Keine Datensätze vorhanden"
|
|
446
|
+
|
|
447
|
+
#~ msgid "Loading …"
|
|
448
|
+
#~ msgstr "Lade …"
|
|
449
|
+
|
|
450
|
+
#~ msgid "Processing …"
|
|
451
|
+
#~ msgstr "Verarbeite …"
|
|
452
|
+
|
|
453
|
+
#~ msgid "Nothing found, sorry …"
|
|
454
|
+
#~ msgstr "Nichts gefunden, tut mir leid …"
|
|
455
|
+
|
|
456
|
+
#~ msgid "Search …"
|
|
457
|
+
#~ msgstr "Suche …"
|
|
458
|
+
|
|
459
|
+
#~ msgid "First"
|
|
460
|
+
#~ msgstr "Erster"
|
|
461
|
+
|
|
462
|
+
#~ msgid "Last"
|
|
463
|
+
#~ msgstr "Letzter"
|
|
464
|
+
|
|
465
|
+
#~ msgid "Next"
|
|
466
|
+
#~ msgstr "Nächster"
|
|
467
|
+
|
|
468
|
+
#~ msgid "Previous"
|
|
469
|
+
#~ msgstr "Vorheriger"
|
|
470
|
+
|
|
471
|
+
#~ msgid ": activate to sort column ascending"
|
|
472
|
+
#~ msgstr ": aktivieren, um die Spalte aufsteigend zu sortieren"
|
|
473
|
+
|
|
474
|
+
#~ msgid ": activate to sort column descending"
|
|
475
|
+
#~ msgstr ": aktivieren, um die Spalte absteigend zu sortieren"
|
|
476
|
+
|
|
493
477
|
#~ msgctxt "Keep _MENU_ as it is. It will be replaced by an HTML construct."
|
|
494
478
|
#~ msgid "Show _MENU_"
|
|
495
479
|
#~ msgstr "Zeige _MENU_"
|