Merge branch 'v5.x' of gitlab.com:allianceauth/allianceauth into v5-squash

This commit is contained in:
Joel Falknau 2025-07-04 10:10:07 +10:00
commit 4829900975
No known key found for this signature in database
167 changed files with 5015 additions and 2814 deletions

View File

@ -24,20 +24,14 @@ exclude: |
) )
repos: repos:
- repo: https://github.com/astral-sh/ruff-pre-commit # Code Upgrades
rev: v0.9.9
hooks:
# Run the linter, and only the linter
- id: ruff
- repo: https://github.com/adamchainz/django-upgrade - repo: https://github.com/adamchainz/django-upgrade
rev: 1.23.1 rev: 1.25.0
hooks: hooks:
- id: django-upgrade - id: django-upgrade
args: [--target-version=5.1] args: [--target-version=5.2]
- repo: https://github.com/asottile/pyupgrade
- repo: https://github.com/asottile/pyupgrade # Ruff doesnt get everything. rev: v3.20.0
rev: v3.19.1
hooks: hooks:
- id: pyupgrade - id: pyupgrade
args: [--py310-plus] args: [--py310-plus]
@ -73,30 +67,31 @@ repos:
- id: check-executables-have-shebangs - id: check-executables-have-shebangs
- id: end-of-file-fixer - id: end-of-file-fixer
- repo: https://github.com/editorconfig-checker/editorconfig-checker.python - repo: https://github.com/editorconfig-checker/editorconfig-checker.python
rev: 3.2.0 rev: 3.2.1
hooks: hooks:
- id: editorconfig-checker - id: editorconfig-checker
- repo: https://github.com/igorshubovych/markdownlint-cli - repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.44.0 rev: v0.45.0
hooks: hooks:
- id: markdownlint - id: markdownlint
language: node language: node
args: args:
- --disable=MD013 - --disable=MD013
# Infrastructure # Infrastructure
- repo: https://github.com/tox-dev/pyproject-fmt - repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.5.0 rev: v2.6.0
hooks: hooks:
- id: pyproject-fmt - id: pyproject-fmt
name: pyproject.toml formatter
description: "Format the pyproject.toml file."
args: args:
- --indent=4 - --indent=4
additional_dependencies: additional_dependencies:
- tox==4.24.1 # https://github.com/tox-dev/tox/releases/latest - tox==4.26.0 # https://github.com/tox-dev/tox/releases/latest
- repo: https://github.com/tox-dev/tox-ini-fmt
rev: 1.5.0
hooks:
- id: tox-ini-fmt
- repo: https://github.com/abravalheri/validate-pyproject - repo: https://github.com/abravalheri/validate-pyproject
rev: v0.23 rev: v0.24.1
hooks: hooks:
- id: validate-pyproject - id: validate-pyproject
name: Validate pyproject.toml
description: "Validate the pyproject.toml file."

View File

