Compare commits

..

11 Commits

Author SHA1 Message Date
Ariel Rin
8c2648ac7f Translate django.po in de
100% translated source file: 'django.po'
on 'de'.
2024-09-09 17:44:20 +00:00
Ariel Rin
4e901b602b Translate django.po in uk
98% 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
2024-09-09 04:59:20 +00:00
Ariel Rin
1ad5c361f7 Translate django.po in ja
98% 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
2024-09-09 04:59:10 +00:00
Ariel Rin
bbc8998396 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
2024-09-09 04:58:53 +00:00
Ariel Rin
508e701863 Translate django.po in pl_PL
98% 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
2024-09-09 04:58:40 +00:00
Ariel Rin
4539103d70 Translate django.po in it_IT
97% 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
2024-09-09 04:58:28 +00:00
Ariel Rin
d5c1f01fd5 Translate django.po in ru
81% 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
2024-09-09 04:58:18 +00:00
Ariel Rin
b2aa8626f3 Translate django.po in fr_FR
98% 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
2024-09-09 04:58:04 +00:00
Ariel Rin
3bd09cee5f Translate django.po in ko_KR
98% 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
2024-09-09 04:57:57 +00:00
Ariel Rin
f453955680 Translate django.po in es
77% 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
2024-09-09 04:57:50 +00:00
Ariel Rin
7952956056 Translate django.po in de
98% 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
2024-09-09 04:57:44 +00:00
157 changed files with 1803 additions and 8116 deletions

View File

@@ -3,41 +3,22 @@
# Update this file:
# pre-commit autoupdate
# Set the default language versions for the hooks
default_language_version:
python: python3 # Force all Python hooks to use Python 3
node: 22.12.0 # Force all Node hooks to use Node 22.12.0
# Globally exclude files
# https://pre-commit.com/#top_level-exclude
exclude: |
(?x)(
LICENSE|
allianceauth\/static\/allianceauth\/css\/themes\/bootstrap-locals.less|
\.min\.css|
\.min\.js|
\.po|
\.mo|
swagger\.json|
static/(.*)/libs/
)
repos:
# Code Upgrades
- repo: https://github.com/asottile/pyupgrade
rev: v3.19.1
rev: v3.15.2
hooks:
- id: pyupgrade
args: [--py38-plus]
- repo: https://github.com/adamchainz/django-upgrade
rev: 1.22.2
rev: 1.17.0
hooks:
- id: django-upgrade
args: [--target-version=4.2]
# Formatting
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v4.6.0
hooks:
# Identify invalid files
- id: check-ast
@@ -52,9 +33,9 @@ repos:
- id: detect-private-key
- id: check-case-conflict
# Python checks
# - id: check-docstring-first
# - id: check-docstring-first
- id: debug-statements
# - id: requirements-txt-fixer
# - id: requirements-txt-fixer
- id: fix-encoding-pragma
args: [--remove]
- id: fix-byte-order-marker
@@ -63,22 +44,45 @@ repos:
args: [--fix=lf]
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]
exclude: |
(?x)(
\.min\.css|
\.min\.js|
\.po|
\.mo|
swagger\.json
)
- id: check-executables-have-shebangs
- id: end-of-file-fixer
exclude: |
(?x)(
\.min\.css|
\.min\.js|
\.po|
\.mo|
swagger\.json
)
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python
rev: 3.2.0
rev: 2.7.3
hooks:
- id: editorconfig-checker
exclude: |
(?x)(
LICENSE|
allianceauth\/static\/allianceauth\/css\/themes\/bootstrap-locals.less|
\.po|
\.mo|
swagger\.json
)
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.44.0
rev: v0.41.0
hooks:
- id: markdownlint
language: node
args:
- --disable=MD013
# Infrastructure
- repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.5.0
rev: 2.1.3
hooks:
- id: pyproject-fmt
name: pyproject.toml formatter
@@ -86,9 +90,9 @@ repos:
args:
- --indent=4
additional_dependencies:
- tox==4.24.1 # https://github.com/tox-dev/tox/releases/latest
- tox==4.15.0 # https://github.com/tox-dev/tox/releases/latest
- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.23
rev: v0.18
hooks:
- id: validate-pyproject
name: Validate pyproject.toml

View File

