Compare commits

...

70 Commits
v4.7.0 ... v4.x

Author SHA1 Message Date
Joel Falknau
152ebf86f9 Version Bump 4.9.0 2025-08-14 12:32:46 +10:00
Ariel Rin
68069d1043 Merge branch 'retract-group-application-button' into 'master'
[ADD] Retract group application button

See merge request allianceauth/allianceauth!1748
2025-08-14 02:28:42 +00:00
Ariel Rin
9ff926ae4d Merge branch '1745alt' into 'master'
Bump SQL and Redis for new installs

See merge request allianceauth/allianceauth!1751
2025-08-14 02:27:14 +00:00
Ariel Rin
b28cbdad31 Bump SQL and Redis for new installs 2025-08-14 02:27:14 +00:00
Ariel Rin
3c1bae463e Merge branch 'aa-framework-js-functions' into 'master'
[ADD] JS functions to the AA framework

See merge request allianceauth/allianceauth!1747
2025-08-14 02:09:10 +00:00
Ariel Rin
91fbdb9ec1 Merge branch 'fix-debug-warning-widget' into 'master'
[FIX] Debug warning dashboard widget

See merge request allianceauth/allianceauth!1746
2025-08-14 02:08:48 +00:00
Ariel Rin
c1abc56ebc Merge branch 'svg-sprite' into 'master'
[ADD] SVG sprite to the Alliance Auth framework

See merge request allianceauth/allianceauth!1750
2025-08-14 00:57:20 +00:00
Peter Pfeufer
f1582165bc [ADD] SVG sprite to the Alliance Auth framework 2025-08-13 11:46:36 +02:00
Peter Pfeufer
0f155369a1 [CHANGE] Move it to the top 2025-08-11 09:06:27 +02:00
Ariel Rin
1e822729c3 Merge branch 'cursor-style' into 'master'
[FIX] Force AA framework cursor style

See merge request allianceauth/allianceauth!1749
2025-08-10 02:31:11 +00:00
Peter Pfeufer
f81c1d1b31 [ADD] Retract group application button
See #1401
2025-08-09 22:40:07 +02:00
Peter Pfeufer
80ac8f7feb [FIX] Force AA framework cursor style
Might be overwritten by Bootstrap otherwise.
2025-08-09 22:30:29 +02:00
Peter Pfeufer
0360184c2d [ADD] QuerySelector function to prevent forms from double submitting
This is to prevent forms from submitting multiple times when users double-click or even more …
2025-08-09 16:37:20 +02:00
Peter Pfeufer
099a39a2a2 [ADD] objectDeepMerge function
Recursively merges properties from source objects into a target object. If a property at the current level is an object,
and both target and source have it, the property is merged. Otherwise, the source property overwrites the target property.

This function does not modify the source objects and prevents prototype pollution by not allowing `__proto__`, `constructor`,
and `prototype` property names.
2025-08-09 15:54:39 +02:00
Peter Pfeufer
c1cd7ca64f [CHANGE] To async 2025-08-09 10:36:22 +02:00
Peter Pfeufer
4cc108ab7f [MISC] Formatting 2025-08-08 19:39:42 +02:00
Peter Pfeufer
0028310aa5 [CHANGE] Switch to framework fetch functions 2025-08-08 19:29:55 +02:00
Peter Pfeufer
18e9453fed [ADD] JS functions to the AA framework 2025-08-08 19:08:55 +02:00
Peter Pfeufer
db74ddfdf5 [FIX] Debug warning dashboard widget
Bringing and layout the markup in line with the rest of the dashboard widgets.
2025-08-07 13:47:58 +02:00
Ariel Rin
e68793f363 Merge branch 'debug-panel' into 'master'
Add an additionnal panel to the admin status displaying if DEBUG is turned on

See merge request allianceauth/allianceauth!1737
2025-08-07 10:58:50 +00:00
Ariel Rin
5155af8240 Merge branch 'perm-audit-details' into 'master'
Add application and model names in the permission audit

See merge request allianceauth/allianceauth!1738
2025-08-07 10:57:13 +00:00
Ariel Rin
575ddeed10 Merge branch 'crazydisi-master-patch-e658' into 'master'
fixed a typo in the uninstall manual

See merge request allianceauth/allianceauth!1744
2025-08-07 10:44:13 +00:00
Ariel Rin
16e1cd94e3 Merge branch 'fix-duplicate-class-attribute' into 'master'
[FIX] Duplicate class attribute

See merge request allianceauth/allianceauth!1743
2025-08-07 10:44:05 +00:00
Ariel Rin
2443d43c25 Merge branch 'dev-enviro' into 'master'
Developer Environment Docs Update

See merge request allianceauth/allianceauth!1741
2025-08-07 10:43:59 +00:00
Aaron Kable
d2accfb312 Developer Environment Docs Update 2025-08-07 10:43:59 +00:00
Ariel Rin
9f86971ce2 Merge branch 'smooth-chevron-transition' into 'master'
[CHANGE] Chevrons in side menu now rotate smoothly instead of snapping

See merge request allianceauth/allianceauth!1740
2025-08-07 10:43:23 +00:00
Ariel Rin
9abb216a3d Merge branch 'fix-custom-css-static' into 'master'
[FIX] Don't use `static` for the `custom-styles.css` file

See merge request allianceauth/allianceauth!1736
2025-08-07 10:41:47 +00:00
Ariel Rin
e978a8e4a5 Merge branch 'add-missing-fonts' into 'master'
[ADD] Missing fonts

See merge request allianceauth/allianceauth!1735
2025-08-07 10:41:23 +00:00
Ariel Rin
a2040ae4dd Merge branch 'django-esi-min-version' into 'master'
[CHANGE] Django ESI min version

See merge request allianceauth/allianceauth!1734
2025-08-07 10:38:07 +00:00
CrazyDisi
dae374412c fixed a typo in the uninstall manual 2025-08-06 12:34:51 +00:00
Peter Pfeufer
572294dd41 [FIX] Duplicate class attribute 2025-08-06 08:28:39 +02:00
Peter Pfeufer
a71aeb1f02 [CHANGE] Chevrons in side menu now rotate smoothly instead of snapping 2025-07-29 10:46:13 +02:00
T'rahk Rokym
d1487fa176 Switch separator to match Django's backend display 2025-07-09 21:54:24 +02:00
T'rahk Rokym
783a599081 Add application and model names in the permission audit 2025-07-09 21:46:17 +02:00
T'rahk Rokym
0d9fd0049b Add an additionnal panel to the admin status displaying if DEBUG is turned on 2025-07-09 21:36:45 +02:00
Peter Pfeufer
3f17da684e [FIX] Don't use static for the custom-styles.css file
Since this CSS file is not part of the regular static collection, but gets created on demand, `ManifestStaticFilesStorage` will not work here. So we have to call the file directly, instead via `static` or we get:

ValueError: Missing staticfiles manifest entry for 'allianceauth/custom-styles.css'
2025-07-08 22:12:43 +02:00
Peter Pfeufer
323beceda1 [ADD] Missing fonts 2025-07-07 09:06:00 +02:00
Peter Pfeufer
9f81c7fa0e [CHANGE] User agent generation 2025-07-05 14:36:48 +02:00
Peter Pfeufer
9c156c1115 [CHANGE] Django ESI min version
Set to v7.0.1, to ensure this fix is included » 501966c07c
2025-07-05 10:08:32 +02:00
Joel Falknau
34b94ae685 Version Bump 4.8.0 2025-07-03 09:19:25 +10:00
Ariel Rin
50fd900bdc Merge branch 'translations_7f31a07ccd4e4a66b1dd7b6bc2dbddb5' into 'master'
Updates for project Alliance Auth

See merge request allianceauth/allianceauth!1732
2025-07-02 23:17:15 +00:00
Ariel Rin
1bf8ec5bc6 Updates for project Alliance Auth 2025-07-02 23:17:15 +00:00
Ariel Rin
f849b75029 Merge branch 'fix-sidebar-localStorage-behavior' into 'master'
[FIX] Sidebar `localStorage` behavior

See merge request allianceauth/allianceauth!1733
2025-07-02 23:06:28 +00:00
Peter Pfeufer
25c27793fe [FIX] Sidebar localStorage behavior 2025-07-01 14:07:12 +02:00
Ariel Rin
6e413772ad Merge branch 'custom-static-file-storage' into 'master'
[ADD] Custom Static Files Storage Class

See merge request allianceauth/allianceauth!1726
2025-06-30 23:43:33 +00:00
Ariel Rin
137a202e1b Merge branch 'translations_7f31a07ccd4e4a66b1dd7b6bc2dbddb5' into 'master'
Updates for project Alliance Auth

See merge request allianceauth/allianceauth!1725
2025-06-19 10:31:37 +00:00
Joel Falknau
aaf718fe4d update pre-commit 2025-06-19 20:30:37 +10:00
Joel Falknau
a193d9959b makemessages 2025-06-19 20:23:21 +10:00
Ariel Rin
12250ef0c2 Merge branch 'exclude-biomassed-characters' into 'master'
[ADD] `exclude_biomassed` to `EveCharacterManager`

See merge request allianceauth/allianceauth!1727
2025-06-19 10:13:47 +00:00
Ariel Rin
bde9802583 Merge branch 'user-menu-fixes' into 'master'
[CHANGE] User Menu Template Improvements

See merge request allianceauth/allianceauth!1728
2025-06-19 10:12:16 +00:00
Ariel Rin
1b30b86d2b Merge branch 'improve-get_all_characters_from_user' into 'master'
[CHANGE] Improve `get_all_characters_from_user`

See merge request allianceauth/allianceauth!1729
2025-06-19 10:11:43 +00:00
Ariel Rin
0707b9b98c Merge branch 'error-not-warning' into 'master'
[FIX] Error codes should trigger errors, not warnings

See merge request allianceauth/allianceauth!1730
2025-06-19 10:11:09 +00:00
Peter Pfeufer
b22a379db2 [FIX] Error codes should trigger errors, not warnings 2025-06-17 17:27:51 +02:00
Peter Pfeufer
bb2e0aabbc [CHANGE] Improve get_all_characters_from_user
### Added

- `main_first` option to move the main character to the first position of the character list

### Changed

- Character list sorted alphabetically
2025-06-17 16:38:55 +02:00
Peter Pfeufer
449991d846 [FIX] Several HTML fixes
- Remove unnecessary HTML tags
- Remove unnecessary Bootstrap classes
- Add title attributes
- Make strings translatable
2025-06-15 12:15:14 +02:00
Peter Pfeufer
dd42c2b074 [CHANGE] Only show theme selection if more than 1 theme is available 2025-06-15 12:10:44 +02:00
Peter Pfeufer
abff1b0add [ADD] exclude_biomassed to EveCharacterManager 2025-06-13 11:29:05 +02:00
Peter Pfeufer
fc51f6bea2 [FIX] Cleanup file path name to work with CSS url("foobar") notations
This essentially removes quotes from the filename, which aren't allowed anyways.
2025-06-12 10:19:48 +02:00
Peter Pfeufer
6477c22308 [CHANGE] Use the same quotation marks for strings and not a mix of both
Just while we're at it …
2025-06-01 00:05:34 +02:00
Peter Pfeufer
329b3fecfb [ADD] Custom Static Files Storage Class 2025-06-01 00:02:09 +02:00
Ariel Rin
677505f22a Translate django.po in pl_PL
92% of minimum 50% translated source file: 'django.po'
on 'pl_PL'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:31:18 +00:00
Ariel Rin
f518166bd0 Translate django.po in uk
96% of minimum 50% translated source file: 'django.po'
on 'uk'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:31:11 +00:00
Ariel Rin
1f4c49f823 Translate django.po in ko_KR
92% of minimum 50% translated source file: 'django.po'
on 'ko_KR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:31:00 +00:00
Ariel Rin
abcc4d47b5 Translate django.po in ru
76% of minimum 50% translated source file: 'django.po'
on 'ru'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:30:53 +00:00
Ariel Rin
3d4737df72 Translate django.po in it_IT
90% of minimum 50% translated source file: 'django.po'
on 'it_IT'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:30:47 +00:00
Ariel Rin
8f94885d8e Translate django.po in de
96% of minimum 50% translated source file: 'django.po'
on 'de'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:30:40 +00:00
Ariel Rin
993455d664 Translate django.po in fr_FR
92% of minimum 50% translated source file: 'django.po'
on 'fr_FR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:30:33 +00:00
Ariel Rin
3cb0addee7 Translate django.po in ja
92% of minimum 50% translated source file: 'django.po'
on 'ja'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:30:26 +00:00
Ariel Rin
5530b76294 Translate django.po in es
80% of minimum 50% translated source file: 'django.po'
on 'es'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:30:16 +00:00
Ariel Rin
9fb51165ab Translate django.po in zh-Hans
67% of minimum 50% translated source file: 'django.po'
on 'zh-Hans'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-05-24 08:30:09 +00:00
75 changed files with 4385 additions and 2203 deletions

View File

@@ -25,12 +25,12 @@ exclude: |
repos:
# Code Upgrades
- repo: https://github.com/asottile/pyupgrade
rev: v3.19.1
rev: v3.20.0
hooks:
- id: pyupgrade
args: [--py38-plus]
- repo: https://github.com/adamchainz/django-upgrade
rev: 1.22.2
rev: 1.25.0
hooks:
- id: django-upgrade
args: [--target-version=4.2]
@@ -66,11 +66,11 @@ repos:
- id: check-executables-have-shebangs
- id: end-of-file-fixer
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
rev: 3.2.0
rev: 3.2.1
hooks:
- id: editorconfig-checker
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.44.0
rev: v0.45.0
hooks:
- id: markdownlint
language: node
@@ -78,7 +78,7 @@ repos:
- --disable=MD013
# Infrastructure
- repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.5.0
rev: v2.6.0
hooks:
- id: pyproject-fmt
name: pyproject.toml formatter
@@ -88,7 +88,7 @@ repos:
additional_dependencies:
- tox==4.24.1 # https://github.com/tox-dev/tox/releases/latest
- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.23
rev: v0.24.1
hooks:
- id: validate-pyproject
name: Validate pyproject.toml

View File

@@ -5,7 +5,8 @@ manage online service access.
# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
__version__ = '4.7.0'
__version__ = '4.9.0'
__title__ = 'Alliance Auth'
__title_useragent__ = 'AllianceAuth'
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
NAME = f'{__title__} v{__version__}'

View File

@@ -1,17 +1,15 @@
{% load i18n %}
<div class="dropdown">
<form action="{% url 'set_language' %}" method="post">
{% csrf_token %}
<form class="dropdown-item" action="{% url 'set_language' %}" method="post">
{% csrf_token %}
<select class="form-select" onchange="this.form.submit()" class="form-control" id="lang-select" name="language">
{% get_available_languages as LANGUAGES %}
<select class="form-select" onchange="this.form.submit()" id="lang-select" name="language">
{% get_available_languages as LANGUAGES %}
{% for lang_code, lang_name in LANGUAGES %}
<option lang="{{ lang_code }}" value="{{ lang_code }}"{% if lang_code == LANGUAGE_CODE %} selected{% endif %}>
{{ lang_code|language_name_local|capfirst }} ({{ lang_code }})
</option>
{% endfor %}
</select>
</form>
</div>
{% for lang_code, lang_name in LANGUAGES %}
<option lang="{{ lang_code }}" value="{{ lang_code }}"{% if lang_code == LANGUAGE_CODE %} selected{% endif %}>
{{ lang_code|language_name_local|capfirst }} ({{ lang_code }})
</option>
{% endfor %}
</select>
</form>

View File

@@ -8,7 +8,6 @@ from allianceauth.custom_css.models import CustomCSS
# Django
from django.conf import settings
from django.template.defaulttags import register
from django.templatetags.static import static
from django.utils.safestring import mark_safe
from pathlib import Path
@@ -20,7 +19,7 @@ def custom_css_static(path: str) -> str:
Versioned static URL
This is to make sure to break the browser cache on CSS updates.
Example: /static/allianceauth/custom-styles.css?v=1234567890
Example: /static/allianceauth/custom-styles.css?v=1752004819.555084
:param path:
:type path:
@@ -42,7 +41,6 @@ def custom_css_static(path: str) -> str:
custom_css_version = (
str(custom_css_changed).replace(" ", "").replace(":", "").replace("-", "")
) # remove spaces, colons, and dashes
static_url = static(path)
versioned_url = static_url + "?v=" + custom_css_version
versioned_url = f"{settings.STATIC_URL}{path}?v={custom_css_version}"
return mark_safe(f'<link rel="stylesheet" href="{versioned_url}">')

View File

@@ -14,6 +14,16 @@ class EveCharacterProviderManager:
class EveCharacterManager(models.Manager):
provider = EveCharacterProviderManager()
def exclude_biomassed(self):
"""
Get a queryset of EveCharacter objects, excluding the "Doomheim" corporation (1000001).
:return:
:rtype:
"""
return self.exclude(corporation_id=1000001)
def create_character(self, character_id) -> models.Model:
return self.create_character_obj(self.provider.get_character(character_id))

View File

@@ -7,7 +7,7 @@ from jsonschema.exceptions import RefResolutionError
from django.conf import settings
from esi.clients import esi_client_factory
from allianceauth import __version__
from allianceauth import __version__, __title_useragent__, __url__
from allianceauth.utils.django import StartupCommand
@@ -185,7 +185,9 @@ class EveSwaggerProvider(EveProvider):
self._client = esi_client_factory(
token=token,
spec_file=SWAGGER_SPEC_PATH,
app_info_text=f"allianceauth v{__version__}"
ua_appname=__title_useragent__,
ua_version=__version__,
ua_url=__url__
)
except (HTTPError, RefResolutionError):
logger.exception(
@@ -202,7 +204,11 @@ class EveSwaggerProvider(EveProvider):
def client(self):
if self._client is None:
self._client = esi_client_factory(
token=self._token, spec_file=SWAGGER_SPEC_PATH, app_info_text=("allianceauth v" + __version__)
token=self._token,
spec_file=SWAGGER_SPEC_PATH,
ua_appname=__title_useragent__,
ua_version=__version__,
ua_url=__url__
)
return self._client

View File

@@ -6,6 +6,12 @@ from jsonschema.exceptions import RefResolutionError
from django.test import TestCase
from allianceauth import __url__ as aa_url
from allianceauth import __version__ as aa_version
from esi import __url__ as esi_url
from esi import __version__ as esi_version
from . import set_logger
from .esi_client_stub import EsiClientStub
from ..providers import (
@@ -717,11 +723,11 @@ class TestEveSwaggerProvider(TestCase):
self.assertIsNotNone(my_provider._client)
self.assertEqual(my_client, 'my_client')
@patch(MODULE_PATH + '.__version__', '1.0.0')
def test_user_agent_header(self):
my_provider = EveSwaggerProvider()
my_client = my_provider.client
operation = my_client.Universe.get_universe_factions()
self.assertEqual(
operation.future.request.headers['User-Agent'], 'allianceauth v1.0.0 dummy@example.net'
operation.future.request.headers['User-Agent'],
f'AllianceAuth/{aa_version} (dummy@example.net; +{aa_url}) Django-ESI/{esi_version} (+{esi_url})'
)

View File

@@ -10,24 +10,39 @@ from allianceauth.authentication.models import CharacterOwnership
from allianceauth.eveonline.models import EveCharacter
def get_all_characters_from_user(user: User) -> list:
def get_all_characters_from_user(user: User, main_first: bool = False) -> list:
"""
Get all characters from a user or an empty list
when no characters are found for the user or the user is None
Get all characters from a user
This function retrieves all characters associated with a given user, optionally ordering them
with the main character first.
If the user is None, an empty list is returned.
:param user:
:type user:
:return:
:rtype:
:param user: The user whose characters are to be retrieved
:type user: User
:param main_first: If True, the main character will be listed first
:type main_first: bool
:return: A list of EveCharacter objects associated with the user
:rtype: list[EveCharacter]
"""
if user is None:
return []
try:
characters = [
char.character for char in CharacterOwnership.objects.filter(user=user)
]
if main_first:
characters = [
char.character
for char in CharacterOwnership.objects.filter(user=user).order_by(
"-character__userprofile", "character__character_name"
)
]
else:
characters = [
char.character
for char in CharacterOwnership.objects.filter(user=user).order_by(
"character__character_name"
)
]
except AttributeError:
return []

View File

@@ -15,6 +15,10 @@
ul#nav-right:has(li) + ul#nav-right-character-control > li:first-child {
display: list-item !important;
}
form.is-submitting button[type="submit"] {
cursor: not-allowed;
}
}
@media all and (max-width: 991px) {
@@ -67,15 +71,12 @@
}
/* Chevron icons */
#sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="true"] > i.fa-chevron-down,
#sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="false"] > i.fa-chevron-right {
display: block;
width: 16px;
#sidebar-menu span[data-bs-toggle="collapse"] > i.fa-chevron-right {
transition: 0.25s transform ease-in-out;
}
#sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="true"] > i.fa-chevron-right,
#sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="false"] > i.fa-chevron-down {
display: none;
#sidebar-menu span[data-bs-toggle="collapse"][aria-expanded="true"] > i.fa-chevron-right {
transform: rotate(90deg);
}
}
@@ -83,47 +84,47 @@
------------------------------------------------------------------------------------- */
@media all {
.cursor-auto {
cursor: auto;
cursor: auto !important;
}
.cursor-default {
cursor: default;
cursor: default !important;
}
.cursor-pointer {
cursor: pointer;
cursor: pointer !important;
}
.cursor-wait {
cursor: wait;
cursor: wait !important;
}
.cursor-text {
cursor: text;
cursor: text !important;
}
.cursor-move {
cursor: move;
cursor: move !important;
}
.cursor-help {
cursor: help;
cursor: help !important;
}
.cursor-not-allowed {
cursor: not-allowed;
cursor: not-allowed !important;
}
.cursor-inherit {
cursor: inherit;
cursor: inherit !important;
}
.cursor-zoom-in {
cursor: zoom-in;
cursor: zoom-in !important;
}
.cursor-zoom-out {
cursor: zoom-out;
cursor: zoom-out !important;
}
}

View File