@ -1,15 +1,15 @@
# Alliance Auth # Alliance Auth
[![license](https://img.shields.io/badge/license-GPLv2-green)](https://pypi.org/project/allianceauth/) [![License](https://img.shields.io/badge/license-GPLv2-green)](https://pypi.org/project/allianceauth/)
[![python](https://img.shields.io/pypi/pyversions/allianceauth)](https://pypi.org/project/allianceauth/) [![Python Versions](https://img.shields.io/pypi/pyversions/allianceauth)](https://pypi.org/project/allianceauth/)
[![django](https://img.shields.io/pypi/djversions/allianceauth?label=django)](https://pypi.org/project/allianceauth/) [![Django Versions](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/) [![Stable AA 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) [![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)](https://allianceauth.readthedocs.io/?badge=latest)
[![coverage report](https://gitlab.com/allianceauth/allianceauth/badges/master/coverage.svg)](https://gitlab.com/allianceauth/allianceauth/commits/master) [![Test 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) [![Chat on Discord](https://img.shields.io/discord/399006117012832262.svg)](https://discord.gg/fjnHAmk)
An auth system for EVE Online to help in-game organizations manage online service access. A flexible authentication platform for EVE Online to help in-game organizations manage access to applications and services. AA provides both, a stable core, and a robust framework for community development and custom applications.
## Content ## Content
@ -22,17 +22,17 @@ An auth system for EVE Online to help in-game organizations manage online servic
## Overview ## Overview
Alliance Auth (AA) is a web site that helps Eve Online organizations efficiently manage access to applications and services. Alliance Auth (AA) is a platform that helps Eve Online organizations efficiently manage access to applications and services.
Main features: Main features:
- Automatically grants or revokes user access to external services (e.g. Discord, Mumble) and web apps (e.g. SRP requests) based on the user's current membership to [in-game organizations](https://allianceauth.readthedocs.io/en/latest/features/core/states/) and [groups](https://allianceauth.readthedocs.io/en/latest/features/core/groups/) - Automatically grants or revokes user access to external services (e.g.: Discord, Mumble) based on the user's current membership to [a variety of EVE Online affiliation](https://allianceauth.readthedocs.io/en/latest/features/core/states/) and [groups](https://allianceauth.readthedocs.io/en/latest/features/core/groups/)
- Provides a central web site where users can directly access web apps (e.g. SRP requests, Fleet Schedule) and manage their access to external services and groups. - Provides a central web site where users can directly access web apps (e.g. SRP requests, Fleet Schedule) and manage their access to external services and groups.
- Includes a set of connectors (called ["services"](https://allianceauth.readthedocs.io/en/latest/features/services/)) for integrating access management with many popular external applications / services like Discord, Mumble, Teamspeak 3, SMF and others - Includes a set of connectors (called ["Services"](https://allianceauth.readthedocs.io/en/latest/features/services/)) for integrating access management with many popular external applications / services like Discord, Mumble, Teamspeak 3, SMF and others
- Includes a set of web [apps](https://allianceauth.readthedocs.io/en/latest/features/apps/) which add many useful functions, e.g.: fleet schedule, timer board, SRP request management, fleet activity tracker - Includes a set of web [Apps](https://allianceauth.readthedocs.io/en/latest/features/apps/) which add many useful functions, e.g.: fleet schedule, timer board, SRP request management, fleet activity tracker
- Can be easily extended with additional services and apps. Many are provided by the community and can be found here: [Community Creations](https://gitlab.com/allianceauth/community-creations) - Can be easily extended with additional services and apps. Many are provided by the community and can be found here: [Community Creations](https://gitlab.com/allianceauth/community-creations)
@ -42,9 +42,15 @@ For further details about AA - including an installation guide and a full list o
## Screenshot ## Screenshot
Here is an example of the Alliance Auth web site with some plug-ins apps and services enabled: Here is an example of the Alliance Auth web site with a mixture of Services, Apps and Community Creations enabled:
![screenshot](https://i.imgur.com/2tnX9kD.png) ### Flatly Theme
![Flatly Theme](docs/_static/images/promotion/SampleInstallation-Flatly.png)
### Darkly Theme
![Darkly Theme](docs/_static/images/promotion/SampleInstallation-Darkly.png)
## Support ## Support

View File

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

View File

View File

@ -0,0 +1,19 @@
"""Admin site for admin status applicaton"""
from django.contrib import admin
from allianceauth.admin_status.models import ApplicationAnnouncement
@admin.register(ApplicationAnnouncement)
class ApplicationAnnouncementAdmin(admin.ModelAdmin):
list_display = ["application_name", "announcement_number", "announcement_text", "hide_announcement"]
list_filter = ["hide_announcement"]
ordering = ["application_name", "announcement_number"]
readonly_fields = ["application_name", "announcement_number", "announcement_text", "announcement_url"]
fields = ["application_name", "announcement_number", "announcement_text", "announcement_url", "hide_announcement"]
def has_add_permission(self, request):
return False
def has_delete_permission(self, request, obj=None):
return False

View File

@ -0,0 +1,6 @@
from django.apps import AppConfig
class AdminStatusApplication(AppConfig):
name = 'allianceauth.admin_status'
label = 'admin_status'

View File

@ -0,0 +1,207 @@
import hashlib
import logging
from dataclasses import dataclass
from enum import Enum
from urllib.parse import quote_plus
import requests
from django.core.cache import cache
from allianceauth.hooks import get_hooks, register
logger = logging.getLogger(__name__)
# timeout for all requests
REQUESTS_TIMEOUT = 5 # 5 seconds
# max pages to be fetched from gitlab
MAX_PAGES = 50
# Cache time
NOTIFICATION_CACHE_TIME = 300 # 5 minutes
@dataclass
class Announcement:
"""
Dataclass storing all data for an announcement to be sent arround
"""
application_name: str
announcement_url: str
announcement_number: int
announcement_text: str
@classmethod
def build_from_gitlab_issue_dict(cls, application_name: str, gitlab_issue: dict) -> "Announcement":
"""Builds the announcement from the JSON dict of a GitLab issue"""
return Announcement(application_name, gitlab_issue["web_url"], gitlab_issue["iid"], gitlab_issue["title"])
@classmethod
def build_from_github_issue_dict(cls, application_name: str, github_issue: dict) -> "Announcement":
"""Builds the announcement from the JSON dict of a GitHub issue"""
return Announcement(application_name, github_issue["html_url"], github_issue["number"], github_issue["title"])
def get_hash(self):
"""Get a hash of the Announcement for comparison"""
name = f"{self.application_name}.{self.announcement_number}"
hash_value = hashlib.sha256(name.encode("utf-8")).hexdigest()
return hash_value
@dataclass
class AppAnnouncementHook:
"""
A hook for an application to send GitHub/GitLab issues as announcements on the dashboard
Args:
- app_name: The name of your application
- repository_namespace: The namespace of the remote repository of your application source code.
It should look like `<username>/<application_name>`.
- repository_kind: Enumeration to determine if your repository is a GitHub or GitLab repository.
- label: The label applied to issues that should be seen as announcements, case-sensitive.
Default value: `announcement`
"""
class Service(Enum):
"""Simple enumeration to determine which api should be called to access issues"""
GITLAB = "gitlab"
GITHUB = "github"
app_name: str
repository_namespace: str
repository_kind: Service
label: str = "announcement"
def get_announcement_list(self) -> list[Announcement]:
"""
Checks the application repository to find issues with the `Announcement` tag and return their title and link to
be displayed.
"""
logger.debug("Getting announcement list for the app %s", self.app_name)
match self.repository_kind:
case AppAnnouncementHook.Service.GITHUB:
announcement_list = self._get_github_announcement_list()
case AppAnnouncementHook.Service.GITLAB:
announcement_list = self._get_gitlab_announcement_list()
case _:
announcement_list = []
logger.debug("Announcements for app %s: %s", self.app_name, announcement_list)
return announcement_list
def _get_github_announcement_list(self) -> list[Announcement]:
"""
Return the issue list for a GitHub repository
Will filter if the `pull_request` attribute is present
"""
raw_list = _fetch_list_from_github(
f"https://api.github.com/repos/{self.repository_namespace}/issues"
f"?labels={self.label}"
)
return [Announcement.build_from_github_issue_dict(self.app_name, github_issue) for github_issue in raw_list]
def _get_gitlab_announcement_list(self) -> list[Announcement]:
"""Return the issues list for a GitLab repository"""
raw_list = _fetch_list_from_gitlab(
f"https://gitlab.com/api/v4/projects/{quote_plus(self.repository_namespace)}/issues"
f"?labels={self.label}&state=opened")
return [Announcement.build_from_gitlab_issue_dict(self.app_name, gitlab_issue) for gitlab_issue in raw_list]
@register("app_announcement_hook")
def alliance_auth_announcements_hook():
return AppAnnouncementHook("AllianceAuth", "allianceauth/allianceauth", AppAnnouncementHook.Service.GITLAB)
def get_all_applications_announcements() -> list[Announcement]:
"""
Retrieve all known application announcements and returns them
"""
application_notifications = []
hooks = [fn() for fn in get_hooks("app_announcement_hook")]
for hook in hooks:
logger.debug(hook)
try:
application_notifications.extend(cache.get_or_set(
f"{hook.app_name}_notification_issues",
hook.get_announcement_list,
NOTIFICATION_CACHE_TIME,
))
except requests.HTTPError:
logger.warning("Error when getting %s notifications", hook, exc_info=True)
logger.debug(application_notifications)
if application_notifications:
application_notifications = application_notifications[:10]
return application_notifications
def _fetch_list_from_gitlab(url: str, max_pages: int = MAX_PAGES) -> list:
"""returns a list from the GitLab API. Supports paging"""
result = []
for page in range(1, max_pages + 1):
try:
request = requests.get(
url, params={'page': page}, timeout=REQUESTS_TIMEOUT
)
request.raise_for_status()
except requests.exceptions.RequestException as e:
error_str = str(e)
logger.warning(
f'Unable to fetch from GitLab API. Error: {error_str}',
exc_info=True,
)
return result
result += request.json()
if 'x-total-pages' in request.headers:
try:
total_pages = int(request.headers['x-total-pages'])
except ValueError:
total_pages = None
else:
total_pages = None
if not total_pages or page >= total_pages:
break
return result
def _fetch_list_from_github(url: str, max_pages: int = MAX_PAGES) -> list:
"""returns a list from the GitHub API. Supports paging"""
result = []
for page in range(1, max_pages+1):
try:
request = requests.get(
url,
params={'page': page},
headers={
"Accept": "application/vnd.github+json",
"X-GitHub-Api-Version": "2022-11-28"
},
timeout=REQUESTS_TIMEOUT,
)
request.raise_for_status()
except requests.exceptions.RequestException as e:
error_str = str(e)
logger.warning(
f'Unable to fetch from GitHub API. Error: {error_str}',
exc_info=True,
)
return result
result += request.json()
logger.debug(request.json())
# https://docs.github.com/en/rest/using-the-rest-api/using-pagination-in-the-rest-api?apiVersion=2022-11-28
# See Example creating a pagination method
if not ('link' in request.headers and 'rel=\"next\"' in request.headers['link']):
break
return result

View File

@ -0,0 +1,57 @@
from typing import TYPE_CHECKING
from django.db import models
from allianceauth.admin_status.hooks import (
Announcement,
get_all_applications_announcements,
)
from allianceauth.services.hooks import get_extension_logger
if TYPE_CHECKING:
from .models import ApplicationAnnouncement
logger = get_extension_logger(__name__)
class ApplicationAnnouncementManager(models.Manager):
def sync_and_return(self):
"""
Checks all hooks if new notifications need to be created.
Return all notification objects after
"""
logger.info("Syncing announcements")
current_announcements = get_all_applications_announcements()
self._delete_obsolete_announcements(current_announcements)
self._store_new_announcements(current_announcements)
return self.all()
def _delete_obsolete_announcements(self, current_announcements: list[Announcement]):
"""Deletes all announcements stored in the database that aren't retrieved anymore"""
hashes = [announcement.get_hash() for announcement in current_announcements]
self.exclude(announcement_hash__in=hashes).delete()
def _store_new_announcements(self, current_announcements: list[Announcement]):
"""Stores a new database object for new application announcements"""
for current_announcement in current_announcements:
try:
announcement = self.get(announcement_hash=current_announcement.get_hash())
except self.model.DoesNotExist:
self.create_from_announcement(current_announcement)
else:
# if exists update the text only
if announcement.announcement_text != current_announcement.announcement_text:
announcement.announcement_text = current_announcement.announcement_text
announcement.save()
def create_from_announcement(self, announcement: Announcement) -> "ApplicationAnnouncement":
"""Creates from the Announcement dataclass"""
return self.create(
application_name=announcement.application_name,
announcement_number=announcement.announcement_number,
announcement_text=announcement.announcement_text,
announcement_url=announcement.announcement_url,
announcement_hash=announcement.get_hash(),
)

View File

@ -0,0 +1,33 @@
# Generated by Django 5.1.9 on 2025-05-18 15:43
import django.db.models.manager
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='ApplicationAnnouncement',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('application_name', models.CharField(help_text='Name of the application that issued the announcement', max_length=50)),
('announcement_number', models.IntegerField(help_text='Issue number on the notification source')),
('announcement_text', models.TextField(help_text='Issue title text displayed on the dashboard', max_length=300)),
('announcement_url', models.TextField(max_length=200)),
('announcement_hash', models.CharField(default=None, editable=False, help_text='hash of an announcement. Must be nullable for unique comparison.', max_length=64, null=True, unique=True)),
('hide_announcement', models.BooleanField(default=False, help_text='Set to true if the announcement should not be displayed on the dashboard')),
],
options={
'constraints': [models.UniqueConstraint(fields=('application_name', 'announcement_number'), name='functional_pk_applicationissuenumber')],
},
managers=[
('object', django.db.models.manager.Manager()),
],
),
]

View File

@ -0,0 +1,45 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
from allianceauth.admin_status.managers import ApplicationAnnouncementManager
class ApplicationAnnouncement(models.Model):
"""
Announcement originating from an application
"""
object = ApplicationAnnouncementManager()
application_name = models.CharField(max_length=50, help_text=_("Name of the application that issued the announcement"))
announcement_number = models.IntegerField(help_text=_("Issue number on the notification source"))
announcement_text = models.TextField(max_length=300, help_text=_("Issue title text displayed on the dashboard"))
announcement_url = models.TextField(max_length=200)
announcement_hash = models.CharField(
max_length=64,
default=None,
unique=True,
editable=False,
help_text="hash of an announcement."
)
hide_announcement = models.BooleanField(
default=False,
help_text=_("Set to true if the announcement should not be displayed on the dashboard")
)
class Meta:
# Should be updated to a composite key when the switch to Django 5.2 is made
# https://docs.djangoproject.com/en/5.2/topics/composite-primary-key/
constraints = [
models.UniqueConstraint(
fields=["application_name", "announcement_number"], name="functional_pk_applicationissuenumber"
)
]
def __str__(self):
return f"{self.application_name} announcement #{self.announcement_number}"
def is_hidden(self) -> bool:
"""Function in case rules are made in the future to force hide/force show some announcements"""
return self.hide_announcement

View File

@ -2,7 +2,7 @@
{% load admin_status %} {% load admin_status %}
<div <div
class="progress-bar bg-{{ level }} task-status-progress-bar" class="progress-bar text-bg-{{ level }} task-status-progress-bar"
role="progressbar" role="progressbar"
aria-valuenow="{% decimal_widthratio tasks_count tasks_total 100 %}" aria-valuenow="{% decimal_widthratio tasks_count tasks_total 100 %}"
aria-valuemin="0" aria-valuemin="0"

View File

@ -2,21 +2,17 @@
{% load humanize %} {% load humanize %}
{% if notifications %} {% if notifications %}
<div id="aa-dashboard-panel-admin-notifications" class="col-12 mb-3"> <div id="aa-dashboard-panel-admin-application-notifications" class="col-12 mb-3">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
{% translate "Alliance Auth Notifications" as widget_title %} {% translate "Announcements" as widget_title %}
{% include "framework/dashboard/widget-title.html" with title=widget_title %} {% include "framework/dashboard/widget-title.html" with title=widget_title %}
<div> <div>
<ul class="list-group"> <ul class="list-group">
{% for notif in notifications %} {% for notif in notifications %}
<li class="list-group-item"> <li class="list-group-item">
{% if notif.state == 'opened' %} <span class="badge text-bg-success me-2">{% translate "Open" %}</span>
<span class="badge bg-success me-2">{% translate "Open" %}</span>
{% else %}
<span class="badge bg-danger me-2">{% translate "Closed" %}</span>
{% endif %}
<a href="{{ notif.web_url }}" target="_blank">#{{ notif.iid }} {{ notif.title }}</a> <a href="{{ notif.web_url }}" target="_blank">#{{ notif.iid }} {{ notif.title }}</a>
</li> </li>
{% empty %} {% empty %}
@ -28,13 +24,13 @@
<div class="text-end pt-3"> <div class="text-end pt-3">
<a href="https://gitlab.com/allianceauth/allianceauth/issues" target="_blank" class="me-1 text-decoration-none"> <a href="https://gitlab.com/allianceauth/allianceauth/issues" target="_blank" class="me-1 text-decoration-none">
<span class="badge" style="background-color: rgb(230 83 40);"> <span class="badge text-bg-danger">
<i class="fab fa-gitlab" aria-hidden="true"></i> <i class="fab fa-gitlab" aria-hidden="true"></i>
{% translate 'Powered by GitLab' %} {% translate 'Powered by GitLab' %}
</span> </span>
</a> </a>
<a href="https://discord.com/invite/fjnHAmk" target="_blank" class="text-decoration-none"> <a href="https://discord.com/invite/fjnHAmk" target="_blank" class="text-decoration-none">
<span class="badge" style="background-color: rgb(110 133 211);"> <span class="badge text-bg-info">
<i class="fab fa-discord" aria-hidden="true"></i> <i class="fab fa-discord" aria-hidden="true"></i>
{% translate 'Support Discord' %} {% translate 'Support Discord' %}
</span> </span>
@ -62,7 +58,7 @@
</div> </div>
</li> </li>
<li class="list-group-item bg-{% if latest_patch %}success{% elif latest_minor %}warning{% else %}danger{% endif %} w-100"> <li class="list-group-item text-bg-{% if latest_patch %}success{% elif latest_minor %}warning{% else %}danger{% endif %} w-100">
<a class="btn h-100 w-100" href="https://gitlab.com/allianceauth/allianceauth/-/releases/v{{ latest_patch_version }}"> <a class="btn h-100 w-100" href="https://gitlab.com/allianceauth/allianceauth/-/releases/v{{ latest_patch_version }}">
<h5 class="list-group-item-heading">{% translate "Latest Stable" %}</h5> <h5 class="list-group-item-heading">{% translate "Latest Stable" %}</h5>
@ -75,7 +71,7 @@
</li> </li>
{% if latest_beta %} {% if latest_beta %}
<li class="list-group-item bg-info w-100"> <li class="list-group-item text-bg-info w-100">
<a class="btn h-100 w-100" href="https://gitlab.com/allianceauth/allianceauth/-/releases/v{{ latest_beta_version }}"> <a class="btn h-100 w-100" href="https://gitlab.com/allianceauth/allianceauth/-/releases/v{{ latest_beta_version }}">
<h5 class="list-group-item-heading">{% translate "Latest Pre-Release" %}</h5> <h5 class="list-group-item-heading">{% translate "Latest Pre-Release" %}</h5>
@ -107,9 +103,9 @@
style="height: 21px;" style="height: 21px;"
title="{{ tasks_succeeded|intcomma }} succeeded, {{ tasks_retried|intcomma }} retried, {{ tasks_failed|intcomma }} failed" title="{{ tasks_succeeded|intcomma }} succeeded, {{ tasks_retried|intcomma }} retried, {{ tasks_failed|intcomma }} failed"
> >
{% include "allianceauth/admin-status/celery_bar_partial.html" with label="suceeded" level="success" tasks_count=tasks_succeeded %} {% include "admin-status/celery_bar_partial.html" with label="suceeded" level="success" tasks_count=tasks_succeeded %}
{% include "allianceauth/admin-status/celery_bar_partial.html" with label="retried" level="info" tasks_count=tasks_retried %} {% include "admin-status/celery_bar_partial.html" with label="retried" level="info" tasks_count=tasks_retried %}
{% include "allianceauth/admin-status/celery_bar_partial.html" with label="failed" level="danger" tasks_count=tasks_failed %} {% include "admin-status/celery_bar_partial.html" with label="failed" level="danger" tasks_count=tasks_failed %}
</div> </div>
<p> <p>
@ -118,6 +114,20 @@
</p> </p>
</div> </div>
</div> </div>
<div class="text-end pt-3">
<a href="https://gitlab.com/allianceauth/allianceauth/issues" target="_blank" class="me-1 text-decoration-none">
<span class="badge" style="background-color: rgb(230 83 40);">
<i class="fab fa-gitlab" aria-hidden="true"></i>
{% translate 'Powered by GitLab' %}
</span>
</a>
<a href="https://discord.com/invite/fjnHAmk" target="_blank" class="text-decoration-none">
<span class="badge" style="background-color: rgb(110 133 211);">
<i class="fab fa-discord" aria-hidden="true"></i>
{% translate 'Support Discord' %}
</span>
</a>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -8,6 +8,7 @@ from django.conf import settings
from django.core.cache import cache from django.core.cache import cache
from allianceauth import __version__ from allianceauth import __version__
from allianceauth.admin_status.models import ApplicationAnnouncement
from allianceauth.authentication.task_statistics.counters import ( from allianceauth.authentication.task_statistics.counters import (
dashboard_results, dashboard_results,
) )
@ -25,10 +26,6 @@ MAX_PAGES = 50
GITLAB_AUTH_REPOSITORY_TAGS_URL = ( GITLAB_AUTH_REPOSITORY_TAGS_URL = (
'https://gitlab.com/api/v4/projects/allianceauth%2Fallianceauth/repository/tags' 'https://gitlab.com/api/v4/projects/allianceauth%2Fallianceauth/repository/tags'
) )
GITLAB_AUTH_ANNOUNCEMENT_ISSUES_URL = (
'https://gitlab.com/api/v4/projects/allianceauth%2Fallianceauth/issues'
'?labels=announcement&state=opened'
)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -41,7 +38,7 @@ def decimal_widthratio(this_value, max_value, max_width) -> str:
return str(round(this_value / max_value * max_width, 2)) return str(round(this_value / max_value * max_width, 2))
@register.inclusion_tag('allianceauth/admin-status/overview.html') @register.inclusion_tag('admin-status/overview.html')
def status_overview() -> dict: def status_overview() -> dict:
response = { response = {
"notifications": [], "notifications": [],
@ -73,32 +70,15 @@ def _celery_stats() -> dict:
def _current_notifications() -> dict: def _current_notifications() -> dict:
"""returns the newest 5 announcement issues""" """returns announcements from AllianceAuth and third party applications"""
try:
notifications = cache.get_or_set( application_notifications = ApplicationAnnouncement.object.sync_and_return()
'gitlab_notification_issues',
_fetch_notification_issues_from_gitlab,
NOTIFICATION_CACHE_TIME
)
except requests.HTTPError:
logger.warning('Error while getting gitlab notifications', exc_info=True)
top_notifications = []
else:
if notifications:
top_notifications = notifications[:5]
else:
top_notifications = []
response = { response = {
'notifications': top_notifications, 'notifications': application_notifications,
} }
return response return response
def _fetch_notification_issues_from_gitlab() -> list:
return _fetch_list_from_gitlab(GITLAB_AUTH_ANNOUNCEMENT_ISSUES_URL, max_pages=10)
def _current_version_summary() -> dict: def _current_version_summary() -> dict:
"""returns the current version info""" """returns the current version info"""
try: try:

View File

@ -0,0 +1,194 @@
import requests_mock
from allianceauth.admin_status.hooks import Announcement
from allianceauth.services.hooks import AppAnnouncementHook
from allianceauth.utils.testing import NoSocketsTestCase
class TestHooks(NoSocketsTestCase):
@requests_mock.mock()
def test_fetch_gitlab(self, requests_mocker):
# given
announcement_hook = AppAnnouncementHook("test GitLab app", "r0kym/allianceauth-example-plugin",
AppAnnouncementHook.Service.GITLAB)
requests_mocker.get(
"https://gitlab.com/api/v4/projects/r0kym%2Fallianceauth-example-plugin/issues?labels=announcement&state=opened",
json=[
{
"id": 166279127,
"iid": 1,
"project_id": 67653102,
"title": "Test GitLab issue",
"description": "Test issue",
"state": "opened",
"created_at": "2025-04-20T21:26:57.914Z",
"updated_at": "2025-04-21T11:04:30.501Z",
"closed_at": None,
"closed_by": None,
"labels": [
"announcement"
],
"milestone": None,
"assignees": [],
"author": {
"id": 14491514,
"username": "r0kym",
"public_email": "",
"name": "T'rahk Rokym",
"state": "active",
"locked": False,
"avatar_url": "https://gitlab.com/uploads/-/system/user/avatar/14491514/avatar.png",
"web_url": "https://gitlab.com/r0kym"
},
"type": "ISSUE",
"assignee": None,
"user_notes_count": 0,
"merge_requests_count": 0,
"upvotes": 0,
"downvotes": 0,
"due_date": None,
"confidential": False,
"discussion_locked": None,
"issue_type": "issue",
"web_url": "https://gitlab.com/r0kym/allianceauth-example-plugin/-/issues/1",
"time_stats": {
"time_estimate": 0,
"total_time_spent": 0,
"human_time_estimate": None,
"human_total_time_spent": None
},
"task_completion_status": {
"count": 0,
"completed_count": 0
},
"blocking_issues_count": 0,
"has_tasks": True,
"task_status": "0 of 0 checklist items completed",
"_links": {
"self": "https://gitlab.com/api/v4/projects/67653102/issues/1",
"notes": "https://gitlab.com/api/v4/projects/67653102/issues/1/notes",
"award_emoji": "https://gitlab.com/api/v4/projects/67653102/issues/1/award_emoji",
"project": "https://gitlab.com/api/v4/projects/67653102",
"closed_as_duplicate_of": None
},
"references": {
"short": "#1",
"relative": "#1",
"full": "r0kym/allianceauth-example-plugin#1"
},
"severity": "UNKNOWN",
"moved_to_id": None,
"imported": False,
"imported_from": "none",
"service_desk_reply_to": None
}
]
)
# when
announcements = announcement_hook.get_announcement_list()
# then
self.assertEqual(len(announcements), 1)
self.assertIn(Announcement(
application_name="test GitLab app",
announcement_url="https://gitlab.com/r0kym/allianceauth-example-plugin/-/issues/1",
announcement_number=1,
announcement_text="Test GitLab issue"
), announcements)
@requests_mock.mock()
def test_fetch_github(self, requests_mocker):
# given
announcement_hook = AppAnnouncementHook("test GitHub app", "r0kym/test", AppAnnouncementHook.Service.GITHUB)
requests_mocker.get(
"https://api.github.com/repos/r0kym/test/issues?labels=announcement",
json=[
{
"url": "https://api.github.com/repos/r0kym/test/issues/1",
"repository_url": "https://api.github.com/repos/r0kym/test",
"labels_url": "https://api.github.com/repos/r0kym/test/issues/1/labels{/name}",
"comments_url": "https://api.github.com/repos/r0kym/test/issues/1/comments",
"events_url": "https://api.github.com/repos/r0kym/test/issues/1/events",
"html_url": "https://github.com/r0kym/test/issues/1",
"id": 3007269496,
"node_id": "I_kwDOOc2YvM6zP0p4",
"number": 1,
"title": "GitHub issue",
"user": {
"login": "r0kym",
"id": 56434393,
"node_id": "MDQ6VXNlcjU2NDM0Mzkz",
"avatar_url": "https://avatars.githubusercontent.com/u/56434393?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/r0kym",
"html_url": "https://github.com/r0kym",
"followers_url": "https://api.github.com/users/r0kym/followers",
"following_url": "https://api.github.com/users/r0kym/following{/other_user}",
"gists_url": "https://api.github.com/users/r0kym/gists{/gist_id}",
"starred_url": "https://api.github.com/users/r0kym/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/r0kym/subscriptions",
"organizations_url": "https://api.github.com/users/r0kym/orgs",
"repos_url": "https://api.github.com/users/r0kym/repos",
"events_url": "https://api.github.com/users/r0kym/events{/privacy}",
"received_events_url": "https://api.github.com/users/r0kym/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": False
},
"labels": [
{
"id": 8487814480,
"node_id": "LA_kwDOOc2YvM8AAAAB-enFUA",
"url": "https://api.github.com/repos/r0kym/test/labels/announcement",
"name": "announcement",
"color": "aaaaaa",
"default": False,
"description": None
}
],
"state": "open",
"locked": False,
"assignee": None,
"assignees": [],
"milestone": None,
"comments": 0,
"created_at": "2025-04-20T22:41:10Z",
"updated_at": "2025-04-21T11:05:08Z",
"closed_at": None,
"author_association": "OWNER",
"active_lock_reason": None,
"sub_issues_summary": {
"total": 0,
"completed": 0,
"percent_completed": 0
},
"body": None,
"closed_by": None,
"reactions": {
"url": "https://api.github.com/repos/r0kym/test/issues/1/reactions",
"total_count": 0,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
},
"timeline_url": "https://api.github.com/repos/r0kym/test/issues/1/timeline",
"performed_via_github_app": None,
"state_reason": None
}
]
)
# when
announcements = announcement_hook.get_announcement_list()
# then
self.assertEqual(len(announcements), 1)
self.assertIn(Announcement(
application_name="test GitHub app",
announcement_url="https://github.com/r0kym/test/issues/1",
announcement_number=1,
announcement_text="GitHub issue"
), announcements)

View File

@ -0,0 +1,75 @@
from unittest.mock import patch
from allianceauth.admin_status.hooks import Announcement
from allianceauth.admin_status.models import ApplicationAnnouncement
from allianceauth.utils.testing import NoSocketsTestCase
MODULE_PATH = 'allianceauth.admin_status.managers'
DEFAULT_ANNOUNCEMENTS = [
Announcement(
application_name="Test GitHub Application",
announcement_number=1,
announcement_text="GitHub issue",
announcement_url="https://github.com/r0kym/test/issues/1",
),
Announcement(
application_name="Test Gitlab Application",
announcement_number=1,
announcement_text="GitLab issue",
announcement_url="https://gitlab.com/r0kym/allianceauth-example-plugin/-/issues/1",
)
]
class TestSyncManager(NoSocketsTestCase):
def setUp(self):
ApplicationAnnouncement.object.create(
application_name="Test GitHub Application",
announcement_number=1,
announcement_text="GitHub issue",
announcement_url="https://github.com/r0kym/test/issues/1",
announcement_hash="9dbedb9c47529bb43cfecb704768a35d085b145930e13cced981623e5f162a85",
)
ApplicationAnnouncement.object.create(
application_name="Test Gitlab Application",
announcement_number=1,
announcement_text="GitLab issue",
announcement_url="https://gitlab.com/r0kym/allianceauth-example-plugin/-/issues/1",
announcement_hash="8955a9c12a1cfa9e1776662bdaf111147b84e35c79f24bfb758e35333a18b1bd",
)
@patch(MODULE_PATH + '.get_all_applications_announcements')
def test_announcements_stay_as_is(self, all_announcements_mocker):
# given
announcement_ids = set(ApplicationAnnouncement.object.values_list("id", flat=True))
all_announcements_mocker.return_value = DEFAULT_ANNOUNCEMENTS
# when
ApplicationAnnouncement.object.sync_and_return()
# then
self.assertEqual(ApplicationAnnouncement.object.count(), 2)
self.assertEqual(set(ApplicationAnnouncement.object.values_list("id", flat=True)), announcement_ids)
@patch(MODULE_PATH + '.get_all_applications_announcements')
def test_announcement_add(self, all_announcements_mocker):
# given
returned_announcements = DEFAULT_ANNOUNCEMENTS + [Announcement(application_name="Test Application", announcement_number=1, announcement_text="New test announcement", announcement_url="https://example.com")]
all_announcements_mocker.return_value = returned_announcements
# when
ApplicationAnnouncement.object.sync_and_return()
# then
self.assertEqual(ApplicationAnnouncement.object.count(), 3)
self.assertTrue(ApplicationAnnouncement.object.filter(application_name="Test Application", announcement_number=1, announcement_text="New test announcement", announcement_url="https://example.com"))
@patch(MODULE_PATH + '.get_all_applications_announcements')
def test_announcement_remove(self, all_announcements_mocker):
# given
all_announcements_mocker.return_value = DEFAULT_ANNOUNCEMENTS
ApplicationAnnouncement.object.sync_and_return()
self.assertEqual(ApplicationAnnouncement.object.count(), 2)
all_announcements_mocker.return_value = DEFAULT_ANNOUNCEMENTS[:1]
# when
ApplicationAnnouncement.object.sync_and_return()
# then
self.assertEqual(ApplicationAnnouncement.object.count(), 1)
self.assertTrue(ApplicationAnnouncement.object.filter(application_name="Test GitHub Application").exists())

View File

@ -8,23 +8,61 @@ from packaging.version import Version as Pep440Version
from django.core.cache import cache from django.core.cache import cache
from django.test import TestCase from django.test import TestCase
from allianceauth.templatetags.admin_status import ( from allianceauth.admin_status.models import ApplicationAnnouncement
from allianceauth.admin_status.templatetags.admin_status import (
_current_notifications, _current_notifications,
_current_version_summary, _current_version_summary,
_fetch_list_from_gitlab, _fetch_list_from_gitlab,
_fetch_notification_issues_from_gitlab,
_latests_versions, _latests_versions,
status_overview, status_overview,
) )
MODULE_PATH = 'allianceauth.templatetags' MODULE_PATH = 'allianceauth.admin_status.templatetags'
def create_tags_list(tag_names: list): def create_tags_list(tag_names: list):
return [{'name': str(tag_name)} for tag_name in tag_names] return [{'name': str(tag_name)} for tag_name in tag_names]
def get_app_announcement_as_dict(app_announcement: ApplicationAnnouncement) -> dict:
"""Transforms an app announcement object in a dict easy to compare"""
return {
"application_name": app_announcement.application_name,
"announcement_number": app_announcement.announcement_number,
"announcement_text": app_announcement.announcement_text,
"announcement_url": app_announcement.announcement_url,
}
GITHUB_TAGS = create_tags_list(['v2.4.6a1', 'v2.4.5', 'v2.4.0', 'v2.0.0', 'v1.1.1']) GITHUB_TAGS = create_tags_list(['v2.4.6a1', 'v2.4.5', 'v2.4.0', 'v2.0.0', 'v1.1.1'])
STORED_NOTIFICATIONS = [
ApplicationAnnouncement(
application_name="Test GitHub Application",
announcement_number=1,
announcement_text="GitHub issue",
announcement_url="https://github.com/r0kym/test/issues/1",
announcement_hash="hash1",
),
ApplicationAnnouncement(
application_name="Test Gitlab Application",
announcement_number=1,
announcement_text="GitLab issue",
announcement_url="https://gitlab.com/r0kym/allianceauth-example-plugin/-/issues/1",
announcement_hash="hash2",
),
]
ANNOUNCEMENT_DICT = [
{
"application_name": "Test GitHub Application",
"announcement_number": 1,
"announcement_text": "GitHub issue",
"announcement_url": "https://github.com/r0kym/test/issues/1",
}, {
"application_name": "Test Gitlab Application",
"announcement_number": 1,
"announcement_text": "GitLab issue",
"announcement_url": "https://gitlab.com/r0kym/allianceauth-example-plugin/-/issues/1",
}
]
GITHUB_NOTIFICATION_ISSUES = [ GITHUB_NOTIFICATION_ISSUES = [
{ {
'id': 1, 'id': 1,
@ -52,6 +90,10 @@ GITHUB_NOTIFICATION_ISSUES = [
}, },
] ]
TEST_VERSION = '2.6.5' TEST_VERSION = '2.6.5'
GITLAB_AUTH_ANNOUNCEMENT_ISSUES_URL = (
'https://gitlab.com/api/v4/projects/allianceauth%2Fallianceauth/issues'
'?labels=announcement&state=opened'
)
class TestStatusOverviewTag(TestCase): class TestStatusOverviewTag(TestCase):
@ -107,18 +149,19 @@ class TestNotifications(TestCase):
) )
requests_mocker.get(url, json=GITHUB_NOTIFICATION_ISSUES) requests_mocker.get(url, json=GITHUB_NOTIFICATION_ISSUES)
# when # when
result = _fetch_notification_issues_from_gitlab() result = _fetch_list_from_gitlab(GITLAB_AUTH_ANNOUNCEMENT_ISSUES_URL, 10)
# then # then
self.assertEqual(result, GITHUB_NOTIFICATION_ISSUES) self.assertEqual(result, GITHUB_NOTIFICATION_ISSUES)
@patch(MODULE_PATH + '.admin_status.cache') @patch(MODULE_PATH + '.admin_status.ApplicationAnnouncement')
def test_current_notifications_normal(self, mock_cache): def test_current_notifications_normal(self, mock_application_announcement):
# given # given
mock_cache.get_or_set.return_value = GITHUB_NOTIFICATION_ISSUES mock_application_announcement.object.sync_and_return.return_value = STORED_NOTIFICATIONS
# when # when
result = _current_notifications() result = _current_notifications()
# then # then
self.assertEqual(result['notifications'], GITHUB_NOTIFICATION_ISSUES[:5]) for notification in result["notifications"]:
self.assertIn(get_app_announcement_as_dict(notification), ANNOUNCEMENT_DICT)
@requests_mock.mock() @requests_mock.mock()
def test_current_notifications_failed(self, requests_mocker): def test_current_notifications_failed(self, requests_mocker):
@ -131,16 +174,7 @@ class TestNotifications(TestCase):
# when # when
result = _current_notifications() result = _current_notifications()
# then # then
self.assertEqual(result['notifications'], []) self.assertEqual(list(result['notifications']), [])
@patch(MODULE_PATH + '.admin_status.cache')
def test_current_notifications_is_none(self, mock_cache):
# given
mock_cache.get_or_set.return_value = None
# when
result = _current_notifications()
# then
self.assertEqual(result['notifications'], [])
class TestCeleryQueueLength(TestCase): class TestCeleryQueueLength(TestCase):

View File

@ -1,6 +1,8 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class AnalyticsConfig(AppConfig): class AnalyticsConfig(AppConfig):
name = 'allianceauth.analytics' name = 'allianceauth.analytics'
label = 'analytics' label = 'analytics'
verbose_name = _('Analytics')

View File

@ -1,10 +1,12 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.core.checks import Tags, register from django.core.checks import register, Tags
from django.utils.translation import gettext_lazy as _
class AuthenticationConfig(AppConfig): class AuthenticationConfig(AppConfig):
name = "allianceauth.authentication" name = "allianceauth.authentication"
label = "authentication" label = "authentication"
verbose_name = _("Authentication")
def ready(self): def ready(self):
from allianceauth.authentication import checks, signals # noqa: F401 from allianceauth.authentication import checks, signals # noqa: F401

View File

@ -1,4 +1,5 @@
import logging import logging
from typing import ClassVar
from django.contrib.auth.models import Permission, User from django.contrib.auth.models import Permission, User
from django.db import models, transaction from django.db import models, transaction
@ -33,7 +34,7 @@ class State(models.Model):
) )
public = models.BooleanField(default=False, help_text="Make this state available to any character.") public = models.BooleanField(default=False, help_text="Make this state available to any character.")
objects = StateManager() objects: ClassVar[StateManager] = StateManager()
class Meta: class Meta:
ordering = ["-priority"] ordering = ["-priority"]
@ -129,15 +130,16 @@ class UserProfile(models.Model):
class CharacterOwnership(models.Model): class CharacterOwnership(models.Model):
character = models.OneToOneField(EveCharacter, on_delete=models.CASCADE, related_name="character_ownership")
character = models.OneToOneField(EveCharacter, on_delete=models.CASCADE, related_name='character_ownership')
owner_hash = models.CharField(max_length=28, unique=True) owner_hash = models.CharField(max_length=28, unique=True)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="character_ownerships") user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="character_ownerships")
objects = CharacterOwnershipManager() objects: ClassVar[CharacterOwnershipManager] = CharacterOwnershipManager()
class Meta: class Meta:
default_permissions = ("change", "delete") default_permissions = ('change', 'delete')
ordering = ["user", "character__character_name"] ordering = ['user', 'character__character_name']
def __str__(self) -> str: def __str__(self) -> str:
return f"{self.user}: {self.character}" return f"{self.user}: {self.character}"

View File

@ -31,7 +31,7 @@
<tr> <tr>
<td style="white-space:initial;"> <td style="white-space:initial;">
{% for s in t.scopes.all %} {% for s in t.scopes.all %}
<span class="badge bg-secondary">{{ s.name }}</span> <span class="badge text-bg-secondary">{{ s.name }}</span>
{% endfor %} {% endfor %}
</td> </td>

View File

@ -1,24 +1,24 @@
{% load theme_tags %} {% load theme_tags %}
{% load static %} {% load static %}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en" {% theme_html_tags %}>
<head> <head>
<!-- Required meta tags -->
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content=""> <!-- End Required meta tags -->
<meta name="author" content="">
<!-- TODO Bundle all the site specific stuff up into its own template for easy override -->
<meta property="og:title" content="{{ SITE_NAME }}">
<meta property="og:image" content="{{ SITE_URL }}{% static 'allianceauth/icons/apple-touch-icon.png' %}">
<meta property="og:description" content="Alliance Auth - An auth system for EVE Online to help in-game organizations manage online service access.">
<!-- Meta tags -->
{% include 'allianceauth/opengraph.html' %}
{% include 'allianceauth/icons.html' %} {% include 'allianceauth/icons.html' %}
<!-- Meta tags -->
<title>{% block title %}{% block page_title %}{% endblock page_title %} - {{ SITE_NAME }}{% endblock title %}</title> <title>{% block title %}{% block page_title %}{% endblock page_title %} - {{ SITE_NAME }}{% endblock title %}</title>
{% theme_css %} {% theme_css %}
{% include 'bundles/fontawesome.html' %} {% include 'bundles/fontawesome.html' %}
{% include 'bundles/auth-framework-css.html' %}
{% block extra_include %} {% block extra_include %}
{% endblock %} {% endblock %}

View File

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

View File

@ -74,14 +74,14 @@ def dashboard_characters(request):
def dashboard_admin(request): def dashboard_admin(request):
if request.user.is_superuser: if request.user.is_superuser:
return render_to_string('allianceauth/admin-status/include.html', request=request) return render_to_string('admin-status/include.html', request=request)
else: else:
return "" return ""
def dashboard_esi_check(request): def dashboard_esi_check(request):
if request.user.is_superuser: if request.user.is_superuser:
return render_to_string('allianceauth/admin-status/esi_check.html', request=request) return render_to_string('admin-status/esi_check.html', request=request)
else: else:
return "" return ""

View File

@ -1,6 +1,8 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class CorpUtilsConfig(AppConfig): class CorpUtilsConfig(AppConfig):
name = 'allianceauth.corputils' name = 'allianceauth.corputils'
label = 'corputils' label = 'corputils'
verbose_name = _('Corporation Stats')

View File

@ -1,5 +1,6 @@
import logging import logging
import os import os
from typing import ClassVar
from bravado.exception import HTTPForbidden from bravado.exception import HTTPForbidden
@ -33,7 +34,7 @@ class CorpStats(models.Model):
corp = models.OneToOneField(EveCorporationInfo, on_delete=models.CASCADE) corp = models.OneToOneField(EveCorporationInfo, on_delete=models.CASCADE)
last_update = models.DateTimeField(auto_now=True) last_update = models.DateTimeField(auto_now=True)
objects = CorpStatsManager() objects: ClassVar[CorpStatsManager] = CorpStatsManager()
class Meta: class Meta:
permissions = ( permissions = (

View File

@ -138,7 +138,7 @@
<td style="width: 30%;">{{ alt.corporation_name }}</td> <td style="width: 30%;">{{ alt.corporation_name }}</td>
<td style="width: 30%;">{{ alt.alliance_name|default_if_none:"" }}</td> <td style="width: 30%;">{{ alt.alliance_name|default_if_none:"" }}</td>
<td style="width: 5%;"> <td style="width: 5%;">
<a href="https://zkillboard.com/character/{{ alt.character_id }}/" class="badge bg-danger" target="_blank"> <a href="https://zkillboard.com/character/{{ alt.character_id }}/" class="badge text-bg-danger" target="_blank">
{% translate "Killboard" %} {% translate "Killboard" %}
</a> </a>
</td> </td>
@ -175,7 +175,7 @@
<td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member }}"></td> <td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member }}"></td>
<td>{{ member }}</td> <td>{{ member }}</td>
<td> <td>
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge bg-danger" target="_blank">{% translate "Killboard" %}</a> <a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge text-bg-danger" target="_blank">{% translate "Killboard" %}</a>
</td> </td>
<td>{{ member.character_ownership.user.profile.main_character.character_name }}</td> <td>{{ member.character_ownership.user.profile.main_character.character_name }}</td>
<td>{{ member.character_ownership.user.profile.main_character.corporation_name }}</td> <td>{{ member.character_ownership.user.profile.main_character.corporation_name }}</td>
@ -188,7 +188,7 @@
<td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member.character_name }}"></td> <td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member.character_name }}"></td>
<td>{{ member.character_name }}</td> <td>{{ member.character_name }}</td>
<td> <td>
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge bg-danger" target="_blank">{% translate "Killboard" %}</a> <a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge text-bg-danger" target="_blank">{% translate "Killboard" %}</a>
</td> </td>
<td></td> <td></td>
<td></td> <td></td>
@ -219,7 +219,7 @@
<td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member.character_name }}"></td> <td><img src="{{ member.portrait_url }}" class="img-circle" alt="{{ member.character_name }}"></td>
<td>{{ member.character_name }}</td> <td>{{ member.character_name }}</td>
<td> <td>
<a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge bg-danger" target="_blank"> <a href="https://zkillboard.com/character/{{ member.character_id }}/" class="badge text-bg-danger" target="_blank">
{% translate "Killboard" %} {% translate "Killboard" %}
</a> </a>
</td> </td>

View File

@ -28,7 +28,7 @@
<td><img src="{{ result.1.portrait_url }}" class="img-circle" alt="{{ result.1.character_name }}"></td> <td><img src="{{ result.1.portrait_url }}" class="img-circle" alt="{{ result.1.character_name }}"></td>
<td>{{ result.1.character_name }}</td> <td>{{ result.1.character_name }}</td>
<td >{{ result.0.corp.corporation_name }}</td> <td >{{ result.0.corp.corporation_name }}</td>
<td><a href="https://zkillboard.com/character/{{ result.1.character_id }}/" class="badge bg-danger" target="_blank">{% translate "Killboard" %}</a></td> <td><a href="https://zkillboard.com/character/{{ result.1.character_id }}/" class="badge text-bg-danger" target="_blank">{% translate "Killboard" %}</a></td>
<td>{{ result.1.main_character.character_name }}</td> <td>{{ result.1.main_character.character_name }}</td>
<td>{{ result.1.main_character.corporation_name }}</td> <td>{{ result.1.main_character.corporation_name }}</td>
<td>{{ result.1.main_character.alliance_name }}</td> <td>{{ result.1.main_character.alliance_name }}</td>

View File

@ -3,6 +3,7 @@ Crontab App Config
""" """
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class CrontabConfig(AppConfig): class CrontabConfig(AppConfig):
@ -12,3 +13,4 @@ class CrontabConfig(AppConfig):
name = "allianceauth.crontab" name = "allianceauth.crontab"
label = "crontab" label = "crontab"
verbose_name = _("Crontab")

View File

@ -1,6 +1,8 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class EveonlineConfig(AppConfig): class EveonlineConfig(AppConfig):
name = 'allianceauth.eveonline' name = 'allianceauth.eveonline'
label = 'eveonline' label = 'eveonline'
verbose_name = _('EVE Online')

View File

@ -1,9 +1,11 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class EveAutogroupsConfig(AppConfig): class EveAutogroupsConfig(AppConfig):
name = 'allianceauth.eveonline.autogroups' name = 'allianceauth.eveonline.autogroups'
label = 'eve_autogroups' label = 'eve_autogroups'
verbose_name = _('EVE Online Autogroups')
def ready(self): def ready(self):
pass pass

View File

@ -1,5 +1,6 @@
import logging import logging
from typing import ClassVar
from django.db import models, transaction
from django.contrib.auth.models import Group, User from django.contrib.auth.models import Group, User
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.db import models, transaction from django.db import models, transaction
@ -39,13 +40,13 @@ class AutogroupsConfigManager(models.Manager):
""" """
if state is None: if state is None:
state = user.profile.state state = user.profile.state
for config in self.filter(states=state):
# grant user new groups for their state
config.update_group_membership_for_user(user)
for config in self.exclude(states=state): for config in self.exclude(states=state):
# ensure user does not have groups from previous state # ensure user does not have groups from previous state
config.remove_user_from_alliance_groups(user) config.remove_user_from_alliance_groups(user)
config.remove_user_from_corp_groups(user) config.remove_user_from_corp_groups(user)
for config in self.filter(states=state):
# grant user new groups for their state
config.update_group_membership_for_user(user)
class AutogroupsConfig(models.Model): class AutogroupsConfig(models.Model):
@ -79,10 +80,10 @@ class AutogroupsConfig(models.Model):
max_length=10, default='', blank=True, max_length=10, default='', blank=True,
help_text='Any spaces in the group name will be replaced with this.') help_text='Any spaces in the group name will be replaced with this.')
objects = AutogroupsConfigManager() objects: ClassVar[AutogroupsConfigManager] = AutogroupsConfigManager()
def __str__(self) -> str: def __str__(self) -> str:
return f"States: {' '.join(self.states.all().values_list('name', flat=True)) if self.pk else 'None'}" return 'States: ' + (' '.join(list(self.states.all().values_list('name', flat=True))) if self.pk else str(None))
def __init__(self, *args, **kwargs) -> None: def __init__(self, *args, **kwargs) -> None:
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)

View File

@ -1,3 +1,4 @@
from allianceauth.eveonline.models import EveCorporationInfo
from django.test import TestCase from django.test import TestCase
from allianceauth.tests.auth_utils import AuthUtils from allianceauth.tests.auth_utils import AuthUtils
@ -74,3 +75,51 @@ class AutogroupsConfigManagerTestCase(TestCase):
AutogroupsConfig.objects.update_groups_for_user(member) AutogroupsConfig.objects.update_groups_for_user(member)
self.assertTrue(update_groups.called) self.assertTrue(update_groups.called)
def test_update_group_membership_corp_in_two_configs(self):
# given
member = AuthUtils.create_member('test member')
AuthUtils.add_main_character_2(
member,
character_id='1234',
name='test character',
corp_id='2345',
corp_name='corp name',
corp_ticker='TIKK',
)
corp = EveCorporationInfo.objects.create(
corporation_id='2345',
corporation_name='corp name',
corporation_ticker='TIKK',
member_count=10,
)
member_state = AuthUtils.get_member_state()
member_config = AutogroupsConfig.objects.create(corp_groups=True)
member_config.states.add(member_state)
blue_state = AuthUtils.get_blue_state()
blue_state.member_corporations.add(corp)
blue_config = AutogroupsConfig.objects.create(corp_groups=True)
blue_config.states.add(blue_state)
member.profile.state = blue_state
member.profile.save()
AutogroupsConfig.objects.update_groups_for_user(member)
# Checks before test that the role is correctly applied
group = blue_config.get_corp_group(corp)
self.assertIn(group, member.groups.all())
# when
blue_state.member_corporations.remove(corp)
member_state.member_corporations.add(corp)
member.profile.state = member_state
member.profile.save()
# then
AutogroupsConfig.objects.update_groups_for_user(member)
group = member_config.get_corp_group(corp)
self.assertIn(group, member.groups.all())

View File

@ -15,10 +15,20 @@ class EveCharacterProviderManager:
class EveCharacterManager(models.Manager): class EveCharacterManager(models.Manager):
provider = EveCharacterProviderManager() provider = EveCharacterProviderManager()
def create_character(self, character_id): def exclude_biomassed(self):
"""
Get a queryset of EveCharacter objects, excluding the "Doomheim" corporation (1000001).
:return:
:rtype:
"""
return self.exclude(corporation_id=1000001)
def create_character(self, character_id) -> models.Model:
return self.create_character_obj(self.provider.get_character(character_id)) return self.create_character_obj(self.provider.get_character(character_id))
def create_character_obj(self, character: providers.Character): def create_character_obj(self, character: providers.Character) -> models.Model:
return self.create( return self.create(
character_id=character.id, character_id=character.id,
character_name=character.name, character_name=character.name,

View File

@ -1,4 +1,5 @@
import logging import logging
from typing import ClassVar
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.db import models from django.db import models
@ -75,8 +76,8 @@ class EveAllianceInfo(models.Model):
alliance_ticker = models.CharField(max_length=254) alliance_ticker = models.CharField(max_length=254)
executor_corp_id = models.PositiveIntegerField() executor_corp_id = models.PositiveIntegerField()
objects = EveAllianceManager() objects: ClassVar[EveAllianceManager] = EveAllianceManager()
provider = EveAllianceProviderManager() provider: ClassVar[EveAllianceProviderManager] = EveAllianceProviderManager()
class Meta: class Meta:
indexes = [models.Index(fields=['executor_corp_id',])] indexes = [models.Index(fields=['executor_corp_id',])]
@ -147,7 +148,7 @@ class EveCorporationInfo(models.Model):
EveAllianceInfo, blank=True, null=True, on_delete=models.SET_NULL EveAllianceInfo, blank=True, null=True, on_delete=models.SET_NULL
) )
objects = EveCorporationManager() objects: ClassVar[EveCorporationManager] = EveCorporationManager()
provider = EveCorporationProviderManager() provider = EveCorporationProviderManager()
class Meta: class Meta:
@ -214,7 +215,7 @@ class EveCharacter(models.Model):
faction_id = models.PositiveIntegerField(blank=True, null=True, default=None) faction_id = models.PositiveIntegerField(blank=True, null=True, default=None)
faction_name = models.CharField(max_length=254, blank=True, null=True, default='') # noqa: DJ001 faction_name = models.CharField(max_length=254, blank=True, null=True, default='') # noqa: DJ001
objects = EveCharacterManager() objects: ClassVar[EveCharacterManager] = EveCharacterManager()
provider = EveCharacterProviderManager() provider = EveCharacterProviderManager()
class Meta: class Meta:

View File

@ -2,6 +2,7 @@ import logging
import os import os
from typing import Literal from typing import Literal
from bravado.client import SwaggerClient
from bravado.exception import HTTPError, HTTPNotFound, HTTPUnprocessableEntity from bravado.exception import HTTPError, HTTPNotFound, HTTPUnprocessableEntity
from jsonschema.exceptions import RefResolutionError from jsonschema.exceptions import RefResolutionError
@ -9,7 +10,7 @@ from django.conf import settings
from esi.clients import esi_client_factory from esi.clients import esi_client_factory
from allianceauth import __version__ from allianceauth import __version__, __title__, __url__
from allianceauth.utils.django import StartupCommand from allianceauth.utils.django import StartupCommand
SWAGGER_SPEC_PATH = os.path.join(os.path.dirname( SWAGGER_SPEC_PATH = os.path.join(os.path.dirname(
@ -176,7 +177,11 @@ class EveProvider:
class EveSwaggerProvider(EveProvider): class EveSwaggerProvider(EveProvider):
def __init__(self, token=None, adapter=None): def __init__(self, token=None, adapter=None) -> None:
self._token = token
self.adapter = adapter or self
self._faction_list = None # what are the odds this will change? could cache forever!
if settings.DEBUG or StartupCommand().is_management_command: if settings.DEBUG or StartupCommand().is_management_command:
self._client = None self._client = None
logger.info('ESI client will be loaded on-demand') logger.info('ESI client will be loaded on-demand')
@ -184,9 +189,10 @@ class EveSwaggerProvider(EveProvider):
logger.info('Loading ESI client') logger.info('Loading ESI client')
try: try:
self._client = esi_client_factory( self._client = esi_client_factory(
token=token, token=self._token,
spec_file=SWAGGER_SPEC_PATH, ua_appname=__title__,
app_info_text=f"allianceauth v{__version__}" ua_version=__version__,
ua_url=__url__,
) )
except (HTTPError, RefResolutionError): except (HTTPError, RefResolutionError):
logger.exception( logger.exception(
@ -195,19 +201,18 @@ class EveSwaggerProvider(EveProvider):
) )
self._client = None self._client = None
self._token = token
self.adapter = adapter or self
self._faction_list = None # what are the odds this will change? could cache forever!
@property @property
def client(self): def client(self) -> SwaggerClient:
if self._client is None: if self._client is None:
self._client = esi_client_factory( self._client = esi_client_factory(
token=self._token, spec_file=SWAGGER_SPEC_PATH, app_info_text=("allianceauth v" + __version__) token=self._token,
ua_appname=__title__,
ua_version=__version__,
ua_url=__url__,
) )
return self._client return self._client
def __str__(self) -> Literal['esi']: def __str__(self) -> str:
return 'esi' return 'esi'
def get_alliance(self, alliance_id: int) -> Alliance: def get_alliance(self, alliance_id: int) -> Alliance:

File diff suppressed because one or more lines are too long

View File

@ -676,16 +676,6 @@ class TestEveSwaggerProvider(TestCase):
self.assertTrue(mock_esi_client_factory.called) self.assertTrue(mock_esi_client_factory.called)
self.assertIsNotNone(my_provider._client) self.assertIsNotNone(my_provider._client)
@patch(MODULE_PATH + '.SWAGGER_SPEC_PATH', SWAGGER_OLD_SPEC_PATH)
@patch(MODULE_PATH + '.settings.DEBUG', False)
@patch('socket.socket')
def test_create_client_on_normal_startup_w_old_swagger_spec(
self, mock_socket
):
mock_socket.side_effect = Exception('Network blocked for testing')
my_provider = EveSwaggerProvider()
self.assertIsNone(my_provider._client)
@patch(MODULE_PATH + '.settings.DEBUG', True) @patch(MODULE_PATH + '.settings.DEBUG', True)
@patch(MODULE_PATH + '.esi_client_factory') @patch(MODULE_PATH + '.esi_client_factory')
def test_dont_create_client_on_debug_startup(self, mock_esi_client_factory): def test_dont_create_client_on_debug_startup(self, mock_esi_client_factory):
@ -722,6 +712,6 @@ class TestEveSwaggerProvider(TestCase):
my_provider = EveSwaggerProvider() my_provider = EveSwaggerProvider()
my_client = my_provider.client my_client = my_provider.client
operation = my_client.Universe.get_universe_factions() operation = my_client.Universe.get_universe_factions()
self.assertEqual( self.assertIn(
operation.future.request.headers['User-Agent'], 'allianceauth v1.0.0 dummy@example.net' 'AllianceAuth/1.0.0 (dummy@example.net; +https://gitlab.com/allianceauth/allianceauth)', operation.future.request.headers['User-Agent']
) )

View File

@ -1,6 +1,8 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class FatConfig(AppConfig): class FatConfig(AppConfig):
name = 'allianceauth.fleetactivitytracking' name = 'allianceauth.fleetactivitytracking'
label = 'fleetactivitytracking' label = 'fleetactivitytracking'
verbose_name = _('Fleet Activity Tracking')

View File

@ -36,7 +36,7 @@
<th class="text-center">{% translate "Character" %}</th> <th class="text-center">{% translate "Character" %}</th>
<th class="text-center">{% translate "System" %}</th> <th class="text-center">{% translate "System" %}</th>
<th class="text-center">{% translate "Ship" %}</th> <th class="text-center">{% translate "Ship" %}</th>
<th class="text-center">{% translate "Eve Time" %}</th> <th class="text-center">{% translate "EVE time" %}</th>
<th></th> <th></th>
</tr> </tr>

View File

@ -72,7 +72,7 @@
<tr> <tr>
<th class="text-center">{% translate "Fleet" %}</th> <th class="text-center">{% translate "Fleet" %}</th>
<th class="text-center">{% translate "Creator" %}</th> <th class="text-center">{% translate "Creator" %}</th>
<th class="text-center">{% translate "Eve Time" %}</th> <th class="text-center">{% translate "EVE time" %}</th>
<th class="text-center">{% translate "Duration" %}</th> <th class="text-center">{% translate "Duration" %}</th>
<th class="text-center">{% translate "Edit" %}</th> <th class="text-center">{% translate "Edit" %}</th>
</tr> </tr>
@ -80,7 +80,7 @@
{% for link in created_fats %} {% for link in created_fats %}
<tr> <tr>
<td class="text-center"> <td class="text-center">
<a href="{% url 'fatlink:click' link.hash %}" class="badge bg-primary"> <a href="{% url 'fatlink:click' link.hash %}" class="badge text-bg-primary">
{{ link.fleet }} {{ link.fleet }}
</a> </a>
</td> </td>

View File

@ -41,7 +41,7 @@
<th scope="col" class="text-center">{% translate "Character" %}</th> <th scope="col" class="text-center">{% translate "Character" %}</th>
<th scope="col" class="text-center">{% translate "System" %}</th> <th scope="col" class="text-center">{% translate "System" %}</th>
<th scope="col" class="text-center">{% translate "Ship" %}</th> <th scope="col" class="text-center">{% translate "Ship" %}</th>
<th scope="col" class="text-center">{% translate "Eve Time" %}</th> <th scope="col" class="text-center">{% translate "EVE time" %}</th>
</tr> </tr>
{% for fat in fats %} {% for fat in fats %}
@ -89,7 +89,7 @@
<th scope="col" class="text-center">{% translate "Name" %}</th> <th scope="col" class="text-center">{% translate "Name" %}</th>
<th scope="col" class="text-center">{% translate "Creator" %}</th> <th scope="col" class="text-center">{% translate "Creator" %}</th>
<th scope="col" class="text-center">{% translate "Fleet" %}</th> <th scope="col" class="text-center">{% translate "Fleet" %}</th>
<th scope="col" class="text-center">{% translate "Eve Time" %}</th> <th scope="col" class="text-center">{% translate "EVE time" %}</th>
<th scope="col" class="text-center">{% translate "Duration" %}</th> <th scope="col" class="text-center">{% translate "Duration" %}</th>
<th scope="col" class="text-center">{% translate "Edit" %}</th> <th scope="col" class="text-center">{% translate "Edit" %}</th>
</tr> </tr>
@ -97,7 +97,7 @@
{% for link in fatlinks %} {% for link in fatlinks %}
<tr> <tr>
<td class="text-center"> <td class="text-center">
<a href="{% url 'fatlink:click' link.hash %}" class="badge bg-primary">{{ link.fleet }}</a> <a href="{% url 'fatlink:click' link.hash %}" class="badge text-bg-primary">{{ link.fleet }}</a>
</td> </td>
<td class="text-center">{{ link.creator.username }}</td> <td class="text-center">{{ link.creator.username }}</td>
<td class="text-center">{{ link.fleet }}</td> <td class="text-center">{{ link.fleet }}</td>

View File

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

View File

@ -3,6 +3,7 @@ Framework App Config
""" """
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class FrameworkConfig(AppConfig): class FrameworkConfig(AppConfig):
@ -12,3 +13,4 @@ class FrameworkConfig(AppConfig):
name = "allianceauth.framework" name = "allianceauth.framework"
label = "framework" label = "framework"
verbose_name = _("Framework")

View File

@ -5,6 +5,24 @@
* to be used throughout Alliance Auth and its Community Apps * to be used throughout Alliance Auth and its Community Apps
*/ */
/* General
------------------------------------------------------------------------------------- */
@media all {
.navbar-toggler.collapsed {
transform: rotate(180deg);
}
ul#nav-right:has(li) + ul#nav-right-character-control > li:first-child {
display: list-item !important;
}
}
@media all and (max-width: 991px) {
ul#nav-left:has(li) + ul#nav-right + ul#nav-right-character-control > li:first-child {
display: list-item !important;
}
}
/* Bootstrap fixes /* Bootstrap fixes
------------------------------------------------------------------------------------- */ ------------------------------------------------------------------------------------- */
@media all { @media all {

View File

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

View File

@ -2,12 +2,14 @@
{# {% include "framework/header/page-header.html" with title="Foobar" subtitle="Barfoo" %}#} {# {% include "framework/header/page-header.html" with title="Foobar" subtitle="Barfoo" %}#}
{% if title %} {% if title %}
<h1 class="page-header text-center mb-3"> <header class="aa-page-header mb-3">
{{ title }} <h1 class="page-header text-center">
{{ title }}
{% if subtitle %} {% if subtitle %}
<br> <br>
<small class="text-muted">{{ subtitle }}</small> <small class="text-muted">{{ subtitle }}</small>
{% endif %} {% endif %}
</h1> </h1>
</header>
{% endif %} {% endif %}

View File

@ -1,10 +1,11 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class GroupManagementConfig(AppConfig): class GroupManagementConfig(AppConfig):
name = 'allianceauth.groupmanagement' name = 'allianceauth.groupmanagement'
label = 'groupmanagement' label = 'groupmanagement'
verbose_name = 'Group Management' verbose_name = _('Group Management')
def ready(self): def ready(self):
from . import signals # noqa: F401 from . import signals # noqa: F401

View File

@ -39,12 +39,12 @@
<td> <td>
{% if group.authgroup.hidden %} {% if group.authgroup.hidden %}
<span class="badge bg-info">{% translate "Hidden" %}</span> <span class="badge text-bg-info">{% translate "Hidden" %}</span>
{% endif %} {% endif %}
{% if group.authgroup.open %} {% if group.authgroup.open %}
<span class="badge bg-success">{% translate "Open" %}</span> <span class="badge text-bg-success">{% translate "Open" %}</span>
{% else %} {% else %}
<span class="badge bg-secondary">{% translate "Requestable" %}</span> <span class="badge text-bg-secondary">{% translate "Requestable" %}</span>
{% endif %} {% endif %}
</td> </td>

View File

@ -17,7 +17,7 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{% url 'groupmanagement:management' %}">{% translate "Group Management" %} <a class="nav-link" href="{% url 'groupmanagement:management' %}">{% translate "Group Management" %}
{% if req_count %} {% if req_count %}
<span class="badge bg-secondary">{{ req_count }}</span> <span class="badge text-bg-secondary">{{ req_count }}</span>
{% endif %} {% endif %}
</a> </a>
</li> </li>
@ -33,8 +33,8 @@
<th>{% translate "Description" %}</th> <th>{% translate "Description" %}</th>
<th> <th>
{% translate "Leaders" %}<br> {% translate "Leaders" %}<br>
<span class="my-1 me-1 fw-lighter badge bg-primary">{% translate "User" %}</span> <span class="my-1 me-1 fw-lighter badge text-bg-primary">{% translate "User" %}</span>
<span class="my-1 me-1 fw-lighter badge bg-secondary">{% translate "Group" %}</span> <span class="my-1 me-1 fw-lighter badge text-bg-secondary">{% translate "Group" %}</span>
</th> </th>
<th></th> <th></th>
</tr> </tr>
@ -53,13 +53,13 @@
{% if g.group.authgroup.group_leaders.all.count %} {% if g.group.authgroup.group_leaders.all.count %}
{% for leader in g.group.authgroup.group_leaders.all %} {% for leader in g.group.authgroup.group_leaders.all %}
{% if leader.profile.main_character %} {% if leader.profile.main_character %}
<span class="my-1 me-1 badge bg-primary">{{leader.profile.main_character}}</span> <span class="my-1 me-1 badge text-bg-primary">{{leader.profile.main_character}}</span>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% if g.group.authgroup.group_leader_groups.all.count %} {% if g.group.authgroup.group_leader_groups.all.count %}
{% for group in g.group.authgroup.group_leader_groups.all %} {% for group in g.group.authgroup.group_leader_groups.all %}
<span class="my-1 me-1 badge bg-secondary">{{group.name}}</span> <span class="my-1 me-1 badge text-bg-secondary">{{group.name}}</span>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</td> </td>

View File

@ -19,7 +19,7 @@
{% translate "Join Requests" %} {% translate "Join Requests" %}
{% if acceptrequests %} {% if acceptrequests %}
<span class="badge bg-secondary">{{ acceptrequests|length }}</span> <span class="badge text-bg-secondary">{{ acceptrequests|length }}</span>
{% endif %} {% endif %}
</a> </a>
</li> </li>
@ -30,7 +30,7 @@
{% translate "Leave Requests" %} {% translate "Leave Requests" %}
{% if leaverequests %} {% if leaverequests %}
<span class="badge bg-secondary">{{ leaverequests|length }}</span> <span class="badge text-bg-secondary">{{ leaverequests|length }}</span>
{% endif %} {% endif %}
</a> </a>
</li> </li>

View File

@ -1,6 +1,8 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class HRApplicationsConfig(AppConfig): class HRApplicationsConfig(AppConfig):
name = 'allianceauth.hrapplications' name = 'allianceauth.hrapplications'
label = 'hrapplications' label = 'hrapplications'
verbose_name = _('HR Applications')

View File

@ -1,5 +1,6 @@
from sortedm2m.fields import SortedManyToManyField from sortedm2m.fields import SortedManyToManyField
from typing import ClassVar
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.db import models from django.db import models
@ -48,7 +49,7 @@ class Application(models.Model):
reviewer_character = models.ForeignKey(EveCharacter, on_delete=models.SET_NULL, blank=True, null=True) reviewer_character = models.ForeignKey(EveCharacter, on_delete=models.SET_NULL, blank=True, null=True)
created = models.DateTimeField(auto_now_add=True) created = models.DateTimeField(auto_now_add=True)
objects = ApplicationManager() objects: ClassVar[ApplicationManager] = ApplicationManager()
class Meta: class Meta:
permissions = ( permissions = (

View File

@ -43,11 +43,11 @@
<td class="text-center">{{ personal_app.form.corp.corporation_name }}</td> <td class="text-center">{{ personal_app.form.corp.corporation_name }}</td>
<td class="text-center"> <td class="text-center">
{% if personal_app.approved == None %} {% if personal_app.approved == None %}
<div class="badge bg-warning">{% translate "Pending" %}</div> <div class="badge text-bg-warning">{% translate "Pending" %}</div>
{% elif personal_app.approved == True %} {% elif personal_app.approved == True %}
<div class="badge bg-success">{% translate "Approved" %}</div> <div class="badge text-bg-success">{% translate "Approved" %}</div>
{% else %} {% else %}
<div class="badge bg-danger">{% translate "Rejected" %}</div> <div class="badge text-bg-danger">{% translate "Rejected" %}</div>
{% endif %} {% endif %}
</td> </td>
<td class="text-center"> <td class="text-center">
@ -133,14 +133,14 @@
<td class="text-center"> <td class="text-center">
{% if app.approved == None %} {% if app.approved == None %}
{% if app.reviewer_str %} {% if app.reviewer_str %}
<div class="badge bg-info">{% translate "Reviewer:" %} {{ app.reviewer_str }}</div> <div class="badge text-bg-info">{% translate "Reviewer:" %} {{ app.reviewer_str }}</div>
{% else %} {% else %}
<div class="badge bg-warning">{% translate "Pending" %}</div> <div class="badge text-bg-warning">{% translate "Pending" %}</div>
{% endif %} {% endif %}
{% elif app.approved == True %} {% elif app.approved == True %}
<div class="badge bg-success">{% translate "Approved" %}</div> <div class="badge text-bg-success">{% translate "Approved" %}</div>
{% else %} {% else %}
<div class="badge bg-danger">{% translate "Rejected" %}</div> <div class="badge text-bg-danger">{% translate "Rejected" %}</div>
{% endif %} {% endif %}
</td> </td>
<td class="text-center"> <td class="text-center">
@ -177,14 +177,14 @@
<td class="text-center"> <td class="text-center">
{% if app.approved == None %} {% if app.approved == None %}
{% if app.reviewer_str %} {% if app.reviewer_str %}
<div class="badge bg-info">{% translate "Reviewer:" %} {{ app.reviewer_str }}</div> <div class="badge text-bg-info">{% translate "Reviewer:" %} {{ app.reviewer_str }}</div>
{% else %} {% else %}
<div class="badge bg-warning">{% translate "Pending" %}</div> <div class="badge text-bg-warning">{% translate "Pending" %}</div>
{% endif %} {% endif %}
{% elif app.approved == True %} {% elif app.approved == True %}
<div class="badge bg-success">{% translate "Approved" %}</div> <div class="badge text-bg-success">{% translate "Approved" %}</div>
{% else %} {% else %}
<div class="badge bg-danger">{% translate "Rejected" %}</div> <div class="badge text-bg-danger">{% translate "Rejected" %}</div>
{% endif %} {% endif %}
</td> </td>
<td class="text-center"> <td class="text-center">

View File

@ -43,11 +43,11 @@
<td>{{ app.form.corp }}</td> <td>{{ app.form.corp }}</td>
<td class="text-center"> <td class="text-center">
{% if app.approved == None %} {% if app.approved == None %}
<div class="badge bg-warning">{% translate "Pending" %}</div> <div class="badge text-bg-warning">{% translate "Pending" %}</div>
{% elif app.approved == True %} {% elif app.approved == True %}
<div class="badge bg-success">{% translate "Approved" %}</div> <div class="badge text-bg-success">{% translate "Approved" %}</div>
{% else %} {% else %}
<div class="badge bg-danger">{% translate "Rejected" %}</div> <div class="badge text-bg-danger">{% translate "Rejected" %}</div>
{% endif %} {% endif %}
</td> </td>
<td class="text-end"> <td class="text-end">

View File

@ -31,7 +31,7 @@
</div> </div>
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header bg-info"> <div class="card-header text-bg-info">
<div class="card-title mb-0">{% translate "Applicant" %}</div> <div class="card-title mb-0">{% translate "Applicant" %}</div>
</div> </div>
@ -50,7 +50,7 @@
</div> </div>
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header bg-info"> <div class="card-header text-bg-info">
<div class="card-title mb-0">{% translate "Characters" %}</div> <div class="card-title mb-0">{% translate "Characters" %}</div>
</div> </div>

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n" "POT-Creation-Date: 2025-07-03 09:07+1000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,6 +18,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: allianceauth/analytics/apps.py:8
msgid "Analytics"
msgstr ""
#: allianceauth/analytics/models.py:22 #: allianceauth/analytics/models.py:22
msgid "Google Analytics Universal" msgid "Google Analytics Universal"
msgstr "" msgstr ""
@ -26,6 +30,10 @@ msgstr ""
msgid "Google Analytics V4" msgid "Google Analytics V4"
msgstr "" msgstr ""
#: allianceauth/authentication/apps.py:9
msgid "Authentication"
msgstr ""
#: allianceauth/authentication/constants.py:6 #: allianceauth/authentication/constants.py:6
msgid "" msgid ""
"This software has exceeded the error limit for ESI. If you are a user, " "This software has exceeded the error limit for ESI. If you are a user, "
@ -35,7 +43,7 @@ msgid ""
"esi on the EVE Online Discord. https://www.eveonline.com/discord" "esi on the EVE Online Discord. https://www.eveonline.com/discord"
msgstr "" msgstr ""
#: allianceauth/authentication/decorators.py:49 #: allianceauth/authentication/decorators.py:52
msgid "A main character is required to perform that action. Add one below." msgid "A main character is required to perform that action. Add one below."
msgstr "" msgstr ""
@ -48,91 +56,91 @@ msgstr ""
msgid "You are not allowed to add or remove these restricted groups: %s" msgid "You are not allowed to add or remove these restricted groups: %s"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:70 #: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:105 #: allianceauth/project_template/project_name/settings/base.py:104
msgid "English" msgid "English"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:71 #: allianceauth/authentication/models.py:73
msgid "Czech" msgid "Czech"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:72 #: allianceauth/authentication/models.py:74
#: allianceauth/project_template/project_name/settings/base.py:107 #: allianceauth/project_template/project_name/settings/base.py:106
msgid "German" msgid "German"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:73 #: allianceauth/authentication/models.py:75
#: allianceauth/project_template/project_name/settings/base.py:108 #: allianceauth/project_template/project_name/settings/base.py:107
msgid "Spanish" msgid "Spanish"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:74 #: allianceauth/authentication/models.py:76
#: allianceauth/project_template/project_name/settings/base.py:109 #: allianceauth/project_template/project_name/settings/base.py:108
msgid "Italian" msgid "Italian"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:75 #: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:110 #: allianceauth/project_template/project_name/settings/base.py:109
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:76 #: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:111 #: allianceauth/project_template/project_name/settings/base.py:110
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:77
#: allianceauth/project_template/project_name/settings/base.py:112
msgid "French"
msgstr ""
#: allianceauth/authentication/models.py:78
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Russian"
msgstr ""
#: allianceauth/authentication/models.py:79 #: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113 #: allianceauth/project_template/project_name/settings/base.py:111
msgid "Dutch" msgid "French"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:80 #: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114 #: allianceauth/project_template/project_name/settings/base.py:114
msgid "Polish" msgid "Russian"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:81 #: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116 #: allianceauth/project_template/project_name/settings/base.py:112
msgid "Ukrainian" msgid "Dutch"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:82 #: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117 #: allianceauth/project_template/project_name/settings/base.py:113
msgid "Polish"
msgstr ""
#: allianceauth/authentication/models.py:83
#: allianceauth/project_template/project_name/settings/base.py:115
msgid "Ukrainian"
msgstr ""
#: allianceauth/authentication/models.py:84
#: allianceauth/project_template/project_name/settings/base.py:116
msgid "Simplified Chinese" msgid "Simplified Chinese"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:98 #: allianceauth/authentication/models.py:100
#: allianceauth/menu/templates/menu/menu-user.html:42 #: allianceauth/menu/templates/menu/menu-user.html:67
msgid "Language" msgid "Language"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:103 #: allianceauth/authentication/models.py:105
#: allianceauth/templates/allianceauth/night-toggle.html:6 #: allianceauth/templates/allianceauth/night-toggle.html:6
msgid "Night Mode" msgid "Night Mode"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:107 #: allianceauth/authentication/models.py:109
#: allianceauth/menu/templates/menu/menu-user.html:46 #: allianceauth/theme/templates/theme/theme_select.html:4
msgid "Theme" msgid "Theme"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:124 #: allianceauth/authentication/models.py:126
#, python-format #, python-format
msgid "State changed to: %s" msgid "State changed to: %s"
msgstr "" msgstr ""
#: allianceauth/authentication/models.py:125 #: allianceauth/authentication/models.py:127
#, python-format #, python-format
msgid "Your user's state is now: %(state)s" msgid "Your user's state is now: %(state)s"
msgstr "" msgstr ""
@ -194,6 +202,8 @@ msgstr ""
#: allianceauth/authentication/templates/authentication/tokens.html:7 #: allianceauth/authentication/templates/authentication/tokens.html:7
#: allianceauth/authentication/templates/authentication/tokens.html:11 #: allianceauth/authentication/templates/authentication/tokens.html:11
#: allianceauth/menu/templates/menu/menu-user.html:133
#: allianceauth/menu/templates/menu/menu-user.html:136
#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62 #: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62
msgid "Token Management" msgid "Token Management"
msgstr "" msgstr ""
@ -267,53 +277,53 @@ msgstr ""
msgid "Invalid or expired activation link." msgid "Invalid or expired activation link."
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:157 #: allianceauth/authentication/views.py:158
#, python-format #, python-format
msgid "" msgid ""
"Cannot change main character to %(char)s: character owned by a different " "Cannot change main character to %(char)s: character owned by a different "
"account." "account."
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:164 #: allianceauth/authentication/views.py:165
#, python-format #, python-format
msgid "Changed main character to %s" msgid "Changed main character to %s"
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:178 #: allianceauth/authentication/views.py:179
#, python-format #, python-format
msgid "Added %(name)s to your account." msgid "Added %(name)s to your account."
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:180 #: allianceauth/authentication/views.py:181
#, python-format #, python-format
msgid "Failed to add %(name)s to your account: they already have an account." msgid "Failed to add %(name)s to your account: they already have an account."
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:225 #: allianceauth/authentication/views.py:226
msgid "" msgid ""
"Unable to authenticate as the selected character. Please log in with the " "Unable to authenticate as the selected character. Please log in with the "
"main character associated with this account." "main character associated with this account."
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:292 #: allianceauth/authentication/views.py:293
msgid "Registration token has expired." msgid "Registration token has expired."
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:353 #: allianceauth/authentication/views.py:354
msgid "" msgid ""
"Sent confirmation email. Please follow the link to confirm your email " "Sent confirmation email. Please follow the link to confirm your email "
"address." "address."
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:359 #: allianceauth/authentication/views.py:360
msgid "Confirmed your email address. Please login to continue." msgid "Confirmed your email address. Please login to continue."
msgstr "" msgstr ""
#: allianceauth/authentication/views.py:365 #: allianceauth/authentication/views.py:366
msgid "Registration of new accounts is not allowed at this time." msgid "Registration of new accounts is not allowed at this time."
msgstr "" msgstr ""
#: allianceauth/corputils/auth_hooks.py:12 #: allianceauth/corputils/apps.py:8 allianceauth/corputils/auth_hooks.py:12
msgid "Corporation Stats" msgid "Corporation Stats"
msgstr "" msgstr ""
@ -419,6 +429,10 @@ msgstr ""
msgid "Failed to gather corporation statistics with selected token." msgid "Failed to gather corporation statistics with selected token."
msgstr "" msgstr ""
#: allianceauth/crontab/apps.py:16
msgid "Crontab"
msgstr ""
#: allianceauth/crontab/models.py:13 #: allianceauth/crontab/models.py:13
msgid "Minute Offset" msgid "Minute Offset"
msgstr "" msgstr ""
@ -452,6 +466,15 @@ msgstr ""
msgid "This CSS will be added to the site after the default CSS." msgid "This CSS will be added to the site after the default CSS."
msgstr "" msgstr ""
#: allianceauth/eveonline/apps.py:8
msgid "EVE Online"
msgstr ""
#: allianceauth/eveonline/autogroups/apps.py:8
msgid "EVE Online Autogroups"
msgstr ""
#: allianceauth/fleetactivitytracking/apps.py:8
#: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/auth_hooks.py:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11
@ -561,9 +584,11 @@ msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/templates/allianceauth/top-menu.html:23 #: allianceauth/templates/allianceauth/top-menu.html:23
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
#: allianceauth/timerboard/templates/timerboard/timertable.html:12 #: allianceauth/timerboard/templates/timerboard/timertable.html:12
msgid "Eve Time" msgid "EVE time"
msgstr "" msgstr ""
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
@ -728,6 +753,11 @@ msgid ""
"character needs to be online." "character needs to be online."
msgstr "" msgstr ""
#: allianceauth/framework/apps.py:16
msgid "Framework"
msgstr ""
#: allianceauth/groupmanagement/apps.py:8
#: allianceauth/groupmanagement/auth_hooks.py:18 #: allianceauth/groupmanagement/auth_hooks.py:18
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:18
msgid "Group Management" msgid "Group Management"
@ -956,7 +986,7 @@ msgid "Hidden"
msgstr "" msgstr ""
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45
#: allianceauth/templates/allianceauth/admin-status/overview.html:16 #: allianceauth/templates/allianceauth/admin-status/overview.html:15
msgid "Open" msgid "Open"
msgstr "" msgstr ""
@ -1009,7 +1039,7 @@ msgstr ""
#: allianceauth/hrapplications/templates/hrapplications/management.html:182 #: allianceauth/hrapplications/templates/hrapplications/management.html:182
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46 #: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
#: allianceauth/hrapplications/templates/hrapplications/view.html:25 #: allianceauth/hrapplications/templates/hrapplications/view.html:25
#: allianceauth/srp/templates/srp/data.html:117 #: allianceauth/srp/templates/srp/data.html:120
#: allianceauth/srp/templates/srp/management.html:87 #: allianceauth/srp/templates/srp/management.html:87
msgid "Pending" msgid "Pending"
msgstr "" msgstr ""
@ -1151,6 +1181,10 @@ msgstr ""
msgid "Applied to leave group %(group)s." msgid "Applied to leave group %(group)s."
msgstr "" msgstr ""
#: allianceauth/hrapplications/apps.py:8
msgid "HR Applications"
msgstr ""
#: allianceauth/hrapplications/auth_hooks.py:15 #: allianceauth/hrapplications/auth_hooks.py:15
msgid "Applications" msgid "Applications"
msgstr "" msgstr ""
@ -1222,7 +1256,7 @@ msgstr ""
#: allianceauth/hrapplications/templates/hrapplications/management.html:185 #: allianceauth/hrapplications/templates/hrapplications/management.html:185
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48 #: allianceauth/hrapplications/templates/hrapplications/searchview.html:48
#: allianceauth/hrapplications/templates/hrapplications/view.html:21 #: allianceauth/hrapplications/templates/hrapplications/view.html:21
#: allianceauth/srp/templates/srp/data.html:109 #: allianceauth/srp/templates/srp/data.html:112
msgid "Approved" msgid "Approved"
msgstr "" msgstr ""
@ -1230,7 +1264,7 @@ msgstr ""
#: allianceauth/hrapplications/templates/hrapplications/management.html:143 #: allianceauth/hrapplications/templates/hrapplications/management.html:143
#: allianceauth/hrapplications/templates/hrapplications/management.html:187 #: allianceauth/hrapplications/templates/hrapplications/management.html:187
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50 #: allianceauth/hrapplications/templates/hrapplications/searchview.html:50
#: allianceauth/srp/templates/srp/data.html:113 #: allianceauth/srp/templates/srp/data.html:116
msgid "Rejected" msgid "Rejected"
msgstr "" msgstr ""
@ -1345,7 +1379,7 @@ msgstr ""
msgid "children" msgid "children"
msgstr "" msgstr ""
#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21 #: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:22
msgid "text" msgid "text"
msgstr "" msgstr ""
@ -1357,11 +1391,15 @@ msgstr ""
msgid "visible" msgid "visible"
msgstr "" msgstr ""
#: allianceauth/menu/apps.py:16
msgid "Menu"
msgstr ""
#: allianceauth/menu/constants.py:16 #: allianceauth/menu/constants.py:16
msgid "app" msgid "app"
msgstr "" msgstr ""
#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37 #: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:38
msgid "folder" msgid "folder"
msgstr "" msgstr ""
@ -1373,47 +1411,47 @@ msgstr ""
msgid "type" msgid "type"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:22 #: allianceauth/menu/models.py:23
msgid "Text to show on menu" msgid "Text to show on menu"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:27 #: allianceauth/menu/models.py:28
msgid "order" msgid "order"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:28 #: allianceauth/menu/models.py:29
msgid "Order of the menu. Lowest First" msgid "Order of the menu. Lowest First"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:38 #: allianceauth/menu/models.py:39
msgid "Folder this item is in (optional)" msgid "Folder this item is in (optional)"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:42 #: allianceauth/menu/models.py:43
msgid "is hidden" msgid "is hidden"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:44 #: allianceauth/menu/models.py:45
msgid "" msgid ""
"Hide this menu item.If this item is a folder all items under it will be " "Hide this menu item.If this item is a folder all items under it will be "
"hidden too" "hidden too"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:59 #: allianceauth/menu/models.py:60
msgid "icon classes" msgid "icon classes"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:61 #: allianceauth/menu/models.py:62
msgid "" msgid ""
"Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-house</" "Font Awesome classes to show as icon on menu, e.g. <code>fa-solid fa-house</"
"code>" "code>"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:67 #: allianceauth/menu/models.py:68
msgid "url" msgid "url"
msgstr "" msgstr ""
#: allianceauth/menu/models.py:68 #: allianceauth/menu/models.py:69
msgid "External URL this menu items will link to" msgid "External URL this menu items will link to"
msgstr "" msgstr ""
@ -1422,44 +1460,63 @@ msgid "Add folder"
msgstr "" msgstr ""
#: allianceauth/menu/templates/menu/menu-notification-block.html:12 #: allianceauth/menu/templates/menu/menu-notification-block.html:12
#: allianceauth/notifications/apps.py:8
#: allianceauth/notifications/templates/notifications/list.html:7 #: allianceauth/notifications/templates/notifications/list.html:7
#: allianceauth/notifications/templates/notifications/list.html:11 #: allianceauth/notifications/templates/notifications/list.html:11
#: allianceauth/templates/allianceauth/notifications_menu_item.html:6 #: allianceauth/templates/allianceauth/notifications_menu_item.html:6
msgid "Notifications" msgid "Notifications"
msgstr "" msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:56 #: allianceauth/menu/templates/menu/menu-user.html:77
msgid "Super User" msgid "Super User"
msgstr "" msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/menu/templates/menu/menu-user.html:83
#: allianceauth/menu/templates/menu/menu-user.html:86
msgid "Alliance Auth Documentation"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:94
#: allianceauth/menu/templates/menu/menu-user.html:97
msgid "Alliance Auth Discord"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:105
#: allianceauth/menu/templates/menu/menu-user.html:108
msgid "Alliance Auth Git"
msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:118
#: allianceauth/menu/templates/menu/menu-user.html:121
#: allianceauth/templates/allianceauth/top-menu-admin.html:9 #: allianceauth/templates/allianceauth/top-menu-admin.html:9
msgid "Admin" msgid "Admin"
msgstr "" msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:82 #: allianceauth/menu/templates/menu/menu-user.html:144
#: allianceauth/menu/templates/menu/menu-user.html:147
msgid "Sign Out" msgid "Sign Out"
msgstr "" msgstr ""
#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/menu/templates/menu/menu-user.html:155
#: allianceauth/menu/templates/menu/menu-user.html:158
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In" msgid "Sign In"
msgstr "" msgstr ""
#: allianceauth/notifications/models.py:21 #: allianceauth/notifications/models.py:22
msgid "danger" msgid "danger"
msgstr "" msgstr ""
#: allianceauth/notifications/models.py:22 #: allianceauth/notifications/models.py:23
msgid "warning" msgid "warning"
msgstr "" msgstr ""
#: allianceauth/notifications/models.py:23 #: allianceauth/notifications/models.py:24
msgid "info" msgid "info"
msgstr "" msgstr ""
#: allianceauth/notifications/models.py:24 #: allianceauth/notifications/models.py:25
msgid "success" msgid "success"
msgstr "" msgstr ""
@ -1516,7 +1573,7 @@ msgstr ""
msgid "Deleted all read notifications." msgid "Deleted all read notifications."
msgstr "" msgstr ""
#: allianceauth/optimer/auth_hooks.py:12 #: allianceauth/optimer/apps.py:8 allianceauth/optimer/auth_hooks.py:12
msgid "Fleet Operations" msgid "Fleet Operations"
msgstr "" msgstr ""
@ -1590,11 +1647,6 @@ msgstr ""
msgid "Form Up System" msgid "Form Up System"
msgstr "" msgstr ""
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time"
msgstr ""
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14 #: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13 #: allianceauth/timerboard/templates/timerboard/timertable.html:13
msgid "Local Time" msgid "Local Time"
@ -1610,7 +1662,7 @@ msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:28 #: allianceauth/optimer/templates/optimer/management.html:28
#: allianceauth/timerboard/templates/timerboard/view.html:32 #: allianceauth/timerboard/templates/timerboard/view.html:32
msgid "Current Eve Time:" msgid "Current EVE time:"
msgstr "" msgstr ""
#: allianceauth/optimer/templates/optimer/management.html:36 #: allianceauth/optimer/templates/optimer/management.html:36
@ -1655,6 +1707,7 @@ msgstr ""
msgid "Saved changes to operation timer for %(opname)s." msgid "Saved changes to operation timer for %(opname)s."
msgstr "" msgstr ""
#: allianceauth/permissions_tool/apps.py:8
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7 #: allianceauth/permissions_tool/templates/permissions_tool/audit.html:7
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11 #: allianceauth/permissions_tool/templates/permissions_tool/audit.html:11
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17 #: allianceauth/permissions_tool/templates/permissions_tool/audit.html:17
@ -1711,7 +1764,7 @@ msgstr ""
msgid "Successfully set your {self.service_name} password" msgid "Successfully set your {self.service_name} password"
msgstr "" msgstr ""
#: allianceauth/services/auth_hooks.py:12 #: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
msgid "Services" msgid "Services"
msgstr "" msgstr ""
@ -1775,6 +1828,10 @@ msgstr ""
msgid "Password must be at least 8 characters long." msgid "Password must be at least 8 characters long."
msgstr "" msgstr ""
#: allianceauth/services/modules/discord/apps.py:8
msgid "Discord Service"
msgstr ""
#: allianceauth/services/modules/discord/models.py:187 #: allianceauth/services/modules/discord/models.py:187
msgid "Discord Account Disabled" msgid "Discord Account Disabled"
msgstr "" msgstr ""
@ -1823,6 +1880,10 @@ msgid ""
"again." "again."
msgstr "" msgstr ""
#: allianceauth/services/modules/discourse/apps.py:8
msgid "Discourse Service"
msgstr ""
#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5 #: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5
msgid "Discourse" msgid "Discourse"
msgstr "" msgstr ""
@ -1853,6 +1914,14 @@ msgstr ""
msgid "Invalid payload. Please contact support if this problem persists." msgid "Invalid payload. Please contact support if this problem persists."
msgstr "" msgstr ""
#: allianceauth/services/modules/example/apps.py:8
msgid "Example Service"
msgstr ""
#: allianceauth/services/modules/ips4/apps.py:8
msgid "IPS4 Service"
msgstr ""
#: allianceauth/services/modules/ips4/views.py:31 #: allianceauth/services/modules/ips4/views.py:31
msgid "Activated IPSuite4 account." msgid "Activated IPSuite4 account."
msgstr "" msgstr ""
@ -1876,6 +1945,10 @@ msgstr ""
msgid "Deactivated IPSuite4 account." msgid "Deactivated IPSuite4 account."
msgstr "" msgstr ""
#: allianceauth/services/modules/mumble/apps.py:8
msgid "Mumble Service"
msgstr ""
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7 #: allianceauth/services/modules/mumble/templates/services/mumble/mumble_connection_history.html:7
msgid "Mumble" msgid "Mumble"
msgstr "" msgstr ""
@ -1931,6 +2004,10 @@ msgstr ""
msgid "Mumble Connection History" msgid "Mumble Connection History"
msgstr "" msgstr ""
#: allianceauth/services/modules/openfire/apps.py:8
msgid "Openfire Service"
msgstr ""
#: allianceauth/services/modules/openfire/auth_hooks.py:27 #: allianceauth/services/modules/openfire/auth_hooks.py:27
msgid "Jabber" msgid "Jabber"
msgstr "" msgstr ""
@ -1982,6 +2059,10 @@ msgstr ""
msgid "Set jabber password." msgid "Set jabber password."
msgstr "" msgstr ""
#: allianceauth/services/modules/phpbb3/apps.py:8
msgid "phpBB3 Service"
msgstr ""
#: allianceauth/services/modules/phpbb3/views.py:34 #: allianceauth/services/modules/phpbb3/views.py:34
msgid "Activated forum account." msgid "Activated forum account."
msgstr "" msgstr ""
@ -2005,6 +2086,10 @@ msgstr ""
msgid "Set forum password." msgid "Set forum password."
msgstr "" msgstr ""
#: allianceauth/services/modules/smf/apps.py:8
msgid "SMF Service"
msgstr ""
#: allianceauth/services/modules/smf/views.py:52 #: allianceauth/services/modules/smf/views.py:52
msgid "Activated SMF account." msgid "Activated SMF account."
msgstr "" msgstr ""
@ -2028,6 +2113,10 @@ msgstr ""
msgid "Set SMF password." msgid "Set SMF password."
msgstr "" msgstr ""
#: allianceauth/services/modules/teamspeak3/apps.py:8
msgid "TeamSpeak 3 Service"
msgstr ""
#: allianceauth/services/modules/teamspeak3/forms.py:14 #: allianceauth/services/modules/teamspeak3/forms.py:14
#, python-format #, python-format
msgid "Unable to locate user %s on server" msgid "Unable to locate user %s on server"
@ -2077,6 +2166,10 @@ msgstr ""
msgid "Reset TeamSpeak3 permission key." msgid "Reset TeamSpeak3 permission key."
msgstr "" msgstr ""
#: allianceauth/services/modules/xenforo/apps.py:8
msgid "Xenforo Service"
msgstr ""
#: allianceauth/services/modules/xenforo/views.py:30 #: allianceauth/services/modules/xenforo/views.py:30
msgid "Activated XenForo account." msgid "Activated XenForo account."
msgstr "" msgstr ""
@ -2186,7 +2279,7 @@ msgid ""
"Some services provide different options. Hover over the buttons to see more." "Some services provide different options. Hover over the buttons to see more."
msgstr "" msgstr ""
#: allianceauth/srp/auth_hooks.py:14 #: allianceauth/srp/apps.py:8 allianceauth/srp/auth_hooks.py:14
msgid "Ship Replacement" msgid "Ship Replacement"
msgstr "" msgstr ""
@ -2261,18 +2354,18 @@ msgid "Mark Completed"
msgstr "" msgstr ""
#: allianceauth/srp/templates/srp/data.html:48 #: allianceauth/srp/templates/srp/data.html:48
#: allianceauth/srp/templates/srp/data.html:139 #: allianceauth/srp/templates/srp/data.html:142
msgid "Total Losses:" msgid "Total Losses:"
msgstr "" msgstr ""
#: allianceauth/srp/templates/srp/data.html:49 #: allianceauth/srp/templates/srp/data.html:49
#: allianceauth/srp/templates/srp/data.html:140 #: allianceauth/srp/templates/srp/data.html:143
#: allianceauth/srp/templates/srp/management.html:36 #: allianceauth/srp/templates/srp/management.html:36
msgid "Total ISK Cost:" msgid "Total ISK Cost:"
msgstr "" msgstr ""
#: allianceauth/srp/templates/srp/data.html:60 #: allianceauth/srp/templates/srp/data.html:60
#: allianceauth/srp/templates/srp/data.html:151 #: allianceauth/srp/templates/srp/data.html:154
msgid "Are you sure you want to delete SRP requests?" msgid "Are you sure you want to delete SRP requests?"
msgstr "" msgstr ""
@ -2304,12 +2397,12 @@ msgstr ""
msgid "Post Time" msgid "Post Time"
msgstr "" msgstr ""
#: allianceauth/srp/templates/srp/data.html:99 #: allianceauth/srp/templates/srp/data.html:102
#: allianceauth/srp/templates/srp/management.html:70 #: allianceauth/srp/templates/srp/management.html:70
msgid "Link" msgid "Link"
msgstr "" msgstr ""
#: allianceauth/srp/templates/srp/data.html:160 #: allianceauth/srp/templates/srp/data.html:163
msgid "No SRP requests for this fleet." msgid "No SRP requests for this fleet."
msgstr "" msgstr ""
@ -2493,52 +2586,48 @@ msgstr ""
msgid "Alliance Auth Notifications" msgid "Alliance Auth Notifications"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:18 #: allianceauth/templates/allianceauth/admin-status/overview.html:20
msgid "Closed"
msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:24
msgid "No notifications at this time" msgid "No notifications at this time"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:33 #: allianceauth/templates/allianceauth/admin-status/overview.html:29
msgid "Powered by GitLab" msgid "Powered by GitLab"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:39 #: allianceauth/templates/allianceauth/admin-status/overview.html:35
msgid "Support Discord" msgid "Support Discord"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
#: allianceauth/templates/allianceauth/admin-status/overview.html:53 #: allianceauth/templates/allianceauth/admin-status/overview.html:53
#: allianceauth/templates/allianceauth/admin-status/overview.html:57
msgid "Software Version" msgid "Software Version"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:60 #: allianceauth/templates/allianceauth/admin-status/overview.html:56
msgid "Current" msgid "Current"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:67 #: allianceauth/templates/allianceauth/admin-status/overview.html:63
msgid "Latest Stable" msgid "Latest Stable"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:72 #: allianceauth/templates/allianceauth/admin-status/overview.html:68
msgid "Update available" msgid "Update available"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:80 #: allianceauth/templates/allianceauth/admin-status/overview.html:76
msgid "Latest Pre-Release" msgid "Latest Pre-Release"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:85 #: allianceauth/templates/allianceauth/admin-status/overview.html:81
msgid "Pre-Release available" msgid "Pre-Release available"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:95 #: allianceauth/templates/allianceauth/admin-status/overview.html:91
msgid "Task Queue" msgid "Task Queue"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #: allianceauth/templates/allianceauth/admin-status/overview.html:96
#, python-format #, python-format
msgid "" msgid ""
"\n" "\n"
@ -2547,11 +2636,11 @@ msgid ""
" " " "
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:116 #: allianceauth/templates/allianceauth/admin-status/overview.html:112
msgid "running" msgid "running"
msgstr "" msgstr ""
#: allianceauth/templates/allianceauth/admin-status/overview.html:117 #: allianceauth/templates/allianceauth/admin-status/overview.html:113
msgid "queued" msgid "queued"
msgstr "" msgstr ""
@ -2576,10 +2665,17 @@ msgstr ""
msgid "Toggle navigation" msgid "Toggle navigation"
msgstr "" msgstr ""
#: allianceauth/theme/templates/theme/theme_select.html:7 #: allianceauth/theme/templates/theme/theme_select.html:11
msgid "Select Theme" msgid "Select Theme"
msgstr "" msgstr ""
#: allianceauth/timerboard/apps.py:8
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr ""
#: allianceauth/timerboard/form.py:36 #: allianceauth/timerboard/form.py:36
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:8 #: allianceauth/timerboard/templates/timerboard/timertable.html:8
@ -2766,6 +2862,10 @@ msgstr ""
msgid "Abandoned" msgid "Abandoned"
msgstr "" msgstr ""
#: allianceauth/timerboard/models.py:60
msgid "Theft"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7
#: allianceauth/timerboard/templates/timerboard/view.html:54 #: allianceauth/timerboard/templates/timerboard/view.html:54
msgid "Upcoming Timers" msgid "Upcoming Timers"
@ -2775,12 +2875,6 @@ msgstr ""
msgid "Timer" msgid "Timer"
msgstr "" msgstr ""
#: allianceauth/timerboard/templates/timerboard/form.html:10
#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10
#: allianceauth/timerboard/templates/timerboard/view.html:14
msgid "Structure Timers"
msgstr ""
#: allianceauth/timerboard/templates/timerboard/form.html:25 #: allianceauth/timerboard/templates/timerboard/form.html:25
msgid "Structure Timer Details" msgid "Structure Timer Details"
msgstr "" msgstr ""

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,7 @@
import logging import logging
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -12,6 +13,7 @@ logger = logging.getLogger(__name__)
class MenuConfig(AppConfig): class MenuConfig(AppConfig):
name = "allianceauth.menu" name = "allianceauth.menu"
label = "menu" label = "menu"
verbose_name = _("Menu")
def ready(self): def ready(self):
from allianceauth.menu.core import smart_sync from allianceauth.menu.core import smart_sync

View File

@ -1,3 +1,4 @@
from typing import ClassVar
from django.db import models from django.db import models
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
@ -67,7 +68,7 @@ class MenuItem(models.Model):
help_text=_("External URL this menu items will link to"), help_text=_("External URL this menu items will link to"),
) )
objects = MenuItemManager() objects: ClassVar[MenuItemManager] = MenuItemManager()
def __str__(self) -> str: def __str__(self) -> str:
return self.text return self.text

View File

@ -27,7 +27,7 @@
</a> </a>
{% if item.count >= 1 %} {% if item.count >= 1 %}
<span class="badge bg-primary m-2 align-self-center{% if not item.is_folder %} me-2{% endif %}"> <span class="badge text-bg-primary m-2 align-self-center{% if not item.is_folder %} me-2{% endif %}">
{{ item.count }} {{ item.count }}
</span> </span>
{% elif item.url %} {% elif item.url %}

View File

@ -2,8 +2,8 @@
{% load navactive %} {% load navactive %}
{% load auth_notifications %} {% load auth_notifications %}
<li class="nav-item {% navactive request 'notifications:' %}" id="menu_item_notifications"> <li class="nav-item" id="menu_item_notifications">
<a class="nav-link" href="{% url 'notifications:list' %}"> <a class="nav-link {% navactive request 'notifications:' %}" href="{% url 'notifications:list' %}">
{% with unread_count=request.user|user_unread_notification_count %} {% with unread_count=request.user|user_unread_notification_count %}
<i class="fa-solid fa-bell{% if unread_count %} text-danger{% endif %}"></i> <i class="fa-solid fa-bell{% if unread_count %} text-danger{% endif %}"></i>
{% endwith %} {% endwith %}

View File

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

View File

@ -5,7 +5,7 @@
<div class="col-auto px-0"> <div class="col-auto px-0">
<div class="collapse collapse-horizontal" tabindex="-1" id="sidebar"> <div class="collapse collapse-horizontal" tabindex="-1" id="sidebar">
<div> <div>
<div class="nav-padding navbar-dark bg-dark text-light px-0 d-flex flex-column overflow-hidden vh-100 {% if not user.is_authenticated %}position-relative{% endif %}"> <div class="nav-padding navbar-dark text-bg-dark px-0 d-flex flex-column overflow-hidden vh-100 {% if not user.is_authenticated %}position-relative{% endif %}">
{% if user.is_authenticated %} {% if user.is_authenticated %}
<ul id="sidebar-menu" class="navbar-nav flex-column mb-auto overflow-auto pt-2"> <ul id="sidebar-menu" class="navbar-nav flex-column mb-auto overflow-auto pt-2">
<li class="d-flex flex-wrap m-2 p-2 pt-0 pb-0 mt-0 mb-0 me-0 pe-0"> <li class="d-flex flex-wrap m-2 p-2 pt-0 pb-0 mt-0 mb-0 me-0 pe-0">

View File

@ -1,6 +1,8 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class NotificationsConfig(AppConfig): class NotificationsConfig(AppConfig):
name = 'allianceauth.notifications' name = 'allianceauth.notifications'
label = 'notifications' label = 'notifications'
verbose_name = _('Notifications')

View File

@ -1,4 +1,5 @@
import logging import logging
from typing import ClassVar
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.db import models from django.db import models
@ -56,7 +57,7 @@ class Notification(models.Model):
timestamp = models.DateTimeField(auto_now_add=True, db_index=True) timestamp = models.DateTimeField(auto_now_add=True, db_index=True)
viewed = models.BooleanField(default=False, db_index=True) viewed = models.BooleanField(default=False, db_index=True)
objects = NotificationManager() objects: ClassVar[NotificationManager] = NotificationManager()
class Meta: class Meta:
permissions = ( permissions = (

View File

@ -15,14 +15,14 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" id="unread-tab" data-bs-toggle="tab" data-bs-target="#unread" type="button" role="tab" aria-controls="unread" aria-selected="true"> <a class="nav-link active" id="unread-tab" data-bs-toggle="tab" data-bs-target="#unread" type="button" role="tab" aria-controls="unread" aria-selected="true">
{% translate "Unread" %} {% translate "Unread" %}
<span class="badge bg-secondary">{{ unread|length }}</span> <span class="badge text-bg-secondary">{{ unread|length }}</span>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" id="read-tab" data-bs-toggle="tab" data-bs-target="#read" type="button" role="tab" aria-controls="read" aria-selected="false"> <a class="nav-link" id="read-tab" data-bs-toggle="tab" data-bs-target="#read" type="button" role="tab" aria-controls="read" aria-selected="false">
{% translate "Read" %} {% translate "Read" %}
<span class="badge bg-secondary">{{ read|length }}</span> <span class="badge text-bg-secondary">{{ read|length }}</span>
</a> </a>
</li> </li>
{% endblock %} {% endblock %}

View File

@ -17,7 +17,7 @@
</div> </div>
<div class="card border-{{ notif.level }}"> <div class="card border-{{ notif.level }}">
<div class="card-header bg-{{ notif.level }}"> <div class="card-header text-bg-{{ notif.level }}">
{{ notif.timestamp }} {{ notif.timestamp }}
{{ notif.title }} {{ notif.title }}
</div> </div>

View File

@ -1,6 +1,8 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class OptimerConfig(AppConfig): class OptimerConfig(AppConfig):
name = 'allianceauth.optimer' name = 'allianceauth.optimer'
label = 'optimer' label = 'optimer'
verbose_name = _('Fleet Operations')

View File

@ -14,7 +14,7 @@
<th class="text-center">{% translate "Operation" %}</th> <th class="text-center">{% translate "Operation" %}</th>
<th class="text-center">{% translate "Type" %}</th> <th class="text-center">{% translate "Type" %}</th>
<th class="text-center">{% translate "Form Up System" %}</th> <th class="text-center">{% translate "Form Up System" %}</th>
<th class="text-center">{% translate "EVE Time" %}</th> <th class="text-center">{% translate "EVE time" %}</th>
</tr> </tr>
</thead> </thead>

View File

@ -24,8 +24,8 @@
{% block content %} {% block content %}
<div> <div>
<div class="text-center mb-3"> <div class="text-center mb-3">
<div class="badge bg-primary text-start"> <div class="badge text-bg-primary text-start">
<b>{% translate "Current Eve Time:" %}</b> <b>{% translate "Current EVE time:" %}</b>
<span id="current-time"></span> <span id="current-time"></span>
</div> </div>
</div> </div>
@ -127,8 +127,8 @@
}; };
/** /**
* Get the current Eve time as a string * Get the current EVE time as a string
* @returns {string} Eve time string * @returns {string} EVE time string
*/ */
const updateClock = () => { const updateClock = () => {
document.getElementById("current-time").innerHTML = getCurrentEveTimeString(); document.getElementById("current-time").innerHTML = getCurrentEveTimeString();

View File

@ -1,6 +1,8 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.utils.translation import gettext_lazy as _
class PermissionsToolConfig(AppConfig): class PermissionsToolConfig(AppConfig):
name = 'allianceauth.permissions_tool' name = 'allianceauth.permissions_tool'
label = 'permissions_tool' label = 'permissions_tool'
verbose_name = _('Permissions Audit')

View File

@ -1,22 +1,22 @@
#!/usr/bin/env python #!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os import os
import sys import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name}}.settings.local") def main() -> None:
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings')
try: try:
from django.core.management import execute_from_command_line from django.core.management import execute_from_command_line
except ImportError as err: except ImportError as exc:
# The above import may fail for some other reason. Ensure that the raise ImportError(
# issue is really that Django is missing to avoid masking other "Couldn't import Django. Are you sure it's installed and "
# exceptions on Python 2. "available on your PYTHONPATH environment variable? Did you "
try: "forget to activate a virtual environment?"
import django # noqa: F401 ) from exc
except ImportError:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from err
raise
execute_from_command_line(sys.argv) execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()

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