@@ -5,7 +5,7 @@
[![django](https://img.shields.io/pypi/djversions/allianceauth?label=django)](https://pypi.org/project/allianceauth/)
[![version](https://img.shields.io/pypi/v/allianceauth?label=release)](https://pypi.org/project/allianceauth/)
[![pipeline status](https://gitlab.com/allianceauth/allianceauth/badges/master/pipeline.svg)](https://gitlab.com/allianceauth/allianceauth/commits/master)
[![Documentation Status](https://readthedocs.org/projects/allianceauth/badge/?version=latest)](https://allianceauth.readthedocs.io/?badge=latest)
[![Documentation Status](https://readthedocs.org/projects/allianceauth/badge/?version=latest)](http://allianceauth.readthedocs.io/?badge=latest)
[![coverage report](https://gitlab.com/allianceauth/allianceauth/badges/master/coverage.svg)](https://gitlab.com/allianceauth/allianceauth/commits/master)
[![Chat on Discord](https://img.shields.io/discord/399006117012832262.svg)](https://discord.gg/fjnHAmk)
@@ -14,7 +14,7 @@ An auth system for EVE Online to help in-game organizations manage online servic
## Content
- [Overview](#overview)
- [Documentation](https://allianceauth.rtfd.io)
- [Documentation](http://allianceauth.rtfd.io)
- [Support](#support)
- [Release Notes](https://gitlab.com/allianceauth/allianceauth/-/releases)
- [Developer Team](#development-team)
@@ -38,7 +38,7 @@ Main features:
- English :flag_gb:, Chinese :flag_cn:, German :flag_de:, Spanish :flag_es:, Korean :flag_kr:, Russian :flag_ru:, Italian :flag_it:, French :flag_fr:, Japanese :flag_jp: and Ukrainian :flag_ua: Localization
For further details about AA - including an installation guide and a full list of included services and plugin apps - please see the [official documentation](https://allianceauth.rtfd.io).
For further details about AA - including an installation guide and a full list of included services and plugin apps - please see the [official documentation](http://allianceauth.rtfd.io).
## Screenshot

View File

@@ -5,7 +5,7 @@ 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.6.2a'
__version__ = '4.3.0'
__title__ = 'Alliance Auth'
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
NAME = f'{__title__} v{__version__}'

View File

@@ -1,16 +1,15 @@
from django.contrib import admin
from .models import AnalyticsIdentifier, AnalyticsTokens
from solo.admin import SingletonModelAdmin
@admin.register(AnalyticsIdentifier)
class AnalyticsIdentifierAdmin(SingletonModelAdmin):
class AnalyticsIdentifierAdmin(admin.ModelAdmin):
search_fields = ['identifier', ]
list_display = ['identifier', ]
list_display = ('identifier',)
@admin.register(AnalyticsTokens)
class AnalyticsTokensAdmin(admin.ModelAdmin):
search_fields = ['name', ]
list_display = ['name', 'type', ]
list_display = ('name', 'type',)

View File

@@ -1,17 +0,0 @@
# Generated by Django 4.2.16 on 2024-12-11 02:17
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('analytics', '0009_remove_analyticstokens_ignore_paths_and_more'),
]
operations = [
migrations.AlterModelOptions(
name='analyticsidentifier',
options={'verbose_name': 'Analytics Identifier'},
),
]

View File

@@ -1,19 +1,23 @@
from typing import Literal
from django.db import models
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
from solo.models import SingletonModel
from uuid import uuid4
class AnalyticsIdentifier(SingletonModel):
class AnalyticsIdentifier(models.Model):
identifier = models.UUIDField(default=uuid4, editable=False)
identifier = models.UUIDField(
default=uuid4,
editable=False)
def __str__(self) -> Literal['Analytics Identifier']:
return "Analytics Identifier"
class Meta:
verbose_name = "Analytics Identifier"
def save(self, *args, **kwargs):
if not self.pk and AnalyticsIdentifier.objects.exists():
# Force a single object
raise ValidationError('There is can be only one \
AnalyticsIdentifier instance')
self.pk = self.id = 1 # If this happens to be deleted and recreated, force it to be 1
return super().save(*args, **kwargs)
class AnalyticsTokens(models.Model):

View File

@@ -5,7 +5,6 @@ from django.apps import apps
from celery import shared_task
from .models import AnalyticsTokens, AnalyticsIdentifier
from .utils import (
existence_baremetal_or_docker,
install_stat_addons,
install_stat_tokens,
install_stat_users)
@@ -68,8 +67,8 @@ def analytics_event(namespace: str,
value=value).apply_async(priority=9)
@shared_task
def analytics_daily_stats() -> None:
@shared_task()
def analytics_daily_stats():
"""Celery Task: Do not call directly
Gathers a series of daily statistics
@@ -78,7 +77,6 @@ def analytics_daily_stats() -> None:
users = install_stat_users()
tokens = install_stat_tokens()
addons = install_stat_addons()
existence_type = existence_baremetal_or_docker()
logger.debug("Running Daily Analytics Upload")
analytics_event(namespace='allianceauth.analytics',
@@ -86,11 +84,6 @@ def analytics_daily_stats() -> None:
label='existence',
value=1,
event_type='Stats')
analytics_event(namespace='allianceauth.analytics',
task='send_install_stats',
label=existence_type,
value=1,
event_type='Stats')
analytics_event(namespace='allianceauth.analytics',
task='send_install_stats',
label='users',
@@ -106,6 +99,7 @@ def analytics_daily_stats() -> None:
label='addons',
value=addons,
event_type='Stats')
for appconfig in apps.get_app_configs():
if appconfig.label in [
"django_celery_beat",
@@ -141,7 +135,7 @@ def analytics_daily_stats() -> None:
event_type='Stats')
@shared_task
@shared_task()
def send_ga_tracking_celery_event(
measurement_id: str,
secret: str,
@@ -171,7 +165,7 @@ def send_ga_tracking_celery_event(
}
payload = {
'client_id': AnalyticsIdentifier.get_solo().identifier.hex,
'client_id': AnalyticsIdentifier.objects.get(id=1).identifier.hex,
"user_properties": {
"allianceauth_version": {
"value": __version__

View File

@@ -1,8 +1,9 @@
from allianceauth.analytics.models import AnalyticsIdentifier
from django.core.exceptions import ValidationError
from django.test.testcases import TestCase
from uuid import uuid4
from uuid import UUID, uuid4
# Identifiers
@@ -13,4 +14,14 @@ uuid_2 = "7aa6bd70701f44729af5e3095ff4b55c"
class TestAnalyticsIdentifier(TestCase):
def test_identifier_random(self):
self.assertNotEqual(AnalyticsIdentifier.get_solo(), uuid4)
self.assertNotEqual(AnalyticsIdentifier.objects.get(), uuid4)
def test_identifier_singular(self):
AnalyticsIdentifier.objects.all().delete()
AnalyticsIdentifier.objects.create(identifier=uuid_1)
# Yeah i have multiple asserts here, they all do the same thing
with self.assertRaises(ValidationError):
AnalyticsIdentifier.objects.create(identifier=uuid_2)
self.assertEqual(AnalyticsIdentifier.objects.count(), 1)
self.assertEqual(AnalyticsIdentifier.objects.get(
pk=1).identifier, UUID(uuid_1))

View File

@@ -1,6 +1,7 @@
from django.apps import apps
from allianceauth.authentication.models import User
from allianceauth.analytics.utils import install_stat_users, install_stat_addons
from esi.models import Token
from allianceauth.analytics.utils import install_stat_users, install_stat_tokens, install_stat_addons
from django.test.testcases import TestCase

View File

@@ -1,4 +1,3 @@
import os
from django.apps import apps
from allianceauth.authentication.models import User
from esi.models import Token
@@ -35,16 +34,3 @@ def install_stat_addons() -> int:
The Number of Installed Apps"""
addons = len(list(apps.get_app_configs()))
return addons
def existence_baremetal_or_docker() -> str:
"""Checks the Installation Type of an install
Returns
-------
str
existence_baremetal or existence_docker"""
docker_tag = os.getenv('AA_DOCKER_TAG')
if docker_tag:
return "existence_docker"
return "existence_baremetal"

View File

@@ -1,4 +1,5 @@
from django.apps import AppConfig
from django.core.checks import Warning, Error, register
class AllianceAuthConfig(AppConfig):

View File

@@ -1,3 +1,6 @@
from django.urls import include
from django.contrib.auth.decorators import user_passes_test
from django.core.exceptions import PermissionDenied
from functools import wraps
from typing import Callable, Iterable, Optional

View File

@@ -1,18 +0,0 @@
# Generated by Django 4.2 on 2024-09-13 09:46
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('authentication', '0023_alter_userprofile_language'),
]
operations = [
migrations.AlterField(
model_name='userprofile',
name='language',
field=models.CharField(blank=True, choices=[('en', 'English'), ('cs-cz', 'Czech'), ('de', 'German'), ('es', 'Spanish'), ('it-it', 'Italian'), ('ja', 'Japanese'), ('ko-kr', 'Korean'), ('fr-fr', 'French'), ('ru', 'Russian'), ('nl-nl', 'Dutch'), ('pl-pl', 'Polish'), ('uk', 'Ukrainian'), ('zh-hans', 'Simplified Chinese')], default='', max_length=10, verbose_name='Language'),
),
]

View File

@@ -5,6 +5,7 @@ from django.db import models, transaction
from django.utils.translation import gettext_lazy as _
from allianceauth.eveonline.models import EveCharacter, EveCorporationInfo, EveAllianceInfo, EveFactionInfo
from allianceauth.notifications import notify
from django.conf import settings
from .managers import CharacterOwnershipManager, StateManager
@@ -66,20 +67,18 @@ class UserProfile(models.Model):
"""
Choices for UserProfile.language
"""
# Sorted by Language Code alphabetical order + English at top
ENGLISH = 'en', _('English')
CZECH = 'cs-cz', _("Czech") # Not yet at 50% translated
GERMAN = 'de', _('German')
SPANISH = 'es', _('Spanish')
ITALIAN = 'it-it', _('Italian')
JAPANESE = 'ja', _('Japanese')
KOREAN = 'ko-kr', _('Korean')
FRENCH = 'fr-fr', _('French')
CHINESE = 'zh-hans', _('Chinese Simplified')
RUSSIAN = 'ru', _('Russian')
DUTCH = 'nl-nl', _("Dutch")
POLISH = 'pl-pl', _("Polish")
KOREAN = 'ko', _('Korean')
FRENCH = 'fr', _('French')
JAPANESE = 'ja', _('Japanese')
ITALIAN = 'it', _('Italian')
UKRAINIAN = 'uk', _('Ukrainian')
CHINESE = 'zh-hans', _('Simplified Chinese')
POLISH = 'pl', _("Polish")
user = models.OneToOneField(
User,

View File

@@ -1,6 +1,5 @@
{% extends "allianceauth/base-bs5.html" %}
{% load aa_i18n %}
{% load i18n %}
{% block page_title %}
@@ -14,7 +13,7 @@
{% block content %}
<div>
<p class="mb-3">
{% translate "This page is a best attempt, but backups or database logs can still contain your tokens. Always revoke tokens on https://developers.eveonline.com/authorized-apps where possible."|urlize %}
{% translate "This page is a best attempt, but backups or database logs can still contain your tokens. Always revoke tokens on https://community.eveonline.com/support/third-party-applications/ where possible."|urlize %}
</p>
<table class="table w-100" id="table_tokens">
@@ -51,23 +50,20 @@
{% block extra_javascript %}
{% include "bundles/datatables-js-bs5.html" %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$(document).ready(() => {
let grp = 2;
$('#table_tokens').DataTable({
"language": {"url": '{{ DT_LANG_PATH }}'},
const table = $('#table_tokens').DataTable({
'columnDefs': [{orderable: false, targets: [0, 1]}, {
'visible': false,
'targets': grp
}],
'order': [[grp, 'asc']],
'drawCallback': function (settings) {
const api = this.api();
const rows = api.rows({page: 'current'}).nodes();
let last = null;
var api = this.api();
var rows = api.rows({page: 'current'}).nodes();
var last = null;
api.column(grp, {page: 'current'})
.data()
.each((group, i) => {

View File

@@ -5,11 +5,11 @@
{% csrf_token %}
<select class="form-select" onchange="this.form.submit()" class="form-control" id="lang-select" name="language">
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for 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 }})
{% for language in languages %}
<option lang="{{ language.code }}" value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %}>
{{ language.name_local|capfirst }} ({{ language.code }})
</option>
{% endfor %}
</select>

View File

@@ -29,7 +29,7 @@
</p>
<p class="text-center">
<a class="text-reset" href="https://developers.eveonline.com/authorized-apps" target="_blank" rel="noopener noreferrer">
<a class="text-reset" href="https://community.eveonline.com/support/third-party-applications/" target="_blank" rel="noopener noreferrer">
{% translate "Manage ESI Applications" %}
</a>
</p>

View File

@@ -1,3 +1,9 @@
from django.db.models.signals import (
m2m_changed,
post_save,
pre_delete,
pre_save
)
from django.urls import reverse
from unittest import mock

View File

@@ -1,3 +1,4 @@
from unittest import mock
from allianceauth.authentication.middleware import UserSettingsMiddleware
from unittest.mock import Mock
from django.http import HttpResponse

View File

@@ -4,10 +4,16 @@ from allianceauth.eveonline.models import (
EveCorporationInfo,
EveAllianceInfo
)
from django.db.models.signals import post_save
from django.db.models.signals import (
pre_save,
post_save,
pre_delete,
m2m_changed
)
from allianceauth.tests.auth_utils import AuthUtils
from django.test.testcases import TestCase
from unittest.mock import Mock
from . import patch

View File

@@ -11,6 +11,7 @@ from django.conf import settings
from django.contrib import messages
from django.contrib.auth import authenticate, login
from django.contrib.auth.decorators import login_required, user_passes_test
from django.contrib.auth.models import User
from django.core import signing
from django.http import JsonResponse
from django.shortcuts import redirect, render

View File

@@ -34,10 +34,7 @@ def django_settings(app_configs, **kwargs) -> List[CheckMessage]:
@register()
def system_package_redis(app_configs, **kwargs) -> List[CheckMessage]:
allianceauth_redis_install_link = "https://allianceauth.readthedocs.io/en/latest/installation/allianceauth.html#redis-and-other-tools"
errors: List[CheckMessage] = []
try:
redis_version = Pep440Version(get_redis_client().info()['redis_version'])
except InvalidVersion:
@@ -45,21 +42,19 @@ def system_package_redis(app_configs, **kwargs) -> List[CheckMessage]:
return errors
if redis_version.major == 7 and redis_version.minor == 2 and timezone.now() > timezone.datetime(year=2025, month=8, day=31, tzinfo=timezone.utc):
errors.append(Error(f"Redis {redis_version.public} in Security Support only, Updating Suggested", hint=allianceauth_redis_install_link, id="allianceauth.checks.A001"))
errors.append(Error(f"Redis {redis_version.public} in Security Support only, Updating Suggested", hint="https://allianceauth.readthedocs.io/en/latest/installation/allianceauth.html#redis-and-other-tools", id="allianceauth.checks.A001"))
elif redis_version.major == 7 and redis_version.minor == 0:
errors.append(Warning(f"Redis {redis_version.public} in Security Support only, Updating Suggested", hint=allianceauth_redis_install_link, id="allianceauth.checks.A002"))
errors.append(Warning(f"Redis {redis_version.public} in Security Support only, Updating Suggested", hint="https://allianceauth.readthedocs.io/en/latest/installation/allianceauth.html#redis-and-other-tools", id="allianceauth.checks.A002"))
elif redis_version.major == 6 and redis_version.minor == 2:
errors.append(Warning(f"Redis {redis_version.public} in Security Support only, Updating Suggested", hint=allianceauth_redis_install_link, id="allianceauth.checks.A018"))
errors.append(Warning(f"Redis {redis_version.public} in Security Support only, Updating Suggested", hint="https://allianceauth.readthedocs.io/en/latest/installation/allianceauth.html#redis-and-other-tools", id="allianceauth.checks.A018"))
elif redis_version.major in [6, 5]:
errors.append(Error(f"Redis {redis_version.public} EOL", hint=allianceauth_redis_install_link, id="allianceauth.checks.A003"))
errors.append(Error(f"Redis {redis_version.public} EOL", hint="https://allianceauth.readthedocs.io/en/latest/installation/allianceauth.html#redis-and-other-tools", id="allianceauth.checks.A003"))
return errors
@register()
def system_package_mysql(app_configs, **kwargs) -> List[CheckMessage]:
mysql_quick_guide_link = "https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/"
errors: List[CheckMessage] = []
for connection in db.connections.all():
@@ -70,30 +65,24 @@ def system_package_mysql(app_configs, **kwargs) -> List[CheckMessage]:
errors.append(Warning("Unable to confirm MySQL Version"))
return errors
# MySQL 8
if mysql_version.major == 8:
if mysql_version.minor == 4 and timezone.now() > timezone.datetime(year=2032, month=4, day=30, tzinfo=timezone.utc):
errors.append(Error(f"MySQL {mysql_version.public} EOL", hint=mysql_quick_guide_link, id="allianceauth.checks.A004"))
elif mysql_version.minor == 3:
errors.append(Warning(f"MySQL {mysql_version.public} Non LTS", hint=mysql_quick_guide_link, id="allianceauth.checks.A005"))
elif mysql_version.minor == 2:
errors.append(Warning(f"MySQL {mysql_version.public} Non LTS", hint=mysql_quick_guide_link, id="allianceauth.checks.A006"))
elif mysql_version.minor == 1:
errors.append(Error(f"MySQL {mysql_version.public} EOL", hint=mysql_quick_guide_link, id="allianceauth.checks.A007"))
elif mysql_version.minor == 0 and timezone.now() > timezone.datetime(year=2026, month=4, day=30, tzinfo=timezone.utc):
errors.append(Error(f"MySQL {mysql_version.public} EOL", hint=mysql_quick_guide_link, id="allianceauth.checks.A008"))
# MySQL below 8
# This will also catch Mariadb 5.x
elif mysql_version.major < 8:
errors.append(Error(f"MySQL or MariaDB {mysql_version.public} EOL", hint=mysql_quick_guide_link, id="allianceauth.checks.A009"))
# MySQL 8
if mysql_version.major == 8 and mysql_version.minor == 4 and timezone.now() > timezone.datetime(year=2032, month=4, day=30, tzinfo=timezone.utc):
errors.append(Error(f"MySQL {mysql_version.public} EOL", hint="https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/", id="allianceauth.checks.A004"))
elif mysql_version.major == 8 and mysql_version.minor == 3:
errors.append(Warning(f"MySQL {mysql_version.public} Non LTS", hint="https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/", id="allianceauth.checks.A005"))
elif mysql_version.major == 8 and mysql_version.minor == 2:
errors.append(Warning(f"MySQL {mysql_version.public} Non LTS", hint="https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/", id="allianceauth.checks.A006"))
elif mysql_version.major == 8 and mysql_version.minor == 1:
errors.append(Error(f"MySQL {mysql_version.public} EOL", hint="https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/", id="allianceauth.checks.A007"))
elif mysql_version.major == 8 and mysql_version.minor == 0 and timezone.now() > timezone.datetime(year=2026, month=4, day=30, tzinfo=timezone.utc):
errors.append(Error(f"MySQL {mysql_version.public} EOL", hint="https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/", id="allianceauth.checks.A008"))
elif mysql_version.major < 8: # This will also catch Mariadb 5.x
errors.append(Error(f"MySQL or MariaDB {mysql_version.public} EOL", hint="https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/", id="allianceauth.checks.A009"))
return errors
@register()
def system_package_mariadb(app_configs, **kwargs) -> List[CheckMessage]:
mariadb_download_link = "https://mariadb.org/download/?t=repo-config"
errors: List[CheckMessage] = []
for connection in db.connections.all():
@@ -105,32 +94,28 @@ def system_package_mariadb(app_configs, **kwargs) -> List[CheckMessage]:
return errors
# MariaDB 11
if mariadb_version.major == 11:
if mariadb_version.minor == 4 and timezone.now() > timezone.datetime(year=2029, month=5, day=19, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint=mariadb_download_link, id="allianceauth.checks.A010"))
elif mariadb_version.minor == 2:
errors.append(Warning(f"MariaDB {mariadb_version.public} Non LTS", hint=mariadb_download_link, id="allianceauth.checks.A018"))
if timezone.now() > timezone.datetime(year=2024, month=11, day=21, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint=mariadb_download_link, id="allianceauth.checks.A011"))
elif mariadb_version.minor == 1:
errors.append(Warning(f"MariaDB {mariadb_version.public} Non LTS", hint=mariadb_download_link, id="allianceauth.checks.A019"))
if timezone.now() > timezone.datetime(year=2024, month=8, day=21, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint=mariadb_download_link, id="allianceauth.checks.A012"))
elif mariadb_version.minor in [0, 3]: # Demote versions down here once EOL
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint=mariadb_download_link, id="allianceauth.checks.A013"))
if mariadb_version.major == 11 and mariadb_version.minor == 4 and timezone.now() > timezone.datetime(year=2029, month=5, day=19, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint="https://mariadb.org/download/?t=repo-config", id="allianceauth.checks.A010"))
elif mariadb_version.major == 11 and mariadb_version.minor == 2:
errors.append(Warning(f"MariaDB {mariadb_version.public} Non LTS", hint="https://mariadb.org/download/?t=repo-config", id="allianceauth.checks.A018"))
if timezone.now() > timezone.datetime(year=2024, month=11, day=21, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint="https://mariadb.org/download/?t=repo-config", id="allianceauth.checks.A011"))
elif mariadb_version.major == 11 and mariadb_version.minor == 1:
errors.append(Warning(f"MariaDB {mariadb_version.public} Non LTS", hint="https://mariadb.org/download/?t=repo-config", id="allianceauth.checks.A019"))
if timezone.now() > timezone.datetime(year=2024, month=8, day=21, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint="https://mariadb.org/download/?t=repo-config", id="allianceauth.checks.A012"))
elif mariadb_version.major == 11 and mariadb_version.minor in [0, 3]: # Demote versions down here once EOL
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint="https://mariadb.org/download/?t=repo-config.", id="allianceauth.checks.A013"))
# MariaDB 10
elif mariadb_version.major == 10:
if mariadb_version.minor == 11 and timezone.now() > timezone.datetime(year=2028, month=2, day=10, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint=mariadb_download_link, id="allianceauth.checks.A014"))
elif mariadb_version.minor == 6 and timezone.now() > timezone.datetime(year=2026, month=7, day=6, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint=mariadb_download_link, id="allianceauth.checks.A0015"))
elif mariadb_version.minor == 5 and timezone.now() > timezone.datetime(year=2025, month=6, day=24, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint=mariadb_download_link, id="allianceauth.checks.A016"))
elif mariadb_version.minor in [0, 1, 2, 3, 4, 7, 9, 10]: # Demote versions down here once EOL
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint=mariadb_download_link, id="allianceauth.checks.A017"))
elif mariadb_version.major == 10 and mariadb_version.minor == 11 and timezone.now() > timezone.datetime(year=2028, month=2, day=10, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint="https://mariadb.org/download/?t=repo-config.", id="allianceauth.checks.A014"))
elif mariadb_version.major == 10 and mariadb_version.minor == 6 and timezone.now() > timezone.datetime(year=2026, month=7, day=6, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint="https://mariadb.org/download/?t=repo-config", id="allianceauth.checks.A0015"))
elif mariadb_version.major == 10 and mariadb_version.minor == 5 and timezone.now() > timezone.datetime(year=2025, month=6, day=24, tzinfo=timezone.utc):
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint="https://mariadb.org/download/?t=repo-config", id="allianceauth.checks.A016"))
elif mariadb_version.major == 10 and mariadb_version.minor in [0, 1, 2, 3, 4, 7, 9, 10]: # Demote versions down here once EOL
errors.append(Error(f"MariaDB {mariadb_version.public} EOL", hint="https://mariadb.org/download/?t=repo-config", id="allianceauth.checks.A017"))
return errors

View File

@@ -1,6 +1,5 @@
{% extends 'corputils/base.html' %}
{% load aa_i18n %}
{% load i18n %}
{% load humanize %}
@@ -239,12 +238,9 @@
{% block extra_javascript %}
{% include 'bundles/datatables-js-bs5.html' %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$(document).ready(() => {
$('#table-mains').DataTable({
"language": {"url": '{{ DT_LANG_PATH }}'},
"columnDefs": [
{ "sortable": false, "targets": [1] },
],
@@ -253,7 +249,6 @@
});
$('#table-members').DataTable({
"language": {"url": '{{ DT_LANG_PATH }}'},
"columnDefs": [
{ "searchable": false, "targets": [0, 2] },
{ "sortable": false, "targets": [0, 2] },
@@ -264,7 +259,6 @@
});
$('#table-unregistered').DataTable({
"language": {"url": '{{ DT_LANG_PATH }}'},
"columnDefs": [
{ "searchable": false, "targets": [0, 2] },
{ "sortable": false, "targets": [0, 2] },

View File

@@ -1,6 +1,5 @@
{% extends "corputils/base.html" %}
{% load aa_i18n %}
{% load i18n %}
{% block member_data %}
@@ -43,12 +42,9 @@
{% block extra_javascript %}
{% include 'bundles/datatables-js-bs5.html' %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$(document).ready(() => {
$('#table-search').DataTable({
"language": {"url": '{{ DT_LANG_PATH }}'},
"stateSave": true,
"stateDuration": 0
});

View File

@@ -1,3 +0,0 @@
"""
Alliance Auth Crontab Utilities
"""

View File

@@ -1,14 +0,0 @@
"""
Crontab App Config
"""
from django.apps import AppConfig
class CrontabConfig(AppConfig):
"""
Crontab App Config
"""
name = "allianceauth.crontab"
label = "crontab"

View File

@@ -1,29 +0,0 @@
# Generated by Django 4.2.16 on 2025-01-20 06:16
import allianceauth.crontab.models
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='CronOffset',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('minute', models.FloatField(default=allianceauth.crontab.models.random_default, verbose_name='Minute Offset')),
('hour', models.FloatField(default=allianceauth.crontab.models.random_default, verbose_name='Hour Offset')),
('day_of_month', models.FloatField(default=allianceauth.crontab.models.random_default, verbose_name='Day of Month Offset')),
('month_of_year', models.FloatField(default=allianceauth.crontab.models.random_default, verbose_name='Month of Year Offset')),
('day_of_week', models.FloatField(default=allianceauth.crontab.models.random_default, verbose_name='Day of Week Offset')),
],
options={
'verbose_name': 'Cron Offsets',
},
),
]

View File

@@ -1,23 +0,0 @@
from random import random
from django.db import models
from django.utils.translation import gettext_lazy as _
from solo.models import SingletonModel
def random_default() -> float:
return random()
class CronOffset(SingletonModel):
minute = models.FloatField(_("Minute Offset"), default=random_default)
hour = models.FloatField(_("Hour Offset"), default=random_default)
day_of_month = models.FloatField(_("Day of Month Offset"), default=random_default)
month_of_year = models.FloatField(_("Month of Year Offset"), default=random_default)
day_of_week = models.FloatField(_("Day of Week Offset"), default=random_default)
def __str__(self) -> str:
return "Cron Offsets"
class Meta:
verbose_name = "Cron Offsets"

View File

@@ -1,68 +0,0 @@
from django.core.exceptions import ObjectDoesNotExist
from django_celery_beat.schedulers import (
DatabaseScheduler
)
from django_celery_beat.models import CrontabSchedule
from django.db.utils import OperationalError, ProgrammingError
from celery import schedules
from celery.utils.log import get_logger
from allianceauth.crontab.models import CronOffset
from allianceauth.crontab.utils import offset_cron
logger = get_logger(__name__)
class OffsetDatabaseScheduler(DatabaseScheduler):
"""
Customization of Django Celery Beat, Database Scheduler
Takes the Celery Schedule from local.py and applies our AA Framework Cron Offset, if apply_offset is true
Otherwise it passes it through as normal
"""
def __init__(self, *args, **kwargs) -> None:
super().__init__(*args, **kwargs)
def update_from_dict(self, mapping):
s = {}
try:
cron_offset = CronOffset.get_solo()
except (OperationalError, ProgrammingError, ObjectDoesNotExist) as exc:
# This is just incase we haven't migrated yet or something
logger.warning(
"OffsetDatabaseScheduler: Could not fetch CronOffset (%r). "
"Defering to DatabaseScheduler",
exc
)
return super().update_from_dict(mapping)
for name, entry_fields in mapping.items():
try:
apply_offset = entry_fields.pop("apply_offset", False) # Ensure this pops before django tries to save to ORM
entry = self.Entry.from_entry(name, app=self.app, **entry_fields)
if apply_offset:
schedule_obj = entry.schedule
if isinstance(schedule_obj, schedules.crontab):
offset_cs = CrontabSchedule.from_schedule(offset_cron(schedule_obj))
offset_cs, created = CrontabSchedule.objects.get_or_create(
minute=offset_cs.minute,
hour=offset_cs.hour,
day_of_month=offset_cs.day_of_month,
month_of_year=offset_cs.month_of_year,
day_of_week=offset_cs.day_of_week,
timezone=offset_cs.timezone,
)
entry.model.crontab = offset_cs
entry.model.save()
logger.debug(f"Offset applied for '{name}' due to 'apply_offset' = True.")
if entry.model.enabled:
s[name] = entry
except Exception as e:
logger.exception("Error updating schedule for %s: %r", name, e)
self.schedule.update(s)

View File

@@ -1,63 +0,0 @@
from unittest.mock import patch
from django.test import TestCase
from allianceauth.crontab.models import CronOffset
class CronOffsetModelTest(TestCase):
def test_cron_offset_is_singleton(self):
"""
Test that CronOffset is indeed a singleton and that
multiple calls to get_solo() return the same instance.
"""
offset1 = CronOffset.get_solo()
offset2 = CronOffset.get_solo()
# They should be the exact same object in memory
self.assertEqual(offset1.pk, offset2.pk)
def test_default_values_random(self):
"""
Test that the default values are set via random_default() when
no explicit value is provided. We'll patch 'random.random' to
produce predictable output.
"""
with patch('allianceauth.crontab.models.random', return_value=0.1234):
# Force creation of a new CronOffset by clearing the existing one
CronOffset.objects.all().delete()
offset = CronOffset.get_solo() # This triggers creation
# All fields should be 0.1234, because we patched random()
self.assertAlmostEqual(offset.minute, 0.1234)
self.assertAlmostEqual(offset.hour, 0.1234)
self.assertAlmostEqual(offset.day_of_month, 0.1234)
self.assertAlmostEqual(offset.month_of_year, 0.1234)
self.assertAlmostEqual(offset.day_of_week, 0.1234)
def test_update_offset_values(self):
"""
Test that we can update the offsets and retrieve them.
"""
offset = CronOffset.get_solo()
offset.minute = 0.5
offset.hour = 0.25
offset.day_of_month = 0.75
offset.month_of_year = 0.99
offset.day_of_week = 0.33
offset.save()
# Retrieve again to ensure changes persist
saved_offset = CronOffset.get_solo()
self.assertEqual(saved_offset.minute, 0.5)
self.assertEqual(saved_offset.hour, 0.25)
self.assertEqual(saved_offset.day_of_month, 0.75)
self.assertEqual(saved_offset.month_of_year, 0.99)
self.assertEqual(saved_offset.day_of_week, 0.33)
def test_str_representation(self):
"""
Verify the __str__ method returns 'Cron Offsets'.
"""
offset = CronOffset.get_solo()
self.assertEqual(str(offset), "Cron Offsets")

View File

@@ -1,78 +0,0 @@
import logging
from unittest.mock import patch
from django.test import TestCase
from django.db import ProgrammingError
from celery.schedules import crontab
from allianceauth.crontab.utils import offset_cron
from allianceauth.crontab.models import CronOffset
logger = logging.getLogger(__name__)
class TestOffsetCron(TestCase):
def test_offset_cron_normal(self):
"""
Test that offset_cron modifies the minute/hour fields
based on the CronOffset values when everything is normal.
"""
# We'll create a mock CronOffset instance
mock_offset = CronOffset(minute=0.5, hour=0.5)
# Our initial crontab schedule
original_schedule = crontab(
minute=[0, 5, 55],
hour=[0, 3, 23],
day_of_month='*',
month_of_year='*',
day_of_week='*'
)
# Patch CronOffset.get_solo to return our mock offset
with patch('allianceauth.crontab.models.CronOffset.get_solo', return_value=mock_offset):
new_schedule = offset_cron(original_schedule)
# Check the new minute/hour
# minute 0 -> 0 + round(60 * 0.5) = 30 % 60 = 30
# minute 5 -> 5 + 30 = 35 % 60 = 35
# minute 55 -> 55 + 30 = 85 % 60 = 25 --> sorted => 25,30,35
self.assertEqual(new_schedule._orig_minute, '25,30,35')
# hour 0 -> 0 + round(24 * 0.5) = 12 % 24 = 12
# hour 3 -> 3 + 12 = 15 % 24 = 15
# hour 23 -> 23 + 12 = 35 % 24 = 11 --> sorted => 11,12,15
self.assertEqual(new_schedule._orig_hour, '11,12,15')
# Check that other fields are unchanged
self.assertEqual(new_schedule._orig_day_of_month, '*')
self.assertEqual(new_schedule._orig_month_of_year, '*')
self.assertEqual(new_schedule._orig_day_of_week, '*')
def test_offset_cron_programming_error(self):
"""
Test that if a ProgrammingError is raised (e.g. before migrations),
offset_cron just returns the original schedule.
"""
original_schedule = crontab(minute=[0, 15, 30], hour=[1, 2, 3])
# Force get_solo to raise ProgrammingError
with patch('allianceauth.crontab.models.CronOffset.get_solo', side_effect=ProgrammingError()):
new_schedule = offset_cron(original_schedule)
# Should return the original schedule unchanged
self.assertEqual(new_schedule, original_schedule)
def test_offset_cron_unexpected_exception(self):
"""
Test that if any other exception is raised, offset_cron
also returns the original schedule, and logs the error.
"""
original_schedule = crontab(minute='0', hour='0')
# Force get_solo to raise a generic Exception
with patch('allianceauth.crontab.models.CronOffset.get_solo', side_effect=Exception("Something bad")):
new_schedule = offset_cron(original_schedule)
# Should return the original schedule unchanged
self.assertEqual(new_schedule, original_schedule)

View File

@@ -1,50 +0,0 @@
from celery.schedules import crontab
import logging
from allianceauth.crontab.models import CronOffset
from django.db import ProgrammingError
logger = logging.getLogger(__name__)
def offset_cron(schedule: crontab) -> crontab:
"""Take a crontab and apply a series of precalculated offsets to spread out tasks execution on remote resources
Args:
schedule (crontab): celery.schedules.crontab()
Returns:
crontab: A crontab with offsetted Minute and Hour fields
"""
try:
cron_offset = CronOffset.get_solo()
# Stops this shit from happening 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
# It is only cosmetic, but still annoying
if schedule._orig_minute == '*':
new_minute = '*'
else:
new_minute = [(m + (round(60 * cron_offset.minute))) % 60 for m in schedule.minute]
if schedule._orig_hour == '*':
new_hour = '*'
else:
new_hour = [(m + (round(24 * cron_offset.hour))) % 24 for m in schedule.hour]
return crontab(
minute=",".join(str(m) for m in sorted(new_minute)),
hour=",".join(str(h) for h in sorted(new_hour)),
day_of_month=schedule._orig_day_of_month,
month_of_year=schedule._orig_month_of_year,
day_of_week=schedule._orig_day_of_week)
except ProgrammingError as e:
# If this is called before migrations are run hand back the default schedule
# These offsets are stored in a Singleton Model,
logger.error(e)
return schedule
except Exception as e:
# We absolutely cant fail to hand back a schedule
logger.error(e)
return schedule

View File

@@ -5,6 +5,9 @@ Form widgets for custom_css app
# Django
from django import forms
# Alliance Auth
from allianceauth.custom_css.models import CustomCSS
class CssEditorWidget(forms.Textarea):
"""

View File

@@ -1,5 +1,6 @@
from django.test import TestCase
from django.contrib.auth.models import Group
from django.db import transaction
from allianceauth.tests.auth_utils import AuthUtils

View File

@@ -10,7 +10,7 @@ from . import (
)
_BASE_URL = 'https://evemaps.dotlan.net'
_BASE_URL = 'http://evemaps.dotlan.net'
def _build_url(category: str, name: str) -> str:

View File

@@ -1,6 +1,8 @@
from django.test import TestCase
from ...models import EveCharacter, EveCorporationInfo, EveAllianceInfo
from .. import dotlan, zkillboard, evewho, eveimageserver
from ...templatetags import evelinks
class TestEveWho(TestCase):
@@ -29,29 +31,29 @@ class TestDotlan(TestCase):
def test_alliance_url(self):
self.assertEqual(
dotlan.alliance_url('Wayne Enterprices'),
'https://evemaps.dotlan.net/alliance/Wayne_Enterprices'
'http://evemaps.dotlan.net/alliance/Wayne_Enterprices'
)
def test_corporation_url(self):
self.assertEqual(
dotlan.corporation_url('Wayne Technology'),
'https://evemaps.dotlan.net/corp/Wayne_Technology'
'http://evemaps.dotlan.net/corp/Wayne_Technology'
)
self.assertEqual(
dotlan.corporation_url('Crédit Agricole'),
'https://evemaps.dotlan.net/corp/Cr%C3%A9dit_Agricole'
'http://evemaps.dotlan.net/corp/Cr%C3%A9dit_Agricole'
)
def test_region_url(self):
self.assertEqual(
dotlan.region_url('Black Rise'),
'https://evemaps.dotlan.net/map/Black_Rise'
'http://evemaps.dotlan.net/map/Black_Rise'
)
def test_solar_system_url(self):
self.assertEqual(
dotlan.solar_system_url('Jita'),
'https://evemaps.dotlan.net/system/Jita'
'http://evemaps.dotlan.net/system/Jita'
)

View File

@@ -1,5 +1,4 @@
import logging
from random import randint
from celery import shared_task
@@ -10,8 +9,7 @@ from . import providers
logger = logging.getLogger(__name__)
TASK_PRIORITY = 7
CHARACTER_AFFILIATION_CHUNK_SIZE = 500
EVEONLINE_TASK_JITTER = 600
CHUNK_SIZE = 500
def chunks(lst, n):
@@ -21,13 +19,13 @@ def chunks(lst, n):
@shared_task
def update_corp(corp_id: int) -> None:
def update_corp(corp_id):
"""Update given corporation from ESI"""
EveCorporationInfo.objects.update_corporation(corp_id)
@shared_task
def update_alliance(alliance_id: int) -> None:
def update_alliance(alliance_id):
"""Update given alliance from ESI"""
EveAllianceInfo.objects.update_alliance(alliance_id).populate_alliance()
@@ -39,30 +37,23 @@ def update_character(character_id: int) -> None:
@shared_task
def run_model_update() -> None:
def run_model_update():
"""Update all alliances, corporations and characters from ESI"""
# Queue update tasks for Known Corporation Models
#update existing corp models
for corp in EveCorporationInfo.objects.all().values('corporation_id'):
update_corp.apply_async(
args=[corp['corporation_id']],
priority=TASK_PRIORITY,
countdown=randint(1, EVEONLINE_TASK_JITTER))
update_corp.apply_async(args=[corp['corporation_id']], priority=TASK_PRIORITY)
# Queue update tasks for Known Alliance Models
# update existing alliance models
for alliance in EveAllianceInfo.objects.all().values('alliance_id'):
update_alliance.apply_async(
args=[alliance['alliance_id']],
priority=TASK_PRIORITY,
countdown=randint(1, EVEONLINE_TASK_JITTER))
update_alliance.apply_async(args=[alliance['alliance_id']], priority=TASK_PRIORITY)
# Queue update tasks for Known Character Models
# update existing character models
character_ids = EveCharacter.objects.all().values_list('character_id', flat=True)
for character_ids_chunk in chunks(character_ids, CHARACTER_AFFILIATION_CHUNK_SIZE):
for character_ids_chunk in chunks(character_ids, CHUNK_SIZE):
update_character_chunk.apply_async(
args=[character_ids_chunk],
priority=TASK_PRIORITY,
countdown=randint(1, EVEONLINE_TASK_JITTER))
args=[character_ids_chunk], priority=TASK_PRIORITY
)
@shared_task
@@ -77,9 +68,8 @@ def update_character_chunk(character_ids_chunk: list):
logger.info("Failed to bulk update characters. Attempting single updates")
for character_id in character_ids_chunk:
update_character.apply_async(
args=[character_id],
priority=TASK_PRIORITY,
countdown=randint(1, EVEONLINE_TASK_JITTER))
args=[character_id], priority=TASK_PRIORITY
)
return
affiliations = {
@@ -117,5 +107,5 @@ def update_character_chunk(character_ids_chunk: list):
if corp_changed or alliance_changed or name_changed:
update_character.apply_async(
args=[character.get('character_id')],
priority=TASK_PRIORITY)
args=[character.get('character_id')], priority=TASK_PRIORITY
)

View File

@@ -84,7 +84,7 @@ class TestUpdateTasks(TestCase):
@override_settings(CELERY_ALWAYS_EAGER=True)
@patch('allianceauth.eveonline.providers.esi_client_factory')
@patch('allianceauth.eveonline.tasks.providers')
@patch('allianceauth.eveonline.tasks.CHARACTER_AFFILIATION_CHUNK_SIZE', 2)
@patch('allianceauth.eveonline.tasks.CHUNK_SIZE', 2)
class TestRunModelUpdate(TransactionTestCase):
def test_should_run_updates(self, mock_providers, mock_esi_client_factory):
# given
@@ -139,7 +139,7 @@ class TestRunModelUpdate(TransactionTestCase):
@patch('allianceauth.eveonline.tasks.update_character', wraps=update_character)
@patch('allianceauth.eveonline.providers.esi_client_factory')
@patch('allianceauth.eveonline.tasks.providers')
@patch('allianceauth.eveonline.tasks.CHARACTER_AFFILIATION_CHUNK_SIZE', 2)
@patch('allianceauth.eveonline.tasks.CHUNK_SIZE', 2)
class TestUpdateCharacterChunk(TestCase):
@staticmethod
def _updated_character_ids(spy_update_character) -> set:

View File

@@ -8,7 +8,7 @@ from django.contrib.auth.decorators import login_required
from django.contrib.auth.decorators import permission_required
from django.contrib.auth.models import User
from django.core.exceptions import ValidationError, ObjectDoesNotExist
from django.shortcuts import render, redirect, get_object_or_404
from django.shortcuts import render, redirect, get_object_or_404, Http404
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from esi.decorators import token_required

View File

@@ -13,15 +13,6 @@
}
}
/* Image overflow fix
------------------------------------------------------------------------------------- */
@media all {
img {
max-width: 100%;
height: auto;
}
}
/* Side Navigation
------------------------------------------------------------------------------------- */
@media all {
@@ -49,14 +40,14 @@
}
/* 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 {
#sidebar-menu [data-bs-toggle="collapse"] > i.fa-chevron-down,
#sidebar-menu [data-bs-toggle="collapse"].collapsed > i.fa-chevron-right {
display: block;
width: 16px;
}
#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 {
#sidebar-menu [data-bs-toggle="collapse"] > i.fa-chevron-right,
#sidebar-menu [data-bs-toggle="collapse"].collapsed > i.fa-chevron-down {
display: none;
}
}

View File

@@ -49,7 +49,7 @@ class GroupsMenuItem(MenuItemHook):
MenuItemHook.__init__(
self,
text=_("Groups"),
classes="fa-solid fa-users",
classes="fa-solid fa-user",
url_name="groupmanagement:groups",
order=25,
navactive=[

View File

@@ -1,6 +1,5 @@
{% extends "allianceauth/base-bs5.html" %}
{% load aa_i18n %}
{% load static %}
{% load i18n %}
{% load navactive %}
@@ -74,8 +73,6 @@
{% include 'bundles/moment-js.html' with locale=True %}
{% include 'bundles/filterdropdown-js.html' %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$.fn.dataTable.moment = (format, locale) => {
const types = $.fn.dataTable.ext.type;
@@ -97,7 +94,6 @@
$.fn.dataTable.moment('YYYY-MMM-D, HH:mm');
$('#log-entries').DataTable({
language: {url: '{{ DT_LANG_PATH }}'},
order: [[0, 'desc'], [1, 'asc']],
filterDropDown:
{

View File

@@ -1,7 +1,6 @@
{% extends "allianceauth/base-bs5.html" %}
{% load static %}
{% load aa_i18n %}
{% load i18n %}
{% load evelinks %}
{% load navactive %}
@@ -87,12 +86,9 @@
{% block extra_javascript %}
{% include 'bundles/datatables-js-bs5.html' %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$(document).ready(() => {
$('#tab_group_members').DataTable({
language: {url: '{{ DT_LANG_PATH }}'},
order: [[0, "asc"]],
columnDefs: [
{

View File

@@ -1,7 +1,6 @@
{% extends "allianceauth/base-bs5.html" %}
{% load static %}
{% load aa_i18n %}
{% load i18n %}
{% block page_title %}
@@ -57,7 +56,7 @@
{% endif %}
{% endfor %}
{% endif %}
{% if g.group.authgroup.group_leader_groups.all.count %}
{% if g.group.authgroup.group_leaders.all.count %}
{% for group in g.group.authgroup.group_leader_groups.all %}
<span class="my-1 me-1 badge bg-secondary">{{group.name}}</span>
{% endfor %}
@@ -104,13 +103,9 @@
{% block extra_javascript %}
{% include 'bundles/datatables-js-bs5.html' %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$(document).ready(() => {
$('#groupsTable').DataTable({
language: {url: '{{ DT_LANG_PATH }}'},
});
$('#groupsTable').DataTable();
});
</script>
{% endblock %}

Binary file not shown.

View File

@@ -11,14 +11,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-13 19:57+1000\n"
"POT-Creation-Date: 2024-05-12 19:15+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Tomas Skarecky <t.skarecky@gmail.com>, 2024\n"
"Language-Team: Czech (Czech Republic) (https://app.transifex.com/alliance-auth/teams/107430/cs_CZ/)\n"
"Language-Team: Czech (https://app.transifex.com/alliance-auth/teams/107430/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: cs_CZ\n"
"Language: cs\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
#: allianceauth/analytics/models.py:26
@@ -54,90 +54,66 @@ msgstr ""
"přístupem:%s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Angličtina"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Němčina"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Španělština"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Zjednodušená čínština"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Italština"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Japonština"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Korejština"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Francouzština"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Ruština"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Korejština"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Francouzština"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Japonština"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Italština"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "Ukrajinština"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:96
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Jazyk"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:101
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Noční režim"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:105
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "Motiv"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:122
#, python-format
msgid "State changed to: %s"
msgstr "Status změněn na: %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:123
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Váš uživatelský status je nyní: %(state)s"
@@ -149,27 +125,27 @@ msgstr "Váš uživatelský status je nyní: %(state)s"
msgid "Dashboard"
msgstr ""
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33
#: allianceauth/hrapplications/templates/hrapplications/view.html:54
msgid "Characters"
msgstr "Postavy"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6
msgid "Add Character"
msgstr "Přidat postavu"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12
msgid "Change Main"
msgstr "Změnit postavu"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31
@@ -178,12 +154,12 @@ msgstr "Změnit postavu"
msgid "Name"
msgstr "Jméno"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33
msgid "Corp"
msgstr "Korporace"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26
#: allianceauth/corputils/templates/corputils/corpstats.html:125
#: allianceauth/hrapplications/templates/hrapplications/view.html:63
msgid "Alliance"
@@ -193,7 +169,7 @@ msgstr "Aliance"
msgid "Membership"
msgstr "Členství"
#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10
#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8
msgid "State:"
msgstr "Stav:"
@@ -433,19 +409,6 @@ msgstr "Vybraná korporace již má statistický modul"
msgid "Failed to gather corporation statistics with selected token."
msgstr "Nepodařilo se získat statistiky korporace pomocí vybraného tokenu."
#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36
#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47
msgid "Custom CSS"
msgstr ""
#: allianceauth/custom_css/models.py:25
msgid "Your custom CSS"
msgstr ""
#: allianceauth/custom_css/models.py:26
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -538,8 +501,8 @@ msgstr "Uživatel"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42
#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17
#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16
#: allianceauth/timerboard/templates/timerboard/timertable.html:9
msgid "System"
msgstr "Systém"
@@ -863,7 +826,7 @@ msgstr ""
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15
msgid "Type"
msgstr ""
@@ -955,7 +918,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:19
msgid "Open"
msgstr ""
@@ -1431,16 +1394,16 @@ msgstr ""
msgid "Super User"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:68
#: 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:80
msgid "Sign Out"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:84
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
@@ -1590,7 +1553,7 @@ msgid "Form Up System"
msgstr ""
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17
msgid "EVE Time"
msgstr ""
@@ -1785,17 +1748,17 @@ msgid ""
msgstr ""
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20
msgid "Activate"
msgstr ""
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32
msgid "Reset Password"
msgstr ""
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38
msgid "Deactivate"
msgstr ""
@@ -1876,12 +1839,12 @@ msgstr ""
msgid "Deactivated IPSuite4 account."
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44
msgid "Connect"
msgstr ""
@@ -2444,56 +2407,56 @@ msgstr ""
msgid "Your Server received an ESI error response code of "
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:8
#: allianceauth/templates/allianceauth/admin-status/overview.html:11
msgid "Alliance Auth Notifications"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
#: allianceauth/templates/allianceauth/admin-status/overview.html:21
msgid "Closed"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:27
msgid "No notifications at this time"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:36
msgid "Powered by GitLab"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:42
msgid "Support Discord"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
#: allianceauth/templates/allianceauth/admin-status/overview.html:59
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Software Version"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:66
msgid "Current"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:73
msgid "Latest Stable"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:78
msgid "Update available"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:86
msgid "Latest Pre-Release"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Pre-Release available"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:102
msgid "Task Queue"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:107
#, python-format
msgid ""
"\n"
@@ -2501,11 +2464,11 @@ msgid ""
" "
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:123
msgid "running"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:124
msgid "queued"
msgstr ""
@@ -2534,216 +2497,114 @@ msgstr ""
msgid "Select Theme"
msgstr ""
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/form.py:53
#: allianceauth/timerboard/templates/timerboard/timertable.html:172
msgid "Other"
msgstr ""
#: allianceauth/timerboard/form.py:54
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:44
msgid "Friendly"
msgstr ""
#: allianceauth/timerboard/form.py:55
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Hostile"
msgstr ""
#: allianceauth/timerboard/form.py:56
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Neutral"
msgstr ""
#: allianceauth/timerboard/form.py:58
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13
#: allianceauth/timerboard/templates/timerboard/timertable.html:7
msgid "Details"
msgstr ""
#: allianceauth/timerboard/form.py:38
#: allianceauth/timerboard/form.py:60
msgid "Planet/Moon"
msgstr ""
#: allianceauth/timerboard/form.py:39
#: allianceauth/timerboard/form.py:61
msgid "Structure Type"
msgstr ""
#: allianceauth/timerboard/form.py:40
#: allianceauth/timerboard/form.py:62
msgid "Timer Type"
msgstr ""
#: allianceauth/timerboard/form.py:41
#: allianceauth/timerboard/form.py:63
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
msgid "Objective"
msgstr ""
#: allianceauth/timerboard/form.py:42
#: allianceauth/timerboard/form.py:64
msgid "Absolute Timer"
msgstr ""
#: allianceauth/timerboard/form.py:43
#: allianceauth/timerboard/form.py:65
msgid "Date and Time"
msgstr ""
#: allianceauth/timerboard/form.py:44
#: allianceauth/timerboard/form.py:66
msgid "Days Remaining"
msgstr ""
#: allianceauth/timerboard/form.py:45
#: allianceauth/timerboard/form.py:67
msgid "Hours Remaining"
msgstr ""
#: allianceauth/timerboard/form.py:47
#: allianceauth/timerboard/form.py:69
msgid "Minutes Remaining"
msgstr ""
#: allianceauth/timerboard/form.py:48
#: allianceauth/timerboard/form.py:71
msgid "Important"
msgstr ""
#: allianceauth/timerboard/form.py:49
#: allianceauth/timerboard/form.py:72
msgid "Corp-Restricted"
msgstr ""
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr ""
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr ""
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr ""
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr ""
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr ""
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
msgid "TCU"
msgstr ""
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
msgid "POS [S]"
msgstr ""
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
msgid "POS [M]"
msgstr ""
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
msgid "POS [L]"
msgstr ""
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
msgid "Astrahus"
msgstr ""
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
msgid "Fortizar"
msgstr ""
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
msgid "Keepstar"
msgstr ""
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
msgid "Raitaru"
msgstr ""
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
msgid "Azbel"
msgstr ""
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
msgid "Sotiyo"
msgstr ""
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
msgid "Athanor"
msgstr ""
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
msgid "Tatara"
msgstr ""
#: allianceauth/timerboard/models.py:39
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
msgid "Ansiblex Jump Gate"
msgstr ""
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
msgid "Moon Mining Cycle"
msgstr ""
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
msgid "Other"
msgstr ""
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:14
msgid "Not Specified"
msgstr ""
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:15
msgid "Shield"
msgstr ""
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:16
msgid "Armor"
msgstr ""
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:17
msgid "Hull"
msgstr ""
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:18
msgid "Final"
msgstr ""
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:19
msgid "Anchoring"
msgstr ""
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:20
msgid "Unanchoring"
msgstr ""
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
msgid "Timer"
msgstr ""
@@ -2787,14 +2648,78 @@ msgstr ""
msgid "Structure"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "POCO"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "I-HUB"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "TCU"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "POS [S]"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "POS [M]"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:94
msgid "POS [L]"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:100
msgid "Astrahus"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:106
msgid "Fortizar"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:112
msgid "Keepstar"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:118
msgid "Raitaru"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:124
msgid "Azbel"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:130
msgid "Sotiyo"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:136
msgid "Athanor"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:142
msgid "Tatara"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:148
msgid "Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:154
msgid "Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:160
msgid "Ansiblex Jump Gate"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:166
msgid "Moon Mining Cycle"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/view.html:9
msgid "Structure Timer Management"
msgstr ""

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Peter Pfeufer, 2024\n"
"Language-Team: German (https://app.transifex.com/alliance-auth/teams/107430/de/)\n"
@@ -62,90 +62,70 @@ msgstr ""
"Du kannst diese eingeschränkten Gruppen nicht hinzufügen oder entfernen: %s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Englisch"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr "Tschechisch"
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Deutsch"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Spanisch"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Chinesisch vereinfacht"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Italienisch"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Japanisch"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Koreanisch"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Französisch"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Russisch"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Koreanisch"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Französisch"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Japanisch"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Italienisch"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr "Niederländisch"
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr "Polnisch"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "Ukrainisch"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
msgstr "Vereinfachtes Chinesisch"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr "Polnisch"
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Sprache"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Nachtmodus"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "Theme"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "Status geändert zu %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Dein Nutzerstatus ist nun %(state)s"
@@ -547,7 +527,6 @@ msgstr "FAT löschen"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "Benutzername"
@@ -745,6 +724,7 @@ msgstr "Gruppenverwaltung"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "Gruppen"
@@ -1664,7 +1644,7 @@ msgstr "Anstehende Flotten"
#: allianceauth/optimer/templates/optimer/management.html:44
#: allianceauth/timerboard/templates/timerboard/view.html:62
msgid "No upcoming timers."
msgstr "Keine anstehenden Timer."
msgstr "Keine bevorstehenden Timer."
#: allianceauth/optimer/templates/optimer/management.html:52
msgid "Past Fleet Operations"
@@ -1930,48 +1910,6 @@ msgstr "Setze IPSuite4 Passwort."
msgid "Deactivated IPSuite4 account."
msgstr "IP4Suite Konto deaktiviert."
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr "Mumble"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr "Mumbleverbindungen"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr "Verlauf der Serververbindungen"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr "Angezeigter Name"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr "Release"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr "Version"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr "Zuletzt verbunden"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr "Zuletzt getrennt"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr "Serververbindungen"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr "Nummer"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1981,10 +1919,6 @@ msgstr "Setze Passwort"
msgid "Connect"
msgstr "Verbinden"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr "Verlauf der Mumbleverbindungen"
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2699,163 +2633,159 @@ msgstr "Wichtig"
msgid "Corp-Restricted"
msgstr "Auf Corp beschränkt"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "Freundlich"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "Feindlich"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "Neutral"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr "POCO"
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr "Orbital Skyhook"
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr "I-HUB"
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr "TCU"
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr "POS [S]"
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr "POS [M]"
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr "POS [L]"
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr "Astrahus"
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr "Fortizar"
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr "Keepstar"
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr "Raitaru"
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr "Azbel"
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr "Sotiyo"
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr "Athanor"
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr "Tatara"
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr "Pharolux Cyno Beacon"
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr "Tenebrex Cyno Jammer"
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr "Ansiblex Jump Gate"
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr "Moon Mining Cycle"
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr "Metenox Moon Drill"
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "Anderes"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "Keine Angabe"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "Schild"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "Panzerung"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "Hülle"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "Final"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "Ankernd"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "Entankernd"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr "Aufgegeben"
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
msgstr "Anstehende Timer"
msgstr "Bevorstehende Timefr"
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15
msgid "Timer"
@@ -2901,11 +2831,11 @@ msgstr "Strukturen Timer aktualisieren"
msgid "Structure"
msgstr "Struktur"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr "Cyno Beacon"
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr "Cyno Jammer"

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: trenus, 2023\n"
"Language-Team: Spanish (https://app.transifex.com/alliance-auth/teams/107430/es/)\n"
@@ -58,90 +58,70 @@ 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:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Inglés"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Alemán"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Español"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Chino Simplificado"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Italiano"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Japonés"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Coreano"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Francés"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Ruso"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Coreano"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Francés"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Japonés"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Italiano"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr ""
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Idioma"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Modo Nocturno"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr ""
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "Estado cambiado a: %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "El estado de su usuario es ahora: %(state)s"
@@ -539,7 +519,6 @@ msgstr "Borrar fatlink"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "Usuario"
@@ -739,6 +718,7 @@ msgstr "Manejo de Grupo"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "Grupos"
@@ -1919,48 +1899,6 @@ msgstr "Establecer contraseña de IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Cuenta IPSuite4 desactivada."
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1970,10 +1908,6 @@ msgstr "Cambiar Contraseña"
msgid "Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2680,159 +2614,155 @@ msgstr "Importante"
msgid "Corp-Restricted"
msgstr "Restringido a Corp"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "Amigable"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "Hostil"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "Neutral"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr ""
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr ""
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr ""
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr ""
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr ""
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr ""
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr ""
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr ""
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr ""
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr ""
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr ""
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr ""
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr ""
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr ""
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr ""
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr ""
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "Otro"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "Sin especificación"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "Escudo"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "Armadura"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "Tipo"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "Final"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "Anclando"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "Desanclando"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2882,11 +2812,11 @@ msgstr "Actualizar Timer de Estructura"
msgid "Structure"
msgstr "Estructura"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr ""

View File

@@ -13,16 +13,15 @@
# Geoffrey Fabbro, 2023
# Idea, 2024
# Joel Falknau <ozirascal@gmail.com>, 2024
# T'rahk Rokym, 2024
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: T'rahk Rokym, 2024\n"
"Last-Translator: Joel Falknau <ozirascal@gmail.com>, 2024\n"
"Language-Team: French (France) (https://app.transifex.com/alliance-auth/teams/107430/fr_FR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -71,90 +70,70 @@ msgstr ""
"restreints: %s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Anglais"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Allemand"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Espagnol"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Chinois simplifié"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Italien"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Japonais"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Coréen"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Français"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Russe"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Coréen"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Français"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Japonais"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Italien"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr "Polonais"
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "Ukrainien"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Langue"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Mode Nuit"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "Thème"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "État changé à: %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "L'état de votre personnage est maintenant: %(state)s"
@@ -459,15 +438,15 @@ msgstr ""
#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36
#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47
msgid "Custom CSS"
msgstr "CSS personnalisé"
msgstr ""
#: allianceauth/custom_css/models.py:25
msgid "Your custom CSS"
msgstr "Votre CSS personnalisé"
msgstr ""
#: allianceauth/custom_css/models.py:26
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"
msgstr ""
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
@@ -556,7 +535,6 @@ msgstr "supprimer lien FAT"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "Utilisateur"
@@ -756,6 +734,7 @@ msgstr "Gestion de groupe"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "Groupes"
@@ -1940,48 +1919,6 @@ msgstr "Définir le mot de passe IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Compte IPSuite4 désactivé."
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1991,10 +1928,6 @@ msgstr "Définir le mot de passe"
msgid "Connect"
msgstr "Connecter"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2707,159 +2640,155 @@ msgstr "Important"
msgid "Corp-Restricted"
msgstr "Limité à la Corporation"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "Amical"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "Hostile"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "Neutre"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr "POCO"
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr "I-HUB"
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr "TCU"
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr "POS [S]"
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr "POS [M]"
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr "POS [L]"
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr "Astrahus"
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr "Fortizar"
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr "Keepstar"
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr "Raitaru"
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr "Azbel"
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr "Sotiyo"
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr "Athanor"
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr "Tatara"
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr "Porte de saut Ansiblex"
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr "Cycle dextraction de lune"
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "Autre"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "Non Spécifié"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "Bouclier"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "Armure"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "Coque"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "Final"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "Ancrage"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "Désancrage"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2909,11 +2838,11 @@ msgstr "Mettre à jour le minuteur de structure"
msgid "Structure"
msgstr "Structure"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr "Balise Cyno"
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr "Brouilleur de Cyno"

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+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"
@@ -62,90 +62,70 @@ 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:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Inglese"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Tedesco"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Spagnolo"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Cinese semplificato"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Italiano"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Giapponese"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Coreano"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Francese"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Russo"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Coreano"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Francese"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Giapponese"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Italiano"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "Ucraino"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Lingua"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Modalità scura"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "Tema"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "Stato modificato a: %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Il tuo stato utente è ora: %(state)s"
@@ -549,7 +529,6 @@ msgstr "Elimina fat"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "Utente"
@@ -749,6 +728,7 @@ msgstr "Gestione gruppi"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "Gruppi"
@@ -1936,48 +1916,6 @@ msgstr "Imposta password IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Disattiva account IPSuite4."
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1987,10 +1925,6 @@ msgstr "Imposta password"
msgid "Connect"
msgstr "Connect"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2704,159 +2638,155 @@ msgstr "Importante"
msgid "Corp-Restricted"
msgstr "Limitato alla corporazione"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "Amichevole"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "Ostile"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "Neutrale"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr "POCO"
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr "I-HUB"
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr "TCU"
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr "POS [S]"
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr "POS [M]"
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr "POS [L]"
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr "Astrahus"
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr "Fortizar"
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr "Keepstar"
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr "Raitaru"
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr "Azbel"
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr "Sotiyo"
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr "Athanor"
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr "Tatara"
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr "Ansiblex Jump Gate"
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr "Moon Mining Cycle"
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "Altro"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "Non specificato"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "Scudo"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "Armatura"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "Struttura"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "Ultimo"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "In ancoraggio"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "In disancoraggio"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2906,11 +2836,11 @@ msgstr "Aggiorna timer struttura"
msgid "Structure"
msgstr "Struttura"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr "Cyno Beacon"
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr "Cyno Jammer"

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+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"
@@ -57,90 +57,70 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "これらの制限付きグループを追加または削除することはできません。%s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "英語"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "ドイツ語"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "スペイン語"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "中国語 簡体字"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "イタリア語"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "日本語"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "韓国語"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "フランス語"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "ロシア語"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "韓国語"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "フランス語"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "日本語"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "イタリア語"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "ウクライナ語"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "言語"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "ナイトモード"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "テーマ"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "分類が%sに変更されました。"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "あなたの分類は%(state)sになりました。"
@@ -531,7 +511,6 @@ msgstr "Fat-Linkを削除"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "ユーザ"
@@ -725,6 +704,7 @@ msgstr "グループ管理"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "グループ"
@@ -1878,48 +1858,6 @@ msgstr "IPSuite4 のパスワードを設定します。"
msgid "Deactivated IPSuite4 account."
msgstr "IPSuite4 アカウントを非アクティブ化しました。"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1929,10 +1867,6 @@ msgstr "パスワード設定"
msgid "Connect"
msgstr "接続"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2640,159 +2574,155 @@ msgstr "重要"
msgid "Corp-Restricted"
msgstr "コーポレーション制限付き"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "味方"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "敵性"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "中立"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr "POCO"
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr "I-HUB"
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr "TCU"
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr "POS [S]"
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr "POS [M]"
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr "POS [L]"
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr "Astrahus"
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr "Fortizar"
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr "Keepstar"
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr "Raitaru"
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr "Azbel"
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr "Sotiyo"
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr "Athanor"
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr "Tatara"
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr "Ansiblex Jump Gate"
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr "Moon Mining Cycle"
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "その他"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "指定なし"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "シールド"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "アーマー"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "ハル"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "最終"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "Anchoring"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "Unanchoring"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2842,11 +2772,11 @@ msgstr "ストラクチャタイマーを更新"
msgid "Structure"
msgstr "ストラクチャ"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr "Cyno Beacon"
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr "Cyno Jammer"

View File

@@ -18,7 +18,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+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"
@@ -63,90 +63,70 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "해당 제한된 그룹을 추가하거나 제거할 수 있는 권한이 존재하지 않습니다: %s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "영어"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "독일어"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "스페인어"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "간체자"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "이탈리아어"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "일본어"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "한국어"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "프랑스어"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "러시아어"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "한국어"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "프랑스어"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "일본어"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "이탈리아어"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "우크라이나어"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "언어"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "야간 모드"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "테마"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "상태가 %s로 변경됐습니다."
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "사용자의 상태는 %(state)s입니다."
@@ -537,7 +517,6 @@ msgstr "함대 활동 추적(FAT) 링크 삭제"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "사용자"
@@ -733,6 +712,7 @@ msgstr "그룹 관리"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "그룹"
@@ -1886,48 +1866,6 @@ msgstr "IPSuite4 비밀번호 설정"
msgid "Deactivated IPSuite4 account."
msgstr "IPSuite4 계정 비활성화 완료"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1937,10 +1875,6 @@ msgstr "비밀번호 설정"
msgid "Connect"
msgstr "연결"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "재버"
@@ -2644,159 +2578,155 @@ msgstr "중요"
msgid "Corp-Restricted"
msgstr "코퍼레이션 제한"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "우호"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "적대"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "중립"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr "포코(POCO)"
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr "I-HUB"
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr "TCU"
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr "POS [S]"
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr "POS [M]"
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr "POS [L]"
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr "아스트라허스(Astrahus)"
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr "포르티자(Fortizar)"
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr "킵스타(Keepstar)"
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr "라이타루(Raitaru)"
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr "아즈벨(Azbel)"
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr "소티요(Sotiyo)"
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr "아타노르(Athanor)"
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr "타타라(Tatara)"
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr "엔서블렉스 점프 게이트(Ansiblex Jump Gate)"
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr "문 마이닝 주기"
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "기타"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "명시되지 않음"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "실드"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "장갑"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "선체"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "최종"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "고정"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "미고정"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2846,11 +2776,11 @@ msgstr "구조물 타이머 수정"
msgid "Structure"
msgstr "구조물"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr "사이노 비컨(Cyno Beacon)"
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr "사이노 재머(Cyno Jammer)"

Binary file not shown.

View File

@@ -12,14 +12,14 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-13 19:57+1000\n"
"POT-Creation-Date: 2024-05-12 19:15+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Agent Fuse, 2024\n"
"Language-Team: Dutch (Netherlands) (https://app.transifex.com/alliance-auth/teams/107430/nl_NL/)\n"
"Language-Team: Dutch (https://app.transifex.com/alliance-auth/teams/107430/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nl_NL\n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: allianceauth/analytics/models.py:26
@@ -62,90 +62,66 @@ msgstr ""
"Je bent niet gemachtigd om de volgende beperkte groepen te verwijderen: %s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Engels"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Duits"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Spaans"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Vereenvoudigd Chinees"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Italiaans"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Japans"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Koreaans"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Frans"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Russisch"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Koreaans"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Frans"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Japans"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Italiaans"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "Oekraïens"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:96
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Taal"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:101
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Nachtstand"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:105
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "Thema"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:122
#, python-format
msgid "State changed to: %s"
msgstr "State gewijzigd naar: %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:123
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "De gebruikers staat is nu: %(state)s"
@@ -157,27 +133,27 @@ msgstr "De gebruikers staat is nu: %(state)s"
msgid "Dashboard"
msgstr "Dashboard"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33
#: allianceauth/hrapplications/templates/hrapplications/view.html:54
msgid "Characters"
msgstr "Karakter"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6
msgid "Add Character"
msgstr "Personages toevoegen"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12
msgid "Change Main"
msgstr "Verander Main"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31
@@ -186,12 +162,12 @@ msgstr "Verander Main"
msgid "Name"
msgstr "Naam"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33
msgid "Corp"
msgstr "Corp"
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26
#: allianceauth/corputils/templates/corputils/corpstats.html:125
#: allianceauth/hrapplications/templates/hrapplications/view.html:63
msgid "Alliance"
@@ -201,7 +177,7 @@ msgstr "Alliantie"
msgid "Membership"
msgstr "Lidmaatschap"
#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10
#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8
msgid "State:"
msgstr "Status:"
@@ -446,19 +422,6 @@ msgstr ""
"Het is niet gelukt om bedrijfsstatistieken te verzamelen met het "
"geselecteerde token."
#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36
#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47
msgid "Custom CSS"
msgstr ""
#: allianceauth/custom_css/models.py:25
msgid "Your custom CSS"
msgstr ""
#: allianceauth/custom_css/models.py:26
msgid "This CSS will be added to the site after the default CSS."
msgstr ""
#: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@@ -551,8 +514,8 @@ msgstr "Gebruiker"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42
#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17
#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16
#: allianceauth/timerboard/templates/timerboard/timertable.html:9
msgid "System"
msgstr "Systeem"
@@ -874,7 +837,7 @@ msgstr "Aanvrager"
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15
msgid "Type"
msgstr "Type"
@@ -966,7 +929,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:19
msgid "Open"
msgstr "Open"
@@ -1442,16 +1405,16 @@ msgstr "Notificatie"
msgid "Super User"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:70
#: allianceauth/menu/templates/menu/menu-user.html:68
#: 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:80
msgid "Sign Out"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:86
#: allianceauth/menu/templates/menu/menu-user.html:84
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In"
@@ -1601,7 +1564,7 @@ msgid "Form Up System"
msgstr ""
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17
msgid "EVE Time"
msgstr ""
@@ -1796,17 +1759,17 @@ msgid ""
msgstr ""
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20
msgid "Activate"
msgstr ""
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32
msgid "Reset Password"
msgstr ""
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38
msgid "Deactivate"
msgstr ""
@@ -1887,12 +1850,12 @@ msgstr ""
msgid "Deactivated IPSuite4 account."
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44
msgid "Connect"
msgstr ""
@@ -2455,56 +2418,56 @@ msgstr ""
msgid "Your Server received an ESI error response code of "
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:8
#: allianceauth/templates/allianceauth/admin-status/overview.html:11
msgid "Alliance Auth Notifications"
msgstr "Alliantie Authenticatie Notificaties"
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
#: allianceauth/templates/allianceauth/admin-status/overview.html:21
msgid "Closed"
msgstr "Gesloten"
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
#: allianceauth/templates/allianceauth/admin-status/overview.html:27
msgid "No notifications at this time"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:33
#: allianceauth/templates/allianceauth/admin-status/overview.html:36
msgid "Powered by GitLab"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:39
#: allianceauth/templates/allianceauth/admin-status/overview.html:42
msgid "Support Discord"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
#: allianceauth/templates/allianceauth/admin-status/overview.html:59
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Software Version"
msgstr "Software Versie"
#: allianceauth/templates/allianceauth/admin-status/overview.html:60
#: allianceauth/templates/allianceauth/admin-status/overview.html:66
msgid "Current"
msgstr "Huidige"
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
#: allianceauth/templates/allianceauth/admin-status/overview.html:73
msgid "Latest Stable"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:72
#: allianceauth/templates/allianceauth/admin-status/overview.html:78
msgid "Update available"
msgstr "Update Beschikbaar"
#: allianceauth/templates/allianceauth/admin-status/overview.html:80
#: allianceauth/templates/allianceauth/admin-status/overview.html:86
msgid "Latest Pre-Release"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:85
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Pre-Release available"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:95
#: allianceauth/templates/allianceauth/admin-status/overview.html:102
msgid "Task Queue"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:100
#: allianceauth/templates/allianceauth/admin-status/overview.html:107
#, python-format
msgid ""
"\n"
@@ -2512,11 +2475,11 @@ msgid ""
" "
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:116
#: allianceauth/templates/allianceauth/admin-status/overview.html:123
msgid "running"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:117
#: allianceauth/templates/allianceauth/admin-status/overview.html:124
msgid "queued"
msgstr ""
@@ -2545,216 +2508,114 @@ msgstr ""
msgid "Select Theme"
msgstr "Selecteer Thema"
#: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/form.py:53
#: allianceauth/timerboard/templates/timerboard/timertable.html:172
msgid "Other"
msgstr "Andere"
#: allianceauth/timerboard/form.py:54
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:44
msgid "Friendly"
msgstr "Vriendelijk"
#: allianceauth/timerboard/form.py:55
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Hostile"
msgstr "Vijandig"
#: allianceauth/timerboard/form.py:56
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Neutral"
msgstr "Neutraal"
#: allianceauth/timerboard/form.py:58
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13
#: allianceauth/timerboard/templates/timerboard/timertable.html:7
msgid "Details"
msgstr "Details"
#: allianceauth/timerboard/form.py:38
#: allianceauth/timerboard/form.py:60
msgid "Planet/Moon"
msgstr "Planeet/Maan"
#: allianceauth/timerboard/form.py:39
#: allianceauth/timerboard/form.py:61
msgid "Structure Type"
msgstr ""
#: allianceauth/timerboard/form.py:40
#: allianceauth/timerboard/form.py:62
msgid "Timer Type"
msgstr "Timer Type"
#: allianceauth/timerboard/form.py:41
#: allianceauth/timerboard/form.py:63
#: allianceauth/timerboard/templates/timerboard/timertable.html:8
msgid "Objective"
msgstr "Doel"
#: allianceauth/timerboard/form.py:42
#: allianceauth/timerboard/form.py:64
msgid "Absolute Timer"
msgstr "Absolute Timer"
#: allianceauth/timerboard/form.py:43
#: allianceauth/timerboard/form.py:65
msgid "Date and Time"
msgstr "Datum en Tijd"
#: allianceauth/timerboard/form.py:44
#: allianceauth/timerboard/form.py:66
msgid "Days Remaining"
msgstr "Resterende Dagen"
#: allianceauth/timerboard/form.py:45
#: allianceauth/timerboard/form.py:67
msgid "Hours Remaining"
msgstr "Resterende Uren"
#: allianceauth/timerboard/form.py:47
#: allianceauth/timerboard/form.py:69
msgid "Minutes Remaining"
msgstr "Resterende Minuten"
#: allianceauth/timerboard/form.py:48
#: allianceauth/timerboard/form.py:71
msgid "Important"
msgstr "Belangrijk"
#: allianceauth/timerboard/form.py:49
#: allianceauth/timerboard/form.py:72
msgid "Corp-Restricted"
msgstr ""
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "Vriendelijk"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "Vijandig"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "Neutraal"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr ""
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr ""
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
msgid "TCU"
msgstr ""
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
msgid "POS [S]"
msgstr ""
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
msgid "POS [M]"
msgstr ""
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
msgid "POS [L]"
msgstr ""
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
msgid "Astrahus"
msgstr "Astrahus"
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
msgid "Fortizar"
msgstr "Fortizar"
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
msgid "Keepstar"
msgstr "Keepstar"
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
msgid "Raitaru"
msgstr "Raitaru"
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
msgid "Azbel"
msgstr "Sotiyo"
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
msgid "Sotiyo"
msgstr "Sotiyo"
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
msgid "Athanor"
msgstr "Athanor"
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
msgid "Tatara"
msgstr "Tatara"
#: allianceauth/timerboard/models.py:39
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
msgid "Ansiblex Jump Gate"
msgstr "Ansiblex Jump Gate"
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
msgid "Moon Mining Cycle"
msgstr "Maan mijn Cyclus"
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
msgid "Other"
msgstr "Andere"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:14
msgid "Not Specified"
msgstr "Niet gespecifieerd"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:15
msgid "Shield"
msgstr "Schild"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:16
msgid "Armor"
msgstr "Pantser"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:17
msgid "Hull"
msgstr "Romp"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:18
msgid "Final"
msgstr "Laatste"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:19
msgid "Anchoring"
msgstr "Ankeren"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:20
msgid "Unanchoring"
msgstr "ontankeren"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
msgid "Timer"
msgstr "Timer"
@@ -2798,14 +2659,78 @@ msgstr ""
msgid "Structure"
msgstr "Constructie"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "POCO"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "I-HUB"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "TCU"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "POS [S]"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "POS [M]"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:94
msgid "POS [L]"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:100
msgid "Astrahus"
msgstr "Astrahus"
#: allianceauth/timerboard/templates/timerboard/timertable.html:106
msgid "Fortizar"
msgstr "Fortizar"
#: allianceauth/timerboard/templates/timerboard/timertable.html:112
msgid "Keepstar"
msgstr "Keepstar"
#: allianceauth/timerboard/templates/timerboard/timertable.html:118
msgid "Raitaru"
msgstr "Raitaru"
#: allianceauth/timerboard/templates/timerboard/timertable.html:124
msgid "Azbel"
msgstr "Sotiyo"
#: allianceauth/timerboard/templates/timerboard/timertable.html:130
msgid "Sotiyo"
msgstr "Sotiyo"
#: allianceauth/timerboard/templates/timerboard/timertable.html:136
msgid "Athanor"
msgstr "Athanor"
#: allianceauth/timerboard/templates/timerboard/timertable.html:142
msgid "Tatara"
msgstr "Tatara"
#: allianceauth/timerboard/templates/timerboard/timertable.html:148
msgid "Cyno Beacon"
msgstr "Cyno Beacon"
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:154
msgid "Cyno Jammer"
msgstr "Cyno Jammer"
#: allianceauth/timerboard/templates/timerboard/timertable.html:160
msgid "Ansiblex Jump Gate"
msgstr "Ansiblex Jump Gate"
#: allianceauth/timerboard/templates/timerboard/timertable.html:166
msgid "Moon Mining Cycle"
msgstr "Maan mijn Cyclus"
#: allianceauth/timerboard/templates/timerboard/view.html:9
msgid "Structure Timer Management"
msgstr ""

View File

@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+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"
@@ -63,90 +63,70 @@ msgstr ""
"%s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Angielski"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Niemiecki"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Hiszpański"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Chiński uproszczony"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Włoski"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Japoński"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Koreański"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Francuski"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Rosyjski"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Koreański"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Francuski"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Japoński"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Włoski"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "Ukraiński"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Język"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Tryb nocny"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "Styl"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "Stan został zmieniony na: %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Stan twojego użytkownika to: %(state)s"
@@ -549,7 +529,6 @@ msgstr "Usuń FAT"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "Użytkownik"
@@ -751,6 +730,7 @@ msgstr "Zarządzanie Grupami"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "Grupy"
@@ -1929,48 +1909,6 @@ msgstr "Ustaw hasło IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Wyłączono konto IPSuite4."
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1980,10 +1918,6 @@ msgstr "Ustaw hasło"
msgid "Connect"
msgstr "Połącz"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2696,159 +2630,155 @@ msgstr "Ważny"
msgid "Corp-Restricted"
msgstr "Wewnętrzny dla Korporacji"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "Przyjaciel"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "Wróg"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "Neutralny"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr "POCO"
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr "I-HUB"
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr "TCU"
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr "POS (Mały)"
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr "POS (Średni)"
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr "POS (Duży)"
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr "Astrahus"
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr "Fortizar"
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr "Keepstar"
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr "Raitaru"
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr "Azbel"
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr "Sotiyo"
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr "Athanor"
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr "Tatara"
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr "Ansiblex Jump Gate"
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr "Cykl Koparki Księżycowej"
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "Inny"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "Nie określono"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "Pole siłowe"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "Armor"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "Struktura"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "Ostateczny"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "Kotwiczenie"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "Usunięcie kotwiczenia"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2898,11 +2828,11 @@ msgstr "Zaktualizuj Zdarzenie powiązane z Obiektami"
msgid "Structure"
msgstr "Obiekt"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr "Cyno Beacon"
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr "Cyno Jammer"

View File

@@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+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"
@@ -58,90 +58,70 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "Вам не разрешено добавлять или удалять эти ограниченные группы: %s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Английский"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Немецкий"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Испанский"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Китайский упрощённый"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Итальянский"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Японский"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Корейский"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Французский"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Русский"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Корейский"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Французский"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Японский"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Итальянский"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "Украинский"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Язык"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Ночной режим"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr ""
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "Статус изменен: %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Статус пилота: %(state)s"
@@ -533,7 +513,6 @@ msgstr "Удалить ФлАк"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "Пользователь"
@@ -735,6 +714,7 @@ msgstr "Управление Группой"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "Группы"
@@ -1920,48 +1900,6 @@ msgstr "Установить пароль IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Деактивированный аккаунт IPSuite4."
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1971,10 +1909,6 @@ msgstr "Установить Пароль"
msgid "Connect"
msgstr "Подключить"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2680,159 +2614,155 @@ msgstr "Важно"
msgid "Corp-Restricted"
msgstr "Корпорация зарегистрированна"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "Дружественный"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "Вражеский"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "Нейтрал"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr ""
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr ""
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr ""
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr ""
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr ""
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr ""
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr ""
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr ""
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr ""
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr ""
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr ""
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr ""
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr ""
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr ""
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr ""
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr ""
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "Прочие"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "Не указано"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "Щит"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "Броня"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "Структура"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "Финальный"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "Постановка на якорь"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "Снятие с якоря"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2882,11 +2812,11 @@ msgstr "Обновить Структурный Таймер"
msgid "Structure"
msgstr "Структура"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr ""

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Andrii Yukhymchak, 2024\n"
"Language-Team: Ukrainian (https://app.transifex.com/alliance-auth/teams/107430/uk/)\n"
@@ -61,90 +61,70 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "Вам заборонено додавати або видаляти ці обмежені групи: %s"
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "Англійська"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "Німецька"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "Іспанська"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "Китайська спрощена"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "Італійська"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "Японська"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "Корейська"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "Французька"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "Російська"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "Корейська"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "Французька"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "Японська"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "Італійська"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr "Українська"
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "Мова"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "Нічний режим"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr "Тема"
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr "Стан змінено на: %s"
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr "Стан вашого користувача зараз: %(state)s"
@@ -549,7 +529,6 @@ msgstr "Видалити Fat"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "Користувач"
@@ -751,6 +730,7 @@ msgstr "Керування групами"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "Групи"
@@ -1934,48 +1914,6 @@ msgstr "Встановити пароль IPSuite4."
msgid "Deactivated IPSuite4 account."
msgstr "Деактивовано обліковий запис IPSuite4."
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1985,10 +1923,6 @@ msgstr "Встановити пароль"
msgid "Connect"
msgstr "Підєднатись"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2704,159 +2638,155 @@ msgstr "Важливо"
msgid "Corp-Restricted"
msgstr "Обмежено для корпорації"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "Дружній"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "Ворожий"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "Нейтральний"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr "POCO"
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr "I-HUB"
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr "TCU"
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr "POS [S]"
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr "POS [M]"
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr "POS [L]"
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr "Астрахус"
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr "Фортізар"
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr "Кіпстар"
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr "Райтару"
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr "Азбел"
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr "Сотійо"
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr "Атанор"
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr "Татара"
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr "Мост Ансіблекс"
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr "Цикл видобутку супутника"
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "Інше"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr "Не визначено"
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "Щит"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "Броня"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "Корпус"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr "Фінальна"
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "Постановка на якір"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "Зняття з якорю"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2906,11 +2836,11 @@ msgstr "Оновити таймер структури"
msgid "Structure"
msgstr "Структура"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr "Циномаяк"
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr "Циноглушник"

View File

@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-10-21 12:59+1000\n"
"POT-Creation-Date: 2024-09-09 13:05+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Joel Falknau <ozirascal@gmail.com>, 2023\n"
"Language-Team: Chinese Simplified (https://app.transifex.com/alliance-auth/teams/107430/zh-Hans/)\n"
@@ -55,90 +55,70 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr ""
#: allianceauth/authentication/models.py:71
#: allianceauth/project_template/project_name/settings/base.py:99
msgid "English"
msgstr "英语"
#: allianceauth/authentication/models.py:72
msgid "Czech"
msgstr ""
#: allianceauth/authentication/models.py:73
#: allianceauth/project_template/project_name/settings/base.py:101
msgid "German"
msgstr "德语"
#: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:102
#: allianceauth/authentication/models.py:73
msgid "Spanish"
msgstr "西班牙语"
#: allianceauth/authentication/models.py:74
msgid "Chinese Simplified"
msgstr "简体中文"
#: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:103
msgid "Italian"
msgstr "意大利语"
#: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:104
msgid "Japanese"
msgstr "日语"
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:105
msgid "Korean"
msgstr "韩语"
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:106
msgid "French"
msgstr "法语"
#: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:109
msgid "Russian"
msgstr "俄语"
#: allianceauth/authentication/models.py:76
msgid "Korean"
msgstr "韩语"
#: allianceauth/authentication/models.py:77
msgid "French"
msgstr "法语"
#: allianceauth/authentication/models.py:78
msgid "Japanese"
msgstr "日语"
#: allianceauth/authentication/models.py:79
msgid "Italian"
msgstr "意大利语"
#: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:107
msgid "Dutch"
msgstr ""
#: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:108
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:110
msgid "Ukrainian"
msgstr ""
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:111
msgid "Simplified Chinese"
#: allianceauth/authentication/models.py:81
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:99
#: allianceauth/authentication/models.py:97
#: allianceauth/menu/templates/menu/menu-user.html:42
msgid "Language"
msgstr "语言"
#: allianceauth/authentication/models.py:104
#: allianceauth/authentication/models.py:102
#: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode"
msgstr "夜间模式"
#: allianceauth/authentication/models.py:108
#: allianceauth/authentication/models.py:106
#: allianceauth/menu/templates/menu/menu-user.html:46
msgid "Theme"
msgstr ""
#: allianceauth/authentication/models.py:125
#: allianceauth/authentication/models.py:123
#, python-format
msgid "State changed to: %s"
msgstr ""
#: allianceauth/authentication/models.py:126
#: allianceauth/authentication/models.py:124
#, python-format
msgid "Your user's state is now: %(state)s"
msgstr ""
@@ -526,7 +506,6 @@ msgstr "删除舰队活动历史"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35
#: allianceauth/hrapplications/templates/hrapplications/view.html:41
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:30
msgid "User"
msgstr "用户"
@@ -720,6 +699,7 @@ msgstr "用户组管理"
#: allianceauth/groupmanagement/auth_hooks.py:51
#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34
#: allianceauth/templates/allianceauth/side-menu.html:15
msgid "Groups"
msgstr "群组"
@@ -1863,48 +1843,6 @@ msgstr "修改IPSuite4密码"
msgid "Deactivated IPSuite4 account."
msgstr "停用IPSuite4账户"
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:6
msgid "Mumble"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:10
msgid "Mumble History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:22
msgid "Server Connection History"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:31
msgid "Displayed Name"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:32
msgid "Release"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:33
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:67
msgid "Version"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:34
msgid "Last Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:35
msgid "Last Disconnect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:47
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:59
msgid "Server Connection Breakdown"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:68
msgid "Number"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28
#: allianceauth/services/templates/services/service_password.html:26
msgid "Set Password"
@@ -1914,10 +1852,6 @@ msgstr "设置密码"
msgid "Connect"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:52
msgid "Mumble Connection History"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber"
msgstr "Jabber"
@@ -2618,159 +2552,155 @@ msgstr "重要信息"
msgid "Corp-Restricted"
msgstr "受限制的公司"
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/models.py:13
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39
#: allianceauth/timerboard/templates/timerboard/timertable.html:36
msgid "Friendly"
msgstr "蓝加"
#: allianceauth/timerboard/models.py:16
#: allianceauth/timerboard/models.py:14
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:34
msgid "Hostile"
msgstr "红减"
#: allianceauth/timerboard/models.py:17
#: allianceauth/timerboard/models.py:15
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:38
msgid "Neutral"
msgstr "白名"
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/models.py:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:48
msgid "POCO"
msgstr ""
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/models.py:19
#: allianceauth/timerboard/templates/timerboard/timertable.html:50
msgid "Orbital Skyhook"
msgstr ""
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/models.py:20
#: allianceauth/timerboard/templates/timerboard/timertable.html:52
msgid "I-HUB"
msgstr ""
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:55
#: allianceauth/timerboard/models.py:21
#: allianceauth/timerboard/templates/timerboard/timertable.html:54
msgid "TCU"
msgstr ""
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:57
#: allianceauth/timerboard/models.py:22
#: allianceauth/timerboard/templates/timerboard/timertable.html:56
msgid "POS [S]"
msgstr ""
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:59
#: allianceauth/timerboard/models.py:23
#: allianceauth/timerboard/templates/timerboard/timertable.html:58
msgid "POS [M]"
msgstr ""
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:61
#: allianceauth/timerboard/models.py:24
#: allianceauth/timerboard/templates/timerboard/timertable.html:60
msgid "POS [L]"
msgstr ""
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:63
#: allianceauth/timerboard/models.py:25
#: allianceauth/timerboard/templates/timerboard/timertable.html:62
msgid "Astrahus"
msgstr ""
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:65
#: allianceauth/timerboard/models.py:26
#: allianceauth/timerboard/templates/timerboard/timertable.html:64
msgid "Fortizar"
msgstr ""
#: allianceauth/timerboard/models.py:33
#: allianceauth/timerboard/templates/timerboard/timertable.html:67
#: allianceauth/timerboard/models.py:27
#: allianceauth/timerboard/templates/timerboard/timertable.html:66
msgid "Keepstar"
msgstr ""
#: allianceauth/timerboard/models.py:34
#: allianceauth/timerboard/templates/timerboard/timertable.html:69
#: allianceauth/timerboard/models.py:28
#: allianceauth/timerboard/templates/timerboard/timertable.html:68
msgid "Raitaru"
msgstr ""
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:71
#: allianceauth/timerboard/models.py:29
#: allianceauth/timerboard/templates/timerboard/timertable.html:70
msgid "Azbel"
msgstr ""
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:73
#: allianceauth/timerboard/models.py:30
#: allianceauth/timerboard/templates/timerboard/timertable.html:72
msgid "Sotiyo"
msgstr ""
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:75
#: allianceauth/timerboard/models.py:31
#: allianceauth/timerboard/templates/timerboard/timertable.html:74
msgid "Athanor"
msgstr ""
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:77
#: allianceauth/timerboard/models.py:32
#: allianceauth/timerboard/templates/timerboard/timertable.html:76
msgid "Tatara"
msgstr ""
#: allianceauth/timerboard/models.py:39
#: allianceauth/timerboard/models.py:33
msgid "Pharolux Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/models.py:40
#: allianceauth/timerboard/models.py:34
msgid "Tenebrex Cyno Jammer"
msgstr ""
#: allianceauth/timerboard/models.py:41
#: allianceauth/timerboard/templates/timerboard/timertable.html:83
#: allianceauth/timerboard/models.py:35
#: allianceauth/timerboard/templates/timerboard/timertable.html:82
msgid "Ansiblex Jump Gate"
msgstr ""
#: allianceauth/timerboard/models.py:42
#: allianceauth/timerboard/templates/timerboard/timertable.html:85
#: allianceauth/timerboard/models.py:36
#: allianceauth/timerboard/templates/timerboard/timertable.html:84
msgid "Moon Mining Cycle"
msgstr ""
#: allianceauth/timerboard/models.py:43
#: allianceauth/timerboard/templates/timerboard/timertable.html:87
#: allianceauth/timerboard/models.py:37
#: allianceauth/timerboard/templates/timerboard/timertable.html:86
msgid "Metenox Moon Drill"
msgstr ""
#: allianceauth/timerboard/models.py:44
#: allianceauth/timerboard/templates/timerboard/timertable.html:89
#: allianceauth/timerboard/models.py:38
#: allianceauth/timerboard/templates/timerboard/timertable.html:88
msgid "Other"
msgstr "其他"
#: allianceauth/timerboard/models.py:51
#: allianceauth/timerboard/models.py:45
msgid "Not Specified"
msgstr ""
#: allianceauth/timerboard/models.py:52
#: allianceauth/timerboard/models.py:46
msgid "Shield"
msgstr "护盾"
#: allianceauth/timerboard/models.py:53
#: allianceauth/timerboard/models.py:47
msgid "Armor"
msgstr "装甲"
#: allianceauth/timerboard/models.py:54
#: allianceauth/timerboard/models.py:48
msgid "Hull"
msgstr "结构"
#: allianceauth/timerboard/models.py:55
#: allianceauth/timerboard/models.py:49
msgid "Final"
msgstr ""
#: allianceauth/timerboard/models.py:56
#: allianceauth/timerboard/models.py:50
msgid "Anchoring"
msgstr "铆钉"
#: allianceauth/timerboard/models.py:57
#: allianceauth/timerboard/models.py:51
msgid "Unanchoring"
msgstr "解锚"
#: allianceauth/timerboard/models.py:58
msgid "Abandoned"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:53
msgid "Upcoming Timers"
@@ -2820,11 +2750,11 @@ msgstr "更新建筑时间表"
msgid "Structure"
msgstr "建筑"
#: allianceauth/timerboard/templates/timerboard/timertable.html:79
#: allianceauth/timerboard/templates/timerboard/timertable.html:78
msgid "Cyno Beacon"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/timertable.html:81
#: allianceauth/timerboard/templates/timerboard/timertable.html:80
msgid "Cyno Jammer"
msgstr ""

View File

@@ -11,8 +11,8 @@
data-bs-target="#{{ item.html_id }}"
aria-expanded="false"
aria-controls=""
{% endif %}
></i>
{% endif %}>
</i>
<a
class="nav-link flex-fill align-self-center me-auto {% if item.navactive %}{% navactive request item.navactive|join:' ' %}{% endif %}"
{% if item.is_folder %}
@@ -36,7 +36,7 @@
{% if item.is_folder %}
<span
class="pill m-2 align-self-center"
class="pill m-2 align-self-center collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#{{ item.html_id }}"

View File

@@ -186,7 +186,7 @@ class TestRenderDefaultMenu(TestCase):
classes = "fa-solid fa-users-gear"
url_name = "groupmanagement:management"
def render(self, request):
def render(Self, request):
# simulate no perms
return ""

View File

@@ -1,21 +1 @@
"""
Example
=======
.. code-block:: python
from allianceauth.notifications.models import Notification
def notify_user_view(request):
'''Simple view sending a notification to the user'''
Notification.objects.notify_user(
user=request.user,
title="Some title",
message="Some message",
level=Notification.Level.INFO,
)
"""
from .core import notify # noqa: F401

View File

@@ -1,4 +1,4 @@
from unittest.mock import patch
from unittest.mock import patch, Mock
from django.test import TestCase, override_settings

View File

@@ -1,6 +1,6 @@
import json
from unittest.mock import patch
from unittest.mock import patch, Mock
from django.test import TestCase, RequestFactory
from django.urls import reverse

View File

@@ -15,7 +15,7 @@ class OpForm(forms.Form):
operation_name = forms.CharField(max_length=254, required=True, label=_("Operation Name"))
type = forms.CharField(required=False, label=_("Operation Type"))
fc = forms.CharField(max_length=254, required=True, label=_("Fleet Commander"))
duration = forms.CharField(max_length=25, required=True, label=_("Duration"))
duration = forms.CharField(max_length=254, required=True, label=_("Duration"))
description = forms.CharField(
widget=forms.Textarea(attrs={"rows": 10, "cols": 20, "input_type": "textarea"}),
required=False,

View File

@@ -1,6 +1,5 @@
{% extends "allianceauth/base-bs5.html" %}
{% load aa_i18n %}
{% load i18n %}
{% block page_title %}
@@ -58,14 +57,11 @@
{% include "bundles/datatables-js-bs5.html" %}
{% include "bundles/filterdropdown-js.html" %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$(document).ready(() => {
const groupColumn = 0;
$('#tab_permissions_audit').DataTable({
language: {url: '{{ DT_LANG_PATH }}'},
columnDefs: [{
"visible": false,
"targets": groupColumn

View File

@@ -1,6 +1,5 @@
{% extends "allianceauth/base-bs5.html" %}
{% load aa_i18n %}
{% load i18n %}
{% block page_title %}
@@ -63,14 +62,11 @@
{% include "bundles/datatables-js-bs5.html" %}
{% include "bundles/filterdropdown-js.html" %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$(document).ready(() => {
const groupColumn = 0;
$('#tab_permissions_overview').DataTable({
language: {url: '{{ DT_LANG_PATH }}'},
columnDefs: [{
"visible": false,
"targets": groupColumn

View File

@@ -1,7 +1,7 @@
import logging
from django.contrib.auth.decorators import login_required, permission_required
from django.contrib.auth.models import Permission
from django.contrib.auth.models import Permission, User
from django.db.models import Count
from django.shortcuts import render, Http404

View File

@@ -12,8 +12,6 @@ from celery.schedules import crontab
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',
@@ -43,16 +41,13 @@ INSTALLED_APPS = [
'allianceauth.theme.flatly',
'allianceauth.theme.materia',
"allianceauth.custom_css",
'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'
CELERYBEAT_SCHEDULER = "allianceauth.crontab.schedulers.OffsetDatabaseScheduler"
CELERYBEAT_SCHEDULER = "django_celery_beat.schedulers.DatabaseScheduler"
CELERYBEAT_SCHEDULE = {
'esi_cleanup_callbackredirect': {
'task': 'esi.tasks.cleanup_callbackredirect',
@@ -65,12 +60,10 @@ CELERYBEAT_SCHEDULE = {
'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
},
'analytics_daily_stats': {
'task': 'allianceauth.analytics.tasks.analytics_daily_stats',
@@ -78,7 +71,6 @@ CELERYBEAT_SCHEDULE = {
}
}
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR = os.path.dirname(PROJECT_DIR)
@@ -101,55 +93,20 @@ LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale/'),
)
LANGUAGES = ( # Sorted by Language Code alphabetical order + English at top
("en", _("English")),
# ("cs-cz", _("Czech")), #Not yet at 50% translated
("de", _("German")),
("es", _("Spanish")),
("it-it", _("Italian")),
("ja", _("Japanese")),
("ko-kr", _("Korean")),
("fr-fr", _("French")),
("nl-nl", _("Dutch")),
("pl-pl", _("Polish")),
("ru", _("Russian")),
("uk", _("Ukrainian")),
("zh-hans", _("Simplified Chinese")),
LANGUAGES = (
("en", "English"),
("de", "German"),
("es", "Spanish"),
("zh-hans", "Chinese Simplified"),
("ru", "Russian"),
("ko", "Korean"),
("fr", "French"),
("ja", "Japanese"),
("it", "Italian"),
("uk", "Ukrainian"),
("pl", "Polish"),
)
# Django's language codes are different from some of the libraries we use,
# so we need to map them.
LANGUAGE_MAPPING = {
"DataTables": {
"cs-cz": "cs",
"de": "de-DE",
"es": "es-ES",
"fr-fr": "fr-FR",
"it-it": "it-IT",
"ja": "ja",
"ko-kr": "ko",
"nl-nl": "nl-NL",
"pl-pl": "pl",
"ru": "ru",
"uk": "uk",
"zh-hans": "zh-HANT",
},
"MomentJS": {
"cs-cz": "cs",
"de": "de",
"es": "es",
"fr-fr": "fr",
"it-it": "it",
"ja": "ja",
"ko-kr": "ko",
"nl-nl": "nl",
"pl-pl": "pl",
"ru": "ru",
"uk": "uk",
"zh-hans": "zh-cn",
},
}
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',

View File

@@ -1,6 +1,13 @@
from string import Formatter
from django.urls import include, re_path
from typing import Iterable, Optional
from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist
from django.template.loader import render_to_string
from django.urls import include, re_path
from django.utils.functional import cached_property
from allianceauth.hooks import get_hooks
from allianceauth.menu.hooks import MenuItemHook
from django.conf import settings

View File

@@ -37,6 +37,7 @@ import random
from django.contrib.auth.models import User, Group
from allianceauth.services.modules.discord.models import DiscordUser
from allianceauth.utils.cache import get_redis_client
logger = logging.getLogger('allianceauth')

View File

@@ -1,4 +1,5 @@
import logging
import requests
import re
from django.conf import settings
from django.core.cache import cache

View File

@@ -1,7 +1,7 @@
from django.conf import settings
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect
from django.shortcuts import render, redirect
from django.utils.translation import gettext_lazy as _
from .manager import DiscourseManager

View File

@@ -1,3 +1,4 @@
from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist
from allianceauth.services.hooks import NameFormatter

View File

@@ -1,37 +0,0 @@
# Generated by Django 4.2.16 on 2024-10-07 13:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("mumble", "0012_mumble_client_info"),
]
operations = [
migrations.AlterModelOptions(
name="mumbleuser",
options={
"permissions": (
("access_mumble", "Can access the Mumble service"),
(
"view_connection_history",
"Can access the connection history of the Mumble service",
),
)
},
),
migrations.AlterField(
model_name="mumbleuser",
name="release",
field=models.TextField(
blank=True,
editable=False,
help_text="Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else.",
max_length=254,
null=True,
verbose_name="Mumble Release",
),
),
]

View File

@@ -90,7 +90,7 @@ class MumbleUser(AbstractServiceModel):
blank=True,
null=True,
editable=False,
help_text="Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else."
help_text="The Mumble Release the user last authenticated with"
)
version = models.IntegerField(
verbose_name="Mumble Version",
@@ -159,5 +159,4 @@ class MumbleUser(AbstractServiceModel):
class Meta:
permissions = (
("access_mumble", "Can access the Mumble service"),
("view_connection_history", "Can access the connection history of the Mumble service"),
)

View File

@@ -1,214 +0,0 @@
{% extends "allianceauth/base-bs5.html" %}
{% load aa_i18n %}
{% load i18n %}
{% block page_title %}
{% translate "Mumble" %}
{% endblock page_title %}
{% block header_nav_brand %}
<a class="navbar-brand">{% trans "Mumble History" %} - {{ mumble_url }}</a>
{% endblock header_nav_brand %}
{% block header_nav_collapse_left %}
{% endblock header_nav_collapse_left %}
{% block header_nav_collapse_right %}
{% endblock header_nav_collapse_right %}
{% block content %}
<div class="card col-lg-12 mb-3">
<div class="card-header">
<span class="card-title">{% translate "Server Connection History" %}</span>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table w-100" id="table-mumble-connection-history">
<thead>
<tr>
<th class="text-start">{% translate "User" %}</th>
<th class="text-start">{% translate "Displayed Name" %}</th>
<th class="text-start">{% translate "Release" %}</th>
<th class="text-start">{% translate "Version" %}</th>
<th class="text-end">{% translate "Last Connect" %}</th>
<th class="text-end">{% translate "Last Disconnect" %}</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<span class="card-title">{% translate "Server Connection Breakdown" %}</span>
</div>
<div class="card-body">
<canvas id="pieChart"></canvas> <!-- Canvas element for the pie chart -->
</div>
</div>
</div>
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<span class="card-title">{% translate "Server Connection Breakdown" %}</span>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table w-100" id="table-mumble-connection-stats">
<thead>
<tr>
<th class="text-start">{% translate "Version" %}</th>
<th class="text-end">{% translate "Number" %}</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
</div>
{% endblock content %}
{% block extra_javascript %}
{% include "bundles/datatables-js-bs5.html" %}
{% include "bundles/filterdropdown-js.html" %}
{% include "bundles/chart-js.html" %}
{% include "bundles/moment-js.html" with locale=True %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
$(document).ready(function () {
const MUMBLESTATS_DATETIME_FORMAT = 'YYYY-MM-DD, HH:mm';
'use strict';
$("#table-mumble-connection-history").DataTable({
language: {url: '{{ DT_LANG_PATH }}'},
ajax: {
url: '{% url "mumble:connection_history_data" %}',
dataSrc: 'connection_history_data',
},
columns: [
{ data: 'user' },
{ data: 'display_name' },
{ data: 'release' },
{ data: 'version' },
{
data: 'last_connect',
render: (data) => {
return moment(data).utc().format(MUMBLESTATS_DATETIME_FORMAT);
},
className: 'text-end',
},
{
data: 'last_disconnect',
render: (data) => {
return moment(data).utc().format(MUMBLESTATS_DATETIME_FORMAT);
},
className: 'text-end',
},
],
order: [[4, 'desc']],
processing: true,
stateSave: true,
stateDuration: 0,
filterDropDown: {
columns: [
{
idx: 2,
},
{
idx: 3,
},
],
bootstrap: true,
bootstrap_version: 5,
},
});
$("#table-mumble-connection-stats").DataTable({
language: {url: '{{ DT_LANG_PATH }}'},
ajax: {
url: '{% url "mumble:release_counts_data" %}',
dataSrc: 'release_counts_data',
},
columns: [
{ data: 'release' },
{ data: 'user_count', className: 'text-end' },
],
order: [[1, 'desc']],
processing: true,
stateSave: true,
stateDuration: 0,
});
// Initialize empty Pie chart
const elementBody = document.querySelector('body');
const elementBodyCss = getComputedStyle(elementBody);
const ctx = document.getElementById('pieChart').getContext('2d');
const pieChart = new Chart(ctx, {
type: 'pie',
data: {
labels: [], // Initially empty
datasets: [
{
label: 'Server Connection Breakdown',
data: [], // Initially empty
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)'
],
borderWidth: 1
}
]
},
options: {
responsive: true,
plugins: {
legend: {
position: 'top'
}
}
}
});
Chart.defaults.color = elementBodyCss.color;
// AJAX call to dynamically update the chart
$.ajax({
url: '{% url "mumble:release_pie_chart_data" %}', // Your Django view URL that returns chart data
method: "GET",
success: (data) => {
// Replace chart data with the data from the AJAX response
pieChart.data.labels = data.labels; // Set the new labels
pieChart.data.datasets[0].data = data.values; // Set the new values
// Update the chart to reflect the new data
pieChart.update();
},
error: (xhr, status, error) => {
console.error('Error fetching pie chart data:', status, error);
},
});
});
</script>
{% endblock extra_javascript %}
{% block extra_css %}
{% include "bundles/datatables-css-bs5.html" %}
{% endblock extra_css %}

View File

@@ -48,9 +48,4 @@
</a>
{% endif %}
{% endif %}
{% if request.user.is_superuser %}
<a class="btn btn-primary" type="button" id="btnMumbleConnectionHistory" href="{% url 'mumble:connection_history' %}" title="{% translate 'Mumble Connection History' %}">
<i class="fa-solid fa-clock-rotate-left"></i> History
</a>
{% endif %}
{% endblock %}

View File

@@ -10,10 +10,6 @@ module_urls = [
path('deactivate/', views.DeleteMumbleView.as_view(), name='deactivate'),
path('reset_password/', views.ResetPasswordMumbleView.as_view(), name='reset_password'),
path('set_password/', views.SetPasswordMumbleView.as_view(), name='set_password'),
path('connection_history/', views.connection_history, name="connection_history"),
path('ajax/connection_history_data', views.connection_history_data, name="connection_history_data"),
path('ajax/release_counts_data', views.release_counts_data, name="release_counts_data"),
path('ajax/release_pie_chart_data', views.release_pie_chart_data, name="release_pie_chart_data"),
]
urlpatterns = [

View File

@@ -3,11 +3,6 @@ import logging
from allianceauth.services.forms import ServicePasswordModelForm
from allianceauth.services.abstract import BaseCreatePasswordServiceAccountView, BaseDeactivateServiceAccountView, \
BaseResetPasswordServiceAccountView, BaseSetPasswordServiceAccountView
from django.conf import settings
from django.contrib.auth.decorators import login_required, permission_required
from django.db.models import Count
from django.http import HttpResponse, JsonResponse
from django.shortcuts import render
from .models import MumbleUser
@@ -40,51 +35,3 @@ class ResetPasswordMumbleView(MumbleViewMixin, BaseResetPasswordServiceAccountVi
class SetPasswordMumbleView(MumbleViewMixin, BaseSetPasswordServiceAccountView):
form_class = MumblePasswordForm
@login_required
@permission_required('mumble.view_connection_history')
def connection_history(request) -> HttpResponse:
context = {
"mumble_url": settings.MUMBLE_URL,
}
return render(request, 'services/mumble/mumble_connection_history.html', context)
@login_required
@permission_required("mumble.view_connection_history")
def connection_history_data(request) -> JsonResponse:
connection_history_data = MumbleUser.objects.all(
).values(
'user',
'display_name',
'release',
'version',
'last_connect',
'last_disconnect',
)
return JsonResponse({"connection_history_data": list(connection_history_data)})
@login_required
@permission_required("mumble.view_connection_history")
def release_counts_data(request) -> JsonResponse:
release_counts_data = MumbleUser.objects.values('release').annotate(user_count=Count('user_id')).order_by('release')
return JsonResponse({
"release_counts_data": list(release_counts_data),
})
@login_required
@permission_required("mumble.view_connection_history")
def release_pie_chart_data(request) -> JsonResponse:
release_counts = MumbleUser.objects.values('release').annotate(user_count=Count('user_id')).order_by('release')
return JsonResponse({
"labels": list(release_counts.values_list("release", flat=True)),
"values": list(release_counts.values_list("user_count", flat=True)),
})

View File

@@ -1,5 +1,4 @@
{% extends "allianceauth/base-bs5.html" %}
{% load aa_i18n %}
{% load i18n %}
{% load humanize %}
@@ -169,8 +168,6 @@ ESC to cancel{% endblocktranslate %}" id="blah"></i></th>
{% include "bundles/moment-js.html" %}
{% include "bundles/clipboard-js.html" %}
{% get_datatables_language_static LANGUAGE_CODE as DT_LANG_PATH %}
<script>
const clipboard = new ClipboardJS('.copy-text-fa-icon');
@@ -240,7 +237,6 @@ ESC to cancel{% endblocktranslate %}" id="blah"></i></th>
});
elementTableSrpList.DataTable({
language: {url: '{{ DT_LANG_PATH }}'},
"order": [[ 6, "asc" ]],
"paging": false,
"columnDefs": [

View File

@@ -1,247 +0,0 @@
{
"emptyTable": "Tabulka neobsahuje žádná data",
"info": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů",
"infoEmpty": "Zobrazuji 0 až 0 z 0 záznamů",
"infoFiltered": "(filtrováno z celkem _MAX_ záznamů)",
"loadingRecords": "Načítám...",
"zeroRecords": "Žádné záznamy nebyly nalezeny",
"paginate": {
"first": "První",
"last": "Poslední",
"next": "Další",
"previous": "Předchozí"
},
"searchBuilder": {
"add": "Přidat podmínku",
"clearAll": "Smazat vše",
"condition": "Podmínka",
"conditions": {
"date": {
"after": "po",
"before": "před",
"between": "mezi",
"empty": "prázdné",
"equals": "rovno",
"not": "není",
"notBetween": "není mezi",
"notEmpty": "není prázdné"
},
"number": {
"between": "mezi",
"empty": "prázdné",
"equals": "rovno",
"gt": "větší",
"gte": "rovno a větší",
"lt": "menší",
"lte": "rovno a menší",
"not": "není",
"notBetween": "není mezi",
"notEmpty": "není prázdné"
},
"string": {
"contains": "obsahuje",
"empty": "prázdné",
"endsWith": "končí na",
"equals": "rovno",
"not": "není",
"notEmpty": "není prázdné",
"startsWith": "začíná na",
"notContains": "Podmínka",
"notStartsWith": "Nezačíná",
"notEndsWith": "Nekončí"
},
"array": {
"equals": "rovno",
"empty": "prázdné",
"contains": "obsahuje",
"not": "není",
"notEmpty": "není prázdné",
"without": "neobsahuje"
}
},
"data": "Sloupec",
"logicAnd": "A",
"logicOr": "NEBO",
"title": {
"0": "Rozšířený filtr",
"_": "Rozšířený filtr (%d)"
},
"value": "Hodnota",
"button": {
"0": "Rozšířený filtr",
"_": "Rozšířený filtr (%d)"
},
"deleteTitle": "Smazat filtrovací pravidlo",
"leftTitle": "Zrušení odsazení podmínky",
"rightTitle": "Odsazení podmínky"
},
"autoFill": {
"cancel": "Zrušit",
"fill": "Vyplň všechny buňky textem <i>%d<i><\/i><\/i>",
"fillHorizontal": "Vyplň všechny buňky horizontálně",
"fillVertical": "Vyplň všechny buňky vertikálně",
"info": "Příklad automatického vyplňování"
},
"buttons": {
"collection": "Kolekce <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
"copy": "Kopírovat",
"copyTitle": "Kopírovat do schránky",
"csv": "CSV",
"excel": "Excel",
"pageLength": {
"-1": "Zobrazit všechny řádky",
"_": "Zobrazit %d řádků",
"1": "Zobraz 1 řádek"
},
"pdf": "PDF",
"print": "Tisknout",
"colvis": "Viditelnost sloupců",
"colvisRestore": "Resetovat sloupce",
"copyKeys": "Zmáčkněte ctrl or u2318 + C pro zkopírování dat. Pro zrušení klikněte na tuto zprávu nebo zmáčkněte esc..",
"copySuccess": {
"1": "Zkopírován 1 řádek do schránky",
"_": "Zkopírováno %d řádků do schránky"
},
"createState": "Vytvořit Stav",
"removeAllStates": "Vymazat všechny Stavy",
"removeState": "Odstranit",
"renameState": "Odstranit",
"savedStates": "Uložit Stavy",
"stateRestore": "Stav %d",
"updateState": "Aktualizovat"
},
"searchPanes": {
"clearMessage": "Smazat vše",
"collapse": {
"0": "Vyhledávací Panely",
"_": "Vyhledávací Panely (%d)"
},
"count": "{total}",
"countFiltered": "{shown} ({total})",
"emptyPanes": "Žádné Vyhledávací Panely",
"loadMessage": "Načítám Vyhledávací Panely",
"title": "Aktivních filtrů - %d",
"showMessage": "Zobrazit Vše",
"collapseMessage": "Sbalit Vše"
},
"select": {
"cells": {
"1": "Vybrán 1 záznam",
"_": "Vybráno %d záznamů"
},
"columns": {
"1": "Vybrán 1 sloupec",
"_": "Vybráno %d sloupců"
},
"rows": {
"1": "Vybrán 1 řádek",
"_": "Vybráno %d řádků"
}
},
"aria": {
"sortAscending": "Aktivujte pro seřazení vzestupně",
"sortDescending": "Aktivujte pro seřazení sestupně"
},
"lengthMenu": "Zobrazit _MENU_ výsledků",
"processing": "Zpracovávání...",
"search": "Vyhledávání:",
"datetime": {
"previous": "Předchozí",
"next": "Další",
"hours": "Hodiny",
"minutes": "Minuty",
"seconds": "Vteřiny",
"unknown": "-",
"amPm": [
"Dopoledne",
"Odpoledne"
],
"months": [
"Leden",
"Únor",
"Březen",
"Duben",
"Květen",
"Červen",
"Červenec",
"Srpen",
"Září",
"Říjen",
"Listopad",
"Prosinec"
],
"weekdays": [
"Ne",
"Po",
"Út",
"St",
"Čt",
"Pá",
"So"
]
},
"editor": {
"close": "Zavřít",
"create": {
"button": "Nový",
"title": "Nový záznam",
"submit": "Vytvořit"
},
"edit": {
"button": "Změnit",
"title": "Změnit záznam",
"submit": "Aktualizovat"
},
"remove": {
"button": "Vymazat",
"title": "Smazání",
"submit": "Vymazat",
"confirm": {
"_": "Opravdu chcete smazat tyto %d řádky?",
"1": "Opravdu chcete smazat tento 1 řádek?"
}
},
"multi": {
"title": "Mnohočetný výběr",
"restore": "Vrátit změny",
"noMulti": "Toto pole může být editováno individuálně, ale ne jako soušást skupiny.",
"info": "Vybrané položky obsahují různé hodnoty pro tento vstup. Chcete-li upravit a nastavit všechny položky tohoto vstupu na stejnou hodnotu, klikněte nebo klepněte sem, jinak si zachovají své individuální hodnoty."
},
"error": {
"system": "Došlo k systémové chybě (&lt;a target=\"\\\" rel=\"nofollow\" href=\"\\\"&gt;Více informací&lt;\/a&gt;)."
}
},
"infoThousands": " ",
"decimal": ",",
"thousands": " ",
"stateRestore": {
"creationModal": {
"button": "Vytvořit",
"columns": {
"search": "Vyhledávání v buňce",
"visible": "Viditelnost buňky"
},
"name": "Název:",
"order": "Řazení",
"paging": "Stránkování",
"scroller": "Pozice skrolování",
"select": "Výběr",
"title": "Vytvořit nový Stav",
"toggleLabel": "Zahrnout",
"search": "Filtrování",
"searchBuilder": "Rozšířené filtrování"
},
"duplicateError": "Stav s tímto názvem ji existuje.",
"emptyError": "Název nemůže být prázný.",
"emptyStates": "Žádné uložené stavy",
"removeConfirm": "Opravdu chcete odstranbit %s?",
"removeError": "Chyba při odstraňování stavu.",
"removeJoiner": "a",
"removeSubmit": "Odstranit",
"removeTitle": "Odstranit Stav",
"renameButton": "Vymazat",
"renameLabel": "Nové jméno pro %s:",
"renameTitle": "Přejmenování Stavu"
},
"searchPlaceholder": "Příklad zástupného prvku"
}

View File

@@ -1,243 +0,0 @@
{
"emptyTable": "Keine Daten in der Tabelle vorhanden",
"info": "_START_ bis _END_ von _TOTAL_ Einträgen",
"infoEmpty": "Keine Daten vorhanden",
"infoFiltered": "(gefiltert von _MAX_ Einträgen)",
"infoThousands": ".",
"loadingRecords": "Wird geladen ..",
"processing": "Bitte warten ..",
"paginate": {
"first": "Erste",
"next": "Nächste",
"last": "Letzte",
"previous": "Vorherige"
},
"aria": {
"sortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren",
"sortDescending": ": aktivieren, um Spalte absteigend zu sortieren"
},
"select": {
"rows": {
"_": "%d Zeilen ausgewählt",
"1": "1 Zeile ausgewählt"
},
"cells": {
"1": "1 Zelle ausgewählt",
"_": "%d Zellen ausgewählt"
},
"columns": {
"1": "1 Spalte ausgewählt",
"_": "%d Spalten ausgewählt"
}
},
"buttons": {
"print": "Drucken",
"copy": "Kopieren",
"copyTitle": "In Zwischenablage kopieren",
"copySuccess": {
"_": "%d Zeilen kopiert",
"1": "1 Zeile kopiert"
},
"collection": "Aktionen <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
"colvis": "Spaltensichtbarkeit",
"colvisRestore": "Sichtbarkeit wiederherstellen",
"csv": "CSV",
"excel": "Excel",
"pageLength": {
"-1": "Alle Zeilen anzeigen",
"1": "Zeige 1 Zeile",
"_": "Zeige %d Zeilen"
},
"pdf": "PDF",
"createState": "Ansicht erstellen",
"removeAllStates": "Alle Ansichten entfernen",
"removeState": "Entfernen",
"renameState": "Umbenennen",
"savedStates": "Gespeicherte Ansicht",
"stateRestore": "Ansicht %d",
"updateState": "Aktualisieren",
"copyKeys": "Taste <i>STRG&lt;\\\/i&gt; oder <i>⌘&lt;\\\/i&gt; + <i>C&lt;\\\/i&gt; drücken um die Tabelle<br \/>in den Zwischenspeicher zu kopieren.<br \/><br \/>Um den Vorgang abzubrechen, Nachricht anklicken oder Escape-Taste drücken.<\/i><\/i><\/i>"
},
"autoFill": {
"cancel": "Abbrechen",
"fill": "Alle Zellen mit <i>%d<i> füllen<\/i><\/i>",
"fillHorizontal": "Alle horizontalen Zellen füllen",
"fillVertical": "Alle vertikalen Zellen füllen",
"info": "Automatische Vervollständigung"
},
"decimal": ",",
"search": "Suche:",
"searchBuilder": {
"add": "Bedingung hinzufügen",
"button": {
"0": "Such-Baukasten",
"_": "Such-Baukasten (%d)"
},
"condition": "Bedingung",
"conditions": {
"date": {
"after": "Nach",
"before": "Vor",
"between": "Zwischen",
"empty": "Leer",
"not": "Nicht",
"notBetween": "Nicht zwischen",
"notEmpty": "Nicht leer",
"equals": "Gleich"
},
"number": {
"between": "Zwischen",
"empty": "Leer",
"equals": "Entspricht",
"gt": "Größer als",
"gte": "Größer als oder gleich",
"lt": "Kleiner als",
"lte": "Kleiner als oder gleich",
"not": "Nicht",
"notBetween": "Nicht zwischen",
"notEmpty": "Nicht leer"
},
"string": {
"contains": "Beinhaltet",
"empty": "Leer",
"endsWith": "Endet mit",
"equals": "Entspricht",
"not": "Nicht",
"notEmpty": "Nicht leer",
"startsWith": "Startet mit",
"notContains": "enthält nicht",
"notStartsWith": "startet nicht mit",
"notEndsWith": "endet nicht mit"
},
"array": {
"equals": "ist gleich",
"empty": "ist leer",
"contains": "enthält",
"not": "ist ungleich",
"notEmpty": "ist nicht leer",
"without": "aber nicht"
}
},
"data": "Daten",
"deleteTitle": "Filterregel entfernen",
"leftTitle": "Äußere Kriterien",
"rightTitle": "Innere Kriterien",
"title": {
"0": "Such-Baukasten",
"_": "Such-Baukasten (%d)"
},
"value": "Wert",
"clearAll": "Alle entfernen",
"logicAnd": "Und",
"logicOr": "Oder"
},
"searchPanes": {
"clearMessage": "Leeren",
"collapse": {
"0": "Suchmasken",
"_": "Suchmasken (%d)"
},
"countFiltered": "{shown} ({total})",
"emptyPanes": "Keine Suchmasken",
"title": "Aktive Filter: %d",
"showMessage": "zeige Alle",
"collapseMessage": "Alle einklappen",
"count": "{total}",
"loadMessage": "Lade Suchmasken .."
},
"thousands": ".",
"zeroRecords": "Keine passenden Einträge gefunden",
"lengthMenu": "_MENU_ Zeilen anzeigen",
"datetime": {
"previous": "Vorher",
"next": "Nachher",
"hours": "Stunden",
"minutes": "Minuten",
"seconds": "Sekunden",
"unknown": "Unbekannt",
"weekdays": [
"Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag"
],
"months": [
"Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember"
]
},
"editor": {
"close": "Schließen",
"create": {
"button": "Neu",
"title": "Neuen Eintrag erstellen",
"submit": "Erstellen"
},
"remove": {
"confirm": {
"_": "Sollen %d Zeilen gelöscht werden?",
"1": "Soll diese Zeile gelöscht werden?"
},
"button": "Entfernen",
"title": "Entfernen",
"submit": "Entfernen"
},
"error": {
"system": "Ein Systemfehler ist aufgetreten"
},
"multi": {
"title": "Mehrere Werte",
"restore": "Änderungen zurücksetzen",
"noMulti": "Dieses Feld kann nur einzeln bearbeitet werden, nicht als Teil einer Mengen-Änderung.",
"info": "Die ausgewählten Elemente enthalten mehrere Werte für dieses Feld. Um alle Elemente für dieses Feld zu bearbeiten und auf denselben Wert zu setzen, hier klicken oder tippen, andernfalls behalten diese ihre individuellen Werte bei."
},
"edit": {
"button": "Bearbeiten",
"title": "Eintrag bearbeiten",
"submit": "Bearbeiten"
}
},
"searchPlaceholder": "Suchen...",
"stateRestore": {
"creationModal": {
"button": "Erstellen",
"columns": {
"search": "Spalten Suche",
"visible": "Spalten Sichtbarkeit"
},
"name": "Name:",
"order": "Sortieren",
"paging": "Seiten",
"scroller": "Scroll Position",
"search": "Suche",
"searchBuilder": "Such-Baukasten",
"select": "Auswahl",
"title": "Neue Ansicht erstellen",
"toggleLabel": "Inkludiert:"
},
"duplicateError": "Eine Ansicht mit diesem Namen existiert bereits.",
"emptyError": "Name darf nicht leer sein.",
"emptyStates": "Keine gespeicherten Ansichten",
"removeError": "Entfernen der Ansicht fehlgeschlagen.",
"removeJoiner": " und ",
"removeSubmit": "Entfernen",
"removeTitle": "Ansicht entfernen",
"renameButton": "Umbenennen",
"renameLabel": "Neuer Name für %s:",
"renameTitle": "Ansicht umbenennen",
"removeConfirm": "Sicher dass %s entfernt werden soll?"
}
}

View File

@@ -1,244 +0,0 @@
{
"processing": "Procesando...",
"lengthMenu": "Mostrar _MENU_ registros",
"zeroRecords": "No se encontraron resultados",
"emptyTable": "Ningún dato disponible en esta tabla",
"infoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
"infoFiltered": "(filtrado de un total de _MAX_ registros)",
"search": "Buscar:",
"loadingRecords": "Cargando...",
"paginate": {
"first": "Primero",
"last": "Último",
"next": "Siguiente",
"previous": "Anterior"
},
"aria": {
"sortAscending": ": Activar para ordenar la columna de manera ascendente",
"sortDescending": ": Activar para ordenar la columna de manera descendente"
},
"buttons": {
"copy": "Copiar",
"colvis": "Visibilidad",
"collection": "Colección",
"colvisRestore": "Restaurar visibilidad",
"copyKeys": "Presione ctrl o u2318 + C para copiar los datos de la tabla al portapapeles del sistema. <br \/> <br \/> Para cancelar, haga clic en este mensaje o presione escape.",
"copySuccess": {
"1": "Copiada 1 fila al portapapeles",
"_": "Copiadas %ds fila al portapapeles"
},
"copyTitle": "Copiar al portapapeles",
"csv": "CSV",
"excel": "Excel",
"pageLength": {
"-1": "Mostrar todas las filas",
"_": "Mostrar %d filas"
},
"pdf": "PDF",
"print": "Imprimir",
"renameState": "Cambiar nombre",
"updateState": "Actualizar",
"createState": "Crear Estado",
"removeAllStates": "Remover Estados",
"removeState": "Remover",
"savedStates": "Estados Guardados",
"stateRestore": "Estado %d"
},
"autoFill": {
"cancel": "Cancelar",
"fill": "Rellene todas las celdas con <i>%d<\/i>",
"fillHorizontal": "Rellenar celdas horizontalmente",
"fillVertical": "Rellenar celdas verticalmente"
},
"decimal": ",",
"searchBuilder": {
"add": "Añadir condición",
"button": {
"0": "Constructor de búsqueda",
"_": "Constructor de búsqueda (%d)"
},
"clearAll": "Borrar todo",
"condition": "Condición",
"conditions": {
"date": {
"before": "Antes",
"between": "Entre",
"empty": "Vacío",
"equals": "Igual a",
"notBetween": "No entre",
"not": "Diferente de",
"after": "Después",
"notEmpty": "No Vacío"
},
"number": {
"between": "Entre",
"equals": "Igual a",
"gt": "Mayor a",
"gte": "Mayor o igual a",
"lt": "Menor que",
"lte": "Menor o igual que",
"notBetween": "No entre",
"notEmpty": "No vacío",
"not": "Diferente de",
"empty": "Vacío"
},
"string": {
"contains": "Contiene",
"empty": "Vacío",
"endsWith": "Termina en",
"equals": "Igual a",
"startsWith": "Empieza con",
"not": "Diferente de",
"notContains": "No Contiene",
"notStartsWith": "No empieza con",
"notEndsWith": "No termina con",
"notEmpty": "No Vacío"
},
"array": {
"not": "Diferente de",
"equals": "Igual",
"empty": "Vacío",
"contains": "Contiene",
"notEmpty": "No Vacío",
"without": "Sin"
}
},
"data": "Data",
"deleteTitle": "Eliminar regla de filtrado",
"leftTitle": "Criterios anulados",
"logicAnd": "Y",
"logicOr": "O",
"rightTitle": "Criterios de sangría",
"title": {
"0": "Constructor de búsqueda",
"_": "Constructor de búsqueda (%d)"
},
"value": "Valor"
},
"searchPanes": {
"clearMessage": "Borrar todo",
"collapse": {
"0": "Paneles de búsqueda",
"_": "Paneles de búsqueda (%d)"
},
"count": "{total}",
"countFiltered": "{shown} ({total})",
"emptyPanes": "Sin paneles de búsqueda",
"loadMessage": "Cargando paneles de búsqueda",
"title": "Filtros Activos - %d",
"showMessage": "Mostrar Todo",
"collapseMessage": "Colapsar Todo"
},
"select": {
"cells": {
"1": "1 celda seleccionada",
"_": "%d celdas seleccionadas"
},
"columns": {
"1": "1 columna seleccionada",
"_": "%d columnas seleccionadas"
},
"rows": {
"1": "1 fila seleccionada",
"_": "%d filas seleccionadas"
}
},
"thousands": ".",
"datetime": {
"previous": "Anterior",
"hours": "Horas",
"minutes": "Minutos",
"seconds": "Segundos",
"unknown": "-",
"amPm": [
"AM",
"PM"
],
"months": {
"0": "Enero",
"1": "Febrero",
"10": "Noviembre",
"11": "Diciembre",
"2": "Marzo",
"3": "Abril",
"4": "Mayo",
"5": "Junio",
"6": "Julio",
"7": "Agosto",
"8": "Septiembre",
"9": "Octubre"
},
"weekdays": {
"0": "Dom",
"1": "Lun",
"2": "Mar",
"4": "Jue",
"5": "Vie",
"3": "Mié",
"6": "Sáb"
},
"next": "Próximo"
},
"editor": {
"close": "Cerrar",
"create": {
"button": "Nuevo",
"title": "Crear Nuevo Registro",
"submit": "Crear"
},
"edit": {
"button": "Editar",
"title": "Editar Registro",
"submit": "Actualizar"
},
"remove": {
"button": "Eliminar",
"title": "Eliminar Registro",
"submit": "Eliminar",
"confirm": {
"_": "¿Está seguro de que desea eliminar %d filas?",
"1": "¿Está seguro de que desea eliminar 1 fila?"
}
},
"error": {
"system": "Ha ocurrido un error en el sistema (<a target=\"\\\" rel=\"\\ nofollow\" href=\"\\\">Más información&lt;\\\/a&gt;).<\/a>"
},
"multi": {
"title": "Múltiples Valores",
"restore": "Deshacer Cambios",
"noMulti": "Este registro puede ser editado individualmente, pero no como parte de un grupo.",
"info": "Los elementos seleccionados contienen diferentes valores para este registro. Para editar y establecer todos los elementos de este registro con el mismo valor, haga clic o pulse aquí, de lo contrario conservarán sus valores individuales."
}
},
"info": "Mostrando _START_ a _END_ de _TOTAL_ registros",
"stateRestore": {
"creationModal": {
"button": "Crear",
"name": "Nombre:",
"order": "Clasificación",
"paging": "Paginación",
"select": "Seleccionar",
"columns": {
"search": "Búsqueda de Columna",
"visible": "Visibilidad de Columna"
},
"title": "Crear Nuevo Estado",
"toggleLabel": "Incluir:",
"scroller": "Posición de desplazamiento",
"search": "Búsqueda",
"searchBuilder": "Búsqueda avanzada"
},
"removeJoiner": "y",
"removeSubmit": "Eliminar",
"renameButton": "Cambiar Nombre",
"duplicateError": "Ya existe un Estado con este nombre.",
"emptyStates": "No hay Estados guardados",
"removeTitle": "Remover Estado",
"renameTitle": "Cambiar Nombre Estado",
"emptyError": "El nombre no puede estar vacío.",
"removeConfirm": "¿Seguro que quiere eliminar %s?",
"removeError": "Error al eliminar el Estado",
"renameLabel": "Nuevo nombre para %s:"
},
"infoThousands": "."
}

View File

@@ -1,245 +0,0 @@
{
"emptyTable": "Aucune donnée disponible dans le tableau",
"loadingRecords": "Chargement...",
"processing": "Traitement...",
"select": {
"rows": {
"_": "%d lignes sélectionnées",
"1": "1 ligne sélectionnée"
},
"cells": {
"1": "1 cellule sélectionnée",
"_": "%d cellules sélectionnées"
},
"columns": {
"1": "1 colonne sélectionnée",
"_": "%d colonnes sélectionnées"
}
},
"autoFill": {
"cancel": "Annuler",
"fill": "Remplir toutes les cellules avec <i>%d<\/i>",
"fillHorizontal": "Remplir les cellules horizontalement",
"fillVertical": "Remplir les cellules verticalement"
},
"searchBuilder": {
"conditions": {
"date": {
"after": "Après le",
"before": "Avant le",
"between": "Entre",
"empty": "Vide",
"not": "Différent de",
"notBetween": "Pas entre",
"notEmpty": "Non vide",
"equals": "Égal à"
},
"number": {
"between": "Entre",
"empty": "Vide",
"gt": "Supérieur à",
"gte": "Supérieur ou égal à",
"lt": "Inférieur à",
"lte": "Inférieur ou égal à",
"not": "Différent de",
"notBetween": "Pas entre",
"notEmpty": "Non vide",
"equals": "Égal à"
},
"string": {
"contains": "Contient",
"empty": "Vide",
"endsWith": "Se termine par",
"not": "Différent de",
"notEmpty": "Non vide",
"startsWith": "Commence par",
"equals": "Égal à",
"notContains": "Ne contient pas",
"notEndsWith": "Ne termine pas par",
"notStartsWith": "Ne commence pas par"
},
"array": {
"empty": "Vide",
"contains": "Contient",
"not": "Différent de",
"notEmpty": "Non vide",
"without": "Sans",
"equals": "Égal à"
}
},
"add": "Ajouter une condition",
"button": {
"0": "Recherche avancée",
"_": "Recherche avancée (%d)"
},
"clearAll": "Effacer tout",
"condition": "Condition",
"data": "Donnée",
"deleteTitle": "Supprimer la règle de filtrage",
"logicAnd": "Et",
"logicOr": "Ou",
"title": {
"0": "Recherche avancée",
"_": "Recherche avancée (%d)"
},
"value": "Valeur",
"leftTitle": "Désindenter le critère",
"rightTitle": "Indenter le critère"
},
"searchPanes": {
"clearMessage": "Effacer tout",
"count": "{total}",
"title": "Filtres actifs - %d",
"collapse": {
"0": "Volet de recherche",
"_": "Volet de recherche (%d)"
},
"countFiltered": "{shown} ({total})",
"emptyPanes": "Pas de volet de recherche",
"loadMessage": "Chargement du volet de recherche...",
"collapseMessage": "Réduire tout",
"showMessage": "Montrer tout"
},
"buttons": {
"collection": "Collection",
"colvis": "Visibilité colonnes",
"colvisRestore": "Rétablir visibilité",
"copy": "Copier",
"copySuccess": {
"1": "1 ligne copiée dans le presse-papier",
"_": "%d lignes copiées dans le presse-papier"
},
"copyTitle": "Copier dans le presse-papier",
"csv": "CSV",
"excel": "Excel",
"pageLength": {
"-1": "Afficher toutes les lignes",
"_": "Afficher %d lignes",
"1": "Afficher 1 ligne"
},
"pdf": "PDF",
"print": "Imprimer",
"copyKeys": "Appuyez sur ctrl ou u2318 + C pour copier les données du tableau dans votre presse-papier.",
"createState": "Créer un état",
"removeAllStates": "Supprimer tous les états",
"removeState": "Supprimer",
"renameState": "Renommer",
"savedStates": "États sauvegardés",
"stateRestore": "État %d",
"updateState": "Mettre à jour"
},
"decimal": ",",
"datetime": {
"previous": "Précédent",
"next": "Suivant",
"hours": "Heures",
"minutes": "Minutes",
"seconds": "Secondes",
"unknown": "-",
"amPm": [
"am",
"pm"
],
"months": {
"0": "Janvier",
"2": "Mars",
"3": "Avril",
"4": "Mai",
"5": "Juin",
"6": "Juillet",
"8": "Septembre",
"9": "Octobre",
"10": "Novembre",
"1": "Février",
"11": "Décembre",
"7": "Août"
},
"weekdays": [
"Dim",
"Lun",
"Mar",
"Mer",
"Jeu",
"Ven",
"Sam"
]
},
"editor": {
"close": "Fermer",
"create": {
"title": "Créer une nouvelle entrée",
"button": "Nouveau",
"submit": "Créer"
},
"edit": {
"button": "Editer",
"title": "Editer Entrée",
"submit": "Mettre à jour"
},
"remove": {
"button": "Supprimer",
"title": "Supprimer",
"submit": "Supprimer",
"confirm": {
"_": "Êtes-vous sûr de vouloir supprimer %d lignes ?",
"1": "Êtes-vous sûr de vouloir supprimer 1 ligne ?"
}
},
"multi": {
"title": "Valeurs multiples",
"info": "Les éléments sélectionnés contiennent différentes valeurs pour cette entrée. Pour modifier et définir tous les éléments de cette entrée à la même valeur, cliquez ou tapez ici, sinon ils conserveront leurs valeurs individuelles.",
"restore": "Annuler les modifications",
"noMulti": "Ce champ peut être modifié individuellement, mais ne fait pas partie d'un groupe. "
},
"error": {
"system": "Une erreur système s'est produite (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">Plus d'information<\/a>)."
}
},
"stateRestore": {
"removeSubmit": "Supprimer",
"creationModal": {
"button": "Créer",
"order": "Tri",
"paging": "Pagination",
"scroller": "Position du défilement",
"search": "Recherche",
"select": "Sélection",
"columns": {
"search": "Recherche par colonne",
"visible": "Visibilité des colonnes"
},
"name": "Nom :",
"searchBuilder": "Recherche avancée",
"title": "Créer un nouvel état",
"toggleLabel": "Inclus :"
},
"renameButton": "Renommer",
"duplicateError": "Il existe déjà un état avec ce nom.",
"emptyError": "Le nom ne peut pas être vide.",
"emptyStates": "Aucun état sauvegardé",
"removeConfirm": "Voulez vous vraiment supprimer %s ?",
"removeError": "Échec de la suppression de l'état.",
"removeJoiner": "et",
"removeTitle": "Supprimer l'état",
"renameLabel": "Nouveau nom pour %s :",
"renameTitle": "Renommer l'état"
},
"info": "Affichage de _START_ à _END_ sur _TOTAL_ entrées",
"infoEmpty": "Affichage de 0 à 0 sur 0 entrées",
"infoFiltered": "(filtrées depuis un total de _MAX_ entrées)",
"lengthMenu": "Afficher _MENU_ entrées",
"paginate": {
"first": "Première",
"last": "Dernière",
"next": "Suivante",
"previous": "Précédente"
},
"zeroRecords": "Aucune entrée correspondante trouvée",
"aria": {
"sortAscending": " : activer pour trier la colonne par ordre croissant",
"sortDescending": " : activer pour trier la colonne par ordre décroissant"
},
"infoThousands": " ",
"search": "Rechercher :",
"thousands": " "
}

View File

@@ -1,244 +0,0 @@
{
"infoFiltered": "(filtrati da _MAX_ elementi totali)",
"infoThousands": ".",
"loadingRecords": "Caricamento...",
"processing": "Elaborazione...",
"search": "Cerca:",
"paginate": {
"first": "Inizio",
"previous": "Precedente",
"next": "Successivo",
"last": "Fine"
},
"aria": {
"sortAscending": ": attiva per ordinare la colonna in ordine crescente",
"sortDescending": ": attiva per ordinare la colonna in ordine decrescente"
},
"autoFill": {
"cancel": "Annulla",
"fill": "Riempi tutte le celle con <i>%d<\/i>",
"fillHorizontal": "Riempi celle orizzontalmente",
"fillVertical": "Riempi celle verticalmente"
},
"buttons": {
"collection": "Collezione <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
"colvis": "Visibilità Colonna",
"colvisRestore": "Ripristina visibilità",
"copy": "Copia",
"copyKeys": "Premi ctrl o u2318 + C per copiare i dati della tabella nella tua clipboard di sistema.<br \/><br \/>Per annullare, clicca questo messaggio o premi ESC.",
"copySuccess": {
"1": "Copiata 1 riga nella clipboard",
"_": "Copiate %d righe nella clipboard"
},
"copyTitle": "Copia nella Clipboard",
"csv": "CSV",
"excel": "Excel",
"pageLength": {
"-1": "Mostra tutte le righe",
"_": "Mostra %d righe"
},
"pdf": "PDF",
"print": "Stampa",
"createState": "Crea stato",
"removeAllStates": "Rimuovi tutti gli stati",
"removeState": "Rimuovi",
"renameState": "Rinomina",
"savedStates": "Salva stato",
"stateRestore": "Ripristina stato",
"updateState": "Aggiorna"
},
"emptyTable": "Nessun dato disponibile nella tabella",
"info": "Risultati da _START_ a _END_ di _TOTAL_ elementi",
"infoEmpty": "Risultati da 0 a 0 di 0 elementi",
"lengthMenu": "Mostra _MENU_ elementi",
"searchBuilder": {
"add": "Aggiungi Condizione",
"button": {
"0": "Generatore di Ricerca",
"_": "Generatori di Ricerca (%d)"
},
"clearAll": "Pulisci Tutto",
"condition": "Condizione",
"conditions": {
"date": {
"after": "Dopo",
"before": "Prima",
"between": "Tra",
"empty": "Vuoto",
"equals": "Uguale A",
"not": "Non",
"notBetween": "Non Tra",
"notEmpty": "Non Vuoto"
},
"number": {
"between": "Tra",
"empty": "Vuoto",
"equals": "Uguale A",
"gt": "Maggiore Di",
"gte": "Maggiore O Uguale A",
"lt": "Minore Di",
"lte": "Minore O Uguale A",
"not": "Non",
"notBetween": "Non Tra",
"notEmpty": "Non Vuoto"
},
"string": {
"contains": "Contiene",
"empty": "Vuoto",
"endsWith": "Finisce Con",
"equals": "Uguale A",
"not": "Non",
"notEmpty": "Non Vuoto",
"startsWith": "Inizia Con",
"notContains": "Non Contiene",
"notStartsWith": "Non Inizia Con",
"notEndsWith": "Non Finisce Con"
},
"array": {
"equals": "Uguale A",
"empty": "Vuoto",
"contains": "Contiene",
"not": "Non",
"notEmpty": "Non Vuoto",
"without": "Senza"
}
},
"data": "Dati",
"deleteTitle": "Elimina regola filtro",
"leftTitle": "Criterio di Riduzione Rientro",
"logicAnd": "E",
"logicOr": "O",
"rightTitle": "Criterio di Aumento Rientro",
"title": {
"0": "Generatore di Ricerca",
"_": "Generatori di Ricerca (%d)"
},
"value": "Valore"
},
"searchPanes": {
"clearMessage": "Pulisci Tutto",
"collapse": {
"0": "Pannello di Ricerca",
"_": "Pannelli di Ricerca (%d)"
},
"count": "{total}",
"countFiltered": "{shown} ({total})",
"emptyPanes": "Nessun Pannello di Ricerca",
"loadMessage": "Caricamento Pannello di Ricerca",
"title": "Filtri Attivi - %d",
"showMessage": "Mostra tutto",
"collapseMessage": "Espandi tutto"
},
"select": {
"cells": {
"1": "1 cella selezionata",
"_": "%d celle selezionate"
},
"columns": {
"1": "1 colonna selezionata",
"_": "%d colonne selezionate"
},
"rows": {
"1": "1 riga selezionata",
"_": "%d righe selezionate"
}
},
"zeroRecords": "Nessun elemento corrispondente trovato",
"datetime": {
"amPm": [
"am",
"pm"
],
"hours": "ore",
"minutes": "minuti",
"next": "successivo",
"previous": "precedente",
"seconds": "secondi",
"unknown": "sconosciuto",
"weekdays": [
"Dom",
"Lun",
"Mar",
"Mer",
"Gio",
"Ven",
"Sab"
],
"months": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
]
},
"editor": {
"close": "Chiudi",
"create": {
"button": "Nuovo",
"submit": "Aggiungi",
"title": "Aggiungi nuovo elemento"
},
"edit": {
"button": "Modifica",
"submit": "Modifica",
"title": "Modifica elemento"
},
"error": {
"system": "Errore del sistema."
},
"multi": {
"info": "Gli elementi selezionati contengono valori diversi. Per modificare e impostare tutti gli elementi per questa selezione allo stesso valore, premi o clicca qui, altrimenti ogni cella manterrà il suo valore attuale.",
"noMulti": "Questa selezione può essere modificata individualmente, ma non se fa parte di un gruppo.",
"restore": "Annulla le modifiche",
"title": "Valori multipli"
},
"remove": {
"button": "Rimuovi",
"confirm": {
"_": "Sei sicuro di voler cancellare %d righe?",
"1": "Sei sicuro di voler cancellare 1 riga?"
},
"submit": "Rimuovi",
"title": "Rimuovi"
}
},
"thousands": ".",
"decimal": ",",
"stateRestore": {
"creationModal": {
"button": "Crea",
"columns": {
"search": "Colonna Cerca",
"visible": "Colonna Visibilità"
},
"name": "Nome:",
"order": "Ordinamento",
"paging": "Paginazione",
"scroller": "Scorri posizione",
"search": "Ricerca",
"searchBuilder": "Form di Ricerca",
"select": "Seleziona",
"title": "Crea nuovo Stato",
"toggleLabel": "Includi:"
},
"duplicateError": "Nome stato già presente",
"emptyError": "Il nome è obbligatorio",
"emptyStates": "Non ci sono stati salvati",
"removeConfirm": "Sei sicuro di eliminare lo Stato %s?",
"removeError": "Errore durante l'eliminazione dello Stato",
"removeJoiner": "e",
"removeSubmit": "Elimina",
"removeTitle": "Elimina Stato",
"renameButton": "Rinomina",
"renameLabel": "Nuovo nome per %s:",
"renameTitle": "Rinomina Stato"
}
}

Some files were not shown because too many files have changed in this diff Show More