@@ -0,0 +1,300 @@
/**
* Functions and utilities for the Alliance Auth framework.
*/
/* jshint -W097 */
'use strict';
/**
* Checks if the given item is an array.
*
* @usage
* ```javascript
* if (isArray(someVariable)) {
* console.log('This is an array');
* } else {
* console.log('This is not an array');
* }
* ```
*
* @param {*} item - The item to check.
* @returns {boolean} True if the item is an array, false otherwise.
*/
const isArray = (item) => {
return Array.isArray(item);
};
/**
* Checks if the given item is a plain object, excluding arrays and dates.
*
* @usage
* ```javascript
* if (isObject(someVariable)) {
* console.log('This is a plain object');
* } else {
* console.log('This is not a plain object');
* }
* ```
*
* @param {*} item - The item to check.
* @returns {boolean} True if the item is a plain object, false otherwise.
*/
const isObject = (item) => {
return (
item && typeof item === 'object' && !isArray(item) && !(item instanceof Date)
);
};
/**
* Fetch data from an ajax URL
*
* Do not call this function directly, use `fetchGet` or `fetchPost` instead.
*
* @param {string} url The URL to fetch data from
* @param {string} method The HTTP method to use for the request (default: 'get')
* @param {string|null} csrfToken The CSRF token to include in the request headers (default: null)
* @param {string|null} payload The payload (JSON|Object) to send with the request (default: null)
* @param {boolean} responseIsJson Whether the response is expected to be JSON or not (default: true)
* @returns {Promise<string>} The fetched data
* @throws {Error} Throws an error when:
* - The method is not valid (only `get` and `post` are allowed).
* - The CSRF token is required but not provided for POST requests.
* - The payload is not an object when using POST method.
* - The response status is not OK (HTTP 200-299).
* - There is a network error or if the response cannot be parsed as JSON.
*/
const _fetchAjaxData = async ({
url,
method = 'get',
csrfToken = null,
payload = null,
responseIsJson = true
}) => {
const normalizedMethod = method.toLowerCase();
// Validate the method
const validMethods = ['get', 'post'];
if (!validMethods.includes(normalizedMethod)) {
throw new Error(`Invalid method: ${method}. Valid methods are: get, post`);
}
const headers = {};
// Set headers based on response type
if (responseIsJson) {
headers['Accept'] = 'application/json'; // jshint ignore:line
headers['Content-Type'] = 'application/json';
}
let requestUrl = url;
let body = null;
if (normalizedMethod === 'post') {
if (!csrfToken) {
throw new Error('CSRF token is required for POST requests');
}
headers['X-CSRFToken'] = csrfToken;
if (payload !== null && !isObject(payload)) {
throw new Error('Payload must be an object when using POST method');
}
body = payload ? JSON.stringify(payload) : null;
} else if (normalizedMethod === 'get' && payload) {
const queryParams = new URLSearchParams(payload).toString(); // jshint ignore:line
requestUrl += (url.includes('?') ? '&' : '?') + queryParams;
}
/**
* Throws an error with a formatted message.
*
* @param {Response} response The error object containing the message to throw.
*/
const throwHTTPStatusError = (response) => {
throw new Error(`Error: ${response.status} - ${response.statusText}`);
};
try {
const response = await fetch(requestUrl, {
method: method.toUpperCase(),
headers: headers,
body: body
});
/**
* Throws an error if the response status is not OK (HTTP 200-299).
* This is used to handle HTTP errors gracefully.
*/
if (!response.ok) {
throwHTTPStatusError(response);
}
return responseIsJson ? await response.json() : await response.text();
} catch (error) {
// Log the error message to the console
console.log(`Error: ${error.message}`);
throw error;
}
};
/**
* Fetch data from an ajax URL using the GET method.
* This function is a wrapper around _fetchAjaxData to simplify GET requests.
*
* @usage
* ```javascript
* fetchGet({
* url: url,
* responseIsJson: false
* }).then((data) => {
* // Process the fetched data
* }).catch((error) => {
* console.error(`Error: ${error.message}`);
*
* // Handle the error appropriately
* });
* ```
*
* @param {string} url The URL to fetch data from
* @param {string|null} payload The payload (JSON) to send with the request (default: null)
* @param {boolean} responseIsJson Whether the response is expected to be JSON or not (default: true)
* @return {Promise<string>} The fetched data
*/
const fetchGet = async ({
url,
payload = null,
responseIsJson = true
}) => {
return await _fetchAjaxData({
url: url,
method: 'get',
payload: payload,
responseIsJson: responseIsJson
});
};
/**
* Fetch data from an ajax URL using the POST method.
* This function is a wrapper around _fetchAjaxData to simplify POST requests.
* It requires a CSRF token for security purposes.
*
* @usage
* ```javascript
* fetchPost({
* url: url,
* csrfToken: csrfToken,
* payload: {
* key: 'value',
* anotherKey: 'anotherValue'
* },
* responseIsJson: true
* }).then((data) => {
* // Process the fetched data
* }).catch((error) => {
* console.error(`Error: ${error.message}`);
*
* // Handle the error appropriately
* });
* ```
*
* @param {string} url The URL to fetch data from
* @param {string|null} csrfToken The CSRF token to include in the request headers (default: null)
* @param {string|null} payload The payload (JSON) to send with the request (default: null)
* @param {boolean} responseIsJson Whether the response is expected to be JSON or not (default: true)
* @return {Promise<string>} The fetched data
*/
const fetchPost = async ({
url,
csrfToken,
payload = null,
responseIsJson = true
}) => {
return await _fetchAjaxData({
url: url,
method: 'post',
csrfToken: csrfToken,
payload: payload,
responseIsJson: responseIsJson
});
};
/**
* Recursively merges properties from source objects into a target object. If a property at the current level is an object,
* and both target and source have it, the property is merged. Otherwise, the source property overwrites the target property.
* This function does not modify the source objects and prevents prototype pollution by not allowing __proto__, constructor,
* and prototype property names.
*
* @usage
* ```javascript
* const target = {a: 1, b: {c: 2}};
* const source1 = {b: {d: 3}, e: 4 };
* const source2 = {a: 5, b: {c: 6}};
*
* const merged = objectDeepMerge(target, source1, source2);
*
* console.log(merged); // {a: 5, b: {c: 6, d: 3}, e: 4}
* ```
*
* @param {Object} target The target object to merge properties into.
* @param {...Object} sources One or more source objects from which to merge properties.
* @returns {Object} The target object after merging properties from sources.
*/
function objectDeepMerge (target, ...sources) {
if (!sources.length) {
return target;
}
// Iterate through each source object without modifying the `sources` array.
sources.forEach(source => {
if (isObject(target) && isObject(source)) {
for (const key in source) {
if (isObject(source[key])) {
if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
continue; // Skip potentially dangerous keys to prevent prototype pollution.
}
if (!target[key] || !isObject(target[key])) {
target[key] = {};
}
objectDeepMerge(target[key], source[key]);
} else {
target[key] = source[key];
}
}
}
});
return target;
}
/**
* When the document is ready …
*/
$(document).ready(() => {
/**
* Prevent double form submits by adding a class to the form
* when it is submitted.
*
* This class can be used to show a visual indicator that the form is being
* submitted, such as a spinner.
*
* This is useful to prevent users from double-clicking the submit button
* and submitting the form multiple times.
*/
document.querySelectorAll('form').forEach((form) => {
form.addEventListener('submit', (e) => {
// Prevent if already submitting
if (form.classList.contains('is-submitting')) {
e.preventDefault();
}
// Add class to hook our visual indicator on
form.classList.add('is-submitting');
});
});
});

View File

@@ -0,0 +1,105 @@
"""
Custom static files storage for Alliance Auth.
This module defines a custom static files storage class for
Alliance Auth, named `AaManifestStaticFilesStorage`.
Using `ManifestStaticFilesStorage` will give us a hashed name for
our static files, which is useful for cache busting.
This storage class extends Django's `ManifestStaticFilesStorage` to ignore missing files,
which the original class does not handle, and log them in debug mode.
It is useful for handling cases where static files may not exist, such as when a
CSS file references a background image that is not present in the static files directory.
With debug mode enabled, it will print a message for each missing file when running `collectstatic`,
which can help identify issues with static file references during development.
"""
from django.conf import settings
from django.contrib.staticfiles.storage import ManifestStaticFilesStorage
class AaManifestStaticFilesStorage(ManifestStaticFilesStorage):
"""
Custom static files storage that ignores missing files.
"""
@classmethod
def _cleanup_name(cls, name: str) -> str:
"""
Clean up the name by removing quotes.
This method is used to ensure that the name does not contain any quotes,
which can cause issues with file paths.
:param name: The name of the static file.
:type name: str
:return: The cleaned-up name without quotes.
:rtype: str
"""
# Remove quotes from the name
return name.replace('"', "").replace("'", "")
def __init__(self, *args, **kwargs):
"""
Initialize the static files storage, ignoring missing files.
:param args:
:type args:
:param kwargs:
:type kwargs:
"""
self.missing_files = []
super().__init__(*args, **kwargs)
def hashed_name(self, name, content=None, filename=None):
"""
Generate a hashed name for the given static file, ignoring missing files.
Ignore missing files, e.g. non-existent background image referenced from css.
Returns the original filename if the referenced file doesn't exist.
:param name: The name of the static file to hash.
:type name: str
:param content: The content of the static file, if available.
:type content: bytes | None
:param filename: The original filename of the static file, if available.
:type filename: str | None
:return: The hashed name of the static file, or the original name if the file is missing.
:rtype: str
"""
try:
clean_name = self._cleanup_name(name)
return super().hashed_name(clean_name, content, filename)
except ValueError as e:
if settings.DEBUG:
# In debug mode, we log the missing file message
message = e.args[0].split(" with ")[0]
self.missing_files.append(message)
# print(f'\x1b[0;30;41m{message}\x1b[0m')
return name
def post_process(self, *args, **kwargs):
"""
Post-process the static files, printing any missing files in debug mode.
:param args:
:type args:
:param kwargs:
:type kwargs:
:return:
:rtype:
"""
yield from super().post_process(*args, **kwargs)
if settings.DEBUG:
# In debug mode, print the missing files
for message in sorted(set(self.missing_files)):
print(f"\x1b[0;30;41m{message}\x1b[0m")

View File

@@ -0,0 +1,23 @@
<svg id="alliance-auth-svg-sprite" width="0" height="0" display="none" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Alliance Auth Logo -->
<symbol id="aa-logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256">
<g transform="translate(41.953499,36.607802)">
<path style="display:inline;fill:#e14852;stroke-width:0.32" d="M 131.07236,159.67687 C 109.26615,147.02458 91.302022,136.55002 91.152067,136.40007 l -0.272649,-0.27265 23.786292,-13.82371 c 13.08247,-7.60304 23.9186,-13.82025 24.08029,-13.81602 l 0.294,0.008 15.93273,36.83413 c 8.763,20.25877 15.891,36.95054 15.84,37.09283 l -0.0927,0.25869 z" />
<path style="display:inline;fill:#436195;stroke-width:0.32" d="m 1.28,182.46369 c 0,-0.16969 17.354495,-40.46543 38.565546,-89.546103 L 78.411088,3.68 C 79.919052,1.4903841 82.294641,0.02199886 86.08,0.01224344 89.865359,0.00248802 92.288,1.4677954 93.674477,3.5158445 l 21.668143,50.1206965 21.66814,50.120699 -0.26538,0.23285 C 136.59942,104.11816 106.528,121.61441 69.92,142.87065 33.312,164.12688 2.892,181.80046 2.32,182.14527 l -1.04,0.62693 z" />
</g>
</symbol>
<!-- Loading Spinner -->
<symbol id="aa-loading-spinner" xmlns="http://www.w3.org/2000/svg" stroke="currentColor" viewBox="0 0 24 24">
<g>
<circle cx="12" cy="12" r="10" fill="none" stroke-width="1" stroke-linecap="round">
<animate attributeName="stroke-dasharray" dur="1.5s" calcMode="spline" values="0 150;42 150;42 150;42 150" keyTimes="0;0.475;0.95;1" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" repeatCount="indefinite" />
<animate attributeName="stroke-dashoffset" dur="1.5s" calcMode="spline" values="0;-16;-59;-59" keyTimes="0;0.475;0.95;1" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" repeatCount="indefinite" />
</circle>
<animateTransform attributeName="transform" type="rotate" dur="2s" values="0 12 12;360 12 12" repeatCount="indefinite" />
</g>
</symbol>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -70,8 +70,8 @@
{% translate "Leave" %}
</a>
{% else %}
<button type="button" class="btn btn-primary" disabled>
{% translate "Pending" %}
<button type="button" class="btn btn-secondary cursor-help me-1" data-bs-tooltip="aa-tooltip" title="{% translate 'Request pending' %}">
<i class="fa-regular fa-hourglass-half"></i>
</button>
{% endif %}
{% elif not g.request %}
@@ -85,9 +85,13 @@
</a>
{% endif %}
{% else %}
<button type="button" class="btn btn-primary" disabled>
{% translate "Pending" %}
<button type="button" class="btn btn-secondary cursor-help me-1" data-bs-tooltip="aa-tooltip" title="{% translate 'Request pending' %}">
<i class="fa-regular fa-hourglass-half"></i>
</button>
<a href="{% url 'groupmanagement:request_retract' g.group.id %}" class="btn btn-danger">
{% translate "Retract" %}
</a>
{% endif %}
</td>
</tr>

View File

@@ -10,6 +10,11 @@ urlpatterns = [
path(
"group/request/leave/<int:group_id>/", views.group_request_leave, name="request_leave"
),
path(
"group/request/retract/<int:group_id>/",
views.group_request_retract,
name="request_retract"
),
# group management
path("groupmanagement/requests/", views.group_management, name="management"),
path("groupmanagement/membership/", views.group_membership, name="membership"),

View File

@@ -420,3 +420,42 @@ def group_request_leave(request, group_id):
grouprequest.notify_leaders()
messages.success(request, _('Applied to leave group %(group)s.') % {"group": group})
return redirect("groupmanagement:groups")
@login_required
def group_request_retract(request, group_id):
logger.debug(
f"group_request_retract called by user {request.user} for group id {group_id}"
)
group = get_object_or_404(Group, id=group_id)
if not GroupManager.check_internal_group(group):
logger.warning(
f"User {request.user} attempted to retract group request for "
f"group id {group_id} but it is not a joinable group"
)
messages.warning(
request,
_("You cannot retract that request"),
)
return redirect('groupmanagement:groups')
try:
group_request = GroupRequest.objects.get(
user=request.user, group=group, leave_request=False
)
group_request.delete()
logger.info(f"Deleted group request for user {request.user} to group {group}")
messages.success(
request, _('Retracted application to group %(group)s.') % {"group": group}
)
except GroupRequest.DoesNotExist:
logger.info(
f"{request.user} attempted to retract group request for "
f"group id {group_id} but has no open request"
)
messages.warning(
request, _("You have no open request for that group.")
)
return redirect("groupmanagement:groups")

File diff suppressed because it is too large Load Diff

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Peter Pfeufer, 2025\n"
"Language-Team: German (https://app.transifex.com/alliance-auth/teams/107430/de/)\n"
@@ -23,6 +23,10 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr "Analyse"
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Google Analytics Universal"
@@ -31,6 +35,10 @@ msgstr "Google Analytics Universal"
msgid "Google Analytics V4"
msgstr "Google Analytics V4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr "Authentifizierung"
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -45,7 +53,7 @@ msgstr ""
"Antworten zu erhalten. Für Tipps dazu chatte mit uns unter ##3rd-party-dev-"
"and-esi auf dem EVE Online Discord. https://www.eveonline.com/discord"
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr ""
"Zur Ausführung dieser Aktion ist ein Hauptcharakter erforderlich. Füge unten"
@@ -61,91 +69,91 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr ""
"Du kannst diese eingeschränkten Gruppen nicht hinzufügen oder entfernen: %s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "Englisch"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr "Tschechisch"
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "Deutsch"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "Spanisch"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "Italienisch"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "Japanisch"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "Koreanisch"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "Französisch"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "Russisch"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr "Niederländisch"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr "Polnisch"
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "Ukrainisch"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr "Vereinfachtes Chinesisch"
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "Sprache"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Nachtmodus"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr "Theme"
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "Status geändert zu %s"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Dein Nutzerstatus ist nun %(state)s"
@@ -207,6 +215,8 @@ msgstr "Status:"
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "Token-Verwaltung"
@@ -285,7 +295,7 @@ msgstr "Registrieren"
msgid "Invalid or expired activation link."
msgstr "Ungültiger oder abgelaufener Aktivierungslink."
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
@@ -294,24 +304,24 @@ msgstr ""
"Der Haputcharakter kann nicht zu %(char)s geändert werden. Dieser Charakter "
"gehört zu einem anderen Konto."
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "Hautpcharakter geändert zu %s"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "%(name)s zu Deinem Konto hinzugefügt."
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr ""
"Es ist nicht möglich %(name)s zu Deinem Konto hinzu zu fügen: Dieser hat "
"bereits ein eigenes Konto."
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
@@ -320,11 +330,11 @@ msgstr ""
"Bitte melde Dich mit dem Hauptcharakter an, der mit diesem Konto verknüpft "
"ist."
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "Token zur Registrierung ist abgelaufen."
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
@@ -332,15 +342,15 @@ msgstr ""
"Bestätigungs-E-Mail gesendet. Bitte folge dem Link, um Deine E-Mail-Adresse "
"zu bestätigen."
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr "Deine E-Mail Adresse wurde bestätigt. Bitte einloggen zum Fortfahren."
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "Registrierung von neuen Konten ist zur Zeit nicht erlaubt."
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "Corp Statistiken"
@@ -446,6 +456,10 @@ msgstr "Ausgewählte Corp hat bereits ein Statistik Modul."
msgid "Failed to gather corporation statistics with selected token."
msgstr "Fehler beim Sammeln von Corpstatistiken mit ausgewählten Token."
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr "Crontab"
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr "Minuten-Offset"
@@ -479,6 +493,15 @@ msgstr "Dein eigenes CSS"
msgid "This CSS will be added to the site after the default CSS."
msgstr "Dieses CSS wird der Site nach dem Standard-CSS hinzugefügt."
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr "EVE Online"
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr "EVE Online Autogrouppen"
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -588,10 +611,12 @@ msgstr "Schiff"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "Eve Zeit"
msgid "EVE time"
msgstr "EVE Zeit"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -757,6 +782,11 @@ msgstr ""
"Die Flottenteilnahme für {character.character_name} kann nicht registriert "
"werden. Der Charakter muss hierzu online sein."
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr "Framework"
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -1011,7 +1041,7 @@ msgid "Hidden"
msgstr "Verborgen"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "Öffnen"
@@ -1064,7 +1094,7 @@ msgstr "Verlassen"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "Beantragt"
@@ -1210,6 +1240,10 @@ msgstr "Du hast bereits eine ausstehendes Austrittsanfrage für diese Gruppe."
msgid "Applied to leave group %(group)s."
msgstr "Austrittsanfrage für Gruppe %(group)s gesendet."
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr "Bewerbungen"
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "Bewerbungen"
@@ -1281,7 +1315,7 @@ msgstr "Benutzername"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "Akzeptiert"
@@ -1289,7 +1323,7 @@ msgstr "Akzeptiert"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "Abgelehnt"
@@ -1404,7 +1438,7 @@ msgstr "%s Menüeintrag ändern"
msgid "children"
msgstr "untergeordnet"
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr "Text"
@@ -1416,11 +1450,15 @@ msgstr "benutzerdefiniert"
msgid "visible"
msgstr "sichtbar"
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr "Menü"
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr "Anwendung"
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr "Ordner"
@@ -1432,27 +1470,27 @@ msgstr "Link"
msgid "type"
msgstr "Typ"
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr "Menütext"
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr "Reihenfolge"
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr "Reihenfolge des Menüs. Niedrigste zuerst"
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr "Ordner, in dem sich dieses Element befindet (optional)"
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr "ist ausgeblendet"
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
@@ -1460,11 +1498,11 @@ msgstr ""
"Blende dieses Menüelement aus. Wenn es sich bei diesem Element um einen "
"Ordner handelt, werden auch alle darin enthaltenen Elemente ausgeblendet"
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr "Icon Klassen"
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
@@ -1472,11 +1510,11 @@ msgstr ""
"Font Awesome-Klassen zur Anzeige als Symbol im Menü, z. B. <code>fa-solid "
"fa-house</code>"
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr "URL"
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr "Externe URL, auf die dieses Menüelement verweist"
@@ -1485,44 +1523,63 @@ msgid "Add folder"
msgstr "Ordner hinzufügen"
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "Benachrichtigungen"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr "Super User"
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr "Alliance Auth Dokumentation"
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr "Alliance Auth Discord"
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr "Alliance Auth Git"
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "Admin"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr "Ausloggen"
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr "Einloggen"
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "Gefahr"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "Warnung"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "Information"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "Erfolg"
@@ -1579,7 +1636,7 @@ msgstr "Alle Benachrichtigungen als gelesen markieren."
msgid "Deleted all read notifications."
msgstr "Alle gelesenen Benachrichtigungen gelöscht."
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "Flottenoperationen"
@@ -1653,11 +1710,6 @@ msgstr "Operation"
msgid "Form Up System"
msgstr "Startsystem"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr "EVE Zeit"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1673,8 +1725,8 @@ msgstr "Flottenoperationen Verwaltung"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "Aktuelle Eve Zeit"
msgid "Current EVE time:"
msgstr "Aktuelle EVE Zeit"
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1718,6 +1770,7 @@ msgstr "Operation timer für %(opname)s entfernt."
msgid "Saved changes to operation timer for %(opname)s."
msgstr "Änderungen für Operation timer %(opname)s gespeichert."
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1774,7 +1827,7 @@ msgstr "Dieses Dienstkonto existiert bereits"
msgid "Successfully set your {self.service_name} password"
msgstr "Dein {self.service_name} Passwort wurde erfolgreich gesetzt"
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "Dienste"
@@ -1838,6 +1891,10 @@ msgstr "Passwort"
msgid "Password must be at least 8 characters long."
msgstr "Das Passwort muss mindestens 8 Zeichen lang sein"
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr "Discord Service"
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Discord Konto deaktiviert"
@@ -1890,6 +1947,10 @@ msgstr ""
"Es gab einen Fehler während der Aktivierung Deines Discord Kontos. Bitte "
"versuche es noch einmal."
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr "Discourse Service"
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr "Discourse"
@@ -1926,6 +1987,14 @@ msgstr ""
"Ungültige Nutzdaten. Bitte wenden Dich an den Support, wenn das Problem "
"weiterhin besteht."
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr "Beispiel Service"
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr "IPS4 Service"
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "IP4Suite Konto aktiviert."
@@ -1949,6 +2018,10 @@ msgstr "Setze IPSuite4 Passwort."
msgid "Deactivated IPSuite4 account."
msgstr "IP4Suite Konto deaktiviert."
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr "Mumble Service"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr "Mumble"
@@ -2004,6 +2077,10 @@ msgstr "Verbinden"
msgid "Mumble Connection History"
msgstr "Verlauf der Mumbleverbindungen"
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr "Openfire Service"
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2055,6 +2132,10 @@ msgstr "Jabber-Übertragung an %s gesendet"
msgid "Set jabber password."
msgstr "Setze Jabber Passwort."
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr "phpBB3 Service"
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "Forum Konto aktiviert."
@@ -2078,6 +2159,10 @@ msgstr "Forum Passwort zurücksetzen."
msgid "Set forum password."
msgstr "Setze Forum Passwort."
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr "SMF Service"
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "SMF Konto aktiviert."
@@ -2101,6 +2186,10 @@ msgstr "SMF Passwort zurücksetzen."
msgid "Set SMF password."
msgstr "Setze SMF Passwort."
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr "TeamSpeak 3 Service"
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2151,6 +2240,10 @@ msgstr "TeamSpeak3 Konto deaktiviert."
msgid "Reset TeamSpeak3 permission key."
msgstr "TeamSpeak3 Berechtigungsschlüssel zurücksetzen."
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr "Xenforo Service"
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "XenForo Konto aktiviert."
@@ -2264,7 +2357,7 @@ msgstr ""
"Einige Dienste bieten unterschiedliche Optionen. Bewege den Mauszeiger über "
"die Schaltflächen, um mehr zu sehen."
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "Schiffserstattung"
@@ -2340,18 +2433,18 @@ msgid "Mark Completed"
msgstr "Als vollständig markieren"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "Verluste insgesamt:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "ISK-Kosten insgesamt:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "Bist Du sicher das Du SRP Anfragen löschen willst?"
@@ -2385,12 +2478,12 @@ msgstr ""
msgid "Post Time"
msgstr "Veröffentlichungszeit"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "Link"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "Keine SRP Anfragen für diese Flotte."
@@ -2579,52 +2672,48 @@ msgstr "Der Server hat einen ESI-Fehlerantwortcode erhalten"
msgid "Alliance Auth Notifications"
msgstr "Alliance Auth Benachrichtigungen"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "Geschlossen"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr "Derzeit liegen keine Benachrichtigungen vor"
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "Unterstützt durch GitLab"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "Support Discord"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "Software Version"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "Aktuell"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "Aktuellste stabile Version"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "Update verfügbar"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "Aktuellste Testversion"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "Testversion verfügbar"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "Task-Warteschlange"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2634,11 +2723,11 @@ msgstr ""
"\n"
"Status von %(total)s verarbeiten Aufgaben • in den letzten %(latest)s"
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr "laufend"
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr "eingereiht"
@@ -2663,10 +2752,17 @@ msgstr "Ausloggen"
msgid "Toggle navigation"
msgstr "Navigation umschalten"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr "Theme auswählen"
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Strukturen Timer"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2853,6 +2949,10 @@ msgstr "Entankernd"
msgid "Abandoned"
msgstr "Aufgegeben"
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr "Diebstahl"
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2862,12 +2962,6 @@ msgstr "Anstehende Timer"
msgid "Timer"
msgstr "Timer"
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Strukturen Timer"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr "Strukturen-Timerdetails"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-24 16:55+1000\n"
"POT-Creation-Date: 2025-07-03 09:07+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"
@@ -57,7 +57,7 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr ""
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "English"
msgstr ""
@@ -66,62 +66,62 @@ msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "German"
msgstr ""
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Spanish"
msgstr ""
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Italian"
msgstr ""
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Japanese"
msgstr ""
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Korean"
msgstr ""
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "French"
msgstr ""
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Russian"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Ukrainian"
msgstr ""
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr ""
@@ -131,7 +131,7 @@ msgid "Night Mode"
msgstr ""
#: allianceauth/authentication/models.py:109
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr ""
@@ -202,6 +202,8 @@ msgstr ""
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr ""
@@ -1465,20 +1467,38 @@ msgstr ""
msgid "Notifications"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
@@ -2645,7 +2665,7 @@ msgstr ""
msgid "Toggle navigation"
msgstr ""
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr ""

View File

@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: trenus, 2025\n"
"Language-Team: Spanish (https://app.transifex.com/alliance-auth/teams/107430/es/)\n"
@@ -25,6 +25,10 @@ msgstr ""
"Language: es\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Google Analytics Universal"
@@ -33,6 +37,10 @@ msgstr "Google Analytics Universal"
msgid "Google Analytics V4"
msgstr "Google Analytics V4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -42,7 +50,7 @@ msgid ""
"dev-and-esi on the EVE Online Discord. https://www.eveonline.com/discord"
msgstr ""
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr ""
"Se necesita un personaje principal para realizar esa acción. Añade uno a "
@@ -57,91 +65,91 @@ msgstr "E-mail"
msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "No puedes añadir o eliminar estos grupos restringidos: %s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "Inglés"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr "Checo"
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "Alemán"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "Español"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "Italiano"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "Japonés"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "Coreano"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "Francés"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "Ruso"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr "Holandés"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr "Polaco"
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "Ucraniano"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr "Chino Simplificado"
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "Idioma"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Modo Nocturno"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr "Tema"
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "Estado cambiado a: %s"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "El estado de su usuario es ahora: %(state)s"
@@ -203,6 +211,8 @@ msgstr "Estado:"
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "Gestión de Tokens"
@@ -278,7 +288,7 @@ msgstr "Registrar"
msgid "Invalid or expired activation link."
msgstr "Enlace de activacion expirado o invalido"
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
@@ -287,51 +297,51 @@ msgstr ""
"No se puede cambiar de personaje principal a %(char)s: personaje "
"perteneciente a otra cuenta."
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr ""
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "Se ha agregado a %(name)s a tu cuenta"
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr ""
"Se fallo en agregar a %(name)s a tu cuenta: Ya se encuentra registrado en "
"otra cuenta."
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
msgstr ""
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "El token de registracion expiro."
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
msgstr ""
"Confirmacion de mail enviada. Por favor siga el enlace para confirmar "
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr ""
"Se ha confirmado su direccion de mail. Por favor igrese su token para "
"continuar."
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "En este momento no se permite el registro de nuevas cuentas."
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "Informacion de los Miembros"
@@ -438,6 +448,10 @@ msgid "Failed to gather corporation statistics with selected token."
msgstr ""
"Se fallo en obtener las estadisticas corporativas con el token seleccionado"
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr ""
@@ -471,6 +485,15 @@ msgstr ""
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -580,10 +603,12 @@ msgstr "Nave"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "Hora Eve"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -751,6 +776,11 @@ msgstr ""
"No se puede registrar la participación en la flota para "
"{character.character_name}. El personaje debe estar en línea."
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -1004,7 +1034,7 @@ msgid "Hidden"
msgstr "Escondido"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "Abierto"
@@ -1057,7 +1087,7 @@ msgstr "Dejar"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "Pendiente"
@@ -1204,6 +1234,10 @@ msgstr "Ya tiene una solicitud de baja pendiente para ese grupo."
msgid "Applied to leave group %(group)s."
msgstr "Solicitaste dejar el grupo %(group)s."
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "Solicitudes"
@@ -1275,7 +1309,7 @@ msgstr "Usuario"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "Aprovado"
@@ -1283,7 +1317,7 @@ msgstr "Aprovado"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "Rechazado"
@@ -1398,7 +1432,7 @@ msgstr ""
msgid "children"
msgstr ""
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr ""
@@ -1410,11 +1444,15 @@ msgstr ""
msgid "visible"
msgstr ""
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr ""
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr ""
@@ -1426,47 +1464,47 @@ msgstr ""
msgid "type"
msgstr ""
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr ""
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr ""
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr ""
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr ""
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr ""
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
msgstr ""
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr ""
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
msgstr ""
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr ""
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr ""
@@ -1475,44 +1513,63 @@ msgid "Add folder"
msgstr ""
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "Notificaciones"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "Administrador"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr ""
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "peligro"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "advertencia"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "info"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "éxito"
@@ -1569,7 +1626,7 @@ msgstr "Se marcaron todas las notificaciones como leidas."
msgid "Deleted all read notifications."
msgstr "Se borraron todas las notificaciones leidas."
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "Operaciones de Flota"
@@ -1643,11 +1700,6 @@ msgstr ""
msgid "Form Up System"
msgstr "Sistema de encuentro"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr ""
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1663,8 +1715,8 @@ msgstr "Manejo de Operaciones de Flota"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "Tipo en EVE actual:"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1708,6 +1760,7 @@ msgstr "Se removio la operacion para %(opname)s."
msgid "Saved changes to operation timer for %(opname)s."
msgstr "Se guardaron los cambios para la operacion %(opname)s"
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1764,7 +1817,7 @@ msgstr "Esa cuenta de servicio ya existe"
msgid "Successfully set your {self.service_name} password"
msgstr "Ha establecido correctamente su contraseña {self.service_name}."
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "Servicios"
@@ -1828,6 +1881,10 @@ msgstr "Contraseña"
msgid "Password must be at least 8 characters long."
msgstr "La contraseña tiene que tener 8 caracteres de largo minimo"
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Cuenta de Discord desactivada"
@@ -1880,6 +1937,10 @@ msgstr ""
"Se ha producido un error al intentar activar tu cuenta de Discord. Inténtalo"
" de nuevo."
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr ""
@@ -1915,6 +1976,14 @@ msgstr ""
"Contenido no válido. Póngase en contacto con el servicio de asistencia si "
"este problema persiste."
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "Cuenta IPSuite4 activada."
@@ -1938,6 +2007,10 @@ msgstr "Establecer contraseña de IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Cuenta IPSuite4 desactivada."
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr "Mumble"
@@ -1993,6 +2066,10 @@ msgstr "Conectar"
msgid "Mumble Connection History"
msgstr "Historia de Conexión Mumble"
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2044,6 +2121,10 @@ msgstr ""
msgid "Set jabber password."
msgstr "Establecer contraseña jabber."
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "Cuenta del foro activada."
@@ -2067,6 +2148,10 @@ msgstr "Restablecer contraseña del foro."
msgid "Set forum password."
msgstr "Establecer contraseña del foro."
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "Cuenta SMF activada."
@@ -2090,6 +2175,10 @@ msgstr "Restablecer contraseña de SMF."
msgid "Set SMF password."
msgstr "Establecer contraseña de SMF."
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2139,6 +2228,10 @@ msgstr "Cuenta de TeamSpeak3 desactivada."
msgid "Reset TeamSpeak3 permission key."
msgstr "Restablecer la clave de permiso de TeamSpeak3."
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "Cuenta de XenForo activada."
@@ -2250,7 +2343,7 @@ msgid ""
"Some services provide different options. Hover over the buttons to see more."
msgstr ""
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "Reemplazo de Nave"
@@ -2327,18 +2420,18 @@ msgid "Mark Completed"
msgstr "Marcar como Completo"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "Perdidas Totales:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "Costo Total:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "Estas seguro que quiere borrar las solicitudes de SRP"
@@ -2372,12 +2465,12 @@ msgstr ""
msgid "Post Time"
msgstr "Tiempo"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "Enlace"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "No hay solicitudes de SRP para esta flota."
@@ -2562,52 +2655,48 @@ msgstr ""
msgid "Alliance Auth Notifications"
msgstr "Notificaciones de Alliance Auth"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "Cerrado"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr "No hay notificaciones en este momento"
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "Desarrollado por GitLab"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "Soporte Discord"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "Versión del Software"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "Actual"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "Último Estable"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "Actualizacion Disponible"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "Último Pre-Lanzamiento"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "Pre-Lanzamiento disponible"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "Cola de Tareas"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2615,11 +2704,11 @@ msgid ""
" "
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr "ejecutando"
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr "en cola"
@@ -2644,10 +2733,17 @@ msgstr "Salir"
msgid "Toggle navigation"
msgstr "Navegacion"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr "Seleccionar tema"
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Timers Estructuras"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2834,6 +2930,10 @@ msgstr "Desanclando"
msgid "Abandoned"
msgstr "Abandonado"
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2843,12 +2943,6 @@ msgstr ""
msgid "Timer"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Timers Estructuras"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr ""

View File

@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: T'rahk Rokym, 2024\n"
"Language-Team: French (France) (https://app.transifex.com/alliance-auth/teams/107430/fr_FR/)\n"
@@ -30,6 +30,10 @@ msgstr ""
"Language: fr_FR\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Google Analytique Universelle"
@@ -38,6 +42,10 @@ msgstr "Google Analytique Universelle"
msgid "Google Analytics V4"
msgstr "Google Analytics V4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -53,7 +61,7 @@ msgstr ""
"avec nous dans ##3rd-party-dev-and-esi sur le Discord d'EVE Online. "
"https://www.eveonline.com/discord"
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr ""
"Un personnage principal est nécessaire pour effectuer cette action. Ajoutez-"
@@ -70,91 +78,91 @@ msgstr ""
"Vous n'avez pas lautorisation d'ajouter ou d'enlever ces groupes "
"restreints: %s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "Anglais"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "Allemand"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "Espagnol"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "Italien"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "Japonais"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "Coréen"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "Français"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "Russe"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr "Polonais"
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "Ukrainien"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "Langue"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Mode Nuit"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr "Thème"
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "État changé à: %s"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "L'état de votre personnage est maintenant: %(state)s"
@@ -216,6 +224,8 @@ msgstr "État:"
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "Gestion des jetons"
@@ -291,7 +301,7 @@ msgstr "S'inscrire"
msgid "Invalid or expired activation link."
msgstr "Lien d'activation invalide ou expiré."
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
@@ -300,22 +310,22 @@ msgstr ""
"Impossible de changer le personnage principal à %(char)s. Le personnage "
"appartient à un autre compte."
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "Personnage principal changé en %s"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "Ajouté %(name)s à votre compte."
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr "Impossible d'ajouter %(name)s à votre compte: ils ont déjà un compte."
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
@@ -323,11 +333,11 @@ msgstr ""
"Impossible de s'authentifier avec le personnage sélectionné. Merci de vous "
"connecter avec le personnage principal associé à ce compte."
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "Le token d'enregistrement est expiré."
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
@@ -335,16 +345,16 @@ msgstr ""
"Email de confirmation envoyé. Cliquez sur le lien pour valider votre adresse"
" email."
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr ""
"Votre adresse email a été confirmé. Veuillez vous connecter pour continuer."
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "La création de nouveaux comptes n'est pas actuellement permise."
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "Statistiques de la Corpo"
@@ -451,6 +461,10 @@ msgid "Failed to gather corporation statistics with selected token."
msgstr ""
"Impossible d'obtenir les statistiques de la corpo avec le code choisi."
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr ""
@@ -484,6 +498,15 @@ msgstr "Votre CSS personnalisé"
msgid "This CSS will be added to the site after the default CSS."
msgstr "Ce CSS être ajouté sur le site après le CSS par défaut"
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -593,10 +616,12 @@ msgstr "Vaisseau"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "Heure d'EVE"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -764,6 +789,11 @@ msgstr ""
"Impossible d'enregistrer la participation pour {character.character_name}. "
"Le personnage doit être en ligne."
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -1018,7 +1048,7 @@ msgid "Hidden"
msgstr "Caché"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "Ouvert"
@@ -1071,7 +1101,7 @@ msgstr "Quitter"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "En attente."
@@ -1217,6 +1247,10 @@ msgstr "Vous avec déjà une demande de quitter ce groupe en attente."
msgid "Applied to leave group %(group)s."
msgstr "Appliqué pour quitter le groupe %(group)s."
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "Applications"
@@ -1288,7 +1322,7 @@ msgstr "Nom d'utilisateur"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "Approuvé"
@@ -1296,7 +1330,7 @@ msgstr "Approuvé"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "Rejeté"
@@ -1411,7 +1445,7 @@ msgstr "Changer %s élément de menu"
msgid "children"
msgstr "enfant"
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr "texte"
@@ -1423,11 +1457,15 @@ msgstr "défini par l'utilisateur"
msgid "visible"
msgstr "visible"
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr "application"
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr "dossier"
@@ -1439,27 +1477,27 @@ msgstr "lien"
msgid "type"
msgstr "type"
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr "Texte à afficher sur le menu"
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr "ordre"
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr "Ordre du menu. Plus petit en premier"
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr "Dossier dans lequel se trouve cet article (facultatif)"
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr "est caché"
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
@@ -1467,11 +1505,11 @@ msgstr ""
"Cacher cette élément de menu.Si cet élément est un dossier, tous les "
"éléments qui se trouvent sous ce dossier seront également cachés"
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr "classes d'icônes"
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
@@ -1479,11 +1517,11 @@ msgstr ""
"Classes Font Awesome à afficher comme icône dans le menu, exemple <code>fa-"
"solid fa-house</code>"
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr "url"
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr "URL externe vers lequel cette élément du menu renvoi"
@@ -1492,44 +1530,63 @@ msgid "Add folder"
msgstr "Ajouter un dossier"
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "Alertes"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr "Super Utilisateur"
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "Administrateur"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr "Se Déconnecter"
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr "Se Connecter"
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "danger"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "attention"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "information"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "succès"
@@ -1586,7 +1643,7 @@ msgstr "Toutes les notifications ont été marquées comme lues."
msgid "Deleted all read notifications."
msgstr "Supprimer toutes les notifications lues"
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "Opérations de flotte"
@@ -1660,11 +1717,6 @@ msgstr "Opération"
msgid "Form Up System"
msgstr "Système de départ"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr "Temps EVE"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1680,8 +1732,8 @@ msgstr "Gestion des opérations de flotte"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "Heure d'Eve actuelle:"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1725,6 +1777,7 @@ msgstr "Minuteur d'opération supprimé pour %(opname)s."
msgid "Saved changes to operation timer for %(opname)s."
msgstr "Minuteur d'opération modifié pour %(opname)s."
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1781,7 +1834,7 @@ msgstr "Ce compte de service existe déjà."
msgid "Successfully set your {self.service_name} password"
msgstr "Mot de passe {self.service_name} créé avec succès."
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "Services"
@@ -1845,6 +1898,10 @@ msgstr "Mot de passe"
msgid "Password must be at least 8 characters long."
msgstr "Votre mot de passe doit contenir au moins 8 caractères."
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Compte Discord Désactivé"
@@ -1897,6 +1954,10 @@ msgstr ""
"Une erreur est survenue durant une tentative d'activation de votre compte "
"Discord. Veuillez réessayer plus tard."
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr "Discours"
@@ -1932,6 +1993,14 @@ msgid "Invalid payload. Please contact support if this problem persists."
msgstr ""
"Charge invalide. Veuillez contacter le support si ce problème persiste."
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "Compte IPSuite4 activé."
@@ -1955,6 +2024,10 @@ msgstr "Définir le mot de passe IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Compte IPSuite4 désactivé."
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr ""
@@ -2010,6 +2083,10 @@ msgstr "Connecter"
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2061,6 +2138,10 @@ msgstr "Envoi d'une diffusion Jabber à %s"
msgid "Set jabber password."
msgstr "Définir le mot de passe Jabber."
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "Compte de forum activé."
@@ -2084,6 +2165,10 @@ msgstr "Réinitialiser le mot de passe du forum."
msgid "Set forum password."
msgstr "Définir le mot de passe du forum."
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "Compte SMF activé"
@@ -2107,6 +2192,10 @@ msgstr "Réinitialiser le mot de passe SMF."
msgid "Set SMF password."
msgstr "Définir le mot de passe SMF."
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2156,6 +2245,10 @@ msgstr "Compte TeamSpeak3 désactivé"
msgid "Reset TeamSpeak3 permission key."
msgstr "Réinitialisez la clé d'autorisation TeamSpeak3."
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "Compte XenForo activé"
@@ -2269,7 +2362,7 @@ msgstr ""
"Certains services donne différentes options. Survoler les boutons pour en "
"savoir plus."
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "Remplacement de vaisseau"
@@ -2345,18 +2438,18 @@ msgid "Mark Completed"
msgstr "Marquer Complet"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "Pertes totales:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "Coût en ISK total:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "Êtes-vous sûr de vouloir supprimer la requête de SRP ?"
@@ -2390,12 +2483,12 @@ msgstr ""
msgid "Post Time"
msgstr "Heure de publication"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "Lien"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "Aucune requête d'SRP pour cette flotte"
@@ -2583,52 +2676,48 @@ msgstr "Votre serveur a reçu une erreur ESI avec pour code"
msgid "Alliance Auth Notifications"
msgstr "Alertes Alliance Auth"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "Fermé"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr "Aucune notification pour le moment"
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "Propulsé par Gitlab"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "Support Discord"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "Version du logiciel"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "Actuelle"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "Dernière version stable"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "Mise à jour disponible"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "Dernière Pre-Release"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "Pre-Release disponible"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "File d'attente des tâches"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2638,11 +2727,11 @@ msgstr ""
"\n"
" Status de %(total)s tâches traitées • %(latest)s restantes"
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr "en cours d'exécution"
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr "en attente"
@@ -2667,10 +2756,17 @@ msgstr "Déconnexion"
msgid "Toggle navigation"
msgstr "Activer navigation"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr "Sélectionner un thème"
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Minuteur de structure"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2857,6 +2953,10 @@ msgstr "Désancrage"
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2866,12 +2966,6 @@ msgstr "Prochaines Échéances"
msgid "Timer"
msgstr "Échéances"
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Minuteur de structure"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr "Détails d'une échéance de structure"

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Tuz, 2024\n"
"Language-Team: Italian (Italy) (https://app.transifex.com/alliance-auth/teams/107430/it_IT/)\n"
@@ -23,6 +23,10 @@ msgstr ""
"Language: it_IT\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Google Analytics Universal"
@@ -31,6 +35,10 @@ msgstr "Google Analytics Universal"
msgid "Google Analytics V4"
msgstr "Google Analytics V4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -46,7 +54,7 @@ msgstr ""
"chiacchierare con noi in ##3rd-party-dev-and-esi su EVE Online Discord. "
"https://www.eveonline.com/discord"
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr ""
"Per completare questa azione è necessario un personaggio principale. "
@@ -61,91 +69,91 @@ msgstr "Indirizzo di posta elettronica"
msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "Non ti è consentito aggiungere o rimuovere questi gruppi ristretti:%s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "Inglese"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "Tedesco"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "Spagnolo"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "Italiano"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "Giapponese"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "Coreano"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "Francese"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "Russo"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "Ucraino"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "Lingua"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Modalità scura"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr "Tema"
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "Stato modificato a: %s"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Il tuo stato utente è ora: %(state)s"
@@ -207,6 +215,8 @@ msgstr "Stato:"
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "Gestione dei Token"
@@ -280,7 +290,7 @@ msgstr "Registrati"
msgid "Invalid or expired activation link."
msgstr "Il link di attivazione è invalido o scaduto."
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
@@ -289,24 +299,24 @@ msgstr ""
"Il seguente personaggio %(char)s non può essere reso principale: è già "
"utilizzato da un altro account."
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "Cambiato il personaggio principale in %s"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "%(name)s è stato aggiunto al tuo profilo."
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr ""
"Impossibile aggiungere %(name)s al tuo account: quel personaggio è già "
"collegato ad un altro account."
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
@@ -314,11 +324,11 @@ msgstr ""
"Impossibile autenticarsi con il personaggio selezionato. Accedere con il "
"personaggio principale associato a questo account."
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "Il token di registrazione è scaduto."
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
@@ -326,17 +336,17 @@ msgstr ""
"Una e-mail di conferma è stata inviata. Per favore, utilizza il link per "
"confermare il tuo indirizzo di posta elettronica."
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr ""
"Il tuo indirizzo di posta elettronica è stato confermato. Per favore accedi "
"per continuare."
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "Al momento non è possibile registrare nuovi account."
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "Statistiche della corporazione"
@@ -444,6 +454,10 @@ msgstr ""
"Impossibile raccogliere le statistiche sulla corporazione con il token "
"selezionato."
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr ""
@@ -477,6 +491,15 @@ msgstr ""
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -587,10 +610,12 @@ msgstr "Nave"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "Ora Eve"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -758,6 +783,11 @@ msgstr ""
"Impossibile registrare la partecipazione alla flotta per "
"{character.character_name}. Il personaggio deve essere online."
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -1012,7 +1042,7 @@ msgid "Hidden"
msgstr "Nascosto"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "Aperto"
@@ -1065,7 +1095,7 @@ msgstr "Abbandona"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "In attesa"
@@ -1216,6 +1246,10 @@ msgstr "Hai già una richiesta di congedo in sospeso per quel gruppo."
msgid "Applied to leave group %(group)s."
msgstr "Hai fatto domanda di congedo per %(group)s."
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "Domande"
@@ -1287,7 +1321,7 @@ msgstr "Nome utente"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "Approvato"
@@ -1295,7 +1329,7 @@ msgstr "Approvato"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "Rifiutato"
@@ -1410,7 +1444,7 @@ msgstr "Modifica %s voce di menu"
msgid "children"
msgstr "bambini"
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr "testo"
@@ -1422,11 +1456,15 @@ msgstr "definito dall'utente"
msgid "visible"
msgstr "visibile"
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr "app"
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr "cartella"
@@ -1438,27 +1476,27 @@ msgstr "link"
msgid "type"
msgstr "tipo"
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr "Testo da mostrare sul menu"
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr "ordine"
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr "Ordine del menu. Prima il più basso"
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr "Cartella in cui si trova questo oggetto (facoltativo)"
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr "è nascosto"
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
@@ -1466,21 +1504,21 @@ msgstr ""
"Nascondi e se questa voce è una cartella, tutte le voci sotto di essa "
"saranno nascoste."
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr "classi di icone"
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
msgstr ""
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr "url"
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr ""
@@ -1489,44 +1527,63 @@ msgid "Add folder"
msgstr "Aggiungi cartella"
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "Notifiche"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr "Super User"
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "Amministratore"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr "Sign Out"
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr "Sign In"
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "pericolo"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "attenzione"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "informazioni"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "successo"
@@ -1583,7 +1640,7 @@ msgstr "Contrassegna tutte le notifiche come lette."
msgid "Deleted all read notifications."
msgstr "Elimina tutte le notifiche lette."
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "Operazioni di flotta"
@@ -1657,11 +1714,6 @@ msgstr ""
msgid "Form Up System"
msgstr "Sistema di partenza"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr ""
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1677,8 +1729,8 @@ msgstr "Gestione delle operazioni di flotta"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "Ora EVE attuale:"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1722,6 +1774,7 @@ msgstr "Rimosso il timer per l'operazione %(opname)s."
msgid "Saved changes to operation timer for %(opname)s."
msgstr "Salvati i cambiamenti per l'operazione %(opname)s."
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1778,7 +1831,7 @@ msgstr "Un account per questo servizio già esiste"
msgid "Successfully set your {self.service_name} password"
msgstr "La password del {self.service_name} è stata impostata con sucesso"
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "Servizi"
@@ -1842,6 +1895,10 @@ msgstr "Password"
msgid "Password must be at least 8 characters long."
msgstr "La password deve contenere almeno 8 caratteri."
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Account discord disabilitato"
@@ -1895,6 +1952,10 @@ msgstr ""
"Si è verificato un errore durante l'attivazione del tuo account discord. Per"
" favore ritenta."
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr "Discorso"
@@ -1928,6 +1989,14 @@ msgstr ""
msgid "Invalid payload. Please contact support if this problem persists."
msgstr "Payload non valido. Contatta l'assistenza se il problema persiste."
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "Attiva account IPSuite4."
@@ -1952,6 +2021,10 @@ msgstr "Imposta password IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Disattiva account IPSuite4."
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr ""
@@ -2007,6 +2080,10 @@ msgstr "Connect"
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2058,6 +2135,10 @@ msgstr "Trasmissione Jabber inviata a %s"
msgid "Set jabber password."
msgstr "Imposta password jabber."
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "Account forum attivato."
@@ -2082,6 +2163,10 @@ msgstr "Reimposta password forum."
msgid "Set forum password."
msgstr "Imposta password forum."
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "Attivato account SMF."
@@ -2105,6 +2190,10 @@ msgstr "Reimposta password SMF."
msgid "Set SMF password."
msgstr "Imposta password SMF."
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2155,6 +2244,10 @@ msgstr "Disattivato account TeamSpeak3."
msgid "Reset TeamSpeak3 permission key."
msgstr "Reimposta la chiave di autorizzazione TeamSpeak3."
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "Attivato account XenForo."
@@ -2267,7 +2360,7 @@ msgstr ""
"Alcuni servizi offrono diverse opzioni. Passate il mouse sopra per vederne "
"di più."
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "Sostituzione della nave"
@@ -2345,18 +2438,18 @@ msgid "Mark Completed"
msgstr "Contrassegna completo"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "Perdite totali:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "Costo totale in ISK:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "Sei sicuro di voler eliminare la richiesta di SRP?"
@@ -2390,12 +2483,12 @@ msgstr ""
msgid "Post Time"
msgstr "Ora di pubblicazione"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "Link"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "Nessuna richiesta di SRP per questa flotta."
@@ -2583,52 +2676,48 @@ msgstr "Il server ha ricevuto un codice di risposta di errore ESI pari a "
msgid "Alliance Auth Notifications"
msgstr "Notifiche Auth Alleanza"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "Chiuso"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr "Nessuna notifica al momento"
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "Powered by GitLab"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "Discord di supporto"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "Versione del software"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "Attuale"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "Ultima versione stabile"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "Aggiornamento disponibile"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "Ultima versione preliminare"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "Versione preliminare disponibile"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "Coda delle attività"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2636,11 +2725,11 @@ msgid ""
" "
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr "in esecuzione"
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr "in coda"
@@ -2665,10 +2754,17 @@ msgstr "Disconnettersi"
msgid "Toggle navigation"
msgstr "Attiva/disattiva navigazione"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr "Seleziona Tema"
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Timer delle strutture"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2855,6 +2951,10 @@ msgstr "In disancoraggio"
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2864,12 +2964,6 @@ msgstr "Prossimi Timer"
msgid "Timer"
msgstr "Timer"
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Timer delle strutture"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr "Dettagli del timer della struttura"

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: kotaneko, 2024\n"
"Language-Team: Japanese (https://app.transifex.com/alliance-auth/teams/107430/ja/)\n"
@@ -23,6 +23,10 @@ msgstr ""
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Google ユニバーサル アナリティクス"
@@ -31,6 +35,10 @@ msgstr "Google ユニバーサル アナリティクス"
msgid "Google Analytics V4"
msgstr "Google アナリティクス 4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -43,7 +51,7 @@ msgstr ""
" Online Discordの##3rd-party-dev-and-"
"esiで私たちと連絡を取り合ってください。https://www.eveonline.com/discord"
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr "実行するためにはメインキャラクターの設定が必要です。設定してください。"
@@ -56,91 +64,91 @@ msgstr "メールアドレス"
msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "これらの制限付きグループを追加または削除することはできません。%s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "英語"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "ドイツ語"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "スペイン語"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "イタリア語"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "日本語"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "韓国語"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "フランス語"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "ロシア語"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "ウクライナ語"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "言語"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "ナイトモード"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr "テーマ"
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "分類が%sに変更されました。"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "あなたの分類は%(state)sになりました。"
@@ -202,6 +210,8 @@ msgstr "状態:"
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "トークン管理"
@@ -275,53 +285,53 @@ msgstr "登録"
msgid "Invalid or expired activation link."
msgstr "アクティベーションリンクが無効か期限切れです。"
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
"account."
msgstr "メインキャラクターを%(char)sへ変更できません。別のアカウントによって利用されています。"
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "メインキャラクターをに変更 %s"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "%(name)sをアカウントに追加しました。"
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr "%(name)sをアカウントに追加することができません。すでに他のアカウントを持っています。"
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
msgstr "選択したキャラクターを認証できません。このアカウントに登録されているメインキャラクターでログインしてください。"
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "Registrationトークンが有効期限切れです。"
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
msgstr "確認のメールを送信しました。メール内のリンクをご確認の上、メールアドレスの認証を完了させてください。"
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr "メールアドレスを確認しました。続行するにはログインしてください。"
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "新規アカウントの登録は、現時点ではできません。"
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "コーポレーション統計"
@@ -427,6 +437,10 @@ msgstr "選択されたCorpはすでにStatistics Moduleを導入済みです。
msgid "Failed to gather corporation statistics with selected token."
msgstr "選択されたTokenではCorporation Statisticsを取得できませんでした。"
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr ""
@@ -460,6 +474,15 @@ msgstr ""
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -569,10 +592,12 @@ msgstr "艦船"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "EVE内時間"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -734,6 +759,11 @@ msgid ""
"character needs to be online."
msgstr "{character.character_name} のフリート参加を登録できません。キャラクターがオンラインである必要があります。"
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -972,7 +1002,7 @@ msgid "Hidden"
msgstr "閉じる"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "開く"
@@ -1025,7 +1055,7 @@ msgstr "脱退"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "処理中"
@@ -1167,6 +1197,10 @@ msgstr "すでに脱退申請を送信済みです。"
msgid "Applied to leave group %(group)s."
msgstr "%(group)sからの脱退申請を送信しました。"
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "申請"
@@ -1238,7 +1272,7 @@ msgstr "ユーザー名"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "承認"
@@ -1246,7 +1280,7 @@ msgstr "承認"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "拒否"
@@ -1361,7 +1395,7 @@ msgstr "変更 %s メニューアイテム"
msgid "children"
msgstr "子供"
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr "テキスト"
@@ -1373,11 +1407,15 @@ msgstr "ユーザー定義"
msgid "visible"
msgstr "表示可能"
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr "app"
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr "フォルダー"
@@ -1389,47 +1427,47 @@ msgstr "リンク"
msgid "type"
msgstr "タイプ"
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr "メニューに表示するテキスト"
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr "オーダー"
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr "メニューの順序。低い順"
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr "このアイテムが入っているフォルダ (オプション)"
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr "非表示です"
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
msgstr "このメニュー項目を非表示にします。この項目がフォルダの場合、その下にあるすべての項目も非表示になります"
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr "アイコンクラス"
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
msgstr "メニューにアイコンとして表示するFont Awesome クラス、例えば <code>fa-solid fa-house</code>"
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr "URL"
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr "このメニュー項目のリンク先となる外部 URL"
@@ -1438,44 +1476,63 @@ msgid "Add folder"
msgstr "フォルダーを追加"
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "通知"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr "スーパーユーザ"
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "管理者"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr "サインアウト"
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr "サインイン"
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "危険"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "警告"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "情報"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "成功"
@@ -1532,7 +1589,7 @@ msgstr "確認済みのすべての通知を選択"
msgid "Deleted all read notifications."
msgstr "確認済みのすべての通知を削除"
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "フリートオペレーション"
@@ -1606,11 +1663,6 @@ msgstr "オペレーション"
msgid "Form Up System"
msgstr "フォームアップ星系"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr "EVE内時間"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1626,8 +1678,8 @@ msgstr "フリートオペレーション管理"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "現在のゲーム内時間:"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1671,6 +1723,7 @@ msgstr "%(opname)sのTimerが削除されました。"
msgid "Saved changes to operation timer for %(opname)s."
msgstr "%(opname)sのTimerの変更が保存されました。"
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1727,7 +1780,7 @@ msgstr "そのアカウントは既に存在してます。"
msgid "Successfully set your {self.service_name} password"
msgstr "{self.service_name} のパスワードが正常に設定されました"
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "サービス"
@@ -1791,6 +1844,10 @@ msgstr "パスワード"
msgid "Password must be at least 8 characters long."
msgstr "Passwordは8 文字以上必要です。"
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Discordのアカウントを無効化"
@@ -1840,6 +1897,10 @@ msgid ""
"again."
msgstr "Discord Accountの有効化中にエラーが発生しました。再度実行してください。"
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr "談話"
@@ -1871,6 +1932,14 @@ msgstr "SSO Payload、もしくはSignatureを認証できませんでした。
msgid "Invalid payload. Please contact support if this problem persists."
msgstr "SSO Payloadが無効です。問題が解決しない場合、サポートへ連絡してください。"
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "IPSuite4 アカウントをアクティブ化しました。"
@@ -1894,6 +1963,10 @@ msgstr "IPSuite4 のパスワードを設定します。"
msgid "Deactivated IPSuite4 account."
msgstr "IPSuite4 アカウントを非アクティブ化しました。"
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr ""
@@ -1949,6 +2022,10 @@ msgstr "接続"
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2000,6 +2077,10 @@ msgstr "Jabberブロードキャストを %sに送信しました。"
msgid "Set jabber password."
msgstr "Jabber のパスワードを設定します。"
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "フォーラムアカウントをアクティブ化しました。"
@@ -2023,6 +2104,10 @@ msgstr "フォーラムのパスワードをリセットします。"
msgid "Set forum password."
msgstr "フォーラムのパスワードを設定します。"
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "SMF アカウントをアクティブ化しました。"
@@ -2046,6 +2131,10 @@ msgstr "SMF のパスワードをリセットします。"
msgid "Set SMF password."
msgstr "SMF のパスワードを設定します。"
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2095,6 +2184,10 @@ msgstr "TeamSpeak3 accoutの無効化"
msgid "Reset TeamSpeak3 permission key."
msgstr "TeamSpeak3 の権限キーをリセットします。"
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "XenForo のアカウントをアクティブ化しました。"
@@ -2204,7 +2297,7 @@ msgid ""
"Some services provide different options. Hover over the buttons to see more."
msgstr "一部のサービスは異なるオプションを提供します。ボタンにカーソルを合わせると詳細が表示されます。"
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "Ship Replacement Program"
@@ -2280,18 +2373,18 @@ msgid "Mark Completed"
msgstr "Mark 完了"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "損失の合計:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "ISK 費用の合計:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "SRP申請を削除しますか?"
@@ -2326,12 +2419,12 @@ msgstr ""
msgid "Post Time"
msgstr "投稿時間"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "リンク"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "このフリートにはSRPリクエストはありません。"
@@ -2516,52 +2609,48 @@ msgstr "サーバーが ESI エラー応答コードを受信しました "
msgid "Alliance Auth Notifications"
msgstr "アライアンスAuth 通知"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "クローズド"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr "現時点では通知はありません"
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "Powered by GitLab"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "サポートディスコード"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "ソフトウェアバージョン"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "現在"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "最新安定版"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "アップデート可能"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "最新のプレリリース"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "プレリリース利用可能"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "タスク待ち"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2572,11 +2661,11 @@ msgstr ""
" ステータス %(total)s 処理済みタスク • 残り %(latest)s\n"
" "
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr "実行中"
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr "実行待ち"
@@ -2601,10 +2690,17 @@ msgstr "ログアウト"
msgid "Toggle navigation"
msgstr "ナビゲーションを切り替え"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr "テーマを選択"
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "ストラクチャタイマー"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2791,6 +2887,10 @@ msgstr "Unanchoring"
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2800,12 +2900,6 @@ msgstr "今後予定されているタイマー"
msgid "Timer"
msgstr "タイマー"
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "ストラクチャタイマー"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr "ストラクチャータイマーの詳細"

View File

@@ -18,7 +18,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Woojin Kang, 2024\n"
"Language-Team: Korean (Korea) (https://app.transifex.com/alliance-auth/teams/107430/ko_KR/)\n"
@@ -28,6 +28,10 @@ msgstr ""
"Language: ko_KR\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Google 애널리틱스 유니버설"
@@ -36,6 +40,10 @@ msgstr "Google 애널리틱스 유니버설"
msgid "Google Analytics V4"
msgstr "Google 애널리틱스 V4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -49,7 +57,7 @@ msgstr ""
"https://www.eveonline.com/discord 의 ##3rd-party-dev-and-esi 에서 우리와 함께 토론하는것이"
" 아마 도움이 될 것입니다."
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr "해당 기능을 수행하려면 주 캐릭터가 요구됩니다. 아래에서 하나를 추가하시오."
@@ -62,91 +70,91 @@ msgstr "이메일"
msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "해당 제한된 그룹을 추가하거나 제거할 수 있는 권한이 존재하지 않습니다: %s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "영어"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "독일어"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "스페인어"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "이탈리아어"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "일본어"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "한국어"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "프랑스어"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "러시아어"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "우크라이나어"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "언어"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "야간 모드"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr "테마"
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "상태가 %s로 변경됐습니다."
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "사용자의 상태는 %(state)s입니다."
@@ -208,6 +216,8 @@ msgstr "상태:"
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "토큰 관리"
@@ -281,53 +291,53 @@ msgstr "등록"
msgid "Invalid or expired activation link."
msgstr "유효하지 않거나 만료된 활성화 주소"
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
"account."
msgstr "%(char)s를 주 캐릭터로 변경할 수 없음: 다른 계정이 해당 캐릭터를 소유하고 있습니다."
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "메인 캐릭터가 %s 로 변경되었습니다"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "계정에 %(name)s를 추가했습니다."
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr "계정에 %(name)s를 추가하지 못했습니다. 이미 다른 계정에 추가되었습니다."
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
msgstr "해당 캐릭터에 대한 인증이 불가합니다. 해당 계정과 연결된 메인 캐릭터로 로그인하여 주십시오."
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "가입 토큰이 만료되었습니다."
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
msgstr "확인 메일 전송됨. 다음 링크를 눌러 이메일 주소를 확인하세요."
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr "이메일 주소가 확인되었습니다. 로그인 해주세요."
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "현재 새로운 계정 등록은 받지않습니다."
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "코퍼레이션 상태"
@@ -433,6 +443,10 @@ msgstr "선택한 코퍼레이션은 이미 통계 모듈을 갖고 있습니다
msgid "Failed to gather corporation statistics with selected token."
msgstr "선택한 토큰으로 코퍼레이션 통계 수집에 실패했습니다."
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr ""
@@ -466,6 +480,15 @@ msgstr ""
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -575,10 +598,12 @@ msgstr "함선"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "이브 표준시간"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -742,6 +767,11 @@ msgstr ""
"{character.character_name}의 함대 참여를 등록할 수 없습니다. 등록되기 위해서는 해당 캐릭터가 온라인 상태여야 "
"합니다."
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -981,7 +1011,7 @@ msgid "Hidden"
msgstr "숨김"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "열기"
@@ -1034,7 +1064,7 @@ msgstr "떠나기"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "보류 중"
@@ -1176,6 +1206,10 @@ msgstr "해당 그룹의 탈퇴 신청이 접수된 상태입니다."
msgid "Applied to leave group %(group)s."
msgstr "%(group)s그룹의 탈퇴가 신청됨."
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "지원"
@@ -1247,7 +1281,7 @@ msgstr "사용자명"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "승인"
@@ -1255,7 +1289,7 @@ msgstr "승인"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "거절"
@@ -1370,7 +1404,7 @@ msgstr "%s 메뉴 아이템 변경"
msgid "children"
msgstr "아이들"
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr "텍스트"
@@ -1382,11 +1416,15 @@ msgstr "확인된 유저"
msgid "visible"
msgstr "보임"
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr "앱"
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr "폴더"
@@ -1398,47 +1436,47 @@ msgstr "링크"
msgid "type"
msgstr "타입"
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr "메뉴에 띄울 텍스트"
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr "순서"
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr "메뉴 순서. 가장 낮은 순으로"
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr "해당 아이템이 포함되어 있는 폴더 (optional)"
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr "숨겨짐"
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
msgstr "해당 메뉴 아이템을 숨기십시오. 해당 아이템이 폴더라면 폴더 내부의 모든 아이템들 또한 숨겨져있어야 합니다."
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr "아이콘 등급"
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
msgstr "메뉴의 아이콘으로 보이기 위한 Font Awesome 등급, 예) <code>fa-solid fa-house</code>"
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr "url"
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr "해당 메뉴 아이템들의 외부 URL이 링크된 주소:"
@@ -1447,44 +1485,63 @@ msgid "Add folder"
msgstr "폴더 추가"
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "알림"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr "Super User"
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "어드민"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr "탈퇴"
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr "가입"
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "위험"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "경고"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "정보"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "성공"
@@ -1541,7 +1598,7 @@ msgstr "모든 알림을 읽음 처리했습니다."
msgid "Deleted all read notifications."
msgstr "모든 읽은 알림을 삭제했습니다."
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "함대 오퍼레이션"
@@ -1615,11 +1672,6 @@ msgstr "오퍼레이션"
msgid "Form Up System"
msgstr "폼업 성계"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr "인게임 시간"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1635,8 +1687,8 @@ msgstr "함대 오퍼레이션 관리"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "현재 이브 시간:"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1680,6 +1732,7 @@ msgstr "%(opname)s 의 오퍼레이션 타이머를 제거했습니다."
msgid "Saved changes to operation timer for %(opname)s."
msgstr "%(opname)s 의 오퍼레이션 타이머 수정사항을 저장했습니다."
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1736,7 +1789,7 @@ msgstr "해당 서비스 계정이 이미 존재함"
msgid "Successfully set your {self.service_name} password"
msgstr "{self.service_name} 비밀번호 설정 완료"
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "서드파티"
@@ -1800,6 +1853,10 @@ msgstr "비밀번호"
msgid "Password must be at least 8 characters long."
msgstr "비밀번호는 8글자 이상이어야 합니다."
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Discord 계정 비활성화"
@@ -1848,6 +1905,10 @@ msgid ""
"again."
msgstr "Discord 계정 연동 중 오류가 발생했습니다. 다시 시도해 주세요."
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr "담화"
@@ -1879,6 +1940,14 @@ msgstr "SSO 페이로드 혹은 시그니쳐가 없습니다. 이 문제가 지
msgid "Invalid payload. Please contact support if this problem persists."
msgstr "페이로드가 유효하지 않습니다. 이문제가 지속된다면 IT 지원을 요청하세요."
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "IPSuite4 계정 활성화 완료"
@@ -1902,6 +1971,10 @@ msgstr "IPSuite4 비밀번호 설정"
msgid "Deactivated IPSuite4 account."
msgstr "IPSuite4 계정 비활성화 완료"
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr ""
@@ -1957,6 +2030,10 @@ msgstr "연결"
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "재버"
@@ -2008,6 +2085,10 @@ msgstr "%s 로 Jabber 방송을 보내십시오."
msgid "Set jabber password."
msgstr "재버 비밀번호 설정"
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "포럼 계정 활성화 완료"
@@ -2031,6 +2112,10 @@ msgstr "포럼 비밀번호 재설정"
msgid "Set forum password."
msgstr "포럼 비밀번호 설정"
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "SMF 계정 활성화 완료"
@@ -2054,6 +2139,10 @@ msgstr "SMF 비밀번호 재설정"
msgid "Set SMF password."
msgstr "SMF 비밀번호 설정"
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2103,6 +2192,10 @@ msgstr "팀스피크3 계정 비활성화 완료"
msgid "Reset TeamSpeak3 permission key."
msgstr "팀스피크3 인증키 재설정"
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "XenForo 계정 활성화 완료"
@@ -2212,7 +2305,7 @@ msgid ""
"Some services provide different options. Hover over the buttons to see more."
msgstr "몇몇 서비스는 다른 옵션을 제공합니다. 더 자세한 정보를 보기 위해서는 버튼 위에 마우스를 올려놓으세요."
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "SRP"
@@ -2288,18 +2381,18 @@ msgid "Mark Completed"
msgstr "표시 완료"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "전체 손실:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "전체 ISK 비용:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "SRP 보상 요청을 삭제하시겠습니까?"
@@ -2331,12 +2424,12 @@ msgstr "금액을 수정하려면 클릭, 저장을 하고 다음으로 가려
msgid "Post Time"
msgstr "작성 시간"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "링크"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "이 함대에는 SRP 보상 요청이 없습니다."
@@ -2521,52 +2614,48 @@ msgstr "당신의 서버에 ESI 에러가 발생하였습니다. 응답코드 :"
msgid "Alliance Auth Notifications"
msgstr "얼라이언스 Auth 알림"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "닫혔음"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr "이번에는 알림을 울리지 않기"
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "GitLab 제공"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "Support Discord"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "소프트웨어 버전"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "현재"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "최신 안정화 버전"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "업데이트 가능"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "최신 사전 출시 버전"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "사전 출시 사용 가능"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "작업 대기열"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2576,11 +2665,11 @@ msgstr ""
"\n"
" %(total)s 의 진행된 작업 상태 • 잔여 %(latest)s"
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr "진행중"
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr "대기중"
@@ -2605,10 +2694,17 @@ msgstr "로그아웃"
msgid "Toggle navigation"
msgstr "네비게이션 전환"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr "테마 선택"
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "구조물 타이머"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2795,6 +2891,10 @@ msgstr "미고정"
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2804,12 +2904,6 @@ msgstr "예정 타이머"
msgid "Timer"
msgstr "타이머"
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "구조물 타이머"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr "스트럭쳐 타이머 정보"

File diff suppressed because it is too large Load Diff

View File

@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: MisBimbrownik, 2024\n"
"Language-Team: Polish (Poland) (https://app.transifex.com/alliance-auth/teams/107430/pl_PL/)\n"
@@ -21,6 +21,10 @@ msgstr ""
"Language: pl_PL\n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Google Analytics Universal"
@@ -29,6 +33,10 @@ msgstr "Google Analytics Universal"
msgid "Google Analytics V4"
msgstr "Google Analytics wersja 4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -45,7 +53,7 @@ msgstr ""
"na ##3rd-party-dev-and-esi na naszym Discordzie EVE Online "
"https://www.eveonline.com/discord."
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr ""
"Niniejsza akcja może być wykonana jedynie przez główną postać na koncie. "
@@ -62,91 +70,91 @@ msgstr ""
"Nie masz wystarczających uprawnień aby dodać lub usunąć zastrzeżone grupy: "
"%s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "Angielski"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "Niemiecki"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "Hiszpański"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "Włoski"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "Japoński"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "Koreański"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "Francuski"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "Rosyjski"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "Ukraiński"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "Język"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Tryb nocny"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr "Styl"
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "Stan został zmieniony na: %s"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Stan twojego użytkownika to: %(state)s"
@@ -208,6 +216,8 @@ msgstr "Stan:"
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "Zarządzanie Tokenem"
@@ -283,7 +293,7 @@ msgstr "Zarejestruj"
msgid "Invalid or expired activation link."
msgstr "Link aktywacyjny jest niewłaściwy albo wygasł."
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
@@ -292,24 +302,24 @@ msgstr ""
"Nie udało się ustawić głównej na %(char)s: postać jest już przypisana do "
"innego konta."
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "Zmieniono główną postać na %s"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "Dodano %(name)s to twojego konta."
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr ""
"Nie udało się dodać %(name)s do twojego konta: jest ono już przypisane do "
"innego użytkownika."
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
@@ -317,11 +327,11 @@ msgstr ""
"Nie udało się uwierzytelnić jako wybrana postać. Zaloguj się ponownie "
"używając głównej postaci powiązanej z tym kontem."
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "Token do rejestracji już wygasł."
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
@@ -329,16 +339,16 @@ msgstr ""
"E-mail potwierdzający rejestrację został wysłany. Kliknij w zawarty nim link"
" aby zweryfikować swój adres mailowy."
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr ""
"Adres mailowy został pozytywnie zweryfikowany. Zaloguj się aby kontynuować."
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "Rejestracja nowych kont użytkowników nie jest obecnie możliwa."
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "Statystyki Korporacji"
@@ -444,6 +454,10 @@ msgstr "Wybrana Korporacja ma już włączony moduł statystyk."
msgid "Failed to gather corporation statistics with selected token."
msgstr "Nie udało się pobrać statystyk korporacji używając wybranego Tokenu."
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr ""
@@ -477,6 +491,15 @@ msgstr ""
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -586,10 +609,12 @@ msgstr "Okręt"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "Czas EVE"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -759,6 +784,11 @@ msgstr ""
"Nie można zapisać udziału we flocie dla {character.character_name}. Postać "
"nie jest online."
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -1009,7 +1039,7 @@ msgid "Hidden"
msgstr "Ukryte"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "Otwarta"
@@ -1062,7 +1092,7 @@ msgstr "Opuść"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "Oczekiwanie"
@@ -1208,6 +1238,10 @@ msgstr "Złożyłeś już podanie o opuszczenie tej Grupy."
msgid "Applied to leave group %(group)s."
msgstr "Złożyłeś podanie o opuszczenie grupy %(group)s."
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "Podania"
@@ -1279,7 +1313,7 @@ msgstr "Nazwa Użytkownika"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "Zaakceptowano"
@@ -1287,7 +1321,7 @@ msgstr "Zaakceptowano"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "Odrzucono"
@@ -1402,7 +1436,7 @@ msgstr "Modyfikuj %s w menu"
msgid "children"
msgstr "dziecko"
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr "tekst"
@@ -1414,11 +1448,15 @@ msgstr "zdefiniowane przez użytkownika"
msgid "visible"
msgstr "widoczne"
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr "aplikacja"
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr "folder"
@@ -1430,27 +1468,27 @@ msgstr "link"
msgid "type"
msgstr "typ"
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr "Wyświetl w menu"
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr "kolejność"
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr "Kolejność elementów menu. Najniższy pierwszy."
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr "Folder, w którym znajduje się element (opcjonalne)"
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr "Ukryty"
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
@@ -1458,11 +1496,11 @@ msgstr ""
"Ukryj ten element menu. Jeżeli jest to folder, wszystkie zawarte w nim "
"elementy również zostaną ukryte"
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr "Typy ikon"
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
@@ -1470,11 +1508,11 @@ msgstr ""
"Obiekty klasy <i>Font Awesome</i>, np. <code>fa-solid fa-house</code>, "
"będzą widoczne jako ikony w menu."
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr "adres"
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr "Zewnętrzny adres, na który ten odnośnik będzie wskazywał"
@@ -1483,44 +1521,63 @@ msgid "Add folder"
msgstr "Dodaj folder"
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "Powiadomienia"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr "Super-Użytkownik"
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "Administrator"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr "Wyloguj"
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr "Zaloguj"
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "niebezpieczeństwo"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "ostrzeżenie"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "informacja"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "sukces"
@@ -1577,7 +1634,7 @@ msgstr "Oznaczono wszystkie powiadomienia jako przeczytane."
msgid "Deleted all read notifications."
msgstr "Usunięto wszystkie przeczytane powiadomienia."
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "Operacje Floty"
@@ -1651,11 +1708,6 @@ msgstr "Operacja"
msgid "Form Up System"
msgstr "Miejsce zbiórki"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr "Czas EVE"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1671,8 +1723,8 @@ msgstr "Zarządzanie operacją floty"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "Obecny czas EVE:"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1716,6 +1768,7 @@ msgstr "Usunięto czas operacji dla %(opname)s."
msgid "Saved changes to operation timer for %(opname)s."
msgstr "Zapisano zmiany czasu operacji dla %(opname)s."
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1772,7 +1825,7 @@ msgstr "Istnieje już takie konto serwisowe"
msgid "Successfully set your {self.service_name} password"
msgstr "Pomyślnie zmieniono hasło {self.service_name}"
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "Usługi"
@@ -1836,6 +1889,10 @@ msgstr "Hasło"
msgid "Password must be at least 8 characters long."
msgstr "Hasło musi zawierać przynajmniej 8 znaków."
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Konto Discorda wyłączone"
@@ -1887,6 +1944,10 @@ msgid ""
msgstr ""
"Wystąpił problem w trakcie aktywacji konta Discorda. Spróbuj ponownie."
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr "Dyskusja"
@@ -1921,6 +1982,14 @@ msgid "Invalid payload. Please contact support if this problem persists."
msgstr ""
"Niewłaściwe dane. Skontaktuj się z pomocą, o ile ten problem nie ustąpi."
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "Włączono konto IPSuite4."
@@ -1944,6 +2013,10 @@ msgstr "Ustaw hasło IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Wyłączono konto IPSuite4."
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr ""
@@ -1999,6 +2072,10 @@ msgstr "Połącz"
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2050,6 +2127,10 @@ msgstr "Wysłano powiadomienie Jabberem do %s"
msgid "Set jabber password."
msgstr "Ustaw hasło Jabbera"
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "Włączono konto Forum."
@@ -2073,6 +2154,10 @@ msgstr "Zresetuj hasło Forum."
msgid "Set forum password."
msgstr "Ustaw hasło Forum."
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "Włączono konto SMF."
@@ -2096,6 +2181,10 @@ msgstr "Zresetuj hasło SMF."
msgid "Set SMF password."
msgstr "Ustaw hasło SMF."
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2145,6 +2234,10 @@ msgstr "Wyłączono konto TeamSpeak3."
msgid "Reset TeamSpeak3 permission key."
msgstr "Zresetuj klucz dostępu TeamSpeak3."
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "Włączono konto XenForo."
@@ -2257,7 +2350,7 @@ msgstr ""
"Niektóre z usług oferują różne opcje. Najedź myszą na opcję, aby zobaczyć "
"więcej szczegółów."
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "Zwrot kosztów (SRP)"
@@ -2333,18 +2426,18 @@ msgid "Mark Completed"
msgstr "Oznacz jako Ukończoną"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "Całkowite straty:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "Całkowity koszt w ISK:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "Czy jesteś pewien, że chcesz usunąć zgłoszenie o SRP?"
@@ -2378,12 +2471,12 @@ msgstr ""
msgid "Post Time"
msgstr "Czas zgłoszenia"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "Odnośnik"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "Brak możliwości zgłaszania SRP dla tej Floty."
@@ -2572,52 +2665,48 @@ msgstr "Twój Serwer otrzymał błąd ESI o kodzie"
msgid "Alliance Auth Notifications"
msgstr "Powiadomienia z Autoryzacji Sojuszu (AA)"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "Zakończone"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr "Brak nowych powiadomień"
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "Utworzone przy użyciu GitLab"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "Potrzebujesz pomocy? Użyj Discord"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "Wersja oprogramowania"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "Aktualne"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "Ostatnia stabilna"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "Aktualizacja jest dostępna"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "Ostatnie przed-produkcyjna"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "Przed-produkcyjna jest dostępna"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "Kolejka Zadań"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2627,11 +2716,11 @@ msgstr ""
"\n"
"Status %(total)s przeprocesowanych Zadań • ostatnie %(latest)s"
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr "w trakcie"
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr "oczekujące"
@@ -2656,10 +2745,17 @@ msgstr "Wyloguj"
msgid "Toggle navigation"
msgstr "Przełącz nawigację"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr "Wybierz styl"
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Zdarzenia powiązane ze Strukturami"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2846,6 +2942,10 @@ msgstr "Usunięcie kotwiczenia"
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2855,12 +2955,6 @@ msgstr "Nadczodzące zdarzenia"
msgid "Timer"
msgstr "Zdarzenie"
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Zdarzenia powiązane ze Strukturami"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr "Szczegóły czasowe Zdarzenia"

View File

@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Joel Falknau <ozirascal@gmail.com>, 2024\n"
"Language-Team: Russian (https://app.transifex.com/alliance-auth/teams/107430/ru/)\n"
@@ -26,6 +26,10 @@ msgstr ""
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Google Analytics Universal"
@@ -34,6 +38,10 @@ msgstr "Google Analytics Universal"
msgid "Google Analytics V4"
msgstr "Google Analytics V4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -43,7 +51,7 @@ msgid ""
"dev-and-esi on the EVE Online Discord. https://www.eveonline.com/discord"
msgstr ""
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr ""
"Для продолжения следует указать основного персонажа. Выберите его ниже."
@@ -57,91 +65,91 @@ msgstr "Email"
msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "Вам не разрешено добавлять или удалять эти ограниченные группы: %s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "Английский"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "Немецкий"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "Испанский"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "Итальянский"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "Японский"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "Корейский"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "Французский"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "Русский"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "Украинский"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "Язык"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Ночной режим"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr ""
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "Статус изменен: %s"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Статус пилота: %(state)s"
@@ -203,6 +211,8 @@ msgstr ""
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "Управление токенами"
@@ -277,7 +287,7 @@ msgstr "Регистрация"
msgid "Invalid or expired activation link."
msgstr "Ссылка активации устарела"
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
@@ -285,22 +295,22 @@ msgid ""
msgstr ""
"Нельзя сменить основного персонажа на %(char)s: похоже, что Владелец не Вы. "
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "Основной персонаж изменён на %s"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "Добавлен %(name)s на Ваш аккаунт."
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr "Персонаж %(name)s уже добавлен."
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
@@ -308,25 +318,25 @@ msgstr ""
"Невозможно аутентифицировать выбранным персонажем. Пожалуйста залогиньтесь "
"основным персонажем от данной учётной записи. "
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "Регистрационный токен просрочен."
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
msgstr "Отправить подтверждающее письмо. Пожалуйста, подтвердите почту. "
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr "Подтвердите Ваш email адрес. Зайти для подтверждения. "
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "Регистрация новых аккаунтов в настоящее время невозможна."
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "Статистика корпорации"
@@ -432,6 +442,10 @@ msgstr "Выбранная корпорация уже в модуле стат
msgid "Failed to gather corporation statistics with selected token."
msgstr "Невозможно получить статистику корпорации по данному токену."
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr ""
@@ -465,6 +479,15 @@ msgstr ""
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -574,10 +597,12 @@ msgstr "Корабль"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "ET"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -747,6 +772,11 @@ msgstr ""
"Не могу зарегистрировать ФлАк для {character.character_name}. Персонаж "
"должен быть онлайн."
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -1002,7 +1032,7 @@ msgid "Hidden"
msgstr "Скрытые"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "Открыть"
@@ -1055,7 +1085,7 @@ msgstr "Покинуть"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "Ожидание"
@@ -1201,6 +1231,10 @@ msgstr "Ваш запрос находится на рассмотрении"
msgid "Applied to leave group %(group)s."
msgstr "Запрос на выход из группы %(group)s."
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "Запросы"
@@ -1272,7 +1306,7 @@ msgstr "Пользователь"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "Проверено"
@@ -1280,7 +1314,7 @@ msgstr "Проверено"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "Отменено "
@@ -1395,7 +1429,7 @@ msgstr ""
msgid "children"
msgstr ""
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr "текст"
@@ -1407,11 +1441,15 @@ msgstr ""
msgid "visible"
msgstr ""
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr ""
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr "папка"
@@ -1423,47 +1461,47 @@ msgstr "ссылка"
msgid "type"
msgstr "тип"
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr "Текст, отображаемый в меню"
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr "порядок"
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr ""
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr ""
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr ""
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
msgstr ""
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr ""
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
msgstr ""
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr ""
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr ""
@@ -1472,44 +1510,63 @@ msgid "Add folder"
msgstr ""
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "Уведомления"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "Администратор"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr ""
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "опасн"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "упрежд"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "инфо"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "успех"
@@ -1566,7 +1623,7 @@ msgstr "Пометить все уведомления как прочитанн
msgid "Deleted all read notifications."
msgstr "Удалить все прочитанные уведомления"
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "Флотовые операции"
@@ -1640,11 +1697,6 @@ msgstr ""
msgid "Form Up System"
msgstr "Система сбора"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr "EVE Время"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1660,8 +1712,8 @@ msgstr "Управление флотовыми операциями"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "Текущий EVE Time:"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1705,6 +1757,7 @@ msgstr "Таймер для %(opname)s удалено. "
msgid "Saved changes to operation timer for %(opname)s."
msgstr "Таймер для %(opname)sобновлен."
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1761,7 +1814,7 @@ msgstr "Этот сервис уже активирован"
msgid "Successfully set your {self.service_name} password"
msgstr "Успешно установлен пароль для вашего {self.service_name}"
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "Подключение сервисов"
@@ -1825,6 +1878,10 @@ msgstr "Пароль"
msgid "Password must be at least 8 characters long."
msgstr "Пароль должен быть не менее 8 символов."
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Discord персонаж отключен"
@@ -1879,6 +1936,10 @@ msgstr ""
"Во время активации Discord аккаунта возникла ошибка. Попробуйте чуточку "
"позднее. "
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr ""
@@ -1916,6 +1977,14 @@ msgstr ""
"Недопустимая \"полезная нагрузка\". Пожалуйста свяжитесь с поддержкой, если "
"данная проблема будет продолжаться."
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "Активирован аккаунт IPSuite4."
@@ -1939,6 +2008,10 @@ msgstr "Установить пароль IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Деактивированный аккаунт IPSuite4."
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr ""
@@ -1994,6 +2067,10 @@ msgstr "Подключить"
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2045,6 +2122,10 @@ msgstr ""
msgid "Set jabber password."
msgstr "Установить jabber пароль."
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "Допустить на Форум."
@@ -2068,6 +2149,10 @@ msgstr "Сбросить пароль на Форум."
msgid "Set forum password."
msgstr "Установить пароль на Форум."
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "Активированный аккаунт SMF."
@@ -2091,6 +2176,10 @@ msgstr "Сбросить пароль SMF."
msgid "Set SMF password."
msgstr "Установить пароль SMF."
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2140,6 +2229,10 @@ msgstr "Отключить TeamSpeak3 аккаунт."
msgid "Reset TeamSpeak3 permission key."
msgstr "Сбросить TeamSpeak3 ключ доступа."
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "Активированный аккаунт XenForo."
@@ -2249,7 +2342,7 @@ msgid ""
"Some services provide different options. Hover over the buttons to see more."
msgstr ""
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "Компенсация корабля"
@@ -2326,18 +2419,18 @@ msgid "Mark Completed"
msgstr "Пометить законченным"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "Суммарные потери:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "Оценочная стоимость, ISK:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "Вы уверенны что хотите удалить запрос на SRP?"
@@ -2369,12 +2462,12 @@ msgstr "Нажмите на значение для редактирования
msgid "Post Time"
msgstr "Опубликованно"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "ссылка"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "SRP запросы отсутствуют"
@@ -2562,52 +2655,48 @@ msgstr ""
msgid "Alliance Auth Notifications"
msgstr "Уведомления об Альянсовых авторизациях"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "Закрыт"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "При поддержке GitLab"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "Поддержка Discord"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "Версия приложения"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "Текущий"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "Стабильная Версия"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "Доступно обновление"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "Предрелизная Версия"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "Предрелизная Версия"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "Список задач"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2615,11 +2704,11 @@ msgid ""
" "
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr ""
@@ -2644,10 +2733,17 @@ msgstr "Выход"
msgid "Toggle navigation"
msgstr "Проложить маршрут"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr ""
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Структурные таймера"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2834,6 +2930,10 @@ msgstr "Снятие с якоря"
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2843,12 +2943,6 @@ msgstr ""
msgid "Timer"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Структурные таймера"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr ""

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Bandera Primary, 2025\n"
"Language-Team: Ukrainian (https://app.transifex.com/alliance-auth/teams/107430/uk/)\n"
@@ -24,6 +24,10 @@ msgstr ""
"Language: uk\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr "Універсальна Google Аналітика"
@@ -32,6 +36,10 @@ msgstr "Універсальна Google Аналітика"
msgid "Google Analytics V4"
msgstr "Google Analytics V4"
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -47,7 +55,7 @@ msgstr ""
"поради щодо того, як це зробити, поспілкуйтеся з нами в # #3rd -party-dev-"
"and-esi на EVE Online Discord. https://www.eveonline.com/discord"
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr ""
"Для виконання цієї дії потрібен основний персонаж. Додайте його нижче."
@@ -61,91 +69,91 @@ msgstr "Електронна пошта"
msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "Вам заборонено додавати або видаляти ці обмежені групи: %s"
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "Англійська"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr "Чеська"
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "Німецька"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "Іспанська"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "Італійська"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "Японська"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "Корейська"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "Французька"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "Російська"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr "Нідерландська"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr "Польська"
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "Українська"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr "Cпрощена китайська"
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "Мова"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Нічний режим"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr "Тема"
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr "Стан змінено на: %s"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Стан вашого користувача зараз: %(state)s"
@@ -207,6 +215,8 @@ msgstr "Стан:"
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr "Керування токенами"
@@ -285,7 +295,7 @@ msgstr "Зареєструватися"
msgid "Invalid or expired activation link."
msgstr "Невірне або прострочене посилання для активації."
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
@@ -294,24 +304,24 @@ msgstr ""
"Неможливо змінити основного персонажа на %(char)s: персонаж належить іншому "
"акаунту."
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "Основного персонажа змінено на %s"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "Додано %(name)s до вашого облікового запису."
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr ""
"Не вдалося додати %(name)s до вашого облікового запису: у них вже є "
"обліковий запис."
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
@@ -320,11 +330,11 @@ msgstr ""
"використовуючи аккаунт основного персонажа, пов'язаним з цим обліковим "
"записом."
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "Токен реєстрації застарів."
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
@@ -332,17 +342,17 @@ msgstr ""
"Відправлено лист з підтвердженням. Будь ласка, перейдіть за посиланням, щоб "
"підтвердити свою адресу електронної пошти."
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr ""
"Підтверджено вашу адресу електронної пошти. Будь ласка, увійдіть, щоб "
"продовжити."
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr "Реєстрація нових облікових записів наразі не дозволена."
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "Статистика корпорації"
@@ -448,6 +458,10 @@ msgstr "Вибрана корпорація вже має модуль стат
msgid "Failed to gather corporation statistics with selected token."
msgstr "Не вдалося зібрати статистику корпорації з обраним токеном."
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr "Зміщення хвилини"
@@ -481,6 +495,15 @@ msgstr "Ваш користувацький CSS"
msgid "This CSS will be added to the site after the default CSS."
msgstr "Цей CSS буде додано до сайту після базового CSS."
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -590,10 +613,12 @@ msgstr "Корабель"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "Ігровий час"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -763,6 +788,11 @@ msgstr ""
"Не вдалося зареєструвати участь в флоті для {character.character_name}. "
"Персонаж повинен бути в мережі."
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -1016,7 +1046,7 @@ msgid "Hidden"
msgstr "Прихована"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "Відкрита"
@@ -1069,7 +1099,7 @@ msgstr "Покинути"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "Очікує"
@@ -1215,6 +1245,10 @@ msgstr "Ви вже подали запит на вихід з цієї груп
msgid "Applied to leave group %(group)s."
msgstr "Подано заявку на вихід з групи %(group)s."
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "Заявки"
@@ -1286,7 +1320,7 @@ msgstr "Ім'я користувача"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "Затверджено"
@@ -1294,7 +1328,7 @@ msgstr "Затверджено"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "Відхилено"
@@ -1409,7 +1443,7 @@ msgstr "Змінити пункт меню %s"
msgid "children"
msgstr "під-елементи"
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr "текст"
@@ -1421,11 +1455,15 @@ msgstr "визначено користувачем"
msgid "visible"
msgstr "видимий"
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr "сервіс"
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr "тека"
@@ -1437,27 +1475,27 @@ msgstr "посилання"
msgid "type"
msgstr "тип"
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr "Текст для відображення в меню"
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr "порядок"
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr "Порядок меню. Найнижчий перший"
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr "Папка, в якій знаходиться цей елемент (опціонально)"
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr "приховано"
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
@@ -1465,11 +1503,11 @@ msgstr ""
"Приховати цей пункт меню. Якщо цей пункт є папкою, всі елементи під ним теж "
"будуть приховані"
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr "класи іконок"
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
@@ -1477,11 +1515,11 @@ msgstr ""
"Класи Font Awesome для відображення як піктограми в меню, напр. <code>fa-"
"solid fa-house</code>"
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr "URL"
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr "Зовнішня URL, на яку будуть посилатися елементи меню"
@@ -1490,44 +1528,63 @@ msgid "Add folder"
msgstr "Додати теку"
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "Повідомлення"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr "Супер користувач"
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "Адміністратор"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr "Вийти"
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr "Увійти"
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "небезпека"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "попередження"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr "інформація"
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr "успіх"
@@ -1584,7 +1641,7 @@ msgstr "Всі повідомлення позначено як прочитан
msgid "Deleted all read notifications."
msgstr "Всі прочитані повідомлення видалено."
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "Флотові операції"
@@ -1658,11 +1715,6 @@ msgstr "Операція"
msgid "Form Up System"
msgstr "Система збору флоту"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr "Час за EVE"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1678,8 +1730,8 @@ msgstr "Управління флотовими операціями"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "Поточний час Eve:"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1723,6 +1775,7 @@ msgstr "Видалено таймер операції для %(opname)s."
msgid "Saved changes to operation timer for %(opname)s."
msgstr "Зміни до таймера операції %(opname)s збережено."
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1779,7 +1832,7 @@ msgstr "Такий сервісний обліковий запис вже іс
msgid "Successfully set your {self.service_name} password"
msgstr "Пароль для {self.service_name} успішно встановлено"
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "Сервіси"
@@ -1843,6 +1896,10 @@ msgstr "Пароль"
msgid "Password must be at least 8 characters long."
msgstr "Пароль повинен містити принаймні 8 символів."
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr "Обліковий запис Discord вимкнено"
@@ -1895,6 +1952,10 @@ msgstr ""
"Сталася помилка під час спроби активації вашого облікового запису Discord. "
"Будь ласка, спробуйте знову."
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr "Discourse"
@@ -1930,6 +1991,14 @@ msgstr ""
"Неправильний пакет даних. Будь ласка, зверніться в підтримку, якщо ця "
"проблема повторюється."
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "Активовано обліковий запис IPSuite4."
@@ -1953,6 +2022,10 @@ msgstr "Встановити пароль IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Деактивовано обліковий запис IPSuite4."
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr "Mumble"
@@ -2008,6 +2081,10 @@ msgstr "Підєднатись"
msgid "Mumble Connection History"
msgstr "Історія підключень до Mumble"
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2059,6 +2136,10 @@ msgstr "Відправлено трансляцію Jabber на %s"
msgid "Set jabber password."
msgstr "Встановити пароль Jabber."
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "Активований обліковий запис форуму."
@@ -2082,6 +2163,10 @@ msgstr "Скинути пароль форуму."
msgid "Set forum password."
msgstr "Встановити пароль форуму."
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "Активований обліковий запис SMF."
@@ -2105,6 +2190,10 @@ msgstr "Скинути пароль SMF."
msgid "Set SMF password."
msgstr "Встановити пароль SMF."
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2154,6 +2243,10 @@ msgstr "Деактивовано обліковий запис TeamSpeak3."
msgid "Reset TeamSpeak3 permission key."
msgstr "Скинути ключ дозволів TeamSpeak3."
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "Активовано обліковий запис XenForo."
@@ -2266,7 +2359,7 @@ msgstr ""
"Деякі сервіси надають різні варіанти. Наведіть курсор на кнопки, щоб "
"побачити більше."
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "Компенсації"
@@ -2345,18 +2438,18 @@ msgid "Mark Completed"
msgstr "Позначити виконаним"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "Загальні збитки:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "Загальна вартість ISK:"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "Ви впевнені, що хочете видалити запити SRP?"
@@ -2390,12 +2483,12 @@ msgstr ""
msgid "Post Time"
msgstr "Час публікації"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "Посилання"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "Немає запитів SRP для цього флоту."
@@ -2583,52 +2676,48 @@ msgstr "Ваш сервер отримав код відповіді на пом
msgid "Alliance Auth Notifications"
msgstr "Сповіщення Alliance Auth"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "Закрито"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr "На даний момент сповіщень немає"
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr "Powered by GitLab"
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr "Discord підтримки"
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "Версія програмного забезпечення"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "Поточна"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr "Остання стабільна"
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "Є доступне оновлення"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr "Останній передрелізний випуск"
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr "Доступний Попередній Реліз"
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "Черга Завдань"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2639,11 +2728,11 @@ msgstr ""
" Статус %(total)s оброблених завдань • останні %(latest)s\n"
" "
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr "в праці"
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr "у черзі"
@@ -2668,10 +2757,17 @@ msgstr "Вихід"
msgid "Toggle navigation"
msgstr "Перемикання навігації"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr "Виберіть тему"
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Таймери структур"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2858,6 +2954,10 @@ msgstr "Зняття з якорю"
msgid "Abandoned"
msgstr "Покинуто"
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2867,12 +2967,6 @@ msgstr "Майбутні таймери"
msgid "Timer"
msgstr "Таймер"
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "Таймери структур"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr "Деталі Таймерів структур"

View File

@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n"
"POT-Creation-Date: 2025-06-19 20:23+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Aika Yu, 2025\n"
"Language-Team: Chinese Simplified (https://app.transifex.com/alliance-auth/teams/107430/zh-Hans/)\n"
@@ -25,6 +25,10 @@ msgstr ""
"Language: zh-Hans\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal"
msgstr ""
@@ -33,6 +37,10 @@ msgstr ""
msgid "Google Analytics V4"
msgstr ""
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6
msgid ""
"This software has exceeded the error limit for ESI. If you are a user, "
@@ -42,7 +50,7 @@ msgid ""
"dev-and-esi on the EVE Online Discord. https://www.eveonline.com/discord"
msgstr ""
#: allianceauth/authentication/decorators.py:49
#: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below."
msgstr "只有主要角色才能执行这个操作。在下面添加一个"
@@ -55,91 +63,91 @@ msgstr "电子邮箱"
msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr ""
#: allianceauth/authentication/models.py:70
#: allianceauth/project_template/project_name/settings/base.py:105
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "English"
msgstr "英语"
#: allianceauth/authentication/models.py:71
#: allianceauth/authentication/models.py:73
msgid "Czech"
msgstr "捷克语"
#: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "German"
msgstr "德语"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:108
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Spanish"
msgstr "西班牙语"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:109
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Italian"
msgstr "意大利语"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:110
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Japanese"
msgstr "日语"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:111
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "Korean"
msgstr "韩语"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
msgid "French"
msgstr "法语"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Russian"
msgstr "俄语"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:114
msgid "Dutch"
msgstr "荷兰语"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Polish"
msgstr "波兰语"
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:117
msgid "Ukrainian"
msgstr "乌克兰语"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:118
msgid "Simplified Chinese"
msgstr "简体中文"
#: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42
#: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language"
msgstr "语言"
#: allianceauth/authentication/models.py:103
#: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "夜间模式"
#: allianceauth/authentication/models.py:107
#: allianceauth/menu/templates/menu/menu-user.html:46
#: allianceauth/authentication/models.py:109
#: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme"
msgstr ""
#: allianceauth/authentication/models.py:124
#: allianceauth/authentication/models.py:126
#, python-format
msgid "State changed to: %s"
msgstr ""
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:127
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr ""
@@ -201,6 +209,8 @@ msgstr ""
#: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management"
msgstr ""
@@ -274,53 +284,53 @@ msgstr "注册"
msgid "Invalid or expired activation link."
msgstr "激活链接无效或过期"
#: allianceauth/authentication/views.py:157
#: allianceauth/authentication/views.py:158
#, python-format
msgid ""
"Cannot change main character to %(char)s: character owned by a different "
"account."
msgstr "不能修改主角色为%(char)s这个角色被另一个账户所拥有"
#: allianceauth/authentication/views.py:164
#: allianceauth/authentication/views.py:165
#, python-format
msgid "Changed main character to %s"
msgstr "修改主角色为%s"
#: allianceauth/authentication/views.py:178
#: allianceauth/authentication/views.py:179
#, python-format
msgid "Added %(name)s to your account."
msgstr "添加%(name)s到您的账户"
#: allianceauth/authentication/views.py:180
#: allianceauth/authentication/views.py:181
#, python-format
msgid "Failed to add %(name)s to your account: they already have an account."
msgstr "添加%(name)s到您的账户失败他们已经在一个账户中了"
#: allianceauth/authentication/views.py:225
#: allianceauth/authentication/views.py:226
msgid ""
"Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account."
msgstr ""
#: allianceauth/authentication/views.py:292
#: allianceauth/authentication/views.py:293
msgid "Registration token has expired."
msgstr "注册令牌过期。"
#: allianceauth/authentication/views.py:353
#: allianceauth/authentication/views.py:354
msgid ""
"Sent confirmation email. Please follow the link to confirm your email "
"address."
msgstr "已经发送了确认邮件。请按照链接确定您的电邮地址"
#: allianceauth/authentication/views.py:359
#: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue."
msgstr "已确认您的电邮地址。请登录以继续"
#: allianceauth/authentication/views.py:365
#: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time."
msgstr ""
#: allianceauth/corputils/auth_hooks.py:12
#: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats"
msgstr "军团统计"
@@ -426,6 +436,10 @@ msgstr "选定的军团已经有了一个统计模块"
msgid "Failed to gather corporation statistics with selected token."
msgstr "未能使用指定的令牌收集军团信息"
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13
msgid "Minute Offset"
msgstr ""
@@ -459,6 +473,15 @@ msgstr ""
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -568,10 +591,12 @@ msgstr "舰船"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time"
msgstr "EVE时间"
msgid "EVE time"
msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
@@ -733,6 +758,11 @@ msgid ""
"character needs to be online."
msgstr ""
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management"
@@ -962,7 +992,7 @@ msgid "Hidden"
msgstr "已隐藏"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open"
msgstr "公开"
@@ -1015,7 +1045,7 @@ msgstr "离开"
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117
#: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87
msgid "Pending"
msgstr "待定"
@@ -1157,6 +1187,10 @@ msgstr "你已经有了该组的未决离开请求"
msgid "Applied to leave group %(group)s."
msgstr "已经离开群组%(group)s"
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications"
msgstr "申请"
@@ -1228,7 +1262,7 @@ msgstr "用户名"
#: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109
#: allianceauth/srp/templates/srp/data.html:112
msgid "Approved"
msgstr "通过"
@@ -1236,7 +1270,7 @@ msgstr "通过"
#: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113
#: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected"
msgstr "拒绝"
@@ -1351,7 +1385,7 @@ msgstr ""
msgid "children"
msgstr ""
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text"
msgstr ""
@@ -1363,11 +1397,15 @@ msgstr ""
msgid "visible"
msgstr ""
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16
msgid "app"
msgstr ""
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder"
msgstr ""
@@ -1379,47 +1417,47 @@ msgstr ""
msgid "type"
msgstr ""
#: allianceauth/menu/models.py:22
#: allianceauth/menu/models.py:23
msgid "Text to show on menu"
msgstr ""
#: allianceauth/menu/models.py:27
#: allianceauth/menu/models.py:28
msgid "order"
msgstr ""
#: allianceauth/menu/models.py:28
#: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First"
msgstr ""
#: allianceauth/menu/models.py:38
#: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)"
msgstr ""
#: allianceauth/menu/models.py:42
#: allianceauth/menu/models.py:43
msgid "is hidden"
msgstr ""
#: allianceauth/menu/models.py:44
#: allianceauth/menu/models.py:45
msgid ""
"Hide this menu item.If this item is a folder all items under it will be "
"hidden too"
msgstr ""
#: allianceauth/menu/models.py:59
#: allianceauth/menu/models.py:60
msgid "icon classes"
msgstr ""
#: allianceauth/menu/models.py:61
#: allianceauth/menu/models.py:62
msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-"
"house</code>"
msgstr ""
#: allianceauth/menu/models.py:67
#: allianceauth/menu/models.py:68
msgid "url"
msgstr ""
#: allianceauth/menu/models.py:68
#: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to"
msgstr ""
@@ -1428,44 +1466,63 @@ msgid "Add folder"
msgstr ""
#: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications"
msgstr "通知"
#: allianceauth/menu/templates/menu/menu-user.html:56
#: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin"
msgstr "管理员"
#: allianceauth/menu/templates/menu/menu-user.html:82
#: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out"
msgstr "登出"
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
msgstr "登入"
#: allianceauth/notifications/models.py:21
#: allianceauth/notifications/models.py:22
msgid "danger"
msgstr "危险"
#: allianceauth/notifications/models.py:22
#: allianceauth/notifications/models.py:23
msgid "warning"
msgstr "警告"
#: allianceauth/notifications/models.py:23
#: allianceauth/notifications/models.py:24
msgid "info"
msgstr ""
#: allianceauth/notifications/models.py:24
#: allianceauth/notifications/models.py:25
msgid "success"
msgstr ""
@@ -1522,7 +1579,7 @@ msgstr "让所有通知都变成已读"
msgid "Deleted all read notifications."
msgstr "删除所有已读通知"
#: allianceauth/optimer/auth_hooks.py:12
#: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations"
msgstr "起队搞事"
@@ -1596,11 +1653,6 @@ msgstr ""
msgid "Form Up System"
msgstr "集结点"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr "EVE时间"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time"
@@ -1616,8 +1668,8 @@ msgstr "管理搞事队"
#: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:"
msgstr "当前EVE游戏内时间"
msgid "Current EVE time:"
msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36
msgid "Next Fleet Operations"
@@ -1661,6 +1713,7 @@ msgstr "移除了%(opname)s的搞事时间节点咕咕咕"
msgid "Saved changes to operation timer for %(opname)s."
msgstr "对搞事时间节点%(opname)s的修改保存了朝令夕改你是不是合格FC啊"
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@@ -1717,7 +1770,7 @@ msgstr "该服务账户仍然存在"
msgid "Successfully set your {self.service_name} password"
msgstr ""
#: allianceauth/services/auth_hooks.py:12
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services"
msgstr "服务"
@@ -1781,6 +1834,10 @@ msgstr "密码"
msgid "Password must be at least 8 characters long."
msgstr "密码至少要有8个字符啊你也太不注重安全啦"
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled"
msgstr ""
@@ -1829,6 +1886,10 @@ msgid ""
"again."
msgstr ""
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse"
msgstr ""
@@ -1860,6 +1921,14 @@ msgstr "没有在Seat上检测到SSO。如果该问题依然存在请联系
msgid "Invalid payload. Please contact support if this problem persists."
msgstr "无效的SSO验证。如果该问题依然存在请联系技术支持。"
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account."
msgstr "完成激活IPSuite4账户"
@@ -1883,6 +1952,10 @@ msgstr "修改IPSuite4密码"
msgid "Deactivated IPSuite4 account."
msgstr "停用IPSuite4账户"
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble"
msgstr ""
@@ -1938,6 +2011,10 @@ msgstr ""
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -1989,6 +2066,10 @@ msgstr ""
msgid "Set jabber password."
msgstr "修改jabber密码"
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account."
msgstr "成功激活论坛账户"
@@ -2012,6 +2093,10 @@ msgstr "重置论坛密码"
msgid "Set forum password."
msgstr "修改论坛密码"
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account."
msgstr "成功激活SMF论坛账户"
@@ -2035,6 +2120,10 @@ msgstr "重置SMF密码"
msgid "Set SMF password."
msgstr "修改SMF论坛密码"
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format
msgid "Unable to locate user %s on server"
@@ -2084,6 +2173,10 @@ msgstr "停用TeamSpeak3账户"
msgid "Reset TeamSpeak3 permission key."
msgstr "重置TeamSpeak3授权秘钥"
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account."
msgstr "成功激活XenForo账户"
@@ -2193,7 +2286,7 @@ msgid ""
"Some services provide different options. Hover over the buttons to see more."
msgstr ""
#: allianceauth/srp/auth_hooks.py:14
#: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement"
msgstr "补损"
@@ -2269,18 +2362,18 @@ msgid "Mark Completed"
msgstr "标记为已完成"
#: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139
#: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:"
msgstr "损失总额:"
#: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140
#: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:"
msgstr "ISK花费总额"
#: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151
#: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?"
msgstr "老哥,你确定要删了补损请求么?"
@@ -2312,12 +2405,12 @@ msgstr "点击数值就可以编辑啦按回车确认按ESC取消"
msgid "Post Time"
msgstr "发布时间"
#: allianceauth/srp/templates/srp/data.html:99
#: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70
msgid "Link"
msgstr "链接"
#: allianceauth/srp/templates/srp/data.html:160
#: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet."
msgstr "这次起队没有补损请求!大捷"
@@ -2501,52 +2594,48 @@ msgstr ""
msgid "Alliance Auth Notifications"
msgstr "系统通知"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
msgid "Closed"
msgstr "已关闭"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "No notifications at this time"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version"
msgstr "软件版本"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current"
msgstr "当前版本"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available"
msgstr "有更新!"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue"
msgstr "任务队列"
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format
msgid ""
"\n"
@@ -2554,11 +2643,11 @@ msgid ""
" "
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued"
msgstr ""
@@ -2583,10 +2672,17 @@ msgstr "登出"
msgid "Toggle navigation"
msgstr "打开导航栏"
#: allianceauth/theme/templates/theme/theme_select.html:7
#: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme"
msgstr ""
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "建筑时间表"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
@@ -2773,6 +2869,10 @@ msgstr "解锚"
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers"
@@ -2782,12 +2882,6 @@ msgstr ""
msgid "Timer"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr "建筑时间表"
#: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details"
msgstr ""

View File

@@ -43,8 +43,7 @@
aria-expanded="false"
aria-controls=""
>
<i class="fas fa-chevron-right"></i>
<i class="fas fa-chevron-down"></i>
<i class="fa-solid fa-chevron-right"></i>
</span>
<ul
class="collapse ps-1 w-100 border-start rounded-start border-light border-3"

View File

@@ -2,28 +2,51 @@
{% load evelinks %}
{% load theme_tags %}
<div id="aa-user-info" class="w-100 d-flex flex-column justify-content-center align-items-center text-center py-1 border-top border-secondary {% if not user.is_authenticated %}position-absolute bottom-0{% endif %}">
<div
id="aa-user-info"
class="w-100 d-flex flex-column justify-content-center align-items-center text-center py-1 border-top border-secondary {% if not user.is_authenticated %}position-absolute bottom-0{% endif %}"
>
<div class="d-flex mb-0 w-100">
<div class="p-2 position-relative m-2">
{% if user.is_authenticated %}
{% with request.user.profile.main_character as main %}
<img class="rounded-circle" src="{{ main.character_id|character_portrait_url:64 }}" alt="{{ main.character_name }}">
<img class="rounded-circle position-absolute bottom-0 start-0" src="{{ main.corporation_logo_url_32 }}" alt="{{ main.corporation_name }}">
<img
class="rounded-circle"
src="{{ main.character_id|character_portrait_url:64 }}"
alt="{{ main.character_name }}"
>
<img
class="rounded-circle position-absolute bottom-0 start-0"
src="{{ main.corporation_logo_url_32 }}"
alt="{{ main.corporation_name }}"
>
{% if main.alliance_id %}
<img class="rounded-circle position-absolute bottom-0 end-0" src="{{ main.alliance_logo_url_32 }}" alt="{{ main.alliance_name }}">
<img
class="rounded-circle position-absolute bottom-0 end-0"
src="{{ main.alliance_logo_url_32 }}"
alt="{{ main.alliance_name }}"
>
{% elif main.faction_id %}
<img class="rounded-circle position-absolute bottom-0 end-0" src="{{ main.faction_logo_url_32 }}" alt="{{ main.faction_name }}">
<img
class="rounded-circle position-absolute bottom-0 end-0"
src="{{ main.faction_logo_url_32 }}"
alt="{{ main.faction_name }}"
>
{% endif %}
{% endwith %}
{% else %}
{% include "bundles/image-auth-logo.html" with logo_width="64px" %}
{% endif %}
</div>
<div class="align-self-center text-start">
{% if user.is_authenticated %}
{% with request.user.profile.main_character as main %}
<h5 class="m-0">{{ main.character_name }}</h5>
<p class="m-0 small">{{ main.corporation_name }}</p>
{% if main.alliance_id %}
<p class="m-0 small">{{ main.alliance_name }}</p>
{% elif main.faction_id %}
@@ -34,56 +57,106 @@
<h5 class="m-0">{{ SITE_NAME }}</h5>
{% endif %}
</div>
<div class="ms-auto dropup">
<button type="button" class="h-100 btn" data-bs-toggle="dropdown" aria-expanded="false">
<i class="fa-solid fa-gear fa-fw text-light"></i>
</button>
<ul class="dropdown-menu" style="min-width: 200px;">
<li><h6 class="dropdown-header">{% translate "Language" %}</h6></li>
<li>
<a class="dropdown-item">{% include "public/lang_select.html" %}</a>
</li>
<li><h6 class="dropdown-header">{% translate "Theme" %}</h6></li>
<li>
<a class="dropdown-item">
{% theme_select %}
</a>
{% include "public/lang_select.html" %}
</li>
{% theme_select %}
{% if user.is_superuser %}
<li><hr class="dropdown-divider"></li>
<li><h6 class="dropdown-header">{% translate "Super User" %}</h6></li>
<li>
<a class="dropdown-item" href="https://allianceauth.readthedocs.io/" title="Alliance Auth Documentation"><i class="fa-solid fa-book fa-fw"></i> Alliance Auth Documentation</a>
</li>
<li>
<a class="dropdown-item" href="https://discord.gg/fjnHAmk" title="Alliance Auth Discord"><i class="fa-brands fa-discord fa-fw"></i> Alliance Auth Discord</a>
</li>
<li>
<a class="dropdown-item" href="https://gitlab.com/allianceauth/allianceauth" title="Alliance Auth Git"><i class="fa-brands fa-gitlab fa-fw"></i> Alliance Auth Git</a>
</li>
{% endif %}
{% if user.is_staff %}
<li>
<a class="dropdown-item" href="{% url 'admin:index' %}">
<i class="fa-solid fa-gear fa-fw"></i> {% translate "Admin" %}
</a>
</li>
{% endif %}
<li><hr class="dropdown-divider"></li>
{% if user.is_authenticated %}
<li>
<a class="dropdown-item" href="{% url 'authentication:token_management' %}">
<i class="fa-solid fa-user-lock fa-fw"></i> Token Management
<a
class="dropdown-item"
href="https://allianceauth.readthedocs.io/"
title="{% translate 'Alliance Auth Documentation' %}"
>
<i class="fa-solid fa-book fa-fw"></i>
{% translate "Alliance Auth Documentation" %}
</a>
</li>
<li>
<a class="dropdown-item text-danger" href="{% url 'logout' %}" title="{% translate 'Sign Out' %}"><i class="fa-solid fa-right-from-bracket fa-fw "></i> {% translate 'Sign Out' %}</a>
<a
class="dropdown-item"
href="https://discord.gg/fjnHAmk"
title="{% translate 'Alliance Auth Discord' %}"
>
<i class="fa-brands fa-discord fa-fw"></i>
{% translate "Alliance Auth Discord" %}
</a>
</li>
<li>
<a
class="dropdown-item"
href="https://gitlab.com/allianceauth/allianceauth"
title="{% translate 'Alliance Auth Git' %}"
>
<i class="fa-brands fa-gitlab fa-fw"></i>
{% translate "Alliance Auth Git" %}
</a>
</li>
{% endif %}
{% if user.is_staff %}
<li>
<a
class="dropdown-item"
href="{% url 'admin:index' %}"
title="{% translate 'Admin' %}"
>
<i class="fa-solid fa-gear fa-fw"></i>
{% translate "Admin" %}
</a>
</li>
{% endif %}
<li><hr class="dropdown-divider"></li>
{% if user.is_authenticated %}
<li>
<a
class="dropdown-item"
href="{% url 'authentication:token_management' %}"
title="{% translate 'Token Management' %}"
>
<i class="fa-solid fa-user-lock fa-fw"></i>
{% translate "Token Management" %}
</a>
</li>
<li>
<a
class="dropdown-item text-danger"
href="{% url 'logout' %}"
title="{% translate 'Sign Out' %}"
>
<i class="fa-solid fa-right-from-bracket fa-fw"></i>
{% translate 'Sign Out' %}
</a>
</li>
{% else %}
<li>
<a class="dropdown-item text-success" href="{% url 'authentication:login' %}" title="{% translate 'Sign In' %}"> <i class="fa-solid fa-right-to-bracket fa-fw "></i> {% translate 'Sign In' %}</a>
<a
class="dropdown-item text-success"
href="{% url 'authentication:login' %}"
title="{% translate 'Sign In' %}"
>
<i class="fa-solid fa-right-to-bracket fa-fw"></i>
{% translate 'Sign In' %}
</a>
</li>
{% endif %}
</ul>

View File

@@ -14,7 +14,7 @@
{% block content %}
<div>
<h1 class="page-header md-3">
{% translate "Permissions Audit" %}: {{ permission.permission.codename }}
{% translate "Permissions Audit" %}: {{ permission.permission.content_type.app_label }} | {{ permission.permission.content_type.model }} | {{ permission.permission.codename }}
</h1>
<p>

View File

@@ -15,68 +15,68 @@ from django.contrib import messages
from django.utils.translation import gettext_lazy as _
INSTALLED_APPS = [
'allianceauth', # needs to be on top of this list to support favicons in Django admin (see https://gitlab.com/allianceauth/allianceauth/-/issues/1301)
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django_celery_beat',
'solo',
'bootstrapform',
'django_bootstrap5', # https://github.com/zostera/django-bootstrap5
'sortedm2m',
'esi',
'allianceauth.framework',
'allianceauth.authentication',
'allianceauth.services',
'allianceauth.eveonline',
'allianceauth.groupmanagement',
'allianceauth.notifications',
'allianceauth.thirdparty.navhelper',
'allianceauth.analytics',
'allianceauth.menu',
'allianceauth.theme',
'allianceauth.theme.darkly',
'allianceauth.theme.flatly',
'allianceauth.theme.materia',
"allianceauth", # needs to be on top of this list to support favicons in Django admin (see https://gitlab.com/allianceauth/allianceauth/-/issues/1301)
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"django.contrib.humanize",
"django_celery_beat",
"solo",
"bootstrapform",
"django_bootstrap5", # https://github.com/zostera/django-bootstrap5
"sortedm2m",
"esi",
"allianceauth.framework",
"allianceauth.authentication",
"allianceauth.services",
"allianceauth.eveonline",
"allianceauth.groupmanagement",
"allianceauth.notifications",
"allianceauth.thirdparty.navhelper",
"allianceauth.analytics",
"allianceauth.menu",
"allianceauth.theme",
"allianceauth.theme.darkly",
"allianceauth.theme.flatly",
"allianceauth.theme.materia",
"allianceauth.custom_css",
'allianceauth.crontab',
'sri',
"allianceauth.crontab",
"sri",
]
SRI_ALGORITHM = "sha512"
SECRET_KEY = "wow I'm a really bad default secret key"
# Celery configuration
BROKER_URL = 'redis://localhost:6379/0'
BROKER_URL = "redis://localhost:6379/0"
CELERYBEAT_SCHEDULER = "allianceauth.crontab.schedulers.OffsetDatabaseScheduler"
CELERYBEAT_SCHEDULE = {
'esi_cleanup_callbackredirect': {
'task': 'esi.tasks.cleanup_callbackredirect',
'schedule': crontab(minute='0', hour='*/4'),
"esi_cleanup_callbackredirect": {
"task": "esi.tasks.cleanup_callbackredirect",
"schedule": crontab(minute="0", hour="*/4"),
},
'esi_cleanup_token': {
'task': 'esi.tasks.cleanup_token',
'schedule': crontab(minute='0', hour='0'),
'apply_offset': True,
"esi_cleanup_token": {
"task": "esi.tasks.cleanup_token",
"schedule": crontab(minute="0", hour="0"),
"apply_offset": True,
},
'run_model_update': {
'task': 'allianceauth.eveonline.tasks.run_model_update',
'schedule': crontab(minute='0', hour="*/6"),
'apply_offset': True
"run_model_update": {
"task": "allianceauth.eveonline.tasks.run_model_update",
"schedule": crontab(minute="0", hour="*/6"),
"apply_offset": True,
},
'check_all_character_ownership': {
'task': 'allianceauth.authentication.tasks.check_all_character_ownership',
'schedule': crontab(minute='0', hour='*/4'),
'apply_offset': True
"check_all_character_ownership": {
"task": "allianceauth.authentication.tasks.check_all_character_ownership",
"schedule": crontab(minute="0", hour="*/4"),
"apply_offset": True,
},
"analytics_daily_stats": {
"task": "allianceauth.analytics.tasks.analytics_daily_stats",
"schedule": crontab(minute="0", hour="2"),
},
'analytics_daily_stats': {
'task': 'allianceauth.analytics.tasks.analytics_daily_stats',
'schedule': crontab(minute='0', hour='2'),
}
}
@@ -85,22 +85,20 @@ PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR = os.path.dirname(PROJECT_DIR)
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'allianceauth.authentication.middleware.UserSettingsMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"allianceauth.authentication.middleware.UserSettingsMiddleware",
"django.middleware.locale.LocaleMiddleware",
"django.middleware.common.CommonMiddleware",
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
]
ROOT_URLCONF = 'allianceauth.urls'
ROOT_URLCONF = "allianceauth.urls"
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale/'),
)
LOCALE_PATHS = (os.path.join(BASE_DIR, "locale/"),)
LANGUAGES = ( # Sorted by Language Code alphabetical order + English at top
("en", _("English")),
@@ -160,58 +158,58 @@ LANGUAGE_MAPPING = {
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(PROJECT_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'allianceauth.context_processors.auth_settings',
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [os.path.join(PROJECT_DIR, "templates")],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
"django.template.context_processors.i18n",
"django.template.context_processors.media",
"django.template.context_processors.static",
"django.template.context_processors.tz",
"allianceauth.context_processors.auth_settings",
],
},
},
]
WSGI_APPLICATION = 'allianceauth.wsgi.application'
WSGI_APPLICATION = "allianceauth.wsgi.application"
# Password validation
# https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
},
]
AUTHENTICATION_BACKENDS = [
'allianceauth.authentication.backends.StateBackend',
'django.contrib.auth.backends.ModelBackend'
"allianceauth.authentication.backends.StateBackend",
"django.contrib.auth.backends.ModelBackend",
]
# Internationalization
# https://docs.djangoproject.com/en/1.10/topics/i18n/
LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = "en-us"
LANGUAGE_COOKIE_AGE = 1209600
TIME_ZONE = 'UTC'
TIME_ZONE = "UTC"
USE_I18N = True
@@ -219,44 +217,52 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/
STATIC_URL = '/static/'
STORAGES = {
"default": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
},
"staticfiles": {
"BACKEND": "allianceauth.framework.staticfiles.storage.AaManifestStaticFilesStorage",
},
}
STATIC_URL = "/static/"
STATICFILES_DIRS = [
os.path.join(PROJECT_DIR, 'static'),
os.path.join(PROJECT_DIR, "static"),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_ROOT = os.path.join(BASE_DIR, "static")
# Bootstrap messaging css workaround
MESSAGE_TAGS = {
messages.ERROR: 'danger error'
}
MESSAGE_TAGS = {messages.ERROR: "danger error"}
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1" # change the 1 here for the DB used
"LOCATION": "redis://127.0.0.1:6379/1", # change the 1 here for the DB used
}
}
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
DEBUG = True
ALLOWED_HOSTS = ['*']
DISPLAY_DEBUG = True
ALLOWED_HOSTS = ["*"]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': str(os.path.join(BASE_DIR, 'alliance_auth.sqlite3')),
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": str(os.path.join(BASE_DIR, "alliance_auth.sqlite3")),
},
}
SITE_NAME = 'Alliance Auth'
SITE_NAME = "Alliance Auth"
DEFAULT_THEME = "allianceauth.theme.flatly.auth_hooks.FlatlyThemeHook"
DEFAULT_THEME_DARK = "allianceauth.theme.darkly.auth_hooks.DarklyThemeHook" # Legacy AAv3 user.profile.night_mode=1
LOGIN_URL = 'auth_login_user' # view that handles login logic
LOGIN_URL = "auth_login_user" # view that handles login logic
LOGIN_REDIRECT_URL = 'authentication:dashboard' # default destination when logging in if no redirect specified
LOGOUT_REDIRECT_URL = 'authentication:dashboard' # destination after logging out
LOGIN_REDIRECT_URL = "authentication:dashboard" # default destination when logging in if no redirect specified
LOGOUT_REDIRECT_URL = "authentication:dashboard" # destination after logging out
# Both of these redirects accept values as per the django redirect shortcut
# https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#redirect
# - url names eg 'authentication:dashboard'
@@ -264,73 +270,71 @@ LOGOUT_REDIRECT_URL = 'authentication:dashboard' # destination after logging ou
# - absolute urls eg 'http://example.com/dashboard'
# scopes required on new tokens when logging in. Cannot be blank.
LOGIN_TOKEN_SCOPES = ['publicData']
LOGIN_TOKEN_SCOPES = ["publicData"]
EMAIL_TIMEOUT = 15
# number of days email verification links are valid for
ACCOUNT_ACTIVATION_DAYS = 1
ESI_API_URL = 'https://esi.evetech.net/'
ESI_API_URL = "https://esi.evetech.net/"
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt': "%d/%b/%Y %H:%M:%S"
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"verbose": {
"format": "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
"datefmt": "%d/%b/%Y %H:%M:%S",
},
'simple': {
'format': '%(levelname)s %(message)s'
"simple": {"format": "%(levelname)s %(message)s"},
},
"handlers": {
"log_file": {
"level": "INFO", # edit this line to change logging level to file
"class": "logging.handlers.RotatingFileHandler",
"filename": os.path.join(BASE_DIR, "log/allianceauth.log"),
"formatter": "verbose",
"maxBytes": 1024 * 1024 * 5, # edit this line to change max log file size
"backupCount": 5, # edit this line to change number of log backups
},
"extension_file": {
"level": "INFO",
"class": "logging.handlers.RotatingFileHandler",
"filename": os.path.join(BASE_DIR, "log/extensions.log"),
"formatter": "verbose",
"maxBytes": 1024 * 1024 * 5, # edit this line to change max log file size
"backupCount": 5, # edit this line to change number of log backups
},
"console": {
"level": "DEBUG", # edit this line to change logging level to console
"class": "logging.StreamHandler",
"formatter": "verbose",
},
"notifications": { # creates notifications for users with logging_notifications permission
"level": "ERROR", # edit this line to change logging level to notifications
"class": "allianceauth.notifications.handlers.NotificationHandler",
"formatter": "verbose",
},
},
'handlers': {
'log_file': {
'level': 'INFO', # edit this line to change logging level to file
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_DIR, 'log/allianceauth.log'),
'formatter': 'verbose',
'maxBytes': 1024 * 1024 * 5, # edit this line to change max log file size
'backupCount': 5, # edit this line to change number of log backups
"loggers": {
"allianceauth": {
"handlers": ["log_file", "console", "notifications"],
"level": "DEBUG",
},
'extension_file': {
'level': 'INFO',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(BASE_DIR, 'log/extensions.log'),
'formatter': 'verbose',
'maxBytes': 1024 * 1024 * 5, # edit this line to change max log file size
'backupCount': 5, # edit this line to change number of log backups
"extensions": {
"handlers": ["extension_file", "console"],
"level": "DEBUG",
},
'console': {
'level': 'DEBUG', # edit this line to change logging level to console
'class': 'logging.StreamHandler',
'formatter': 'verbose',
"django": {
"handlers": ["log_file", "console"],
"level": "ERROR",
},
'notifications': { # creates notifications for users with logging_notifications permission
'level': 'ERROR', # edit this line to change logging level to notifications
'class': 'allianceauth.notifications.handlers.NotificationHandler',
'formatter': 'verbose',
"esi": {
"handlers": ["log_file", "console"],
"level": "DEBUG",
},
},
'loggers': {
'allianceauth': {
'handlers': ['log_file', 'console', 'notifications'],
'level': 'DEBUG',
},
'extensions': {
'handlers': ['extension_file', 'console'],
'level': 'DEBUG',
},
'django': {
'handlers': ['log_file', 'console'],
'level': 'ERROR',
},
'esi': {
'handlers': ['log_file', 'console'],
'level': 'DEBUG',
},
}
}
DEFAULT_AUTO_FIELD = "django.db.models.AutoField"

View File

@@ -675,7 +675,7 @@ class DiscordClient:
)
logger.debug('%s: response:\n%s', uid, r.text)
if not r.ok:
logger.warning(
logger.error(
'%s: Discord API returned error code %d and this response: %s',
uid,
r.status_code,

View File

@@ -0,0 +1,288 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
<font-face units-per-em="1200" ascent="960" descent="-240" />
<missing-glyph horiz-adv-x="500" />
<glyph horiz-adv-x="0" />
<glyph horiz-adv-x="400" />
<glyph unicode=" " />
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
<glyph unicode="&#x2000;" horiz-adv-x="650" />
<glyph unicode="&#x2001;" horiz-adv-x="1300" />
<glyph unicode="&#x2002;" horiz-adv-x="650" />
<glyph unicode="&#x2003;" horiz-adv-x="1300" />
<glyph unicode="&#x2004;" horiz-adv-x="433" />
<glyph unicode="&#x2005;" horiz-adv-x="325" />
<glyph unicode="&#x2006;" horiz-adv-x="216" />
<glyph unicode="&#x2007;" horiz-adv-x="216" />
<glyph unicode="&#x2008;" horiz-adv-x="162" />
<glyph unicode="&#x2009;" horiz-adv-x="260" />
<glyph unicode="&#x200a;" horiz-adv-x="72" />
<glyph unicode="&#x202f;" horiz-adv-x="260" />
<glyph unicode="&#x205f;" horiz-adv-x="325" />
<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg122"
width="256"
height="256"
viewBox="0 0 255.99999 256"
sodipodi:docname="allianceauth (2).svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs126" />
<sodipodi:namedview
id="namedview124"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="3.8506576"
inkscape:cx="30.514269"
inkscape:cy="102.57988"
inkscape:window-width="2560"
inkscape:window-height="1369"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g128" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g128">
<g
id="g2338"
transform="translate(41.953499,36.607802)">
<path
style="display:inline;fill:#e14852;stroke-width:0.32"
d="M 131.07236,159.67687 C 109.26615,147.02458 91.302022,136.55002 91.152067,136.40007 l -0.272649,-0.27265 23.786292,-13.82371 c 13.08247,-7.60304 23.9186,-13.82025 24.08029,-13.81602 l 0.294,0.008 15.93273,36.83413 c 8.763,20.25877 15.891,36.95054 15.84,37.09283 l -0.0927,0.25869 z"
id="path2342"
sodipodi:nodetypes="cscsccsscc" />
<path
style="display:inline;fill:#436195;stroke-width:0.32"
d="m 1.28,182.46369 c 0,-0.16969 17.354495,-40.46543 38.565546,-89.546103 L 78.411088,3.68 C 79.919052,1.4903841 82.294641,0.02199886 86.08,0.01224344 89.865359,0.00248802 92.288,1.4677954 93.674477,3.5158445 l 21.668143,50.1206965 21.66814,50.120699 -0.26538,0.23285 C 136.59942,104.11816 106.528,121.61441 69.92,142.87065 33.312,164.12688 2.892,181.80046 2.32,182.14527 l -1.04,0.62693 z"
id="path2340"
sodipodi:nodetypes="ssczcccssscs" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,4 +1,4 @@
/* global notificationUpdateSettings */
/* global notificationUpdateSettings, fetchGet */
/**
* This script refreshed the notification icon in the top menu
@@ -19,22 +19,9 @@ $(() => {
* Update the notification icon in the top menu
*/
const updateNotificationIcon = () => {
fetch(userNotificationCountViewUrl)
.then((response) => {
if (response.ok) {
return response.json();
}
throw new Error('Something went wrong');
})
.then((responseJson) => {
const unreadCount = responseJson.unread_count;
if (unreadCount > 0) {
elementNotificationIcon.addClass('text-danger');
} else {
elementNotificationIcon.removeClass('text-danger');
}
fetchGet({url: userNotificationCountViewUrl})
.then((data) => {
elementNotificationIcon.toggleClass('text-danger', data.unread_count > 0);
})
.catch((error) => {
console.log(`Failed to load HTMl to render notifications item. Error: ${error.message}`);

View File

@@ -8,30 +8,22 @@
</div>
<script>
const elemCard = document.getElementById("esi-alert");
const elemMessage = document.getElementById("esi-data");
const elemCode = document.getElementById("esi-code");
const elemCard = document.getElementById('esi-alert');
const elemMessage = document.getElementById('esi-data');
const elemCode = document.getElementById('esi-code');
fetch('{% url "authentication:esi_check" %}')
.then((response) => {
if (response.ok) {
return response.json();
}
throw new Error("Something went wrong");
})
.then((responseJson) => {
console.log("ESI Check: ", JSON.stringify(responseJson, null, 2));
fetchGet({url: '{% url "authentication:esi_check" %}'})
.then((data) => {
console.log('ESI Check: ', JSON.stringify(data, null, 2));
const status = responseJson.status;
if (status !== 200) {
elemCode.textContent = status
elemMessage.textContent = responseJson.data.error;
new bootstrap.Collapse(elemCard, {
toggle: true
})
if (data.status !== 200) {
elemCode.textContent = data.status;
elemMessage.textContent = data.data.error;
new bootstrap.Collapse(elemCard, {toggle: true});
}
})
.catch((error) => {
console.log(error);
console.error('Error fetching ESI check:', error);
});
</script>

View File

@@ -1,6 +1,23 @@
{% load i18n %}
{% load humanize %}
{% if debug %}
<div id="aa-dashboard-panel-debug" class="col-12 mb-3">
<div class="card text-bg-warning">
<div class="card-body">
{% translate "Debug mode" as widget_title %}
{% include "framework/dashboard/widget-title.html" with title=widget_title %}
<div>
<p class="text-center">
{% translate "Debug mode is currently turned on!<br>Make sure to turn it off as soon as you are finished testing." %}
</p>
</div>
</div>
</div>
</div>
{% endif %}
{% if notifications %}
<div id="aa-dashboard-panel-admin-notifications" class="col-12 mb-3">
<div class="card">
@@ -119,34 +136,24 @@
</div>
<script>
const elemRunning = document.getElementById("task-counts");
const elemQueued = document.getElementById("queued-tasks-count");
const elemRunning = document.getElementById('task-counts');
const elemQueued = document.getElementById('queued-tasks-count');
fetch('{% url "authentication:task_counts" %}')
.then((response) => {
if (response.ok) {
return response.json();
}
throw new Error("Something went wrong");
})
.then((responseJson) => {
const running = responseJson.tasks_running;
if (running == null) {
elemRunning.textContent = "N/A";
} else {
elemRunning.textContent = running.toLocaleString();
}
fetchGet({url: '{% url "authentication:task_counts" %}'})
.then((data) => {
const running = data.tasks_running;
const queued = data.tasks_queued;
const queued = responseJson.tasks_queued;
if (queued == null) {
elemQueued.textContent = "N/A";
} else {
elemQueued.textContent = queued.toLocaleString();
}
const updateTaskCount = (element, value) => {
element.textContent = value == null ? 'N/A' : value.toLocaleString();
};
updateTaskCount(elemRunning, running);
updateTaskCount(elemQueued, queued);
})
.catch((error) => {
console.log(error);
elemRunning.textContent = "ERROR";
elemQueued.textContent = "ERROR";
console.error('Error fetching task queue:', error);
[elemRunning, elemQueued].forEach(elem => elem.textContent = 'ERROR');
});
</script>

View File

@@ -23,6 +23,9 @@
{% include 'bundles/fontawesome.html' %}
{% include 'bundles/auth-framework-css.html' %}
{% include 'bundles/jquery-js.html' %}
{% include 'bundles/auth-framework-js.html' %}
<style>
@media all {
.nav-padding {
@@ -102,19 +105,24 @@
(() => {
// TODO Move to own JS file
const sidebar = document.getElementById('sidebar');
const sidebarKey = `sidebar_${sidebar.id}`;
sidebar.addEventListener('shown.bs.collapse', () => {
localStorage.removeItem(`sidebar_${sidebar.id}`);
sidebar.addEventListener('shown.bs.collapse', (event) => {
if (event.target.id === sidebar.id) {
localStorage.removeItem(sidebarKey);
}
});
sidebar.addEventListener('hidden.bs.collapse', () => {
localStorage.setItem(`sidebar_${sidebar.id}`, 'closed');
sidebar.addEventListener('hidden.bs.collapse', (event) => {
if (event.target.id === sidebar.id) {
localStorage.setItem(sidebarKey, 'closed');
}
});
if (localStorage.getItem(`sidebar_${sidebar.id}`) === 'closed') {
sidebar.classList.remove('show')
if (localStorage.getItem(sidebarKey) === 'closed') {
sidebar.classList.remove('show');
} else {
sidebar.classList.add("show")
sidebar.classList.add('show');
}
const activeChildMenuItem = document.querySelector('#sidebar-menu li ul li a.active');
@@ -132,7 +140,6 @@
})();
</script>
{% include 'bundles/jquery-js.html' %}
{% theme_js %}
{% if user.is_authenticated %}
@@ -148,9 +155,12 @@
{% block extra_javascript %}
{% endblock extra_javascript %}
<script>
{% block extra_script %}
{% endblock extra_script %}
</script>
{% include "framework/svg/sprite.svg" %}
</body>
</html>

View File

@@ -0,0 +1,3 @@
{% load sri %}
{% sri_static 'allianceauth/framework/js/auth-framework.js' %}

View File

@@ -1,3 +1,3 @@
{% load static %}
<img src="{% static 'allianceauth/images/auth-logo.svg' %}" width="{{ logo_width|default:"128px" }}" height="{% if logo_height %}{{ logo_height }}{% else %}{{ logo_width|default:"128px" }}{% endif %}" alt="{{ SITE_NAME }}">
<svg class="svg-alliance-auth-logo" width="{{ logo_width|default:"128px" }}" height="{% if logo_height %}{{ logo_height }}{% else %}{{ logo_width|default:"128px" }}{% endif %}">
<use href="#aa-logo"></use>
</svg>

Before

Width:  |  Height:  |  Size: 243 B

After

Width:  |  Height:  |  Size: 217 B

View File

@@ -52,6 +52,7 @@ def status_overview() -> dict:
"tasks_total": 0,
"tasks_hours": 0,
"earliest_task": None,
"debug": settings.DEBUG if settings.DISPLAY_DEBUG else False,
}
response.update(_current_notifications())
response.update(_current_version_summary())

View File

@@ -1,13 +1,21 @@
{% load i18n %}
<form action="{% url 'theme' %}?next={{ next|urlencode }}" method="post">
{% csrf_token %}
{% if themes|length > 1 %}
<li><h6 class="dropdown-header">{% translate "Theme" %}</h6></li>
<select name="theme" class="form-select" aria-label="" onchange="this.form.submit()">
<option selected>{% translate "Select Theme" %}</option>
<li>
<form class="dropdown-item" action="{% url 'theme' %}?next={{ next|urlencode }}" method="post">
{% csrf_token %}
{% for theme in themes %}
<option value="{{ theme.get_name }}"{% if selected_theme.name == theme.name %} selected="selected"{% endif %}>{{ theme.name }}</option>
{% endfor %}
</select>
</form>
<select name="theme" class="form-select" onchange="this.form.submit()">
<option selected>{% translate "Select Theme" %}</option>
{% for theme in themes %}
<option value="{{ theme.get_name }}"{% if selected_theme.name == theme.name %} selected="selected"{% endif %}>
{{ theme.name }}
</option>
{% endfor %}
</select>
</form>
</li>
{% endif %}

View File

@@ -1,7 +1,7 @@
PROTOCOL=https://
AUTH_SUBDOMAIN=%AUTH_SUBDOMAIN%
DOMAIN=%DOMAIN%
AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.7.0
AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.9.0
# Nginx Proxy Manager
PROXY_HTTP_PORT=80

View File

@@ -1,5 +1,5 @@
FROM python:3.11-slim
ARG AUTH_VERSION=v4.7.0
ARG AUTH_VERSION=v4.9.0
ARG AUTH_PACKAGE=allianceauth==${AUTH_VERSION}
ENV AUTH_USER=allianceauth
ENV AUTH_GROUP=allianceauth

View File

@@ -44,8 +44,8 @@ x-allianceauth-health-check: &allianceauth-health-checks
services:
auth_mysql:
image: mariadb:10.11
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --default-authentication-plugin=mysql_native_password]
image: mariadb:11.8
command: [mariadbd, --default-authentication-plugin=mysql_native_password]
volumes:
- ./mysql-data:/var/lib/mysql
- ./setup.sql:/docker-entrypoint-initdb.d/setup.sql
@@ -77,7 +77,7 @@ services:
max-file: "5"
redis:
image: redis:7
image: redis:8
command: redis-server
restart: always
volumes:
@@ -132,7 +132,7 @@ services:
replicas: 2
grafana:
image: grafana/grafana-oss:9.5.2
image: grafana/grafana-oss:latest
restart: always
depends_on:
- auth_mysql

View File

@@ -13,5 +13,7 @@ The Alliance Auth framework is split into several submodules, each of which is d
framework/api
framework/css
framework/js
framework/templates
framework/svg-sprite
:::

View File

@@ -43,7 +43,7 @@ if the `EveCharacter` has no user.
### get_all_characters_from_user
This is to get all character objects (`EveCharacter`) of a user.
This is to get all character objects (`EveCharacter`) of a user (alphabetically sorted).
Given we have a `User` object called `my_user` and we want to get all characters:
@@ -51,12 +51,16 @@ Given we have a `User` object called `my_user` and we want to get all characters
# Alliance Auth
from allianceauth.framework.api.user import get_all_characters_from_user
characters = get_all_characters_from_user(user=my_user)
characters = get_all_characters_from_user(user=my_user, main_first=False)
```
Now, `characters` is a `list` containing all `EveCharacter` objects of the user.
If the user is `None`, an empty `list` will be returned.
The second parameter `main_first` is optional and defaults to `False`.
If set to `True`, the function will return the main character as the first
item in the list of characters.
### get_main_character_from_user
This is to get the main character object (`EveCharacter`) of a user.

View File

@@ -0,0 +1,124 @@
# JavaScript Framework
This contains some simple JavaScript functions that are used throughout Alliance Auth,
so they can be used by community app developers as well.
The JS file is already loaded in the base template, so it is globally available.
## Functions
The following functions are available in the JavaScript framework:
### isArray()
Checks if the given value is an array.
Usage:
```javascript
/* global isArray */
if (isArray(someVariable)) {
console.log('This is an array');
} else {
console.log('This is not an array');
}
```
### isObject()
Checks if the given value is an object.
Usage:
```javascript
/* global isObject */
if (isObject(someVariable)) {
console.log('This is a plain object');
} else {
console.log('This is not a plain object');
}
```
### fetchGet()
Performs a GET request to the given URL and returns a Promise that resolves with the response data.
Usage:
```javascript
/* global fetchGet */
fetchGet({
url: url,
responseIsJson: false
}).then((data) => {
// Process the fetched data
}).catch((error) => {
console.error(`Error: ${error.message}`);
// Handle the error appropriately
});
```
#### fetchGet() Parameters
- `url`: The URL to fetch data from.
- `payload`: Optional data to send with the request. Can be an object or a string.
- `responseIsJson`: Optional boolean indicating if the response should be parsed as JSON (default is `true`).
### fetchPost()
Performs a POST request to the given URL with the provided data and returns a Promise that resolves with the response data.
Usage:
```javascript
/* global fetchPost */
fetchPost({
url: url,
csrfToken: csrfToken,
payload: {
key: 'value',
anotherKey: 'anotherValue'
},
responseIsJson: true
}).then((data) => {
// Process the fetched data
}).catch((error) => {
console.error(`Error: ${error.message}`);
// Handle the error appropriately
});
```
#### fetchPost() Parameters
- `url`: The URL to send the POST request to.
- `csrfToken`: The CSRF token to include in the request headers.
- `payload`: The data as JS object to send with the request.
- `responseIsJson`: Optional boolean indicating if the response should be parsed as JSON (default is `true`).
### objectDeepMerge()
Recursively merges properties from source objects into a target object. If a property at the current level is an object,
and both target and source have it, the property is merged. Otherwise, the source property overwrites the target property.
This function does not modify the source objects and prevents prototype pollution by not allowing `__proto__`, `constructor`,
and `prototype` property names.
Usage:
```javascript
/* global objectDeepMerge */
const target = {a: 1, b: {c: 2}};
const source1 = {b: {d: 3}, e: 4 };
const source2 = {a: 5, b: {c: 6}};
const merged = objectDeepMerge(target, source1, source2);
console.log(merged); // {a: 5, b: {c: 6, d: 3}, e: 4}
```

View File

@@ -0,0 +1,50 @@
# SVG Sprite
An SVG sprite is a collection of SVG images combined into a single SVG file. This allows for efficient loading and management of icons in web applications.
The Alliance Auth framework provides a built-in SVG sprite that contains a selection of icons used in Alliance Auth. This sprite is automatically included in the base template, so you don't need to do anything special to use it.
## Using the SVG Sprite
To use an icon from the SVG sprite, you can use the following HTML syntax:
```html
<svg>
<use href="#[icon-name]"></use>
</svg>
```
Replace `[icon-name]` with the name of the icon you want to use. For example, to use the Alliance Auth logo, you would write:
```html
<svg>
<use href="#aa-logo"></use>
</svg>
```
## Available Icons
The following icons are available in the Alliance Auth SVG sprite:
- `aa-logo`: The Alliance Auth logo
- `aa-loading-spinner`: A loading spinner icon
### Alliance Auth Logo
The Alliance Auth logo can be used with the following code:
```html
<svg>
<use href="#aa-logo"></use>
</svg>
```
### Loading Spinner
The loading spinner can be used with the following code:
```html
<svg>
<use href="#aa-loading-spinner"></use>
</svg>
```

View File

@@ -1,6 +1,6 @@
# Development on Windows 10 with WSL and Visual Studio Code
# Development on Windows with WSL and Visual Studio Code
This document describes step-by-step how to set up a complete development environment for Alliance Auth apps on Windows 10 with Windows Subsystem for Linux (WSL) and Visual Studio Code.
This document describes step-by-step how to set up a complete development environment for Alliance Auth apps on Windows with Windows Subsystem for Linux (WSL) and Visual Studio Code.
The main benefit of this setup is that it runs all services and code in the native Linux environment (WSL) and at the same time can be fully controlled from within a comfortable Windows IDE (Visual Studio Code) including code debugging.
@@ -15,9 +15,9 @@ This guide is meant for development purposes only and not for installing AA in a
The development environment consists of the following components:
- Visual Studio Code with the Remote WSL and Python extension
- WSL with Ubuntu (18.04. LTS or higher)
- Python environment on WSL (3.8 or higher)
- MySQL server on WSL
- WSL with Ubuntu (24.04. LTS or higher)
- Python environment on WSL (3.12 or higher)
- MySQL/MariaDB server on WSL
- Redis on WSL
- Alliance Auth on WSL
- Celery on WSL
@@ -30,14 +30,14 @@ This setup works with both WSL 1 and WSL 2. However, due to the significantly be
## Requirement
The only requirement is a PC with Windows 10 and Internet connection to download the additional software components.
The only requirement is a PC with Windows + WSL and Internet connection to download the additional software components.
## 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 or higher
- Install from here: [Microsoft docs](https://learn.microsoft.com/en-us/windows/wsl/install)
- Choose Ubuntu 24.04 LTS or higher
### Visual Studio Code
@@ -66,18 +66,6 @@ sudo apt-get install gettext
Next, we need to install Python and related development tools.
:::{note}
Should your Ubuntu come with a newer version of Python we recommend to still set up 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 can 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.
If you install a different python version from the default, you need to adjust some commands below to install appopriate versions of those packages, for example, using Python 3.8 you might need to run the following after using the setup steps for the repository mentioned in the AskUbuntu post above:
```shell
sudo apt-get install python3.8 python3.8-dev python3.8-venv python3-setuptools python3-pip python-pip
```
:::
Use the following command to install Python 3 with all required libraries with the default version:
```shell
@@ -101,17 +89,7 @@ sudo redis-server --daemonize yes
Install MySQL and required libraries with the following command:
```shell
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
```
:::{note}
We chose to use MySQL instead of MariaDB, because the standard version of MariaDB that comes with this Ubuntu distribution will not work with AA.
:::
We need to apply a permission fix to mysql, or you will get a warning with every startup:
```shell
sudo usermod -d /var/lib/mysql/ mysql
sudo apt-get install mariadb-server mariadb-client libmariadbclient-dev
```
Start the mysql server
@@ -162,12 +140,14 @@ A good location for setting up this folder structure is your home folder or a su
~/aa-dev
|- venv
|- myauth
|- my_app_1
|- my_app_2
|- working
| - allianceauth
| - my_app_1
| - my_app_2
|- ...
```
Following this approach, you can also set up additional AA projects, e.g. aa-dev-2, aa-dev-3 if needed.
Following this approach, you can also set up additional AA projects, e.g. aa-dev-2, aa-dev-3 if needed. this also lets you group all the working applications into a folder so you can still find the parts that are important.
Create the root folder `aa-dev`.
@@ -175,6 +155,14 @@ Create the root folder `aa-dev`.
The folders `venv` and `myauth` will be created automatically in later steps. Please do not create them manually as this would lead to errors.
:::
eg
```shell
mkdir aa-dev
cd aa-dev
mkdir working
```
### Setup virtual Python environment for aa-dev
Create the virtual environment. Run this in your aa-dev folder:
@@ -199,8 +187,19 @@ pip install -U pip setuptools wheel
### Install and create AA instance
if you are not already int he `aa-dev/working` folder `cd` there
```shell
pip install allianceauth
cd aa-dev/working
```
now we are going to install allianceauth from a locally cloned repo
```shell
git clone https://gitlab.com/allianceauth/allianceauth.git
cd allianceauth
pip install -e .
cd ..
```
Now we are ready to set up our AA instance. Make sure to run this command in your aa-dev folder:
@@ -237,6 +236,7 @@ There are two Django settings files: ``base.py`` and ``local.py``. The base sett
```python
DEBUG = True
DISPLAY_DEBUG = False
```
Define URL and name of your site:
@@ -343,7 +343,7 @@ The result should look something like this:
```json
{
"name": "Python: Django",
"name": "Python: Django-Webserver",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/myauth/manage.py",
@@ -385,6 +385,31 @@ Here is an example debug config for Celery:
},
```
Sometimes you may just need to do a lot of tasks to get data in from ESI.
```json
{
"name": "Python: Celery - No debug 10 Threads",
"type": "python",
"request": "launch",
"module": "celery",
"cwd": "${workspaceFolder}/myauth",
"console": "integratedTerminal",
"args": [
"-A",
"myauth",
"worker",
"-l",
"info",
"-P",
"threads",
"--concurrency=10"
],
"django": true,
"justMyCode": true,
},
```
### Debug config for unit tests
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`.
@@ -473,7 +498,7 @@ 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.
The idea behind the particular folder structure of aa-dev is to have each and every app in its own folder under the `working` folder as a 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.
To demonstrate, let's add the example plugin to our environment.
@@ -482,8 +507,10 @@ Open a WSL bash and navigate to the aa-dev folder. Make sure you have activated
Run these commands:
```shell
git clone https://gitlab.com/ErikKalkoken/allianceauth-example-plugin.git
pip install -e allianceauth-example-plugin
cd working
git clone https://github.com/ppfeufer/aa-example-plugin.git
cd aa-example-plugin
pip install -e .
```
Add `'example'` to INSTALLED_APPS in your `local.py` settings.

View File

@@ -271,14 +271,14 @@ Every Alliance Auth installation will come with a couple of special celery relat
Celery-once is a celery extension "that allows you to prevent multiple execution and queuing of celery tasks". What that means is that you can ensure that only one instance of a celery task runs at any given time. This can be useful, for example, if you do not want multiple instances of your task to talk to the same external service at the same time.
We use a custom backend for celery_once in Alliance Auth defined [here](https://gitlab.com/allianceauth/allianceauth/-/blob/master/allianceauth/services/tasks.py#L14)
We use a custom backend for celery_once in Alliance Auth defined [allianceauth.services.tasks.celery_once](https://gitlab.com/allianceauth/allianceauth/-/blob/master/allianceauth/services/tasks.py#L14)
You can import it for use like so:
```python
from allianceauth.services.tasks import QueueOnce
```
An example of Alliance Auth's use within the `@sharedtask` decorator, can be seen [here](https://gitlab.com/allianceauth/allianceauth/-/blob/master/allianceauth/services/modules/discord/tasks.py#L62) in the discord module
An example of Alliance Auth's use within the `@sharedtask` decorator, can be seen [allianceauth.services.modules.discord.tasks](https://gitlab.com/allianceauth/allianceauth/-/blob/master/allianceauth/services/modules/discord/tasks.py#L62) in the discord module
You can use it like so:
```python

View File

@@ -17,7 +17,7 @@ If at any point `docker compose` does not work, but `docker-compose` does, you h
1. run `bash <(curl -s https://gitlab.com/allianceauth/allianceauth/-/raw/master/docker/scripts/download.sh)`. This will download all the files you need to install Alliance Auth and place them in a directory named `aa-docker`. Feel free to rename/move this folder.
1. run `./scripts/prepare-env.sh` to set up your environment
1. (optional) Change `PROTOCOL` to `http://` if not using SSL in `.env`
1. run `docker compose --env-file=.env up -d` (NOTE: if this command hangs, follow the instructions [here](https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged))
1. run `docker compose --env-file=.env up -d` (NOTE: if this command hangs, follow the instructions [On This Tutorial](https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged))
1. run `docker compose exec allianceauth_gunicorn bash` to open up a terminal inside an auth container
1. run `auth migrate`
1. run `auth collectstatic`

View File

@@ -14,9 +14,8 @@ Alliance Auth can be installed on any in-support *nix operating system.
Our install documentation targets the following operating systems.
- Ubuntu 20.04 - Not Recommended for new installs
- Ubuntu 22.04
- Centos 7
- Ubuntu 24.04
- CentOS Stream 8
- CentOS Stream 9
@@ -27,7 +26,7 @@ To install on your favorite flavour of Linux, identify and install equivalent pa
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.
::::{tabs}
:::{group-tab} Ubuntu 2004, 2204, 2404
:::{group-tab} Ubuntu 2204, 2404
```shell
sudo apt-get update
@@ -35,14 +34,6 @@ sudo apt-get upgrade
sudo do-dist-upgrade
```
:::
:::{group-tab} CentOS 7
```shell
yum install epel-release
sudo yum upgrade
```
:::
:::{group-tab} CentOS Stream 8
@@ -70,7 +61,7 @@ Install Python 3.11 and related tools on your system.
::::{tabs}
:::{group-tab} Ubuntu 2004, 2204, 2404
:::{group-tab} Ubuntu 2204, 2404
```shell
sudo add-apt-repository ppa:deadsnakes/ppa
@@ -78,20 +69,6 @@ sudo apt-get update
sudo apt-get install python3.11 python3.11-dev python3.11-venv
```
:::
:::{group-tab} CentOS 7
We need to build Python from source
```bash
cd ~
sudo yum install gcc openssl-devel bzip2-devel libffi-devel wget
wget https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tgz
tar xvf Python-3.11.7.tgz
cd Python-3.11.7/
./configure --enable-optimizations --enable-shared
sudo make altinstall
```
:::
:::{group-tab} CentOS Stream 8
We need to build Python from source
@@ -125,27 +102,19 @@ 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 10.11
It's recommended to use a database service instead of SQLite. Many options are available, but this guide will use MariaDB 11.8
::::{tabs}
:::{group-tab} Ubuntu 2004, 2204, 2404
Follow the instructions at <https://mariadb.org/download/?t=repo-config&d=20.04+%22focal%22&v=10.11&r_m=osuosl> to add the MariaDB repository to your host.
:::{group-tab} Ubuntu 2204, 2404
Follow the instructions at <https://mariadb.org/download/?t=repo-config&d=24.04+"noble"&v=11.8> to add the MariaDB repository to your host.
```shell
sudo apt-get install mariadb-server mariadb-client libmysqlclient-dev
```
:::
:::{group-tab} CentOS 7
Follow the instructions at <https://mariadb.org/download/?t=repo-config&d=CentOS+7&v=10.11&r_m=osuosl> to add the MariaDB repository to your host.
```shell
sudo yum install MariaDB-server MariaDB-client MariaDB-devel MariaDB-shared
```
:::
:::{group-tab} CentOS Stream 8
Follow the instructions at <https://mariadb.org/download/?t=repo-config&d=CentOS+Stream&v=10.11&r_m=osuosl> to add the MariaDB repository to your host.
Follow the instructions at <https://mariadb.org/download/?t=repo-config&d=CentOS+Stream&v=11.8> to add the MariaDB repository to your host.
```shell
sudo dnf install mariadb mariadb-server mariadb-devel
@@ -153,7 +122,7 @@ sudo dnf install mariadb mariadb-server mariadb-devel
:::
:::{group-tab} CentOS Stream 9
Follow the instructions at <https://mariadb.org/download/?t=repo-config&d=CentOS+Stream&v=10.11&r_m=osuosl> to add the MariaDB repository to your host.
Follow the instructions at <https://mariadb.org/download/?t=repo-config&d=CentOS+Stream&v=11.8> to add the MariaDB repository to your host.
```shell
sudo dnf install mariadb mariadb-server mariadb-devel
@@ -164,12 +133,9 @@ sudo dnf install mariadb mariadb-server mariadb-devel
:::::{important}
::::{tabs}
:::{group-tab} Ubuntu 2004, 2204, 2404
:::{group-tab} Ubuntu 2204, 2404
If you don't plan on running the database on the same server as auth you still need to install the `libmysqlclient-dev` package
:::
:::{group-tab} CentOS 7
If you don't plan on running the database on the same server as auth you still need to install the `mariadb-devel` package
:::
:::{group-tab} CentOS Stream 8
If you don't plan on running the database on the same server as auth you still need to install the `mariadb-devel` package
:::
@@ -185,7 +151,7 @@ A few extra utilities are also required for the installation of packages.
::::{tabs}
:::{group-tab} Ubuntu 2004, 2204, 2404
:::{group-tab} Ubuntu 2204, 2404
```shell
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
@@ -195,18 +161,6 @@ sudo apt-get update
sudo apt-get install unzip git redis-server curl libssl-dev libbz2-dev libffi-dev build-essential pkg-config
```
:::
:::{group-tab} CentOS 7
```shell
sudo yum install gcc gcc-c++ unzip git redis curl bzip2-devel openssl-devel libffi-devel wget pkg-config
```
```shell
sudo systemctl enable redis.service
sudo systemctl start redis.service
```
:::
:::{group-tab} CentOS Stream 8
@@ -282,19 +236,12 @@ 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.
::::{tabs}
:::{group-tab} Ubuntu 2004, 2204, 2404
:::{group-tab} Ubuntu 2204, 2404
```shell
sudo adduser --disabled-login allianceserver --shell /bin/bash
```
:::
:::{group-tab} CentOS 7
```shell
sudo passwd -l allianceserver
```
:::
:::{group-tab} CentOS Stream 8
@@ -497,27 +444,12 @@ exit
::::{tabs}
:::{group-tab} Ubuntu 2004, 2204, 2404
:::{group-tab} Ubuntu 2204, 2404
```shell
sudo apt-get install supervisor
```
:::
:::{group-tab} CentOS 7
```shell
sudo dnf install supervisor
```
```shell
sudo systemctl enable supervisord.service
```
```shell
sudo systemctl start supervisord.service
```
:::
:::{group-tab} CentOS Stream 8
@@ -554,19 +486,12 @@ sudo systemctl start supervisord.service
Once installed, it needs a configuration file to know which processes to watch. Your Alliance Auth project comes with a ready-to-use template which will ensure the Celery workers, Celery task scheduler and Gunicorn are all running.
::::{tabs}
:::{group-tab} Ubuntu 2004, 2204, 2404
:::{group-tab} Ubuntu 2204, 2404
```shell
ln -s /home/allianceserver/myauth/supervisor.conf /etc/supervisor/conf.d/myauth.conf
```
:::
:::{group-tab} CentOS 7
```shell
sudo ln -s /home/allianceserver/myauth/supervisor.conf /etc/supervisord.d/myauth.ini
```
:::
:::{group-tab} CentOS Stream 8

View File

@@ -69,7 +69,7 @@ Whatever you decide to use, remember it because we'll need it when configuring y
##### Number of workers
By default, Gunicorn will spawn only one worker. The number you set this to will depend on your own server environment, how many visitors you have etc. Gunicorn suggests `(2 x $num_cores) + 1` for the number of workers. So, for example, if you have 2 cores, you want 2 x 2 + 1 = 5 workers. See [here](https://docs.gunicorn.org/en/stable/design.html#how-many-workers) for the official discussion on this topic.
By default, Gunicorn will spawn only one worker. The number you set this to will depend on your own server environment, how many visitors you have etc. Gunicorn suggests `(2 x $num_cores) + 1` for the number of workers. So, for example, if you have 2 cores, you want 2 x 2 + 1 = 5 workers. See [How Many Workers](https://docs.gunicorn.org/en/stable/design.html#how-many-workers) for the official discussion on this topic.
Change it by adding `--workers=5` to the command.

View File

@@ -71,7 +71,7 @@ If that did not work, and you got error messages, you will need to remove the ta
First, tell Django that these migrations are no longer in effect (note the additional `--fake`):
```shell
python manage.py appname zero --fake
python manage.py migrate appname zero --fake
```
Then, open the mysql tool and connect to your Alliance Auth database:

View File

@@ -6,7 +6,7 @@
The default installation will have 3 workers configured for Gunicorn. This will be fine on most systems, but if your system as more than one core than you might want to increase the number of workers to get better response times. Note that more workers will also need more RAM though.
The number you set this to will depend on your own server environment, how many visitors you have etc. Gunicorn suggests `(2 x $num_cores) + 1` for the number of workers. So for example, if you have 2 cores, you want 2 x 2 + 1 = 5 workers. See [here](https://docs.gunicorn.org/en/stable/design.html#how-many-workers) for the official discussion on this topic.
The number you set this to will depend on your own server environment, how many visitors you have etc. Gunicorn suggests `(2 x $num_cores) + 1` for the number of workers. So for example, if you have 2 cores, you want 2 x 2 + 1 = 5 workers. See [How Many Workers](https://docs.gunicorn.org/en/stable/design.html#how-many-workers) for the official discussion on this topic.
::::{tabs}
:::{group-tab} Ubuntu 2204, 2404

View File

@@ -48,7 +48,7 @@ dependencies = [
"django-bootstrap-form",
"django-bootstrap5>=23.3",
"django-celery-beat>=2.3",
"django-esi>=5",
"django-esi>=7.0.1",
"django-redis>=5.2",
"django-registration>=3.3,<3.4",
"django-solo",