mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-04 14:16:21 +01:00
Compare commits
109 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
55446639c0 | ||
|
|
c703584110 | ||
|
|
7f22a744c6 | ||
|
|
1e0b64d1e0 | ||
|
|
17b0b802b3 | ||
|
|
1ef7a35d67 | ||
|
|
654ebb031f | ||
|
|
77ce2311c9 | ||
|
|
843c3ccf9a | ||
|
|
c19f7e6e79 | ||
|
|
df6a25067d | ||
|
|
ee132b6e60 | ||
|
|
78988fee04 | ||
|
|
ed3cd08d40 | ||
|
|
543e4169e4 | ||
|
|
d696777ba5 | ||
|
|
5caa9c8012 | ||
|
|
5cff1df48d | ||
|
|
2a3d775a9b | ||
|
|
648733d537 | ||
|
|
70caf7606c | ||
|
|
99c65d2a5d | ||
|
|
55125a8ff3 | ||
|
|
2fd0fcdbcb | ||
|
|
2fe7bcf20e | ||
|
|
0c0f2fd5ba | ||
|
|
b32f4ab243 | ||
|
|
70f314e578 | ||
|
|
bc1b1c3a8f | ||
|
|
453512db64 | ||
|
|
4047159fd1 | ||
|
|
f5ddbb8004 | ||
|
|
c45d5d7325 | ||
|
|
c679ec0646 | ||
|
|
69a51bb08a | ||
|
|
442c893c39 | ||
|
|
33df15f882 | ||
|
|
5d56f0a66c | ||
|
|
0fbdbf3a8d | ||
|
|
5291bf6896 | ||
|
|
bd6c0fede5 | ||
|
|
23fe1703c3 | ||
|
|
9139b0da56 | ||
|
|
80145b313f | ||
|
|
e96bdd12f9 | ||
|
|
513b7b88f4 | ||
|
|
5e3fc5c1cb | ||
|
|
d3069db046 | ||
|
|
24863eaf9e | ||
|
|
d138bd61c5 | ||
|
|
bff20ddd5d | ||
|
|
493e694410 | ||
|
|
8c41d9da58 | ||
|
|
9e0358a3ce | ||
|
|
19bb6856a2 | ||
|
|
9751315b97 | ||
|
|
99df847e1f | ||
|
|
60ba82c653 | ||
|
|
bd7f13358a | ||
|
|
4edd0fab9e | ||
|
|
fced909b4d | ||
|
|
e2b96da460 | ||
|
|
ecd27b823e | ||
|
|
dae4afddb1 | ||
|
|
d507663316 | ||
|
|
67081ab465 | ||
|
|
bce90344f8 | ||
|
|
29c6fa292a | ||
|
|
295361a541 | ||
|
|
92a1bd40a3 | ||
|
|
b8bbd0d1c1 | ||
|
|
b7a6c9379a | ||
|
|
e5f3a67919 | ||
|
|
58cc4b84dd | ||
|
|
331dc7d4d0 | ||
|
|
01991b78c9 | ||
|
|
466113e6cb | ||
|
|
b1f5aad9f9 | ||
|
|
464016ac05 | ||
|
|
cc76f09a6e | ||
|
|
a7f6a74211 | ||
|
|
8898c665cf | ||
|
|
313305ab22 | ||
|
|
86559fc11f | ||
|
|
1835b04dc8 | ||
|
|
30180f9fe9 | ||
|
|
f1eac7b84f | ||
|
|
793df66f7a | ||
|
|
188295daac | ||
|
|
0447697106 | ||
|
|
1608950d43 | ||
|
|
23c283c0bb | ||
|
|
b76fa4282a | ||
|
|
d88cb57cf0 | ||
|
|
787140dd7e | ||
|
|
735e890de4 | ||
|
|
77caa5543d | ||
|
|
b2f0962527 | ||
|
|
efc0fcf11d | ||
|
|
1b49ea571e | ||
|
|
3c21a3857a | ||
|
|
d0a769f524 | ||
|
|
222547187e | ||
|
|
ce872d67bb | ||
|
|
fcffb3d2ff | ||
|
|
1930dfab77 | ||
|
|
b4418c8c36 | ||
|
|
295e5a04d8 | ||
|
|
d67ab108a0 |
@@ -25,7 +25,7 @@ before_script:
|
|||||||
pre-commit-check:
|
pre-commit-check:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
stage: pre-commit
|
stage: pre-commit
|
||||||
image: python:3.11-bookworm
|
image: python:3.11-trixie
|
||||||
# variables:
|
# variables:
|
||||||
# PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit
|
# PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit
|
||||||
# cache:
|
# cache:
|
||||||
@@ -65,7 +65,7 @@ test-3.8-core:
|
|||||||
|
|
||||||
test-3.9-core:
|
test-3.9-core:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.9-bookworm
|
image: python:3.9-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e py39-core
|
- tox -e py39-core
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -77,7 +77,7 @@ test-3.9-core:
|
|||||||
|
|
||||||
test-3.10-core:
|
test-3.10-core:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.10-bookworm
|
image: python:3.10-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e py310-core
|
- tox -e py310-core
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -89,7 +89,7 @@ test-3.10-core:
|
|||||||
|
|
||||||
test-3.11-core:
|
test-3.11-core:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.11-bookworm
|
image: python:3.11-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e py311-core
|
- tox -e py311-core
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -101,7 +101,7 @@ test-3.11-core:
|
|||||||
|
|
||||||
test-3.12-core:
|
test-3.12-core:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.12-bookworm
|
image: python:3.12-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e py312-core
|
- tox -e py312-core
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -125,7 +125,7 @@ test-3.8-all:
|
|||||||
|
|
||||||
test-3.9-all:
|
test-3.9-all:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.9-bookworm
|
image: python:3.9-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e py39-all
|
- tox -e py39-all
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -137,7 +137,7 @@ test-3.9-all:
|
|||||||
|
|
||||||
test-3.10-all:
|
test-3.10-all:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.10-bookworm
|
image: python:3.10-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e py310-all
|
- tox -e py310-all
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -149,7 +149,7 @@ test-3.10-all:
|
|||||||
|
|
||||||
test-3.11-all:
|
test-3.11-all:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.11-bookworm
|
image: python:3.11-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e py311-all
|
- tox -e py311-all
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -162,7 +162,7 @@ test-3.11-all:
|
|||||||
|
|
||||||
test-3.12-all:
|
test-3.12-all:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.12-bookworm
|
image: python:3.12-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e py312-all
|
- tox -e py312-all
|
||||||
artifacts:
|
artifacts:
|
||||||
@@ -174,7 +174,7 @@ test-3.12-all:
|
|||||||
|
|
||||||
build-test:
|
build-test:
|
||||||
stage: test
|
stage: test
|
||||||
image: python:3.11-bookworm
|
image: python:3.11-trixie
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- python -m pip install --upgrade pip
|
- python -m pip install --upgrade pip
|
||||||
@@ -193,13 +193,13 @@ build-test:
|
|||||||
|
|
||||||
test-docs:
|
test-docs:
|
||||||
<<: *only-default
|
<<: *only-default
|
||||||
image: python:3.11-bookworm
|
image: python:3.11-trixie
|
||||||
script:
|
script:
|
||||||
- tox -e docs
|
- tox -e docs
|
||||||
|
|
||||||
deploy_production:
|
deploy_production:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
image: python:3.11-bookworm
|
image: python:3.11-trixie
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- python -m pip install --upgrade pip
|
- python -m pip install --upgrade pip
|
||||||
|
|||||||
@@ -25,19 +25,19 @@ exclude: |
|
|||||||
repos:
|
repos:
|
||||||
# Code Upgrades
|
# Code Upgrades
|
||||||
- repo: https://github.com/asottile/pyupgrade
|
- repo: https://github.com/asottile/pyupgrade
|
||||||
rev: v3.20.0
|
rev: v3.21.2
|
||||||
hooks:
|
hooks:
|
||||||
- id: pyupgrade
|
- id: pyupgrade
|
||||||
args: [--py38-plus]
|
args: [--py38-plus]
|
||||||
- repo: https://github.com/adamchainz/django-upgrade
|
- repo: https://github.com/adamchainz/django-upgrade
|
||||||
rev: 1.25.0
|
rev: 1.29.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: django-upgrade
|
- id: django-upgrade
|
||||||
args: [--target-version=4.2]
|
args: [--target-version=4.2]
|
||||||
|
|
||||||
# Formatting
|
# Formatting
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
rev: v5.0.0
|
rev: v6.0.0
|
||||||
hooks:
|
hooks:
|
||||||
# Identify invalid files
|
# Identify invalid files
|
||||||
- id: check-ast
|
- id: check-ast
|
||||||
@@ -55,8 +55,6 @@ repos:
|
|||||||
# - id: check-docstring-first
|
# - id: check-docstring-first
|
||||||
- id: debug-statements
|
- id: debug-statements
|
||||||
# - id: requirements-txt-fixer
|
# - id: requirements-txt-fixer
|
||||||
- id: fix-encoding-pragma
|
|
||||||
args: [--remove]
|
|
||||||
- id: fix-byte-order-marker
|
- id: fix-byte-order-marker
|
||||||
# General quality checks
|
# General quality checks
|
||||||
- id: mixed-line-ending
|
- id: mixed-line-ending
|
||||||
@@ -66,11 +64,11 @@ 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.1
|
rev: 3.6.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: editorconfig-checker
|
- id: editorconfig-checker
|
||||||
- repo: https://github.com/igorshubovych/markdownlint-cli
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
||||||
rev: v0.45.0
|
rev: v0.47.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: markdownlint
|
- id: markdownlint
|
||||||
language: node
|
language: node
|
||||||
@@ -78,7 +76,7 @@ repos:
|
|||||||
- --disable=MD013
|
- --disable=MD013
|
||||||
# Infrastructure
|
# Infrastructure
|
||||||
- repo: https://github.com/tox-dev/pyproject-fmt
|
- repo: https://github.com/tox-dev/pyproject-fmt
|
||||||
rev: v2.6.0
|
rev: v2.11.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: pyproject-fmt
|
- id: pyproject-fmt
|
||||||
name: pyproject.toml formatter
|
name: pyproject.toml formatter
|
||||||
@@ -86,7 +84,7 @@ repos:
|
|||||||
args:
|
args:
|
||||||
- --indent=4
|
- --indent=4
|
||||||
additional_dependencies:
|
additional_dependencies:
|
||||||
- tox==4.24.1 # https://github.com/tox-dev/tox/releases/latest
|
- tox==4.32.0 # https://github.com/tox-dev/tox/releases/latest
|
||||||
- repo: https://github.com/abravalheri/validate-pyproject
|
- repo: https://github.com/abravalheri/validate-pyproject
|
||||||
rev: v0.24.1
|
rev: v0.24.1
|
||||||
hooks:
|
hooks:
|
||||||
|
|||||||
1
CODEOWNERS
Normal file
1
CODEOWNERS
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* @allianceauth
|
||||||
@@ -63,7 +63,6 @@ Here is an example of the Alliance Auth web site with a mixture of Services, App
|
|||||||
- [Aaron Kable](https://gitlab.com/aaronkable/)
|
- [Aaron Kable](https://gitlab.com/aaronkable/)
|
||||||
- [Ariel Rin](https://gitlab.com/soratidus999/)
|
- [Ariel Rin](https://gitlab.com/soratidus999/)
|
||||||
- [Col Crunch](https://gitlab.com/colcrunch/)
|
- [Col Crunch](https://gitlab.com/colcrunch/)
|
||||||
- [Erik Kalkoken](https://gitlab.com/ErikKalkoken/)
|
|
||||||
- [Rounon Dax](https://gitlab.com/ppfeufer)
|
- [Rounon Dax](https://gitlab.com/ppfeufer)
|
||||||
- [snipereagle1](https://gitlab.com/mckernanin)
|
- [snipereagle1](https://gitlab.com/mckernanin)
|
||||||
|
|
||||||
@@ -71,6 +70,7 @@ Here is an example of the Alliance Auth web site with a mixture of Services, App
|
|||||||
|
|
||||||
- [Adarnof](https://gitlab.com/adarnof/)
|
- [Adarnof](https://gitlab.com/adarnof/)
|
||||||
- [Basraah](https://gitlab.com/basraah/)
|
- [Basraah](https://gitlab.com/basraah/)
|
||||||
|
- [Erik Kalkoken](https://gitlab.com/ErikKalkoken/)
|
||||||
|
|
||||||
### Beta Testers / Bug Fixers
|
### Beta Testers / Bug Fixers
|
||||||
|
|
||||||
@@ -89,6 +89,6 @@ Alliance Auth is maintained and developed by the community and we welcome every
|
|||||||
|
|
||||||
To see what needs to be worked on please review our issue list or chat with our active developers on Discord.
|
To see what needs to be worked on please review our issue list or chat with our active developers on Discord.
|
||||||
|
|
||||||
Also, please make sure you have signed the [License Agreement](https://developers.eveonline.com/resource/license-agreement) by logging in at [https://developers.eveonline.com](https://developers.eveonline.com) before submitting any pull requests.
|
Also, please make sure you have signed the [License Agreement](https://developers.eveonline.com/license-agreement) by logging in at [https://developers.eveonline.com](https://developers.eveonline.com) before submitting any pull requests.
|
||||||
|
|
||||||
In addition to the core AA system we also very much welcome contributions to our growing list of 3rd party services and plugin apps. Please see [AA Community Creations](https://gitlab.com/allianceauth/community-creations) for details.
|
In addition to the core AA system we also very much welcome contributions to our growing list of 3rd party services and plugin apps. Please see [AA Community Creations](https://gitlab.com/allianceauth/community-creations) for details.
|
||||||
|
|||||||
@@ -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__ = '4.9.0'
|
__version__ = '4.12.0'
|
||||||
__title__ = 'Alliance Auth'
|
__title__ = 'Alliance Auth'
|
||||||
__title_useragent__ = 'AllianceAuth'
|
__title_useragent__ = 'AllianceAuth'
|
||||||
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
|
__url__ = 'https://gitlab.com/allianceauth/allianceauth'
|
||||||
|
|||||||
@@ -52,4 +52,10 @@ class UserSettingsMiddleware(MiddlewareMixin):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.exception(e)
|
logger.exception(e)
|
||||||
|
|
||||||
|
# Minimize Menu
|
||||||
|
try:
|
||||||
|
request.session["MINIMIZE_SIDEBAR"] = request.user.profile.minimize_sidebar
|
||||||
|
except Exception as e:
|
||||||
|
pass # We don't care that an anonymous user has no profile (not logged in)
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# Generated by Django 4.2.25 on 2025-10-14 22:02
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("authentication", "0024_alter_userprofile_language"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="userprofile",
|
||||||
|
name="minimize_sidebar",
|
||||||
|
field=models.BooleanField(
|
||||||
|
default=False,
|
||||||
|
help_text="Keep the sidebar menu minimized",
|
||||||
|
verbose_name="Minimize Sidebar Menu",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -97,7 +97,8 @@ class UserProfile(models.Model):
|
|||||||
on_delete=models.SET_DEFAULT,
|
on_delete=models.SET_DEFAULT,
|
||||||
default=get_guest_state_pk)
|
default=get_guest_state_pk)
|
||||||
language = models.CharField(
|
language = models.CharField(
|
||||||
_("Language"), max_length=10,
|
_("Language"),
|
||||||
|
max_length=10,
|
||||||
choices=Language.choices,
|
choices=Language.choices,
|
||||||
blank=True,
|
blank=True,
|
||||||
default='')
|
default='')
|
||||||
@@ -112,6 +113,12 @@ class UserProfile(models.Model):
|
|||||||
null=True,
|
null=True,
|
||||||
help_text="Bootstrap 5 Themes from https://bootswatch.com/ or Community Apps"
|
help_text="Bootstrap 5 Themes from https://bootswatch.com/ or Community Apps"
|
||||||
)
|
)
|
||||||
|
minimize_sidebar = models.BooleanField(
|
||||||
|
_("Minimize Sidebar Menu"),
|
||||||
|
default=False,
|
||||||
|
help_text=_("Keep the sidebar menu minimized")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def assign_state(self, state=None, commit=True):
|
def assign_state(self, state=None, commit=True):
|
||||||
if not state:
|
if not state:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ def dashboard_results(hours: int) -> _TaskCounts:
|
|||||||
my_earliest = events.first_event(earliest=earliest)
|
my_earliest = events.first_event(earliest=earliest)
|
||||||
return [my_earliest] if my_earliest else []
|
return [my_earliest] if my_earliest else []
|
||||||
|
|
||||||
earliest = dt.datetime.utcnow() - dt.timedelta(hours=hours)
|
earliest = dt.datetime.now(dt.timezone.utc) - dt.timedelta(hours=hours)
|
||||||
earliest_events = []
|
earliest_events = []
|
||||||
succeeded_count = succeeded_tasks.count(earliest=earliest)
|
succeeded_count = succeeded_tasks.count(earliest=earliest)
|
||||||
earliest_events += earliest_if_exists(succeeded_tasks, earliest)
|
earliest_events += earliest_if_exists(succeeded_tasks, earliest)
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ class EventSeries:
|
|||||||
- event_time: timestamp of event. Will use current time if not specified.
|
- event_time: timestamp of event. Will use current time if not specified.
|
||||||
"""
|
"""
|
||||||
if not event_time:
|
if not event_time:
|
||||||
event_time = dt.datetime.utcnow()
|
event_time = dt.datetime.now(dt.timezone.utc)
|
||||||
my_id = self._redis.incr(self._key_counter)
|
my_id = self._redis.incr(self._key_counter)
|
||||||
self._redis.zadd(self._key_sorted_set, {my_id: event_time.timestamp()})
|
self._redis.zadd(self._key_sorted_set, {my_id: event_time.timestamp()})
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ class TestUserSettingsMiddlewareLoginFlow(TestCase):
|
|||||||
self.request.LANGUAGE_CODE = 'en'
|
self.request.LANGUAGE_CODE = 'en'
|
||||||
self.request.user.profile.language = 'de'
|
self.request.user.profile.language = 'de'
|
||||||
self.request.user.profile.night_mode = True
|
self.request.user.profile.night_mode = True
|
||||||
|
self.request.user.profile.minimize_sidebar = False
|
||||||
self.request.user.is_anonymous = False
|
self.request.user.is_anonymous = False
|
||||||
self.response = Mock()
|
self.response = Mock()
|
||||||
self.response.content = 'hello world'
|
self.response.content = 'hello world'
|
||||||
@@ -173,3 +174,26 @@ class TestUserSettingsMiddlewareLoginFlow(TestCase):
|
|||||||
self.response
|
self.response
|
||||||
)
|
)
|
||||||
self.assertEqual(self.request.session["NIGHT_MODE"], True)
|
self.assertEqual(self.request.session["NIGHT_MODE"], True)
|
||||||
|
|
||||||
|
def test_middleware_set_mimimize_sidebar(self):
|
||||||
|
"""
|
||||||
|
tests the middleware will always set minimize_sidebar to False (default)
|
||||||
|
"""
|
||||||
|
|
||||||
|
response = self.middleware.process_response(
|
||||||
|
self.request,
|
||||||
|
self.response
|
||||||
|
)
|
||||||
|
self.assertEqual(self.request.session["MINIMIZE_SIDEBAR"], False)
|
||||||
|
|
||||||
|
def test_middleware_minimize_sidebar_when_set(self):
|
||||||
|
"""
|
||||||
|
tests the middleware will set mimimize_sidebar to True from DB
|
||||||
|
"""
|
||||||
|
|
||||||
|
self.request.user.profile.minimize_sidebar = True
|
||||||
|
response = self.middleware.process_response(
|
||||||
|
self.request,
|
||||||
|
self.response
|
||||||
|
)
|
||||||
|
self.assertEqual(self.request.session["MINIMIZE_SIDEBAR"], True)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ from allianceauth.tests.auth_utils import AuthUtils
|
|||||||
from allianceauth.authentication.constants import ESI_ERROR_MESSAGE_OVERRIDES
|
from allianceauth.authentication.constants import ESI_ERROR_MESSAGE_OVERRIDES
|
||||||
|
|
||||||
MODULE_PATH = "allianceauth.authentication.views"
|
MODULE_PATH = "allianceauth.authentication.views"
|
||||||
|
TEMPLATETAGS_PATH = "allianceauth.templatetags.admin_status"
|
||||||
|
|
||||||
|
|
||||||
def jsonresponse_to_dict(response) -> dict:
|
def jsonresponse_to_dict(response) -> dict:
|
||||||
@@ -17,6 +18,7 @@ def jsonresponse_to_dict(response) -> dict:
|
|||||||
|
|
||||||
@patch(MODULE_PATH + ".queued_tasks_count")
|
@patch(MODULE_PATH + ".queued_tasks_count")
|
||||||
@patch(MODULE_PATH + ".active_tasks_count")
|
@patch(MODULE_PATH + ".active_tasks_count")
|
||||||
|
@patch(MODULE_PATH + "._celery_stats")
|
||||||
class TestRunningTasksCount(TestCase):
|
class TestRunningTasksCount(TestCase):
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls) -> None:
|
def setUpClass(cls) -> None:
|
||||||
@@ -26,36 +28,64 @@ class TestRunningTasksCount(TestCase):
|
|||||||
cls.user.is_superuser = True
|
cls.user.is_superuser = True
|
||||||
cls.user.save()
|
cls.user.save()
|
||||||
|
|
||||||
def test_should_return_data(
|
def test_should_return_data(self, mock_celery_stats, mock_tasks_queued, mock_tasks_running):
|
||||||
self, mock_active_tasks_count, mock_queued_tasks_count
|
|
||||||
):
|
|
||||||
# given
|
# given
|
||||||
mock_active_tasks_count.return_value = 2
|
mock_tasks_running.return_value = 2
|
||||||
mock_queued_tasks_count.return_value = 3
|
mock_tasks_queued.return_value = 3
|
||||||
|
mock_celery_stats.return_value = {
|
||||||
|
"tasks_succeeded": 5,
|
||||||
|
"tasks_retried": 1,
|
||||||
|
"tasks_failed": 4,
|
||||||
|
"tasks_total": 11,
|
||||||
|
"tasks_hours": 24,
|
||||||
|
"earliest_task": "2025-08-14T22:47:54.853Z",
|
||||||
|
}
|
||||||
|
|
||||||
request = self.factory.get("/")
|
request = self.factory.get("/")
|
||||||
request.user = self.user
|
request.user = self.user
|
||||||
|
|
||||||
# when
|
# when
|
||||||
response = task_counts(request)
|
response = task_counts(request)
|
||||||
|
|
||||||
# then
|
# then
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertDictEqual(
|
self.assertDictEqual(
|
||||||
jsonresponse_to_dict(response), {
|
jsonresponse_to_dict(response),
|
||||||
"tasks_running": 2, "tasks_queued": 3}
|
{
|
||||||
|
"tasks_succeeded": 5,
|
||||||
|
"tasks_retried": 1,
|
||||||
|
"tasks_failed": 4,
|
||||||
|
"tasks_total": 11,
|
||||||
|
"tasks_hours": 24,
|
||||||
|
"earliest_task": "2025-08-14T22:47:54.853Z",
|
||||||
|
"tasks_running": 3,
|
||||||
|
"tasks_queued": 2,
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_su_only(
|
def test_su_only(self, mock_celery_stats, mock_tasks_queued, mock_tasks_running):
|
||||||
self, mock_active_tasks_count, mock_queued_tasks_count
|
|
||||||
):
|
|
||||||
self.user.is_superuser = False
|
self.user.is_superuser = False
|
||||||
self.user.save()
|
self.user.save()
|
||||||
self.user.refresh_from_db()
|
self.user.refresh_from_db()
|
||||||
|
|
||||||
# given
|
# given
|
||||||
mock_active_tasks_count.return_value = 2
|
mock_tasks_running.return_value = 2
|
||||||
mock_queued_tasks_count.return_value = 3
|
mock_tasks_queued.return_value = 3
|
||||||
|
mock_celery_stats.return_value = {
|
||||||
|
"tasks_succeeded": 5,
|
||||||
|
"tasks_retried": 1,
|
||||||
|
"tasks_failed": 4,
|
||||||
|
"tasks_total": 11,
|
||||||
|
"tasks_hours": 24,
|
||||||
|
"earliest_task": "2025-08-14T22:47:54.853Z",
|
||||||
|
}
|
||||||
|
|
||||||
request = self.factory.get("/")
|
request = self.factory.get("/")
|
||||||
request.user = self.user
|
request.user = self.user
|
||||||
|
|
||||||
# when
|
# when
|
||||||
response = task_counts(request)
|
response = task_counts(request)
|
||||||
|
|
||||||
# then
|
# then
|
||||||
self.assertEqual(response.status_code, 302)
|
self.assertEqual(response.status_code, 302)
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ from allianceauth.hooks import get_hooks
|
|||||||
|
|
||||||
from .constants import ESI_ERROR_MESSAGE_OVERRIDES
|
from .constants import ESI_ERROR_MESSAGE_OVERRIDES
|
||||||
from .core.celery_workers import active_tasks_count, queued_tasks_count
|
from .core.celery_workers import active_tasks_count, queued_tasks_count
|
||||||
|
from allianceauth.templatetags.admin_status import _celery_stats
|
||||||
from .forms import RegistrationForm
|
from .forms import RegistrationForm
|
||||||
from .models import CharacterOwnership
|
from .models import CharacterOwnership
|
||||||
|
|
||||||
@@ -370,10 +371,10 @@ def registration_closed(request):
|
|||||||
@user_passes_test(lambda u: u.is_superuser)
|
@user_passes_test(lambda u: u.is_superuser)
|
||||||
def task_counts(request) -> JsonResponse:
|
def task_counts(request) -> JsonResponse:
|
||||||
"""Return task counts as JSON for an AJAX call."""
|
"""Return task counts as JSON for an AJAX call."""
|
||||||
data = {
|
data = _celery_stats()
|
||||||
"tasks_running": active_tasks_count(),
|
data.update(
|
||||||
"tasks_queued": queued_tasks_count()
|
{"tasks_running": active_tasks_count(), "tasks_queued": queued_tasks_count()}
|
||||||
}
|
)
|
||||||
return JsonResponse(data)
|
return JsonResponse(data)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ class StartProject(BaseStartProject):
|
|||||||
parser.add_argument('--celery', help='The path to the celery executable.')
|
parser.add_argument('--celery', help='The path to the celery executable.')
|
||||||
parser.add_argument('--gunicorn', help='The path to the gunicorn executable.')
|
parser.add_argument('--gunicorn', help='The path to the gunicorn executable.')
|
||||||
parser.add_argument('--memmon', help='The path to the memmon executable.')
|
parser.add_argument('--memmon', help='The path to the memmon executable.')
|
||||||
|
parser.add_argument('--venv_directory', help='The path to the virtual environment directory.')
|
||||||
|
|
||||||
|
|
||||||
def create_project(parser, options, args):
|
def create_project(parser, options, args):
|
||||||
@@ -27,7 +28,7 @@ def create_project(parser, options, args):
|
|||||||
allianceauth_path = os.path.dirname(allianceauth.__file__)
|
allianceauth_path = os.path.dirname(allianceauth.__file__)
|
||||||
template_path = os.path.join(allianceauth_path, 'project_template')
|
template_path = os.path.join(allianceauth_path, 'project_template')
|
||||||
|
|
||||||
# Determine locations of commands to render supervisor cond
|
# Determine locations of commands to render supervisor configuration
|
||||||
command_options = {
|
command_options = {
|
||||||
'template': template_path,
|
'template': template_path,
|
||||||
'python': shutil.which('python'),
|
'python': shutil.which('python'),
|
||||||
@@ -35,6 +36,7 @@ def create_project(parser, options, args):
|
|||||||
'celery': shutil.which('celery'),
|
'celery': shutil.which('celery'),
|
||||||
'memmon': shutil.which('memmon'),
|
'memmon': shutil.which('memmon'),
|
||||||
'extensions': ['py', 'conf', 'json'],
|
'extensions': ['py', 'conf', 'json'],
|
||||||
|
'venv_directory': os.getenv('VIRTUAL_ENV'),
|
||||||
}
|
}
|
||||||
|
|
||||||
# Strip 'start' out of the arguments, leaving project name (and optionally destination dir)
|
# Strip 'start' out of the arguments, leaving project name (and optionally destination dir)
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
{% endblock header_nav_brand %}
|
{% endblock header_nav_brand %}
|
||||||
|
|
||||||
{% block header_nav_collapse_left %}
|
{% block header_nav_collapse_left %}
|
||||||
<li class="nav-item dropdown">
|
<li class="nav-item dropdown mb-2 mb-lg-0">
|
||||||
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">
|
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">
|
||||||
{% translate "Corporations" %}
|
{% translate "Corporations" %}
|
||||||
</a>
|
</a>
|
||||||
@@ -26,11 +26,7 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% if perms.corputils.add_corpstats %}
|
{% if perms.corputils.add_corpstats %}
|
||||||
{% if available.count >= 1 %}
|
<li class="mt-3">
|
||||||
<li> </li>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a class="dropdown-item" href="{% url 'corputils:add' %}">
|
<a class="dropdown-item" href="{% url 'corputils:add' %}">
|
||||||
{% translate "Add corporation" %}
|
{% translate "Add corporation" %}
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -727,7 +727,8 @@ 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(
|
expected_variants = {
|
||||||
operation.future.request.headers['User-Agent'],
|
f'AllianceAuth/{aa_version} (dummy@example.net; +{aa_url}) DjangoEsi/{esi_version} (+{esi_url})', # Django-ESI 8.0.0
|
||||||
f'AllianceAuth/{aa_version} (dummy@example.net; +{aa_url}) Django-ESI/{esi_version} (+{esi_url})'
|
f'AllianceAuth/{aa_version} (dummy@example.net; +{aa_url}) Django-ESI/{esi_version} (+{esi_url})' # Django-ESI 7.x, Py38 Py39
|
||||||
)
|
}
|
||||||
|
self.assertIn(operation.future.request.headers['User-Agent'], expected_variants)
|
||||||
|
|||||||
@@ -320,8 +320,8 @@ def click_fatlink_view(request, token, fat_hash=None):
|
|||||||
messages.warning(
|
messages.warning(
|
||||||
request,
|
request,
|
||||||
_(
|
_(
|
||||||
f"Cannot register the fleet participation for {character.character_name}. The character needs to be online."
|
"Cannot register the fleet participation for {character_name}. The character needs to be online."
|
||||||
),
|
).format(character_name=character.character_name)
|
||||||
)
|
)
|
||||||
|
|
||||||
return redirect('fatlink:view')
|
return redirect('fatlink:view')
|
||||||
|
|||||||
219
allianceauth/framework/datatables.py
Normal file
219
allianceauth/framework/datatables.py
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
from collections import defaultdict
|
||||||
|
import re
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
from django.db.models import Model, Q
|
||||||
|
from django.http import HttpRequest, JsonResponse
|
||||||
|
from django.template import Context, Template
|
||||||
|
from django.template.loader import render_to_string
|
||||||
|
from django.views import View
|
||||||
|
|
||||||
|
from allianceauth.services.hooks import get_extension_logger
|
||||||
|
|
||||||
|
|
||||||
|
logger = get_extension_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class nested_param_dict(dict):
|
||||||
|
"""
|
||||||
|
Helper to create infinite depth default dicts for setting from params
|
||||||
|
"""
|
||||||
|
def __setitem__(self, item, value):
|
||||||
|
if "." in item:
|
||||||
|
head, path = item.split(".", 1)
|
||||||
|
try:
|
||||||
|
head = int(head)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
obj = self.setdefault(head, nested_param_dict())
|
||||||
|
obj[path] = value
|
||||||
|
else:
|
||||||
|
super().__setitem__(item, value)
|
||||||
|
|
||||||
|
|
||||||
|
def defaultdict_to_dict(d):
|
||||||
|
"""
|
||||||
|
Helper to convert default dict back to dict
|
||||||
|
"""
|
||||||
|
if isinstance(d, defaultdict):
|
||||||
|
d = {k: defaultdict_to_dict(v) for k, v in d.items()}
|
||||||
|
return d
|
||||||
|
|
||||||
|
|
||||||
|
class DataTablesView(View):
|
||||||
|
|
||||||
|
model: Model = None
|
||||||
|
columns: List[tuple] = []
|
||||||
|
|
||||||
|
def get_model_qs(self, request: HttpRequest, *args, **kwargs):
|
||||||
|
return self.model.objects
|
||||||
|
|
||||||
|
def filter_qs(self, table_conf: dict):
|
||||||
|
# Search
|
||||||
|
filter_qs = Q()
|
||||||
|
for id, c in table_conf["columns"].items():
|
||||||
|
_c = self.columns[int(id)][0]
|
||||||
|
if c.get("searchable", False) and len(_c) > 0:
|
||||||
|
if c.get("columnControl", False):
|
||||||
|
_sv = str(c["columnControl"]["search"]["value"])
|
||||||
|
"""contains, equal, ends, starts, empty"""
|
||||||
|
_logic = str(c["columnControl"]["search"]["logic"])
|
||||||
|
"""text, date, num"""
|
||||||
|
_type = str(c["columnControl"]["search"]["type"])
|
||||||
|
if _type == "text":
|
||||||
|
if _logic == "empty":
|
||||||
|
filter_qs &= Q(**{f'{_c}': ""})
|
||||||
|
elif len(_sv) > 0:
|
||||||
|
if _logic == "contains":
|
||||||
|
filter_qs &= Q(**{f'{_c}__icontains': _sv})
|
||||||
|
elif _logic == "starts":
|
||||||
|
filter_qs &= Q(**{f'{_c}__istartswith': _sv})
|
||||||
|
elif _logic == "ends":
|
||||||
|
filter_qs &= Q(**{f'{_c}__iendswith': _sv})
|
||||||
|
elif _logic == "equal":
|
||||||
|
filter_qs &= Q(**{f'{_c}': _sv})
|
||||||
|
elif _type == "num":
|
||||||
|
if _logic == "empty":
|
||||||
|
filter_qs &= Q(**{f'{_c}__isnull': True})
|
||||||
|
elif len(_sv) > 0:
|
||||||
|
try:
|
||||||
|
if _logic == "greater":
|
||||||
|
filter_qs &= Q(**{f'{_c}__gt': float(_sv)})
|
||||||
|
elif _logic == "less":
|
||||||
|
filter_qs &= Q(**{f'{_c}__lt': float(_sv)})
|
||||||
|
elif _logic == "greaterOrEqual":
|
||||||
|
filter_qs &= Q(**{f'{_c}__gte': float(_sv)})
|
||||||
|
elif _logic == "lessOrEqual":
|
||||||
|
filter_qs &= Q(**{f'{_c}__lte': float(_sv)})
|
||||||
|
elif _logic == "equal":
|
||||||
|
filter_qs &= Q(**{f'{_c}': float(_sv)})
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
_sv = str(c["search"]["value"])
|
||||||
|
if len(_sv) > 0:
|
||||||
|
if c["search"]["regex"]:
|
||||||
|
filter_qs |= Q(**{f'{_c}__iregex': _sv})
|
||||||
|
else:
|
||||||
|
filter_qs |= Q(**{f'{_c}__icontains': _sv})
|
||||||
|
_gsv = str(table_conf["search"]["value"])
|
||||||
|
if len(_gsv) > 0:
|
||||||
|
filter_qs |= Q(**{f'{_c}__icontains': _gsv})
|
||||||
|
return filter_qs
|
||||||
|
|
||||||
|
def except_qs(self, table_conf: dict):
|
||||||
|
# Search
|
||||||
|
except_qs = Q()
|
||||||
|
for id, c in table_conf["columns"].items():
|
||||||
|
_c = self.columns[int(id)][0]
|
||||||
|
if c.get("searchable", False) and len(_c) > 0:
|
||||||
|
if c.get("columnControl", False):
|
||||||
|
_sv = str(c["columnControl"]["search"]["value"])
|
||||||
|
"""notContains, notEqual, notEmpty"""
|
||||||
|
_logic = str(c["columnControl"]["search"]["logic"])
|
||||||
|
"""text, date, num"""
|
||||||
|
_type = str(c["columnControl"]["search"]["type"])
|
||||||
|
if _type == "text":
|
||||||
|
if _logic == "notEmpty":
|
||||||
|
except_qs |= Q(**{f'{_c}': ""})
|
||||||
|
elif len(_sv) > 0:
|
||||||
|
if _logic == "notContains":
|
||||||
|
except_qs |= Q(**{f'{_c}__icontains': _sv})
|
||||||
|
elif _logic == "notEqual":
|
||||||
|
except_qs |= Q(**{f'{_c}': _sv})
|
||||||
|
elif _type == "num":
|
||||||
|
if _logic == "notEmpty":
|
||||||
|
except_qs |= Q(**{f'{_c}__isnull': False})
|
||||||
|
elif len(_sv) > 0:
|
||||||
|
if _logic == "notEqual":
|
||||||
|
try:
|
||||||
|
except_qs |= Q(**{f'{_c}': float(_sv)})
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
return except_qs
|
||||||
|
|
||||||
|
def get_table_config(self, get: dict):
|
||||||
|
_cols = nested_param_dict()
|
||||||
|
for c, v in get.items():
|
||||||
|
_keys = [_k for _k in c.replace("]", "").split("[")]
|
||||||
|
_v = v
|
||||||
|
if v in ["true", "false"]:
|
||||||
|
_v = _v == "true"
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
_v = int(_v)
|
||||||
|
except ValueError:
|
||||||
|
pass # not an integer
|
||||||
|
_cols[".".join(_keys)] = _v
|
||||||
|
return defaultdict_to_dict(_cols)
|
||||||
|
|
||||||
|
def get_order(self, table_conf: dict):
|
||||||
|
order = []
|
||||||
|
for oc, od in table_conf.get("order", {}).items():
|
||||||
|
_c = table_conf["columns"][od["column"]]
|
||||||
|
if _c["orderable"]:
|
||||||
|
if od["dir"] == "desc":
|
||||||
|
order.append("-" + self.columns[int(od["column"])][0])
|
||||||
|
else:
|
||||||
|
order.append(self.columns[int(od["column"])][0])
|
||||||
|
return order
|
||||||
|
|
||||||
|
def render_template(self, request: HttpRequest, template: str, ctx: dict):
|
||||||
|
if "{{" in template:
|
||||||
|
_template = Template(template)
|
||||||
|
return _template.render(Context(ctx))
|
||||||
|
else:
|
||||||
|
return render_to_string(
|
||||||
|
template,
|
||||||
|
ctx,
|
||||||
|
request
|
||||||
|
)
|
||||||
|
|
||||||
|
def get(self, request: HttpRequest, *args, **kwargs):
|
||||||
|
table_conf = self.get_table_config(request.GET)
|
||||||
|
draw = int(table_conf["draw"])
|
||||||
|
start = int(table_conf["start"])
|
||||||
|
length = int(table_conf["length"])
|
||||||
|
if length <= 0:
|
||||||
|
logger.warning(
|
||||||
|
"Using no pagination is not recommended for server side rendered datatables"
|
||||||
|
)
|
||||||
|
limit = start + length
|
||||||
|
|
||||||
|
|
||||||
|
# Build response rows
|
||||||
|
items = []
|
||||||
|
qs = self.get_model_qs(
|
||||||
|
request,
|
||||||
|
*args,
|
||||||
|
**kwargs
|
||||||
|
).filter(
|
||||||
|
self.filter_qs(table_conf)
|
||||||
|
).exclude(
|
||||||
|
self.except_qs(table_conf)
|
||||||
|
).order_by(
|
||||||
|
*self.get_order(table_conf)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Get the count after filtering
|
||||||
|
qs_count = qs.count()
|
||||||
|
|
||||||
|
# build output
|
||||||
|
if length > 0:
|
||||||
|
qs = qs[start:limit]
|
||||||
|
|
||||||
|
for row in qs:
|
||||||
|
ctx = {"row": row}
|
||||||
|
row = []
|
||||||
|
for t in self.columns:
|
||||||
|
row.append(self.render_template(request, t[1], ctx))
|
||||||
|
items.append(row)
|
||||||
|
|
||||||
|
# Build our output dict
|
||||||
|
datatables_data = {}
|
||||||
|
datatables_data['draw'] = draw
|
||||||
|
datatables_data['recordsTotal'] = self.get_model_qs(request, *args, **kwargs).all().count()
|
||||||
|
datatables_data['recordsFiltered'] = qs_count
|
||||||
|
datatables_data['data'] = items
|
||||||
|
|
||||||
|
return JsonResponse(datatables_data)
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
------------------------------------------------------------------------------------- */
|
------------------------------------------------------------------------------------- */
|
||||||
@media all {
|
@media all {
|
||||||
.table {
|
.table {
|
||||||
--bs-table-bg: transparent;
|
--bs-table-bg: transparent !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,6 +47,12 @@
|
|||||||
/* Side Navigation
|
/* Side Navigation
|
||||||
------------------------------------------------------------------------------------- */
|
------------------------------------------------------------------------------------- */
|
||||||
@media all {
|
@media all {
|
||||||
|
.sidemenu-total-notifications-badge {
|
||||||
|
position: absolute;
|
||||||
|
left: 28px;
|
||||||
|
font-size: 42.5% !important;
|
||||||
|
}
|
||||||
|
|
||||||
#sidebar > div {
|
#sidebar > div {
|
||||||
width: 325px;
|
width: 325px;
|
||||||
}
|
}
|
||||||
@@ -173,3 +179,34 @@
|
|||||||
border-left-color: var(--bs-warning);
|
border-left-color: var(--bs-warning);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* DataTables 2
|
||||||
|
------------------------------------------------------------------------------------- */
|
||||||
|
@media all {
|
||||||
|
/* DataTables Processing Indicator
|
||||||
|
--------------------------------------------------------------------------------- */
|
||||||
|
div.dt-processing {
|
||||||
|
padding-top: 0.5rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.dt-processing > div {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg.aa-datatables-process-indicator {
|
||||||
|
width: 2rem;
|
||||||
|
height: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* DataTables Extension: ColumnControl
|
||||||
|
--------------------------------------------------------------------------------- */
|
||||||
|
table.dataTable span.dtcc div.dtcc-search > div select {
|
||||||
|
background-color: var(--bs-body-bg);
|
||||||
|
color: var(--bs-body-color);
|
||||||
|
padding: 0.375rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.dataTable .dt-column-header div.dtcc-search-title {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -272,6 +272,49 @@ function objectDeepMerge (target, ...sources) {
|
|||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a number according to the specified locale.
|
||||||
|
* This function uses the Intl.NumberFormat API to format the number.
|
||||||
|
*
|
||||||
|
* @usage
|
||||||
|
* In your Django template get the current language code:
|
||||||
|
* ```django
|
||||||
|
* {% get_current_language as LANGUAGE_CODE %}
|
||||||
|
* ```
|
||||||
|
* Then use it in your JavaScript:
|
||||||
|
* ```javascript
|
||||||
|
* const userLocale = '{{ LANGUAGE_CODE }}'; // e.g., 'en-US', 'de-DE'
|
||||||
|
* const number = 1234567.89;
|
||||||
|
* const formattedNumber = numberFormatter({
|
||||||
|
* value: number,
|
||||||
|
* locales: userLocale,
|
||||||
|
* options: {
|
||||||
|
* style: 'currency',
|
||||||
|
* currency: 'ISK'
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // Output will vary based on locale
|
||||||
|
* // e.g., '1,234,567.89' for 'en-US', '1.234.567,89' for 'de-DE'
|
||||||
|
* console.log(formattedNumber);
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* @param {number} value The number to format
|
||||||
|
* @param {string | string[]} locales The locale(s) to use for formatting (e.g., 'en-US', 'de-DE', ['en-US', 'de-DE']). If not provided, the browser's default locale will be used and any language settings from the user will be ignored.
|
||||||
|
* @param {Object} [options={}] Additional options for number formatting (see `Intl.NumberFormat` documentation - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat)
|
||||||
|
* @return {string} The formatted number as a string
|
||||||
|
*/
|
||||||
|
const numberFormatter = ({value, locales, options = {}}) => {
|
||||||
|
console.log('Formatting number:', value, 'for locale(s):', locales, 'with options:', options);
|
||||||
|
const formatter = new Intl.NumberFormat(locales, {
|
||||||
|
maximumFractionDigits: 2,
|
||||||
|
minimumFractionDigits: 0,
|
||||||
|
...options
|
||||||
|
});
|
||||||
|
|
||||||
|
return formatter.format(value);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When the document is ready …
|
* When the document is ready …
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
<svg class="aa-datatables-process-indicator">
|
||||||
|
<use href="#aa-loading-spinner"></use>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<p class="my-1">
|
||||||
|
{% translate "Loading …" %}
|
||||||
|
</p>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ url }}" class="nav-link py-lg-0">
|
||||||
|
<span class="btn btn-{{ btn_modifier|default:'primary' }} d-none d-lg-inline-block">
|
||||||
|
{% if fa_icon and icon_on_desktop %}<i class="{{ fa_icon }} me-2"></i>{% endif %}
|
||||||
|
{{ title }}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="d-inline-block d-lg-none">
|
||||||
|
{% if fa_icon and icon_on_mobile %}<i class="{{ fa_icon }} fa-fw me-2"></i>{% endif %}
|
||||||
|
{{ title }}
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ url }}" class="nav-link">
|
||||||
|
<span class="d-none d-lg-inline-block" title="{{ title }}">
|
||||||
|
<i class="{{ fa_icon }}"></i>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="d-inline-block d-lg-none">
|
||||||
|
{% if icon_on_mobile %}<i class="{{ fa_icon }} me-2 fa-fw"></i>{% endif %}
|
||||||
|
{{ title }}
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
@@ -15,9 +15,61 @@
|
|||||||
<animate attributeName="stroke-dasharray" dur="1.5s" calcMode="spline" values="0 150;42 150;42 150;42 150" keyTimes="0;0.475;0.95;1" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" repeatCount="indefinite" />
|
<animate attributeName="stroke-dasharray" dur="1.5s" calcMode="spline" values="0 150;42 150;42 150;42 150" keyTimes="0;0.475;0.95;1" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" repeatCount="indefinite" />
|
||||||
<animate attributeName="stroke-dashoffset" dur="1.5s" calcMode="spline" values="0;-16;-59;-59" keyTimes="0;0.475;0.95;1" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" repeatCount="indefinite" />
|
<animate attributeName="stroke-dashoffset" dur="1.5s" calcMode="spline" values="0;-16;-59;-59" keyTimes="0;0.475;0.95;1" keySplines="0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1" repeatCount="indefinite" />
|
||||||
</circle>
|
</circle>
|
||||||
|
|
||||||
<animateTransform attributeName="transform" type="rotate" dur="2s" values="0 12 12;360 12 12" repeatCount="indefinite" />
|
<animateTransform attributeName="transform" type="rotate" dur="2s" values="0 12 12;360 12 12" repeatCount="indefinite" />
|
||||||
</g>
|
</g>
|
||||||
</symbol>
|
</symbol>
|
||||||
|
|
||||||
|
<!-- Mumble Logo -->
|
||||||
|
<symbol id="aa-mumble-logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400">
|
||||||
|
<defs>
|
||||||
|
<radialGradient id="c" cx="206.64" cy="214.43" r="190.25" gradientTransform="matrix(.97267 .016175 -.016656 .97474 9.2188 2.0744)" gradientUnits="userSpaceOnUse">
|
||||||
|
<stop stop-opacity="0" offset="0" />
|
||||||
|
<stop stop-opacity=".019608" offset=".81721" />
|
||||||
|
<stop stop-opacity=".1451" offset=".89931" />
|
||||||
|
<stop stop-opacity=".20784" offset=".91199" />
|
||||||
|
<stop stop-opacity=".25098" offset=".95598" />
|
||||||
|
<stop stop-opacity=".33333" offset="1" />
|
||||||
|
</radialGradient>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(0 -652.36)">
|
||||||
|
<path transform="matrix(1.0811 0 0 1.1043 -22.438 617.98)" d="m385.62 214.43c0 96.124-80.133 174.05-178.98 174.05-98.849 0-178.98-77.924-178.98-174.05s80.133-174.05 178.98-174.05c98.849 0 178.98 77.924 178.98 174.05z" fill="#1a1a1a" stroke="#000" stroke-linejoin="round" stroke-width="4.576" />
|
||||||
|
<path transform="matrix(1.0706 0 0 1.101 -22.082 583.62)" d="m385.62 214.43c0 96.124-80.133 174.05-178.98 174.05-98.849 0-178.98-77.924-178.98-174.05s80.133-174.05 178.98-174.05c98.849 0 178.98 77.924 178.98 174.05z" opacity="0" />
|
||||||
|
<path transform="matrix(1.0423 0 0 1.0695 -13.736 622.74)" d="m385.62 214.43c0 96.124-80.133 174.05-178.98 174.05-98.849 0-178.98-77.924-178.98-174.05s80.133-174.05 178.98-174.05c98.849 0 178.98 77.924 178.98 174.05z" fill="#fff" opacity=".9" />
|
||||||
|
<path transform="matrix(1.0641 0 0 1.0787 -20.794 620.64)" d="m385.62 214.43c0 96.124-80.133 174.05-178.98 174.05-98.849 0-178.98-77.924-178.98-174.05s80.133-174.05 178.98-174.05c98.849 0 178.98 77.924 178.98 174.05z" fill="#fff" stroke="#333" stroke-linejoin="round" stroke-width="1.4127" />
|
||||||
|
<path transform="matrix(1.0857 0 0 1.109 -24.345 616.21)" d="m385.62 214.43c0 96.124-80.133 174.05-178.98 174.05-98.849 0-178.98-77.924-178.98-174.05s80.133-174.05 178.98-174.05c98.849 0 178.98 77.924 178.98 174.05z" fill="none" stroke="#000" stroke-linejoin="round" stroke-width="1.8304" />
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path transform="matrix(1.0765 0 0 1.1009 -20.514 -34.696)" d="m385.62 214.43a178.98 174.05 0 1 1-357.96 0 178.98 174.05 0 1 1 357.96 0z" fill="url(#c)" opacity=".75" />
|
||||||
|
</g>
|
||||||
|
<g fill-rule="evenodd">
|
||||||
|
<path transform="matrix(1.05 0 0 1.05 -5.3555 .50955)" d="m152.41 31.61c-24.652-0.61541-49.623 15.705-55.853 40.126-1.4511 5.9204-2.0429 11.533-2.1475 17.251v63.623h25c0.0881-22.382-0.12668-44.644 0.1701-67.072 0.76858-14.243 11.773-29.258 27.049-29.084 0.11203 22.669-0.22918 45.351 0.18004 68.011 1.3028 18.426 18.762 33.676 37.243 32.114 11.546-0.2802 23.178 0.67313 34.648-0.72475 17.466-3.2744 29.553-21.063 27.929-38.449v-60.857c15.888-1.1603 27.938 14.263 28.642 29.084 0.29501 22.427 0.0825 44.692 0.1701 67.072h25v-67.5c-0.81797-7.2761-1.9718-16.18-5.9149-23.198-10.229-20.751-34.153-31.948-56.717-30.261-6.591-0.83713-13.681 3.6197-15.487 9.8666 0.10876 26.739 0.18577 53.486-0.015 80.22-0.75343 11.2-11.79 19.764-22.805 18.342-7.7921 0.33854-16.594 0.0136-21.908-6.6817-7.1623-7.5704-4.7632-18.405-5.1836-27.812 0.0193-21.719-0.0713-43.418 0.1249-65.1-3.2593-6.5913-10.503-9.9936-17.679-8.9119l-1.1877-0.01641-1.2582-0.04042h2.5e-4z" stroke="#fff" />
|
||||||
|
<path d="m107.27 156.26v177.84c-35.128-3.8535-62.737-42.188-62.737-88.922 0-46.734 27.609-85.068 62.737-88.922z" fill="url(#l)" opacity=".9666" />
|
||||||
|
</g>
|
||||||
|
<g fill-rule="evenodd" stroke="#fff">
|
||||||
|
<path transform="matrix(1.05 0 0 1.05 -5.3555 .50955)" d="m290.42 313.16c-0.69916-7e-3 -3.3105-0.57507-3.9404-0.16697 0 0-1.0356 3.0168-4.6042 5.6725-3.1327 2.3314-6.1076 4.5662-9.2946 6.6625-2.8616 1.8823-5.9328 3.9177-8.8098 5.3024-2.264 1.0896-4.114 1.2482-4.114 1.2482h-32.22c-2.0127 0-3.6618 1.5872-3.6618 3.5625v0.875c0 1.9753 1.649 3.5938 3.6618 3.5938h33.879c0.77968 0 3.5971-0.82022 5.2725-1.5553 4.1768-1.8326 6.899-4.166 11.71-7.0274 5.1144-3.2712 14.573-10.886 14.573-10.886 1.6797-1.0883 2.1278-3.289 1.0189-4.9375l-0.47763-0.75c-0.69304-1.0303-1.8278-1.5824-2.9931-1.5938z" />
|
||||||
|
<path transform="matrix(1.05 0 0 1.05 -5.3555 .50955)" d="m288.25 148.44v169.38c33.455-3.67 59.75-40.179 59.75-84.688s-26.295-81.018-59.75-84.688z" opacity=".9666" />
|
||||||
|
<path transform="matrix(1.05 0 0 1.05 -5.3555 .50955)" d="m106.22 149.34v169.38c-33.455-3.67-59.75-40.179-59.75-84.688s26.295-81.018 59.75-84.688z" opacity=".9666" />
|
||||||
|
<path transform="matrix(1.3048 0 0 1.2146 -20.461 -43.8)" d="m194.74 325.86a22.13 13.831 0 1 1-44.26 0 22.13 13.831 0 1 1 44.26 0z" opacity=".9666" />
|
||||||
|
<rect transform="matrix(1.0433 0 0 1.05 -4.6563 .094873)" x="274.72" y="146.09" width="13.329" height="171.95" rx="3.8877" ry="3.5401" opacity=".9666" stroke-width="1.0538" />
|
||||||
|
<rect transform="matrix(1.0433 0 0 1.05 -3.8348 .094873)" x="106.56" y="147.08" width="13.063" height="171.96" rx="3.8101" ry="3.5403" opacity=".9666" stroke-width="1.0432" />
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<rect x="131.64" y="188.83" width="140.83" height="111.89" fill-rule="evenodd" />
|
||||||
|
<path transform="matrix(1.1007 0 0 2.0001 -23.812 -190.28)" d="m189.84 226.69c-4e-5 2.3125-0.43754 4.3438-1.3125 6.0938-0.87504 1.75-2.0521 3.1979-3.5312 4.3438-1.75 1.375-3.6719 2.3542-5.7656 2.9375-2.0938 0.58334-4.7552 0.875-7.9844 0.875h-18.625v-46.531h16.438c3.4166 5e-5 6.0052 0.13026 7.7656 0.39063 1.7604 0.26046 3.4114 0.80734 4.9531 1.6406 1.6666 0.89588 2.9114 2.0938 3.7344 3.5938 0.82288 1.5 1.2343 3.2292 1.2344 5.1875-4e-5 2.2709-0.56775 4.2917-1.7031 6.0625-1.1354 1.7709-2.7032 3.073-4.7031 3.9062v0.25c2.875 0.6042 5.177 1.8386 6.9062 3.7031 1.7291 1.8646 2.5937 4.3802 2.5938 7.5469zm-14.969-19.125c-3e-5 -0.74996-0.19274-1.5208-0.57813-2.3125-0.38544-0.79163-0.9844-1.3645-1.7969-1.7188-0.77086-0.33329-1.6823-0.51558-2.7344-0.54687-1.0521-0.0312-2.6198-0.0468-4.7031-0.0469h-0.8125v9.8438h1.4688c2 3e-5 3.401-0.0208 4.2031-0.0625 0.80207-0.0416 1.6302-0.26038 2.4844-0.65625 0.93747-0.43747 1.5833-1.0416 1.9375-1.8125 0.35414-0.7708 0.53122-1.6666 0.53125-2.6875zm2.9375 18.906c-3e-5 -1.4375-0.2917-2.5625-0.875-3.375-0.58336-0.81248-1.4584-1.4271-2.625-1.8438-0.70836-0.27081-1.6823-0.42185-2.9219-0.45312-1.2396-0.0312-2.9011-0.0469-4.9844-0.0469h-2.1562v11.656h0.625c3.0416 1e-5 5.1458-0.0208 6.3125-0.0625 1.1666-0.0416 2.3541-0.3229 3.5625-0.84375 1.0625-0.45832 1.8385-1.1302 2.3281-2.0156 0.48956-0.88541 0.73435-1.8906 0.73438-3.0156z" fill="url(#f)" />
|
||||||
|
<path transform="matrix(1.1007 0 0 2.0001 -28.291 -190.6)" d="m189.84 226.69c-4e-5 2.3125-0.43754 4.3438-1.3125 6.0938-0.87504 1.75-2.0521 3.1979-3.5312 4.3438-1.75 1.375-3.6719 2.3542-5.7656 2.9375-2.0938 0.58334-4.7552 0.875-7.9844 0.875h-18.625v-46.531h16.438c3.4166 5e-5 6.0052 0.13026 7.7656 0.39063 1.7604 0.26046 3.4114 0.80734 4.9531 1.6406 1.6666 0.89588 2.9114 2.0938 3.7344 3.5938 0.82288 1.5 1.2343 3.2292 1.2344 5.1875-4e-5 2.2709-0.56775 4.2917-1.7031 6.0625-1.1354 1.7709-2.7032 3.073-4.7031 3.9062v0.25c2.875 0.6042 5.177 1.8386 6.9062 3.7031 1.7291 1.8646 2.5937 4.3802 2.5938 7.5469zm-14.969-19.125c-3e-5 -0.74996-0.19274-1.5208-0.57813-2.3125-0.38544-0.79163-0.9844-1.3645-1.7969-1.7188-0.77086-0.33329-1.6823-0.51558-2.7344-0.54687-1.0521-0.0312-2.6198-0.0468-4.7031-0.0469h-0.8125v9.8438h1.4688c2 3e-5 3.401-0.0208 4.2031-0.0625 0.80207-0.0416 1.6302-0.26038 2.4844-0.65625 0.93747-0.43747 1.5833-1.0416 1.9375-1.8125 0.35414-0.7708 0.53122-1.6666 0.53125-2.6875zm2.9375 18.906c-3e-5 -1.4375-0.2917-2.5625-0.875-3.375-0.58336-0.81248-1.4584-1.4271-2.625-1.8438-0.70836-0.27081-1.6823-0.42185-2.9219-0.45312-1.2396-0.0312-2.9011-0.0469-4.9844-0.0469h-2.1562v11.656h0.625c3.0416 1e-5 5.1458-0.0208 6.3125-0.0625 1.1666-0.0416 2.3541-0.3229 3.5625-0.84375 1.0625-0.45832 1.8385-1.1302 2.3281-2.0156 0.48956-0.88541 0.73435-1.8906 0.73438-3.0156z" fill="#fff" />
|
||||||
|
<path transform="matrix(1.1007 0 0 2.0001 -23.812 -190.28)" d="m227.56 240.94h-31.062v-46.531h11.688v37.656h19.375z" fill="url(#e)" />
|
||||||
|
<path d="m187.31 197.56v94.531h14.125 0.0625 21.375v-19.25h-21.375v-75.281h-14.188z" fill="#fff" />
|
||||||
|
<path transform="matrix(1.1007 0 0 2.0001 -23.812 -190.28)" d="m233.12 240.94v-46.531h31.469v8.875h-19.844v8.1562h18.281v8.875h-18.281v11.75h19.844v8.875z" fill="url(#d)" />
|
||||||
|
<path d="m227.81 197.5v94.531h14.188 21.375v-19.25h-21.375v-22.281h19.656v-18.656h-19.656v-15.094h21.375v-19.25h-21.375-0.0625-14.125z" fill="#fff" />
|
||||||
|
</g>
|
||||||
|
<g fill-rule="evenodd">
|
||||||
|
<path d="m155.37 33.01c-25.884-0.64618-52.104 16.49-58.645 42.133-1.5237 6.2165-2.1451 12.11-2.2549 18.114v66.804h26.25c0.0925-23.501-0.13301-46.876 0.17861-70.426 0.807-14.955 12.362-30.721 28.401-30.539 0.11763 23.802-0.24064 47.619 0.18905 71.412 1.368 19.347 19.7 35.36 39.106 33.72 12.123-0.29421 24.336 0.70678 36.38-0.76099 18.339-3.4381 31.031-22.116 29.325-40.372v-63.9c16.682-1.2183 29.334 14.976 30.074 30.539 0.30976 23.549 0.0866 46.927 0.17861 70.426h26.25v-70.875c-0.85887-7.6399-2.0704-16.989-6.2106-24.358-10.74-21.789-35.861-33.545-59.553-31.774-6.9206-0.87899-14.366 3.8007-16.261 10.36 0.1142 28.075 0.19506 56.161-0.0157 84.231-0.7911 11.76-12.38 20.752-23.945 19.259-8.1817 0.35546-17.423 0.0143-23.004-7.0158-7.5204-7.949-5.0013-19.326-5.4428-29.202 0.0203-22.805-0.0749-45.589 0.13115-68.355-3.4223-6.9208-11.028-10.493-18.563-9.3575l-1.2471-0.01723-1.3211-0.04244h2.6e-4z" fill="url(#i)" />
|
||||||
|
<path d="m154.53 34.269c-31.655 0-56.169 21.233-59.981 48.759h26.972c3.6448-12.426 13.114-21.517 24.511-22.575 0.74035-0.69976 1.772-1.1484 2.9203-1.1484h26.611l0.0984-15.619s-2.3784-3.7253-4.2984-5.4797c-2.1754-1.9877-5.1118-3.4283-8.0062-3.7406-2.4252-0.26165-5.1996-0.04115-8.8266-0.19688z" fill="url(#j)" />
|
||||||
|
<path transform="matrix(1.3048 0 0 1.2146 -20.434 -43.907)" d="m194.74 325.86a22.13 13.831 0 1 1-44.26 0 22.13 13.831 0 1 1 44.26 0z" fill="url(#b)" opacity=".9666" />
|
||||||
|
<path d="m298.66 157.26v177.84c35.128-3.8535 62.738-42.188 62.738-88.922 0-46.734-27.609-85.068-62.738-88.922z" fill="url(#k)" opacity=".9666" />
|
||||||
|
<path d="m247.97 33.422c31.655 0 56.169 21.233 59.981 48.759h-26.972c-3.6448-12.426-13.114-21.517-24.511-22.575-0.74036-0.69976-1.772-1.1484-2.9203-1.1484h-26.611l-0.0984-15.619s2.3784-3.7253 4.2984-5.4797c2.1754-1.9877 5.1118-3.4283 8.0062-3.7406 2.4252-0.26165 5.1996-0.04115 8.8266-0.19688z" fill="url(#h)" />
|
||||||
|
<path d="m107.92 156.15v177.84c-35.128-3.8535-62.737-42.188-62.737-88.922 0-46.734 27.609-85.068 62.737-88.922z" fill="url(#g)" opacity=".9666" />
|
||||||
|
</g>
|
||||||
|
</symbol>
|
||||||
</defs>
|
</defs>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 13 KiB |
288
allianceauth/framework/tests/test_datatables.py
Normal file
288
allianceauth/framework/tests/test_datatables.py
Normal file
@@ -0,0 +1,288 @@
|
|||||||
|
"""
|
||||||
|
Test sentinel user
|
||||||
|
"""
|
||||||
|
|
||||||
|
import json
|
||||||
|
import re
|
||||||
|
|
||||||
|
# Django
|
||||||
|
from allianceauth.tests.auth_utils import AuthUtils
|
||||||
|
from django.test import RequestFactory, TestCase
|
||||||
|
from django.http import HttpRequest
|
||||||
|
# Alliance Auth
|
||||||
|
from allianceauth.framework.datatables import DataTablesView
|
||||||
|
from allianceauth.eveonline.models import EveCharacter
|
||||||
|
|
||||||
|
class TestView(DataTablesView):
|
||||||
|
model=EveCharacter
|
||||||
|
columns = [
|
||||||
|
("", "{{ row.character_id }}"),
|
||||||
|
("character_name", "{{ row.character_name }}"),
|
||||||
|
("corporation_name", "{{ row.corporation_name }}"),
|
||||||
|
("alliance_name", "{{ row.alliance_name }}"),
|
||||||
|
]
|
||||||
|
|
||||||
|
class TestDataTables(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.get_params = {
|
||||||
|
'draw': '1',
|
||||||
|
'columns[0][data]': '0',
|
||||||
|
'columns[0][name]': '',
|
||||||
|
'columns[0][searchable]': 'false',
|
||||||
|
'columns[0][orderable]': 'false',
|
||||||
|
'columns[0][search][value]': '',
|
||||||
|
'columns[0][search][regex]': 'false',
|
||||||
|
'columns[1][data]': '1',
|
||||||
|
'columns[1][name]': '',
|
||||||
|
'columns[1][searchable]': 'true',
|
||||||
|
'columns[1][orderable]': 'true',
|
||||||
|
'columns[1][search][value]': '',
|
||||||
|
'columns[1][search][regex]': 'false',
|
||||||
|
'columns[2][data]': '2',
|
||||||
|
'columns[2][name]': '',
|
||||||
|
'columns[2][searchable]': 'true',
|
||||||
|
'columns[2][orderable]': 'false',
|
||||||
|
'columns[2][search][value]': '',
|
||||||
|
'columns[2][search][regex]': 'false',
|
||||||
|
'columns[3][data]': '3',
|
||||||
|
'columns[3][name]': '',
|
||||||
|
'columns[3][searchable]': 'true',
|
||||||
|
'columns[3][orderable]': 'true',
|
||||||
|
'columns[3][search][value]': '',
|
||||||
|
'columns[3][search][regex]': 'false',
|
||||||
|
'order[0][column]': '1',
|
||||||
|
'order[0][dir]': 'asc',
|
||||||
|
'start': '0',
|
||||||
|
'length': '10',
|
||||||
|
'search[value]': '',
|
||||||
|
'search[regex]': 'false',
|
||||||
|
'_': '123456789'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def setUpClass(cls) -> None:
|
||||||
|
"""
|
||||||
|
Set up eve models
|
||||||
|
"""
|
||||||
|
|
||||||
|
super().setUpClass()
|
||||||
|
cls.factory = RequestFactory()
|
||||||
|
|
||||||
|
cls.user = AuthUtils.create_user("bruce_wayne")
|
||||||
|
cls.user.is_superuser = True
|
||||||
|
cls.user.save()
|
||||||
|
|
||||||
|
EveCharacter.objects.all().delete()
|
||||||
|
for i in range(1,16):
|
||||||
|
EveCharacter.objects.create(
|
||||||
|
character_id=1000+i,
|
||||||
|
character_name=f"{1000+i} - Test Character - {1000+i}",
|
||||||
|
corporation_id=2000+i,
|
||||||
|
corporation_name=f"{2000+i} - Test Corporation",
|
||||||
|
)
|
||||||
|
|
||||||
|
for i in range(16,21):
|
||||||
|
EveCharacter.objects.create(
|
||||||
|
character_id=1000+i,
|
||||||
|
character_name=f"{1000+i} - Test Character - {1000+i}",
|
||||||
|
corporation_id=2000+i,
|
||||||
|
corporation_name=f"{2000+i} - Test Corporation",
|
||||||
|
alliance_id=3000+i,
|
||||||
|
alliance_name=f"{3000+i} - Test Alliance",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_view_default(self):
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(data[0][0], "1001")
|
||||||
|
self.assertEqual(data[9][0], "1010")
|
||||||
|
|
||||||
|
def test_view_reverse_sort(self):
|
||||||
|
self.get_params["order[0][dir]"] = "desc"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(data[0][0], "1020")
|
||||||
|
self.assertEqual(data[9][0], "1011")
|
||||||
|
|
||||||
|
def test_view_no_sort(self):
|
||||||
|
self.get_params.pop("order[0][column]")
|
||||||
|
self.get_params.pop("order[0][dir]")
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(data[0][0], "1001")
|
||||||
|
self.assertEqual(data[9][0], "1010")
|
||||||
|
|
||||||
|
def test_view_non_sortable_sort(self):
|
||||||
|
self.get_params["order[0][dir]"] = "desc"
|
||||||
|
self.get_params["order[0][column]"] = "0"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(data[0][0], "1001")
|
||||||
|
self.assertEqual(data[9][0], "1010")
|
||||||
|
|
||||||
|
def test_view_20_rows(self):
|
||||||
|
self.get_params["length"] = "20"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(data[0][0], "1001")
|
||||||
|
self.assertEqual(data[19][0], "1020")
|
||||||
|
|
||||||
|
def test_records_filtered(self):
|
||||||
|
self.get_params["length"] = "20"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
content = json.loads(response.get(request).content)
|
||||||
|
self.assertEqual(content["recordsFiltered"], 20)
|
||||||
|
self.assertEqual(content["recordsTotal"], 20)
|
||||||
|
|
||||||
|
def test_view_global_search(self):
|
||||||
|
self.get_params["search[value]"] = "1020"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 1)
|
||||||
|
self.assertEqual(data[0][0], "1020")
|
||||||
|
|
||||||
|
def test_view_col_1_search(self):
|
||||||
|
self.get_params["columns[1][search][value]"] = "1020"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 1)
|
||||||
|
self.assertEqual(data[0][0], "1020")
|
||||||
|
|
||||||
|
def test_view_col_1_search_empty(self):
|
||||||
|
self.get_params["columns[1][search][value]"] = "zzz"
|
||||||
|
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 0)
|
||||||
|
|
||||||
|
def test_view_cc_3_search_empty(self):
|
||||||
|
self.get_params["columns[3][columnControl][search][value]"] = ""
|
||||||
|
self.get_params["columns[3][columnControl][search][logic]"] = "empty"
|
||||||
|
self.get_params["columns[3][columnControl][search][type]"] = "text"
|
||||||
|
self.get_params["length"] = "20"
|
||||||
|
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 15)
|
||||||
|
|
||||||
|
def test_view_cc_3_search_not_empty(self):
|
||||||
|
self.get_params["columns[3][columnControl][search][value]"] = ""
|
||||||
|
self.get_params["columns[3][columnControl][search][logic]"] = "notEmpty"
|
||||||
|
self.get_params["columns[3][columnControl][search][type]"] = "text"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 5)
|
||||||
|
|
||||||
|
def test_view_cc_1_search_ends_with(self):
|
||||||
|
self.get_params["columns[1][columnControl][search][value]"] = "9"
|
||||||
|
self.get_params["columns[1][columnControl][search][logic]"] = "ends"
|
||||||
|
self.get_params["columns[1][columnControl][search][type]"] = "text"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 2)
|
||||||
|
|
||||||
|
def test_view_cc_1_search_starts_with(self):
|
||||||
|
self.get_params["columns[1][columnControl][search][value]"] = "1009"
|
||||||
|
self.get_params["columns[1][columnControl][search][logic]"] = "starts"
|
||||||
|
self.get_params["columns[1][columnControl][search][type]"] = "text"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 1)
|
||||||
|
|
||||||
|
def test_view_cc_1_search_not_contains(self):
|
||||||
|
self.get_params["columns[1][columnControl][search][value]"] = "100"
|
||||||
|
self.get_params["columns[1][columnControl][search][logic]"] = "notContains"
|
||||||
|
self.get_params["columns[1][columnControl][search][type]"] = "text"
|
||||||
|
self.get_params["length"] = "20"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 11)
|
||||||
|
|
||||||
|
def test_view_cc_1_search_contains(self):
|
||||||
|
self.get_params["columns[1][columnControl][search][value]"] = "100"
|
||||||
|
self.get_params["columns[1][columnControl][search][logic]"] = "contains"
|
||||||
|
self.get_params["columns[1][columnControl][search][type]"] = "text"
|
||||||
|
self.get_params["length"] = "20"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 9)
|
||||||
|
|
||||||
|
def test_view_cc_1_search_equal(self):
|
||||||
|
self.get_params["columns[1][columnControl][search][value]"] = "1001 - Test Character - 1001"
|
||||||
|
self.get_params["columns[1][columnControl][search][logic]"] = "equal"
|
||||||
|
self.get_params["columns[1][columnControl][search][type]"] = "text"
|
||||||
|
self.get_params["length"] = "20"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 1)
|
||||||
|
|
||||||
|
def test_view_cc_1_search_not_equal(self):
|
||||||
|
self.get_params["columns[1][columnControl][search][value]"] = "1001 - Test Character - 1001"
|
||||||
|
self.get_params["columns[1][columnControl][search][logic]"] = "notEqual"
|
||||||
|
self.get_params["columns[1][columnControl][search][type]"] = "text"
|
||||||
|
self.get_params["length"] = "20"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 19)
|
||||||
|
|
||||||
|
def test_view_cc_no_pagination(self):
|
||||||
|
self.get_params["length"] = "-1"
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
request = self.factory.get('/fake-url/', data=self.get_params)
|
||||||
|
response = TestView()
|
||||||
|
response.setup(request)
|
||||||
|
data = json.loads(response.get(request).content)["data"]
|
||||||
|
self.assertEqual(len(data), 20)
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
{% translate "Join Requests" %}
|
{% translate "Join Requests" %}
|
||||||
|
|
||||||
{% if acceptrequests %}
|
{% if acceptrequests %}
|
||||||
<span class="badge text-bg-secondary">{{ acceptrequests|length }}</span>
|
<span id="acceptRequestsCounter" 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 text-bg-secondary">{{ leaverequests|length }}</span>
|
<span id="leaveRequestsCounter" class="badge text-bg-secondary">{{ leaverequests|length }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@@ -43,19 +43,19 @@
|
|||||||
</li>
|
</li>
|
||||||
{% endblock header_nav_collapse_left %}
|
{% endblock header_nav_collapse_left %}
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
<div id="add" class="tab-pane active">
|
<div id="add" class="tab-pane active">
|
||||||
{% if acceptrequests %}
|
{% if acceptrequests %}
|
||||||
<div class="table-responsive">
|
<div>
|
||||||
<table class="table">
|
<table id="table-add" class="table table-responsive w-100">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% translate "Character" %}</th>
|
<th>{% translate "Character" %}</th>
|
||||||
<th>{% translate "Organization" %}</th>
|
<th>{% translate "Organization" %}</th>
|
||||||
<th>{% translate "Group" %}</th>
|
<th>{% translate "Group" %}</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
|
<th>{% translate "Corporation" %}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
@@ -89,13 +89,24 @@
|
|||||||
<td>{{ acceptrequest.group.name }}</td>
|
<td>{{ acceptrequest.group.name }}</td>
|
||||||
|
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<a href="{% url 'groupmanagement:accept_request' acceptrequest.id %}" class="btn btn-success">
|
<div class="spinner-border spinner-border-sm mt-2 btns-join-{{acceptrequest.id}} d-none" role="status">
|
||||||
|
<span class="sr-only">Loading...</span>
|
||||||
|
</div>
|
||||||
|
<a id="{{acceptrequest.id}}" class="btn btn-success join-accept btns-join-{{acceptrequest.id}}">
|
||||||
{% translate "Accept" %}
|
{% translate "Accept" %}
|
||||||
</a>
|
</a>
|
||||||
<a href="{% url 'groupmanagement:reject_request' acceptrequest.id %}" class="btn btn-danger">
|
<a id="{{acceptrequest.id}}" class="btn btn-danger join-reject btns-join-{{acceptrequest.id}}">
|
||||||
{% translate "Reject" %}
|
{% translate "Reject" %}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
{% if acceptrequest.main_char %}
|
||||||
|
{{ acceptrequest.main_char.corporation_name }}
|
||||||
|
{% else %}
|
||||||
|
{% translate "(unknown)" %}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -111,14 +122,15 @@
|
|||||||
{% if not show_leave_tab %}
|
{% if not show_leave_tab %}
|
||||||
<div id="leave" class="tab-pane">
|
<div id="leave" class="tab-pane">
|
||||||
{% if leaverequests %}
|
{% if leaverequests %}
|
||||||
<div class="table-responsive">
|
<div>
|
||||||
<table class="table">
|
<table id="table-rem" class="table table-responsive w-100">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% translate "Character" %}</th>
|
<th>{% translate "Character" %}</th>
|
||||||
<th>{% translate "Organization" %}</th>
|
<th>{% translate "Organization" %}</th>
|
||||||
<th>{% translate "Group" %}</th>
|
<th>{% translate "Group" %}</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
|
<th>{% translate "Corporation" %}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
@@ -152,14 +164,23 @@
|
|||||||
<td>{{ leaverequest.group.name }}</td>
|
<td>{{ leaverequest.group.name }}</td>
|
||||||
|
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<a href="{% url 'groupmanagement:leave_accept_request' leaverequest.id %}" class="btn btn-success">
|
<div class="spinner-border spinner-border-sm mt-2 btns-leave-{{leaverequest.id}} d-none" role="status">
|
||||||
|
<span class="sr-only">Loading...</span>
|
||||||
|
</div>
|
||||||
|
<a id="{{leaverequest.id}}" class="btn btn-success accept leave-accept btns-leave-{{leaverequest.id}}">
|
||||||
{% translate "Accept" %}
|
{% translate "Accept" %}
|
||||||
</a>
|
</a>
|
||||||
|
<a id="{{leaverequest.id}}" class="btn btn-danger reject leave-reject btns-leave-{{leaverequest.id}}">
|
||||||
<a href="{% url 'groupmanagement:leave_reject_request' leaverequest.id %}" class="btn btn-danger">
|
|
||||||
{% translate "Reject" %}
|
{% translate "Reject" %}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
{% if leaverequest.main_char %}
|
||||||
|
{{ leaverequest.main_char.corporation_name }}
|
||||||
|
{% else %}
|
||||||
|
{% translate "(unknown)" %}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -172,3 +193,189 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
{% block extra_javascript %}
|
||||||
|
{% include 'bundles/datatables-js-bs5.html' %}
|
||||||
|
{% include "bundles/filterdropdown-js.html" %}
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
let tableAdd = $("#table-add").DataTable({
|
||||||
|
filterDropDown: {
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
idx: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
idx: 2,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
bootstrap: true,
|
||||||
|
bootstrap_version: 5
|
||||||
|
},
|
||||||
|
columnDefs: [
|
||||||
|
{
|
||||||
|
target: 4,
|
||||||
|
visible: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
paging: false,
|
||||||
|
responsive: true,
|
||||||
|
pageLength: -1
|
||||||
|
});
|
||||||
|
let tableRem = $("#table-rem").DataTable({
|
||||||
|
filterDropDown: {
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
idx: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
idx: 2,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
bootstrap: true,
|
||||||
|
bootstrap_version: 5
|
||||||
|
},
|
||||||
|
columnDefs: [
|
||||||
|
{
|
||||||
|
target: 4,
|
||||||
|
visible: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
paging: false,
|
||||||
|
responsive: true,
|
||||||
|
pageLength: -1
|
||||||
|
});
|
||||||
|
|
||||||
|
// URL's for fetch requests
|
||||||
|
let acceptJoinURL = "{% url 'groupmanagement:accept_request' 0 %}";
|
||||||
|
acceptJoinURL = acceptJoinURL.substring(0, acceptJoinURL.length-2);
|
||||||
|
let rejectJoinURL = "{% url 'groupmanagement:reject_request' 0 %}";
|
||||||
|
rejectJoinURL = rejectJoinURL.substring(0, rejectJoinURL.length-2);
|
||||||
|
let acceptLeaveURL = "{% url 'groupmanagement:leave_accept_request' 0 %}";
|
||||||
|
acceptLeaveURL = acceptLeaveURL.substring(0, acceptLeaveURL.length-2);
|
||||||
|
let rejectLeaveURL = "{% url 'groupmanagement:leave_reject_request' 0 %}";
|
||||||
|
rejectLeaveURL = rejectLeaveURL.substring(0, rejectLeaveURL.length-2);
|
||||||
|
|
||||||
|
function removeRow(table, classLookup){
|
||||||
|
let btn = $(classLookup);
|
||||||
|
table.row($(btn[0]).parents('tr')).remove().draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggleButtons(classLookup){
|
||||||
|
let elems = document.querySelectorAll(classLookup);
|
||||||
|
elems.forEach(
|
||||||
|
function(e) {
|
||||||
|
e.classList.toggle('d-none');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hitAuth(classLookup, table, URL){
|
||||||
|
toggleButtons(classLookup);
|
||||||
|
let output = fetch(URL)
|
||||||
|
.then(response => {
|
||||||
|
if (!response.ok) {
|
||||||
|
toggleButtons(classLookup);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
removeRow(table, classLookup)
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
toggleButtons(classLookup);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
toggleButtons(classLookup);
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
function decreaseCounterElement(elem){
|
||||||
|
count = Number(elem.innerText);
|
||||||
|
count -= 1;
|
||||||
|
if (!count){
|
||||||
|
elem.classList.add("d-none");
|
||||||
|
} else {
|
||||||
|
elem.innerText = count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function decreaseCounter(id){
|
||||||
|
elem = document.getElementById(id);
|
||||||
|
if (elem){decreaseCounterElement(elem)}
|
||||||
|
}
|
||||||
|
|
||||||
|
function decreaseMenuCounter(){
|
||||||
|
decreaseCounter("globalNotificationCount");
|
||||||
|
let elem = document.querySelector("a[href='{% url "groupmanagement:management" %}']");
|
||||||
|
if (elem) {
|
||||||
|
let badge = elem.parentElement.querySelector("span");
|
||||||
|
if (badge){decreaseCounterElement(badge)}
|
||||||
|
if (elem.parentElement.parentElement.parentElement.tagName === "LI"){
|
||||||
|
let folderBadge = elem.parentElement.parentElement.parentElement.querySelector("span");
|
||||||
|
if (folderBadge){decreaseCounterElement(folderBadge)}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let acceptJoinButtons = document.querySelectorAll(".join-accept");
|
||||||
|
acceptJoinButtons.forEach(function(elem) {
|
||||||
|
elem.addEventListener("click", function(event) {
|
||||||
|
url = `${acceptJoinURL}${event.target.id}/`
|
||||||
|
let elemClass = `.btns-join-${event.target.id}`
|
||||||
|
if (hitAuth(elemClass, tableAdd, url)){
|
||||||
|
decreaseCounter("acceptRequestsCounter")
|
||||||
|
decreaseMenuCounter()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let rejectJoinButtons = document.querySelectorAll(".join-reject");
|
||||||
|
rejectJoinButtons.forEach(function(elem) {
|
||||||
|
elem.addEventListener("click", function(event) {
|
||||||
|
url = `${rejectJoinURL}${event.target.id}/`
|
||||||
|
let elemClass = `.btns-join-${event.target.id}`
|
||||||
|
if (hitAuth(elemClass, tableAdd, url)){
|
||||||
|
decreaseCounter("acceptRequestsCounter")
|
||||||
|
decreaseMenuCounter()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let acceptLeaveButtons = document.querySelectorAll(".leave-accept");
|
||||||
|
acceptLeaveButtons.forEach(function(elem) {
|
||||||
|
elem.addEventListener("click", function(event) {
|
||||||
|
url = `${acceptLeaveURL}${event.target.id}/`
|
||||||
|
let elemClass = `.btns-leave-${event.target.id}`
|
||||||
|
if (hitAuth(elemClass, tableRem, url)){
|
||||||
|
decreaseCounter("leaveRequestsCounter")
|
||||||
|
decreaseMenuCounter()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
let rejectLeaveButtons = document.querySelectorAll(".leave-reject");
|
||||||
|
rejectLeaveButtons.forEach(function(elem) {
|
||||||
|
elem.addEventListener("click", function(event) {
|
||||||
|
url = `${rejectLeaveURL}${event.target.id}/`
|
||||||
|
let elemClass = `.btns-leave-${event.target.id}`
|
||||||
|
if (hitAuth(elemClass, tableRem, url)){
|
||||||
|
decreaseCounter("leaveRequestsCounter")
|
||||||
|
decreaseMenuCounter()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Filter Dropdown sets widths so lets remove them when we tab change so they actually show.
|
||||||
|
$('a[data-bs-toggle="tab"]').on('shown.bs.tab', function (e) {
|
||||||
|
let elems = document.querySelectorAll(".form-select");
|
||||||
|
elems.forEach(
|
||||||
|
function(e) {
|
||||||
|
e.style.maxWidth = "";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock extra_javascript %}
|
||||||
|
{% block extra_css %}
|
||||||
|
{% include 'bundles/datatables-css-bs5.html' %}
|
||||||
|
{% endblock %}
|
||||||
|
|||||||
@@ -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-06-19 20:23+1000\n"
|
"POT-Creation-Date: 2025-09-21 13:44+1000\n"
|
||||||
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
|
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
|
||||||
"Last-Translator: Tomas Skarecky <t.skarecky@gmail.com>, 2024\n"
|
"Last-Translator: Tomas Skarecky <t.skarecky@gmail.com>, 2024\n"
|
||||||
"Language-Team: Czech (Czech Republic) (https://app.transifex.com/alliance-auth/teams/107430/cs_CZ/)\n"
|
"Language-Team: Czech (Czech Republic) (https://app.transifex.com/alliance-auth/teams/107430/cs_CZ/)\n"
|
||||||
@@ -62,7 +62,7 @@ msgstr ""
|
|||||||
"přístupem:%s"
|
"přístupem:%s"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:72
|
#: allianceauth/authentication/models.py:72
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:106
|
#: allianceauth/project_template/project_name/settings/base.py:104
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "Angličtina"
|
msgstr "Angličtina"
|
||||||
|
|
||||||
@@ -71,57 +71,57 @@ msgid "Czech"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:74
|
#: allianceauth/authentication/models.py:74
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:108
|
#: allianceauth/project_template/project_name/settings/base.py:106
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Němčina"
|
msgstr "Němčina"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:75
|
#: allianceauth/authentication/models.py:75
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:109
|
#: allianceauth/project_template/project_name/settings/base.py:107
|
||||||
msgid "Spanish"
|
msgid "Spanish"
|
||||||
msgstr "Španělština"
|
msgstr "Španělština"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:76
|
#: allianceauth/authentication/models.py:76
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:110
|
#: allianceauth/project_template/project_name/settings/base.py:108
|
||||||
msgid "Italian"
|
msgid "Italian"
|
||||||
msgstr "Italština"
|
msgstr "Italština"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:77
|
#: allianceauth/authentication/models.py:77
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:111
|
#: allianceauth/project_template/project_name/settings/base.py:109
|
||||||
msgid "Japanese"
|
msgid "Japanese"
|
||||||
msgstr "Japonština"
|
msgstr "Japonština"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:78
|
#: allianceauth/authentication/models.py:78
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:112
|
#: allianceauth/project_template/project_name/settings/base.py:110
|
||||||
msgid "Korean"
|
msgid "Korean"
|
||||||
msgstr "Korejština"
|
msgstr "Korejština"
|
||||||
|
|
||||||
#: 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 "French"
|
msgid "French"
|
||||||
msgstr "Francouzština"
|
msgstr "Francouzština"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:80
|
#: allianceauth/authentication/models.py:80
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:116
|
#: allianceauth/project_template/project_name/settings/base.py:114
|
||||||
msgid "Russian"
|
msgid "Russian"
|
||||||
msgstr "Ruština"
|
msgstr "Ruština"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:81
|
#: allianceauth/authentication/models.py:81
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:114
|
#: allianceauth/project_template/project_name/settings/base.py:112
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:82
|
#: allianceauth/authentication/models.py:82
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:115
|
#: allianceauth/project_template/project_name/settings/base.py:113
|
||||||
msgid "Polish"
|
msgid "Polish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:83
|
#: allianceauth/authentication/models.py:83
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:117
|
#: allianceauth/project_template/project_name/settings/base.py:115
|
||||||
msgid "Ukrainian"
|
msgid "Ukrainian"
|
||||||
msgstr "Ukrajinština"
|
msgstr "Ukrajinština"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:84
|
#: allianceauth/authentication/models.py:84
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:118
|
#: allianceauth/project_template/project_name/settings/base.py:116
|
||||||
msgid "Simplified Chinese"
|
msgid "Simplified Chinese"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -166,14 +166,12 @@ msgstr "Postavy"
|
|||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6
|
|
||||||
msgid "Add Character"
|
msgid "Add Character"
|
||||||
msgstr "Přidat postavu"
|
msgstr "Přidat postavu"
|
||||||
|
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:8
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12
|
|
||||||
msgid "Change Main"
|
msgid "Change Main"
|
||||||
msgstr "Změnit postavu"
|
msgstr "Změnit postavu"
|
||||||
|
|
||||||
@@ -230,8 +228,8 @@ msgstr ""
|
|||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:168
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:168
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:94
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:94
|
||||||
#: allianceauth/srp/templates/srp/data.html:83
|
#: allianceauth/srp/templates/srp/data.html:81
|
||||||
#: allianceauth/srp/templates/srp/management.html:53
|
#: allianceauth/srp/templates/srp/management.html:51
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Akce"
|
msgstr "Akce"
|
||||||
|
|
||||||
@@ -282,7 +280,7 @@ msgstr "Registrace"
|
|||||||
msgid "Invalid or expired activation link."
|
msgid "Invalid or expired activation link."
|
||||||
msgstr "Nevalidní, nebo expirovaný aktivační odkaz."
|
msgstr "Nevalidní, nebo expirovaný aktivační odkaz."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:158
|
#: allianceauth/authentication/views.py:159
|
||||||
#, 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,22 +288,22 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Není možné změnit hlavní postavu na %(char)s: postava patří pod jiný účet."
|
"Není možné změnit hlavní postavu na %(char)s: postava patří pod jiný účet."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:165
|
#: allianceauth/authentication/views.py:166
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Changed main character to %s"
|
msgid "Changed main character to %s"
|
||||||
msgstr "Hlavní postava změněna na %s"
|
msgstr "Hlavní postava změněna na %s"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:179
|
#: allianceauth/authentication/views.py:180
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added %(name)s to your account."
|
msgid "Added %(name)s to your account."
|
||||||
msgstr "%(name)spřidána k vačenu účtu"
|
msgstr "%(name)spřidána k vačenu účtu"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:181
|
#: allianceauth/authentication/views.py:182
|
||||||
#, 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 "Přidání %(name)sk vašemu účtu se nezdařilo: již mají účet"
|
msgstr "Přidání %(name)sk vašemu účtu se nezdařilo: již mají účet"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:226
|
#: allianceauth/authentication/views.py:227
|
||||||
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."
|
||||||
@@ -313,11 +311,11 @@ msgstr ""
|
|||||||
"Není možné váš ověřit pomocí vybrané postavu. Prosím přihlaste se pomocí "
|
"Není možné váš ověřit pomocí vybrané postavu. Prosím přihlaste se pomocí "
|
||||||
"hlavní postavy spojené s tímto účtem."
|
"hlavní postavy spojené s tímto účtem."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:293
|
#: allianceauth/authentication/views.py:294
|
||||||
msgid "Registration token has expired."
|
msgid "Registration token has expired."
|
||||||
msgstr "Registrační token expiroval"
|
msgstr "Registrační token expiroval"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:354
|
#: allianceauth/authentication/views.py:355
|
||||||
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."
|
||||||
@@ -325,11 +323,11 @@ msgstr ""
|
|||||||
"Byl vám odeslán potvrzovací email. Otevřete prosím odkaz pro potvrzení "
|
"Byl vám odeslán potvrzovací email. Otevřete prosím odkaz pro potvrzení "
|
||||||
"emailové adresy. "
|
"emailové adresy. "
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:360
|
#: allianceauth/authentication/views.py:361
|
||||||
msgid "Confirmed your email address. Please login to continue."
|
msgid "Confirmed your email address. Please login to continue."
|
||||||
msgstr "Emailová adresa potvrzena. Přihlaste se prosím."
|
msgstr "Emailová adresa potvrzena. Přihlaste se prosím."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:366
|
#: allianceauth/authentication/views.py:367
|
||||||
msgid "Registration of new accounts is not allowed at this time."
|
msgid "Registration of new accounts is not allowed at this time."
|
||||||
msgstr "Momentálně není povolena registrace nových účtů."
|
msgstr "Momentálně není povolena registrace nových účtů."
|
||||||
|
|
||||||
@@ -346,11 +344,11 @@ msgstr ""
|
|||||||
msgid "Corporations"
|
msgid "Corporations"
|
||||||
msgstr "Korporace"
|
msgstr "Korporace"
|
||||||
|
|
||||||
#: allianceauth/corputils/templates/corputils/base.html:35
|
#: allianceauth/corputils/templates/corputils/base.html:31
|
||||||
msgid "Add corporation"
|
msgid "Add corporation"
|
||||||
msgstr "Přidat korporaci"
|
msgstr "Přidat korporaci"
|
||||||
|
|
||||||
#: allianceauth/corputils/templates/corputils/base.html:51
|
#: allianceauth/corputils/templates/corputils/base.html:47
|
||||||
msgid "Search all corporations..."
|
msgid "Search all corporations..."
|
||||||
msgstr "Vyhledat všechny korporace"
|
msgstr "Vyhledat všechny korporace"
|
||||||
|
|
||||||
@@ -498,7 +496,7 @@ msgid "Fleet Activity Tracking"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8
|
#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8
|
||||||
#: allianceauth/srp/templates/srp/management.html:44
|
#: allianceauth/srp/templates/srp/management.html:42
|
||||||
msgid "Fleet Name"
|
msgid "Fleet Name"
|
||||||
msgstr "Jméno flotily"
|
msgstr "Jméno flotily"
|
||||||
|
|
||||||
@@ -988,7 +986,7 @@ msgstr ""
|
|||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:123
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:123
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:167
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:167
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34
|
||||||
#: allianceauth/srp/templates/srp/data.html:81
|
#: allianceauth/srp/templates/srp/data.html:79
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1001,7 +999,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:15
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1046,17 +1044,9 @@ msgstr ""
|
|||||||
msgid "Leave"
|
msgid "Leave"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:74
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:73
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:89
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:88
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:46
|
msgid "Request pending"
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:95
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:138
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:120
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:87
|
|
||||||
msgid "Pending"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:80
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:80
|
||||||
@@ -1067,7 +1057,11 @@ msgstr ""
|
|||||||
msgid "Request"
|
msgid "Request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:99
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:93
|
||||||
|
msgid "Retract"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:103
|
||||||
msgid "No groups available."
|
msgid "No groups available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1196,6 +1190,19 @@ msgstr ""
|
|||||||
msgid "Applied to leave group %(group)s."
|
msgid "Applied to leave group %(group)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:438
|
||||||
|
msgid "You cannot retract that request"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:450
|
||||||
|
#, python-format
|
||||||
|
msgid "Retracted application to group %(group)s."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:458
|
||||||
|
msgid "You have no open request for that group."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/hrapplications/apps.py:8
|
#: allianceauth/hrapplications/apps.py:8
|
||||||
msgid "HR Applications"
|
msgid "HR Applications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1266,12 +1273,23 @@ msgstr ""
|
|||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:46
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:95
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:138
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
||||||
|
#: allianceauth/srp/templates/srp/data.html:118
|
||||||
|
#: allianceauth/srp/templates/srp/management.html:85
|
||||||
|
msgid "Pending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:48
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:48
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:141
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:141
|
||||||
#: 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:112
|
#: allianceauth/srp/templates/srp/data.html:110
|
||||||
msgid "Approved"
|
msgid "Approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1279,7 +1297,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:116
|
#: allianceauth/srp/templates/srp/data.html:114
|
||||||
msgid "Rejected"
|
msgid "Rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1514,8 +1532,8 @@ msgstr ""
|
|||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:155
|
#: allianceauth/menu/templates/menu/menu-user.html:155
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:158
|
#: 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:13
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:14
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1543,11 +1561,11 @@ msgstr ""
|
|||||||
msgid "Read"
|
msgid "Read"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/notifications/templates/notifications/list.html:32
|
#: allianceauth/notifications/templates/notifications/list.html:31
|
||||||
msgid "Mark all notifications as read"
|
msgid "Mark all notifications as read"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/notifications/templates/notifications/list.html:38
|
#: allianceauth/notifications/templates/notifications/list.html:35
|
||||||
msgid "Delete all read notifications"
|
msgid "Delete all read notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1612,12 +1630,12 @@ msgid "Operation Type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/form.py:17
|
#: allianceauth/optimer/form.py:17
|
||||||
#: allianceauth/srp/templates/srp/management.html:47
|
#: allianceauth/srp/templates/srp/management.html:45
|
||||||
msgid "Fleet Commander"
|
msgid "Fleet Commander"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14
|
#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14
|
||||||
#: allianceauth/srp/templates/srp/data.html:72
|
#: allianceauth/srp/templates/srp/data.html:70
|
||||||
msgid "Additional Info"
|
msgid "Additional Info"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1626,7 +1644,7 @@ msgid "(Optional) Describe the operation with a couple of short words."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/add.html:8
|
#: allianceauth/optimer/templates/optimer/add.html:8
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:18
|
#: allianceauth/optimer/templates/optimer/management.html:16
|
||||||
msgid "Create Operation"
|
msgid "Create Operation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1675,26 +1693,26 @@ msgstr ""
|
|||||||
msgid "Fleet Operation Management"
|
msgid "Fleet Operation Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:28
|
#: allianceauth/optimer/templates/optimer/management.html:26
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:32
|
#: allianceauth/timerboard/templates/timerboard/view.html:30
|
||||||
msgid "Current EVE time:"
|
msgid "Current EVE time:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:36
|
#: allianceauth/optimer/templates/optimer/management.html:34
|
||||||
msgid "Next Fleet Operations"
|
msgid "Next Fleet Operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:44
|
#: allianceauth/optimer/templates/optimer/management.html:42
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:63
|
#: allianceauth/timerboard/templates/timerboard/view.html:61
|
||||||
msgid "No upcoming timers."
|
msgid "No upcoming timers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:52
|
#: allianceauth/optimer/templates/optimer/management.html:50
|
||||||
msgid "Past Fleet Operations"
|
msgid "Past Fleet Operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:60
|
#: allianceauth/optimer/templates/optimer/management.html:58
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:81
|
#: allianceauth/timerboard/templates/timerboard/view.html:79
|
||||||
msgid "No past timers."
|
msgid "No past timers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2262,7 +2280,7 @@ msgid "Enabled"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/services/templates/services/service_status.html:7
|
#: allianceauth/services/templates/services/service_status.html:7
|
||||||
#: allianceauth/srp/templates/srp/management.html:78
|
#: allianceauth/srp/templates/srp/management.html:76
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2300,12 +2318,12 @@ msgid "Ship Replacement"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:9
|
#: allianceauth/srp/form.py:9
|
||||||
#: allianceauth/srp/templates/srp/management.html:45
|
#: allianceauth/srp/templates/srp/management.html:43
|
||||||
msgid "Fleet Time"
|
msgid "Fleet Time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:10
|
#: allianceauth/srp/form.py:10
|
||||||
#: allianceauth/srp/templates/srp/management.html:46
|
#: allianceauth/srp/templates/srp/management.html:44
|
||||||
msgid "Fleet Doctrine"
|
msgid "Fleet Doctrine"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2354,7 +2372,7 @@ msgid "Give this link to the line members."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:8
|
#: allianceauth/srp/templates/srp/data.html:8
|
||||||
#: allianceauth/srp/templates/srp/data.html:39
|
#: allianceauth/srp/templates/srp/data.html:37
|
||||||
msgid "SRP Fleet Data"
|
msgid "SRP Fleet Data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2362,64 +2380,64 @@ msgstr ""
|
|||||||
msgid "View Fleets"
|
msgid "View Fleets"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:26
|
#: allianceauth/srp/templates/srp/data.html:24
|
||||||
msgid "Mark Incomplete"
|
msgid "Mark Incomplete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:30
|
#: allianceauth/srp/templates/srp/data.html:28
|
||||||
msgid "Mark Completed"
|
msgid "Mark Completed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:48
|
#: allianceauth/srp/templates/srp/data.html:46
|
||||||
#: allianceauth/srp/templates/srp/data.html:142
|
#: allianceauth/srp/templates/srp/data.html:140
|
||||||
msgid "Total Losses:"
|
msgid "Total Losses:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:49
|
#: allianceauth/srp/templates/srp/data.html:47
|
||||||
#: allianceauth/srp/templates/srp/data.html:143
|
#: allianceauth/srp/templates/srp/data.html:141
|
||||||
#: allianceauth/srp/templates/srp/management.html:36
|
#: allianceauth/srp/templates/srp/management.html:34
|
||||||
msgid "Total ISK Cost:"
|
msgid "Total ISK Cost:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:60
|
#: allianceauth/srp/templates/srp/data.html:58
|
||||||
#: allianceauth/srp/templates/srp/data.html:154
|
#: allianceauth/srp/templates/srp/data.html:152
|
||||||
msgid "Are you sure you want to delete SRP requests?"
|
msgid "Are you sure you want to delete SRP requests?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:70
|
#: allianceauth/srp/templates/srp/data.html:68
|
||||||
msgid "Pilot Name"
|
msgid "Pilot Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:71
|
#: allianceauth/srp/templates/srp/data.html:69
|
||||||
msgid "Killboard Link"
|
msgid "Killboard Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:73
|
#: allianceauth/srp/templates/srp/data.html:71
|
||||||
msgid "Ship Type"
|
msgid "Ship Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:74
|
#: allianceauth/srp/templates/srp/data.html:72
|
||||||
msgid "Killboard Loss Amt"
|
msgid "Killboard Loss Amt"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:76
|
#: allianceauth/srp/templates/srp/data.html:74
|
||||||
msgid "SRP ISK Cost"
|
msgid "SRP ISK Cost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:77
|
#: allianceauth/srp/templates/srp/data.html:75
|
||||||
msgid "Click value to edit Enter to save & next ESC to cancel"
|
msgid "Click value to edit Enter to save & next ESC to cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:80
|
#: allianceauth/srp/templates/srp/data.html:78
|
||||||
msgid "Post Time"
|
msgid "Post Time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:102
|
#: allianceauth/srp/templates/srp/data.html:100
|
||||||
#: allianceauth/srp/templates/srp/management.html:70
|
#: allianceauth/srp/templates/srp/management.html:68
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:163
|
#: allianceauth/srp/templates/srp/data.html:161
|
||||||
msgid "No SRP requests for this fleet."
|
msgid "No SRP requests for this fleet."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2431,39 +2449,39 @@ msgstr ""
|
|||||||
msgid "View All"
|
msgid "View All"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:27
|
#: allianceauth/srp/templates/srp/management.html:25
|
||||||
msgid "Add SRP Fleet"
|
msgid "Add SRP Fleet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:48
|
#: allianceauth/srp/templates/srp/management.html:46
|
||||||
msgid "Fleet AAR"
|
msgid "Fleet AAR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:49
|
#: allianceauth/srp/templates/srp/management.html:47
|
||||||
msgid "Fleet SRP Code"
|
msgid "Fleet SRP Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:50
|
#: allianceauth/srp/templates/srp/management.html:48
|
||||||
msgid "Fleet ISK Cost"
|
msgid "Fleet ISK Cost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:51
|
#: allianceauth/srp/templates/srp/management.html:49
|
||||||
msgid "SRP Status"
|
msgid "SRP Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:52
|
#: allianceauth/srp/templates/srp/management.html:50
|
||||||
msgid "Pending Requests"
|
msgid "Pending Requests"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:91
|
#: allianceauth/srp/templates/srp/management.html:89
|
||||||
msgid "Completed"
|
msgid "Completed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:108
|
#: allianceauth/srp/templates/srp/management.html:106
|
||||||
msgid "Are you sure you want to delete this SRP code and its contents?"
|
msgid "Are you sure you want to delete this SRP code and its contents?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:129
|
#: allianceauth/srp/templates/srp/management.html:127
|
||||||
msgid "No SRP fleets created."
|
msgid "No SRP fleets created."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2599,67 +2617,120 @@ msgstr ""
|
|||||||
msgid "Your Server received an ESI error response code of "
|
msgid "Your Server received an ESI error response code of "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:8
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:11
|
||||||
msgid "Alliance Auth Notifications"
|
msgid "second"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:12
|
||||||
msgid "No notifications at this time"
|
msgid "seconds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:13
|
||||||
msgid "Powered by GitLab"
|
msgid "minute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:14
|
||||||
msgid "Support Discord"
|
msgid "minutes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
msgid "hour"
|
||||||
msgid "Software Version"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
|
||||||
msgid "Current"
|
msgid "hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:17
|
||||||
msgid "Latest Stable"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
|
||||||
msgid "Update available"
|
msgid "ERROR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:19
|
||||||
msgid "Latest Pre-Release"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
|
|
||||||
msgid "Pre-Release available"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
|
||||||
msgid "Task Queue"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
" Status of %(total)s processed tasks • last %(latest)s\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
|
|
||||||
msgid "running"
|
msgid "running"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
||||||
msgid "queued"
|
msgid "queued"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:21
|
||||||
|
msgid "succeeded"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:22
|
||||||
|
msgid "retried"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:23
|
||||||
|
msgid "failed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
||||||
|
msgid "Debug mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:34
|
||||||
|
msgid ""
|
||||||
|
"Debug mode is currently turned on!<br>Make sure to turn it off as soon as "
|
||||||
|
"you are finished testing."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:46
|
||||||
|
msgid "Alliance Auth Notifications"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:58
|
||||||
|
msgid "No notifications at this time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
|
||||||
|
msgid "Powered by GitLab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:73
|
||||||
|
msgid "Support Discord"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:87
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
||||||
|
msgid "Software Version"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:94
|
||||||
|
msgid "Current"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:101
|
||||||
|
msgid "Latest Stable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:106
|
||||||
|
msgid "Update available"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:114
|
||||||
|
msgid "Latest Pre-Release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:119
|
||||||
|
msgid "Pre-Release available"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:129
|
||||||
|
msgid "Task Queue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:134
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Status of <span id=\"total-task-count\">?</span> processed tasks • last <span id=\"celery-uptime\">?</span>\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
||||||
msgid "AA Documentation"
|
msgid "AA Documentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2883,7 +2954,7 @@ msgid "Theft"
|
|||||||
msgstr ""
|
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:52
|
||||||
msgid "Upcoming Timers"
|
msgid "Upcoming Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2911,7 +2982,7 @@ msgid "Create Timer"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9
|
#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:22
|
#: allianceauth/timerboard/templates/timerboard/view.html:20
|
||||||
msgid "Create Structure Timer"
|
msgid "Create Structure Timer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2929,11 +3000,11 @@ msgstr ""
|
|||||||
msgid "Structure Timer Management"
|
msgid "Structure Timer Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:41
|
#: allianceauth/timerboard/templates/timerboard/view.html:39
|
||||||
msgid "Corporation Timers"
|
msgid "Corporation Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:72
|
#: allianceauth/timerboard/templates/timerboard/view.html:70
|
||||||
msgid "Past Timers"
|
msgid "Past Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -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-07-03 09:07+1000\n"
|
"POT-Creation-Date: 2026-01-21 15:33+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"
|
||||||
@@ -57,7 +57,7 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:72
|
#: allianceauth/authentication/models.py:72
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:104
|
#: allianceauth/project_template/project_name/settings/base.py:105
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -66,57 +66,57 @@ msgid "Czech"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:74
|
#: allianceauth/authentication/models.py:74
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:106
|
#: allianceauth/project_template/project_name/settings/base.py:107
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:75
|
#: allianceauth/authentication/models.py:75
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:107
|
#: allianceauth/project_template/project_name/settings/base.py:108
|
||||||
msgid "Spanish"
|
msgid "Spanish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:76
|
#: allianceauth/authentication/models.py:76
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:108
|
#: allianceauth/project_template/project_name/settings/base.py:109
|
||||||
msgid "Italian"
|
msgid "Italian"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:77
|
#: allianceauth/authentication/models.py:77
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:109
|
#: allianceauth/project_template/project_name/settings/base.py:110
|
||||||
msgid "Japanese"
|
msgid "Japanese"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:78
|
#: allianceauth/authentication/models.py:78
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:110
|
#: allianceauth/project_template/project_name/settings/base.py:111
|
||||||
msgid "Korean"
|
msgid "Korean"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:79
|
#: allianceauth/authentication/models.py:79
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:111
|
#: allianceauth/project_template/project_name/settings/base.py:112
|
||||||
msgid "French"
|
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:115
|
||||||
msgid "Russian"
|
msgid "Russian"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:81
|
#: allianceauth/authentication/models.py:81
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:112
|
#: allianceauth/project_template/project_name/settings/base.py:113
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:82
|
#: allianceauth/authentication/models.py:82
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:113
|
#: allianceauth/project_template/project_name/settings/base.py:114
|
||||||
msgid "Polish"
|
msgid "Polish"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:83
|
#: allianceauth/authentication/models.py:83
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:115
|
#: allianceauth/project_template/project_name/settings/base.py:116
|
||||||
msgid "Ukrainian"
|
msgid "Ukrainian"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:84
|
#: allianceauth/authentication/models.py:84
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:116
|
#: allianceauth/project_template/project_name/settings/base.py:117
|
||||||
msgid "Simplified Chinese"
|
msgid "Simplified Chinese"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -125,22 +125,30 @@ msgstr ""
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:105
|
#: allianceauth/authentication/models.py:106
|
||||||
#: 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:109
|
#: allianceauth/authentication/models.py:110
|
||||||
#: allianceauth/theme/templates/theme/theme_select.html:4
|
#: allianceauth/theme/templates/theme/theme_select.html:4
|
||||||
msgid "Theme"
|
msgid "Theme"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:126
|
#: allianceauth/authentication/models.py:117
|
||||||
|
msgid "Minimize Sidebar Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/authentication/models.py:119
|
||||||
|
msgid "Keep the sidebar menu minimized"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/authentication/models.py:133
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "State changed to: %s"
|
msgid "State changed to: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:127
|
#: allianceauth/authentication/models.py:134
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your user's state is now: %(state)s"
|
msgid "Your user's state is now: %(state)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -161,14 +169,12 @@ msgstr ""
|
|||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6
|
|
||||||
msgid "Add Character"
|
msgid "Add Character"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:8
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12
|
|
||||||
msgid "Change Main"
|
msgid "Change Main"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -202,8 +208,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:158
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:136
|
#: allianceauth/menu/templates/menu/menu-user.html:161
|
||||||
#: 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 ""
|
||||||
@@ -225,8 +231,8 @@ msgstr ""
|
|||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:168
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:168
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:94
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:94
|
||||||
#: allianceauth/srp/templates/srp/data.html:83
|
#: allianceauth/srp/templates/srp/data.html:81
|
||||||
#: allianceauth/srp/templates/srp/management.html:53
|
#: allianceauth/srp/templates/srp/management.html:51
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -239,8 +245,8 @@ msgstr ""
|
|||||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:41
|
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:41
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:30
|
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:30
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:29
|
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:29
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:55
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:54
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:118
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:129
|
||||||
msgid "Character"
|
msgid "Character"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -277,49 +283,49 @@ msgstr ""
|
|||||||
msgid "Invalid or expired activation link."
|
msgid "Invalid or expired activation link."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:158
|
#: allianceauth/authentication/views.py:159
|
||||||
#, 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:165
|
#: allianceauth/authentication/views.py:166
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Changed main character to %s"
|
msgid "Changed main character to %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:179
|
#: allianceauth/authentication/views.py:180
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added %(name)s to your account."
|
msgid "Added %(name)s to your account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:181
|
#: allianceauth/authentication/views.py:182
|
||||||
#, 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:226
|
#: allianceauth/authentication/views.py:227
|
||||||
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:293
|
#: allianceauth/authentication/views.py:294
|
||||||
msgid "Registration token has expired."
|
msgid "Registration token has expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:354
|
#: allianceauth/authentication/views.py:355
|
||||||
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:360
|
#: allianceauth/authentication/views.py:361
|
||||||
msgid "Confirmed your email address. Please login to continue."
|
msgid "Confirmed your email address. Please login to continue."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:366
|
#: allianceauth/authentication/views.py:367
|
||||||
msgid "Registration of new accounts is not allowed at this time."
|
msgid "Registration of new accounts is not allowed at this time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -336,11 +342,11 @@ msgstr ""
|
|||||||
msgid "Corporations"
|
msgid "Corporations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/corputils/templates/corputils/base.html:35
|
#: allianceauth/corputils/templates/corputils/base.html:31
|
||||||
msgid "Add corporation"
|
msgid "Add corporation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/corputils/templates/corputils/base.html:51
|
#: allianceauth/corputils/templates/corputils/base.html:47
|
||||||
msgid "Search all corporations..."
|
msgid "Search all corporations..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -377,6 +383,8 @@ msgstr ""
|
|||||||
#: allianceauth/corputils/templates/corputils/corpstats.html:125
|
#: allianceauth/corputils/templates/corputils/corpstats.html:125
|
||||||
#: allianceauth/corputils/templates/corputils/search.html:18
|
#: allianceauth/corputils/templates/corputils/search.html:18
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31
|
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:58
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:133
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:35
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:35
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:122
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:122
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:166
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:166
|
||||||
@@ -488,7 +496,7 @@ msgid "Fleet Activity Tracking"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8
|
#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8
|
||||||
#: allianceauth/srp/templates/srp/management.html:44
|
#: allianceauth/srp/templates/srp/management.html:42
|
||||||
msgid "Fleet Name"
|
msgid "Fleet Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -749,14 +757,18 @@ msgstr ""
|
|||||||
#: allianceauth/fleetactivitytracking/views.py:323
|
#: allianceauth/fleetactivitytracking/views.py:323
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cannot register the fleet participation for {character.character_name}. The "
|
"Cannot register the fleet participation for {character_name}. The character "
|
||||||
"character needs to be online."
|
"needs to be online."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/framework/apps.py:16
|
#: allianceauth/framework/apps.py:16
|
||||||
msgid "Framework"
|
msgid "Framework"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/framework/templates/framework/datatables/process-indicator.html:8
|
||||||
|
msgid "Loading …"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/apps.py:8
|
#: 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
|
||||||
@@ -818,8 +830,9 @@ msgstr ""
|
|||||||
|
|
||||||
#: allianceauth/groupmanagement/models.py:143
|
#: allianceauth/groupmanagement/models.py:143
|
||||||
msgid ""
|
msgid ""
|
||||||
"Group leaders can process requests for this group. Use the <code>auth."
|
"Group leaders can process requests for this group. Use the "
|
||||||
"group_management</code> permission to allow a user to manage all groups.<br>"
|
"<code>auth.group_management</code> permission to allow a user to manage all "
|
||||||
|
"groups.<br>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/models.py:153
|
#: allianceauth/groupmanagement/models.py:153
|
||||||
@@ -927,8 +940,8 @@ msgid "Group Members"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:30
|
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:30
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:56
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:55
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:119
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:130
|
||||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:33
|
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:33
|
||||||
msgid "Organization"
|
msgid "Organization"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -940,7 +953,9 @@ msgstr ""
|
|||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:61
|
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:61
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:85
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:85
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:148
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:106
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:160
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:181
|
||||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit_row.html:18
|
#: allianceauth/permissions_tool/templates/permissions_tool/audit_row.html:18
|
||||||
msgid "(unknown)"
|
msgid "(unknown)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -973,7 +988,7 @@ msgstr ""
|
|||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:123
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:123
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:167
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:167
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34
|
||||||
#: allianceauth/srp/templates/srp/data.html:81
|
#: allianceauth/srp/templates/srp/data.html:79
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -986,7 +1001,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:15
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1020,8 +1035,8 @@ msgid "Leaders"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:37
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:37
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:57
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:56
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:120
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:131
|
||||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:30
|
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:30
|
||||||
#: allianceauth/services/modules/openfire/forms.py:6
|
#: allianceauth/services/modules/openfire/forms.py:6
|
||||||
msgid "Group"
|
msgid "Group"
|
||||||
@@ -1031,17 +1046,9 @@ msgstr ""
|
|||||||
msgid "Leave"
|
msgid "Leave"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:74
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:73
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:89
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:88
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:46
|
msgid "Request pending"
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:95
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:138
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:120
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:87
|
|
||||||
msgid "Pending"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:80
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:80
|
||||||
@@ -1052,7 +1059,11 @@ msgstr ""
|
|||||||
msgid "Request"
|
msgid "Request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:99
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:93
|
||||||
|
msgid "Retract"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:103
|
||||||
msgid "No groups available."
|
msgid "No groups available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1074,22 +1085,22 @@ msgstr ""
|
|||||||
msgid "Group Membership"
|
msgid "Group Membership"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:93
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:96
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:156
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:171
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:96
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:99
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:160
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:174
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:104
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:104
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:106
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:117
|
||||||
msgid "No group add requests."
|
msgid "No group add requests."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:169
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:190
|
||||||
msgid "No group leave requests."
|
msgid "No group leave requests."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1181,6 +1192,19 @@ msgstr ""
|
|||||||
msgid "Applied to leave group %(group)s."
|
msgid "Applied to leave group %(group)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:438
|
||||||
|
msgid "You cannot retract that request"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:450
|
||||||
|
#, python-format
|
||||||
|
msgid "Retracted application to group %(group)s."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:458
|
||||||
|
msgid "You have no open request for that group."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/hrapplications/apps.py:8
|
#: allianceauth/hrapplications/apps.py:8
|
||||||
msgid "HR Applications"
|
msgid "HR Applications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1251,12 +1275,23 @@ msgstr ""
|
|||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:46
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:95
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:138
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
||||||
|
#: allianceauth/srp/templates/srp/data.html:118
|
||||||
|
#: allianceauth/srp/templates/srp/management.html:85
|
||||||
|
msgid "Pending"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:48
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:48
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:141
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:141
|
||||||
#: 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:112
|
#: allianceauth/srp/templates/srp/data.html:110
|
||||||
msgid "Approved"
|
msgid "Approved"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1264,7 +1299,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:116
|
#: allianceauth/srp/templates/srp/data.html:114
|
||||||
msgid "Rejected"
|
msgid "Rejected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1468,39 +1503,47 @@ msgid "Notifications"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:77
|
#: allianceauth/menu/templates/menu/menu-user.html:77
|
||||||
|
msgid "Sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/menu/templates/menu/menu-user.html:93
|
||||||
|
msgid "Minimize Sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/menu/templates/menu/menu-user.html:102
|
||||||
msgid "Super User"
|
msgid "Super User"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:83
|
#: allianceauth/menu/templates/menu/menu-user.html:108
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:86
|
#: allianceauth/menu/templates/menu/menu-user.html:111
|
||||||
msgid "Alliance Auth Documentation"
|
msgid "Alliance Auth Documentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:94
|
#: allianceauth/menu/templates/menu/menu-user.html:119
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:97
|
#: allianceauth/menu/templates/menu/menu-user.html:122
|
||||||
msgid "Alliance Auth Discord"
|
msgid "Alliance Auth Discord"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:105
|
#: allianceauth/menu/templates/menu/menu-user.html:130
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:108
|
#: allianceauth/menu/templates/menu/menu-user.html:133
|
||||||
msgid "Alliance Auth Git"
|
msgid "Alliance Auth Git"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:118
|
#: allianceauth/menu/templates/menu/menu-user.html:143
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:121
|
#: allianceauth/menu/templates/menu/menu-user.html:146
|
||||||
#: 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:144
|
#: allianceauth/menu/templates/menu/menu-user.html:169
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:147
|
#: allianceauth/menu/templates/menu/menu-user.html:172
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:155
|
#: allianceauth/menu/templates/menu/menu-user.html:180
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:158
|
#: allianceauth/menu/templates/menu/menu-user.html:183
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:13
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:14
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1528,11 +1571,11 @@ msgstr ""
|
|||||||
msgid "Read"
|
msgid "Read"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/notifications/templates/notifications/list.html:32
|
#: allianceauth/notifications/templates/notifications/list.html:31
|
||||||
msgid "Mark all notifications as read"
|
msgid "Mark all notifications as read"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/notifications/templates/notifications/list.html:38
|
#: allianceauth/notifications/templates/notifications/list.html:35
|
||||||
msgid "Delete all read notifications"
|
msgid "Delete all read notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1597,12 +1640,12 @@ msgid "Operation Type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/form.py:17
|
#: allianceauth/optimer/form.py:17
|
||||||
#: allianceauth/srp/templates/srp/management.html:47
|
#: allianceauth/srp/templates/srp/management.html:45
|
||||||
msgid "Fleet Commander"
|
msgid "Fleet Commander"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14
|
#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14
|
||||||
#: allianceauth/srp/templates/srp/data.html:72
|
#: allianceauth/srp/templates/srp/data.html:70
|
||||||
msgid "Additional Info"
|
msgid "Additional Info"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1611,7 +1654,7 @@ msgid "(Optional) Describe the operation with a couple of short words."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/add.html:8
|
#: allianceauth/optimer/templates/optimer/add.html:8
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:18
|
#: allianceauth/optimer/templates/optimer/management.html:16
|
||||||
msgid "Create Operation"
|
msgid "Create Operation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1660,26 +1703,26 @@ msgstr ""
|
|||||||
msgid "Fleet Operation Management"
|
msgid "Fleet Operation Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:28
|
#: allianceauth/optimer/templates/optimer/management.html:26
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:32
|
#: allianceauth/timerboard/templates/timerboard/view.html:30
|
||||||
msgid "Current EVE time:"
|
msgid "Current EVE time:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:36
|
#: allianceauth/optimer/templates/optimer/management.html:34
|
||||||
msgid "Next Fleet Operations"
|
msgid "Next Fleet Operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:44
|
#: allianceauth/optimer/templates/optimer/management.html:42
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:63
|
#: allianceauth/timerboard/templates/timerboard/view.html:61
|
||||||
msgid "No upcoming timers."
|
msgid "No upcoming timers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:52
|
#: allianceauth/optimer/templates/optimer/management.html:50
|
||||||
msgid "Past Fleet Operations"
|
msgid "Past Fleet Operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:60
|
#: allianceauth/optimer/templates/optimer/management.html:58
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:81
|
#: allianceauth/timerboard/templates/timerboard/view.html:79
|
||||||
msgid "No past timers."
|
msgid "No past timers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1759,9 +1802,9 @@ msgstr ""
|
|||||||
msgid "That service account already exists"
|
msgid "That service account already exists"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/services/abstract.py:103
|
#: allianceauth/services/abstract.py:105
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Successfully set your {self.service_name} password"
|
msgid "Successfully set your {service_name} password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
|
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
|
||||||
@@ -2246,7 +2289,7 @@ msgid "Enabled"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/services/templates/services/service_status.html:7
|
#: allianceauth/services/templates/services/service_status.html:7
|
||||||
#: allianceauth/srp/templates/srp/management.html:78
|
#: allianceauth/srp/templates/srp/management.html:76
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2283,12 +2326,12 @@ msgstr ""
|
|||||||
msgid "Ship Replacement"
|
msgid "Ship Replacement"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:9 allianceauth/srp/templates/srp/management.html:45
|
#: allianceauth/srp/form.py:9 allianceauth/srp/templates/srp/management.html:43
|
||||||
msgid "Fleet Time"
|
msgid "Fleet Time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:10
|
#: allianceauth/srp/form.py:10
|
||||||
#: allianceauth/srp/templates/srp/management.html:46
|
#: allianceauth/srp/templates/srp/management.html:44
|
||||||
msgid "Fleet Doctrine"
|
msgid "Fleet Doctrine"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2300,11 +2343,11 @@ msgstr ""
|
|||||||
msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org"
|
msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:46
|
#: allianceauth/srp/form.py:49
|
||||||
msgid "Invalid Link. Please post a direct link to a killmail."
|
msgid "Invalid Link. Please post a direct link to a killmail."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:53
|
#: allianceauth/srp/form.py:56
|
||||||
msgid "After Action Report Link"
|
msgid "After Action Report Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2337,7 +2380,7 @@ msgid "Give this link to the line members."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:8
|
#: allianceauth/srp/templates/srp/data.html:8
|
||||||
#: allianceauth/srp/templates/srp/data.html:39
|
#: allianceauth/srp/templates/srp/data.html:37
|
||||||
msgid "SRP Fleet Data"
|
msgid "SRP Fleet Data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2345,64 +2388,64 @@ msgstr ""
|
|||||||
msgid "View Fleets"
|
msgid "View Fleets"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:26
|
#: allianceauth/srp/templates/srp/data.html:24
|
||||||
msgid "Mark Incomplete"
|
msgid "Mark Incomplete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:30
|
#: allianceauth/srp/templates/srp/data.html:28
|
||||||
msgid "Mark Completed"
|
msgid "Mark Completed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:48
|
#: allianceauth/srp/templates/srp/data.html:46
|
||||||
#: allianceauth/srp/templates/srp/data.html:142
|
#: allianceauth/srp/templates/srp/data.html:140
|
||||||
msgid "Total Losses:"
|
msgid "Total Losses:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:49
|
#: allianceauth/srp/templates/srp/data.html:47
|
||||||
#: allianceauth/srp/templates/srp/data.html:143
|
#: allianceauth/srp/templates/srp/data.html:141
|
||||||
#: allianceauth/srp/templates/srp/management.html:36
|
#: allianceauth/srp/templates/srp/management.html:34
|
||||||
msgid "Total ISK Cost:"
|
msgid "Total ISK Cost:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:60
|
#: allianceauth/srp/templates/srp/data.html:58
|
||||||
#: allianceauth/srp/templates/srp/data.html:154
|
#: allianceauth/srp/templates/srp/data.html:152
|
||||||
msgid "Are you sure you want to delete SRP requests?"
|
msgid "Are you sure you want to delete SRP requests?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:70
|
#: allianceauth/srp/templates/srp/data.html:68
|
||||||
msgid "Pilot Name"
|
msgid "Pilot Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:71
|
#: allianceauth/srp/templates/srp/data.html:69
|
||||||
msgid "Killboard Link"
|
msgid "Killboard Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:73
|
#: allianceauth/srp/templates/srp/data.html:71
|
||||||
msgid "Ship Type"
|
msgid "Ship Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:74
|
#: allianceauth/srp/templates/srp/data.html:72
|
||||||
msgid "Killboard Loss Amt"
|
msgid "Killboard Loss Amt"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:76
|
#: allianceauth/srp/templates/srp/data.html:74
|
||||||
msgid "SRP ISK Cost"
|
msgid "SRP ISK Cost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:77
|
#: allianceauth/srp/templates/srp/data.html:75
|
||||||
msgid "Click value to edit Enter to save & next ESC to cancel"
|
msgid "Click value to edit Enter to save & next ESC to cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:80
|
#: allianceauth/srp/templates/srp/data.html:78
|
||||||
msgid "Post Time"
|
msgid "Post Time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:102
|
#: allianceauth/srp/templates/srp/data.html:100
|
||||||
#: allianceauth/srp/templates/srp/management.html:70
|
#: allianceauth/srp/templates/srp/management.html:68
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:163
|
#: allianceauth/srp/templates/srp/data.html:161
|
||||||
msgid "No SRP requests for this fleet."
|
msgid "No SRP requests for this fleet."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2414,39 +2457,39 @@ msgstr ""
|
|||||||
msgid "View All"
|
msgid "View All"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:27
|
#: allianceauth/srp/templates/srp/management.html:25
|
||||||
msgid "Add SRP Fleet"
|
msgid "Add SRP Fleet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:48
|
#: allianceauth/srp/templates/srp/management.html:46
|
||||||
msgid "Fleet AAR"
|
msgid "Fleet AAR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:49
|
#: allianceauth/srp/templates/srp/management.html:47
|
||||||
msgid "Fleet SRP Code"
|
msgid "Fleet SRP Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:50
|
#: allianceauth/srp/templates/srp/management.html:48
|
||||||
msgid "Fleet ISK Cost"
|
msgid "Fleet ISK Cost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:51
|
#: allianceauth/srp/templates/srp/management.html:49
|
||||||
msgid "SRP Status"
|
msgid "SRP Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:52
|
#: allianceauth/srp/templates/srp/management.html:50
|
||||||
msgid "Pending Requests"
|
msgid "Pending Requests"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:91
|
#: allianceauth/srp/templates/srp/management.html:89
|
||||||
msgid "Completed"
|
msgid "Completed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:108
|
#: allianceauth/srp/templates/srp/management.html:106
|
||||||
msgid "Are you sure you want to delete this SRP code and its contents?"
|
msgid "Are you sure you want to delete this SRP code and its contents?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:129
|
#: allianceauth/srp/templates/srp/management.html:127
|
||||||
msgid "No SRP fleets created."
|
msgid "No SRP fleets created."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2578,72 +2621,125 @@ msgstr ""
|
|||||||
msgid "Saved changes to SRP fleet %(fleetname)s"
|
msgid "Saved changes to SRP fleet %(fleetname)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/esi_check.html:4
|
#: allianceauth/templates/allianceauth/admin-status/esi_check.html:5
|
||||||
msgid "Your Server received an ESI error response code of "
|
msgid "Your Server received an ESI error response code of "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:8
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:11
|
||||||
msgid "Alliance Auth Notifications"
|
msgid "second"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:12
|
||||||
msgid "No notifications at this time"
|
msgid "seconds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:13
|
||||||
msgid "Powered by GitLab"
|
msgid "minute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:14
|
||||||
msgid "Support Discord"
|
msgid "minutes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
msgid "hour"
|
||||||
msgid "Software Version"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
|
||||||
msgid "Current"
|
msgid "hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:17
|
||||||
msgid "Latest Stable"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
|
||||||
msgid "Update available"
|
msgid "ERROR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:19
|
||||||
msgid "Latest Pre-Release"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
|
|
||||||
msgid "Pre-Release available"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
|
||||||
msgid "Task Queue"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
" Status of %(total)s processed tasks • last "
|
|
||||||
"%(latest)s\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
|
|
||||||
msgid "running"
|
msgid "running"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
||||||
msgid "queued"
|
msgid "queued"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:21
|
||||||
|
msgid "succeeded"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:22
|
||||||
|
msgid "retried"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:23
|
||||||
|
msgid "failed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
||||||
|
msgid "Debug mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:34
|
||||||
|
msgid ""
|
||||||
|
"Debug mode is currently turned on!<br>Make sure to turn it off as soon as "
|
||||||
|
"you are finished testing."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:46
|
||||||
|
msgid "Alliance Auth Notifications"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:58
|
||||||
|
msgid "No notifications at this time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
|
||||||
|
msgid "Powered by GitLab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:73
|
||||||
|
msgid "Support Discord"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:87
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
||||||
|
msgid "Software Version"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:94
|
||||||
|
msgid "Current"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:101
|
||||||
|
msgid "Latest Stable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:106
|
||||||
|
msgid "Update available"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:114
|
||||||
|
msgid "Latest Pre-Release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:119
|
||||||
|
msgid "Pre-Release available"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:129
|
||||||
|
msgid "Task Queue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:134
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Status of <span id=\"total-task-count\">?</span> "
|
||||||
|
"processed tasks • last <span id=\"celery-uptime\">?</span>\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
||||||
msgid "AA Documentation"
|
msgid "AA Documentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2867,7 +2963,7 @@ msgid "Theft"
|
|||||||
msgstr ""
|
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:52
|
||||||
msgid "Upcoming Timers"
|
msgid "Upcoming Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2895,7 +2991,7 @@ msgid "Create Timer"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9
|
#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:22
|
#: allianceauth/timerboard/templates/timerboard/view.html:20
|
||||||
msgid "Create Structure Timer"
|
msgid "Create Structure Timer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2913,11 +3009,11 @@ msgstr ""
|
|||||||
msgid "Structure Timer Management"
|
msgid "Structure Timer Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:41
|
#: allianceauth/timerboard/templates/timerboard/view.html:39
|
||||||
msgid "Corporation Timers"
|
msgid "Corporation Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:72
|
#: allianceauth/timerboard/templates/timerboard/view.html:70
|
||||||
msgid "Past Timers"
|
msgid "Past Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2930,36 +3026,36 @@ msgstr ""
|
|||||||
msgid "Saved changes to the timer."
|
msgid "Saved changes to the timer."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:55
|
#: allianceauth/views.py:78
|
||||||
msgid "Bad Request"
|
msgid "Bad Request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:57 allianceauth/views.py:87
|
#: allianceauth/views.py:80 allianceauth/views.py:110
|
||||||
msgid ""
|
msgid ""
|
||||||
"Auth encountered an error processing your request, please try again. If the "
|
"Auth encountered an error processing your request, please try again. If the "
|
||||||
"error persists, please contact the administrators."
|
"error persists, please contact the administrators."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:65
|
#: allianceauth/views.py:88
|
||||||
msgid "Permission Denied"
|
msgid "Permission Denied"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:67
|
#: allianceauth/views.py:90
|
||||||
msgid ""
|
msgid ""
|
||||||
"You do not have permission to access the requested page. If you believe this "
|
"You do not have permission to access the requested page. If you believe this "
|
||||||
"is in error please contact the administrators."
|
"is in error please contact the administrators."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:75
|
#: allianceauth/views.py:98
|
||||||
msgid "Page Not Found"
|
msgid "Page Not Found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:77
|
#: allianceauth/views.py:100
|
||||||
msgid ""
|
msgid ""
|
||||||
"Page does not exist. If you believe this is in error please contact the "
|
"Page does not exist. If you believe this is in error please contact the "
|
||||||
"administrators. "
|
"administrators. "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:85
|
#: allianceauth/views.py:108
|
||||||
msgid "Internal Server Error"
|
msgid "Internal Server Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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-06-19 20:23+1000\n"
|
"POT-Creation-Date: 2025-09-21 13:44+1000\n"
|
||||||
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
|
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
|
||||||
"Last-Translator: Machiel Broekman, 2025\n"
|
"Last-Translator: Machiel Broekman, 2025\n"
|
||||||
"Language-Team: Dutch (Netherlands) (https://app.transifex.com/alliance-auth/teams/107430/nl_NL/)\n"
|
"Language-Team: Dutch (Netherlands) (https://app.transifex.com/alliance-auth/teams/107430/nl_NL/)\n"
|
||||||
@@ -71,7 +71,7 @@ msgstr ""
|
|||||||
"Je bent niet gemachtigd om de volgende beperkte groepen te verwijderen: %s"
|
"Je bent niet gemachtigd om de volgende beperkte groepen te verwijderen: %s"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:72
|
#: allianceauth/authentication/models.py:72
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:106
|
#: allianceauth/project_template/project_name/settings/base.py:104
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "Engels"
|
msgstr "Engels"
|
||||||
|
|
||||||
@@ -80,57 +80,57 @@ msgid "Czech"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:74
|
#: allianceauth/authentication/models.py:74
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:108
|
#: allianceauth/project_template/project_name/settings/base.py:106
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "Duits"
|
msgstr "Duits"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:75
|
#: allianceauth/authentication/models.py:75
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:109
|
#: allianceauth/project_template/project_name/settings/base.py:107
|
||||||
msgid "Spanish"
|
msgid "Spanish"
|
||||||
msgstr "Spaans"
|
msgstr "Spaans"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:76
|
#: allianceauth/authentication/models.py:76
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:110
|
#: allianceauth/project_template/project_name/settings/base.py:108
|
||||||
msgid "Italian"
|
msgid "Italian"
|
||||||
msgstr "Italiaans"
|
msgstr "Italiaans"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:77
|
#: allianceauth/authentication/models.py:77
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:111
|
#: allianceauth/project_template/project_name/settings/base.py:109
|
||||||
msgid "Japanese"
|
msgid "Japanese"
|
||||||
msgstr "Japans"
|
msgstr "Japans"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:78
|
#: allianceauth/authentication/models.py:78
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:112
|
#: allianceauth/project_template/project_name/settings/base.py:110
|
||||||
msgid "Korean"
|
msgid "Korean"
|
||||||
msgstr "Koreaans"
|
msgstr "Koreaans"
|
||||||
|
|
||||||
#: 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 "French"
|
msgid "French"
|
||||||
msgstr "Frans"
|
msgstr "Frans"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:80
|
#: allianceauth/authentication/models.py:80
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:116
|
#: allianceauth/project_template/project_name/settings/base.py:114
|
||||||
msgid "Russian"
|
msgid "Russian"
|
||||||
msgstr "Russisch"
|
msgstr "Russisch"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:81
|
#: allianceauth/authentication/models.py:81
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:114
|
#: allianceauth/project_template/project_name/settings/base.py:112
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "Nederlands"
|
msgstr "Nederlands"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:82
|
#: allianceauth/authentication/models.py:82
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:115
|
#: allianceauth/project_template/project_name/settings/base.py:113
|
||||||
msgid "Polish"
|
msgid "Polish"
|
||||||
msgstr "Pools"
|
msgstr "Pools"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:83
|
#: allianceauth/authentication/models.py:83
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:117
|
#: allianceauth/project_template/project_name/settings/base.py:115
|
||||||
msgid "Ukrainian"
|
msgid "Ukrainian"
|
||||||
msgstr "Oekraïens"
|
msgstr "Oekraïens"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:84
|
#: allianceauth/authentication/models.py:84
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:118
|
#: allianceauth/project_template/project_name/settings/base.py:116
|
||||||
msgid "Simplified Chinese"
|
msgid "Simplified Chinese"
|
||||||
msgstr "Eenvoudig Chinees"
|
msgstr "Eenvoudig Chinees"
|
||||||
|
|
||||||
@@ -175,14 +175,12 @@ msgstr "Karakter"
|
|||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6
|
|
||||||
msgid "Add Character"
|
msgid "Add Character"
|
||||||
msgstr "Personages toevoegen"
|
msgstr "Personages toevoegen"
|
||||||
|
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:8
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12
|
|
||||||
msgid "Change Main"
|
msgid "Change Main"
|
||||||
msgstr "Verander Main"
|
msgstr "Verander Main"
|
||||||
|
|
||||||
@@ -242,8 +240,8 @@ msgstr "Scopes"
|
|||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:168
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:168
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:94
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:94
|
||||||
#: allianceauth/srp/templates/srp/data.html:83
|
#: allianceauth/srp/templates/srp/data.html:81
|
||||||
#: allianceauth/srp/templates/srp/management.html:53
|
#: allianceauth/srp/templates/srp/management.html:51
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Acties"
|
msgstr "Acties"
|
||||||
|
|
||||||
@@ -294,7 +292,7 @@ msgstr "Registreer"
|
|||||||
msgid "Invalid or expired activation link."
|
msgid "Invalid or expired activation link."
|
||||||
msgstr "Ongeldige of verlopen activeringslink."
|
msgstr "Ongeldige of verlopen activeringslink."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:158
|
#: allianceauth/authentication/views.py:159
|
||||||
#, 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 "
|
||||||
@@ -303,23 +301,23 @@ msgstr ""
|
|||||||
"Het hoofdkarakter kan niet worden gewijzigd naar %(char)s: Karakter is "
|
"Het hoofdkarakter kan niet worden gewijzigd naar %(char)s: Karakter is "
|
||||||
"eigendom van een ander account."
|
"eigendom van een ander account."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:165
|
#: allianceauth/authentication/views.py:166
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Changed main character to %s"
|
msgid "Changed main character to %s"
|
||||||
msgstr "Hoofdkarakter veranderd naar %s"
|
msgstr "Hoofdkarakter veranderd naar %s"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:179
|
#: allianceauth/authentication/views.py:180
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Added %(name)s to your account."
|
msgid "Added %(name)s to your account."
|
||||||
msgstr "%(name)s aan uw account toegevoegd."
|
msgstr "%(name)s aan uw account toegevoegd."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:181
|
#: allianceauth/authentication/views.py:182
|
||||||
#, 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 ""
|
||||||
"Toevoegen van %(name)s aan uw account is mislukt: ze hebben al een account."
|
"Toevoegen van %(name)s aan uw account is mislukt: ze hebben al een account."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:226
|
#: allianceauth/authentication/views.py:227
|
||||||
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."
|
||||||
@@ -327,11 +325,11 @@ msgstr ""
|
|||||||
"Niet mogelijk om te authenticeren als de geselecteerde karakter. Log "
|
"Niet mogelijk om te authenticeren als de geselecteerde karakter. Log "
|
||||||
"alstublieft in met het hoofdkarakter dat aan dit account is gekoppeld."
|
"alstublieft in met het hoofdkarakter dat aan dit account is gekoppeld."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:293
|
#: allianceauth/authentication/views.py:294
|
||||||
msgid "Registration token has expired."
|
msgid "Registration token has expired."
|
||||||
msgstr "Registratietoken is verlopen."
|
msgstr "Registratietoken is verlopen."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:354
|
#: allianceauth/authentication/views.py:355
|
||||||
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."
|
||||||
@@ -339,11 +337,11 @@ msgstr ""
|
|||||||
"E-mail met bevestiging verzonden. Volg de link om uw e-mailadres te "
|
"E-mail met bevestiging verzonden. Volg de link om uw e-mailadres te "
|
||||||
"bevestigen."
|
"bevestigen."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:360
|
#: allianceauth/authentication/views.py:361
|
||||||
msgid "Confirmed your email address. Please login to continue."
|
msgid "Confirmed your email address. Please login to continue."
|
||||||
msgstr "Uw e-mailadres is bevestigd. Gelieve in te loggen om verder te gaan."
|
msgstr "Uw e-mailadres is bevestigd. Gelieve in te loggen om verder te gaan."
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:366
|
#: allianceauth/authentication/views.py:367
|
||||||
msgid "Registration of new accounts is not allowed at this time."
|
msgid "Registration of new accounts is not allowed at this time."
|
||||||
msgstr "Registratie van nieuwe accounts in momenteel niet toegestaan."
|
msgstr "Registratie van nieuwe accounts in momenteel niet toegestaan."
|
||||||
|
|
||||||
@@ -360,11 +358,11 @@ msgstr "Gegevens van bedrijfsleden"
|
|||||||
msgid "Corporations"
|
msgid "Corporations"
|
||||||
msgstr "Bedrijven"
|
msgstr "Bedrijven"
|
||||||
|
|
||||||
#: allianceauth/corputils/templates/corputils/base.html:35
|
#: allianceauth/corputils/templates/corputils/base.html:31
|
||||||
msgid "Add corporation"
|
msgid "Add corporation"
|
||||||
msgstr "Voeg bedrijf toe"
|
msgstr "Voeg bedrijf toe"
|
||||||
|
|
||||||
#: allianceauth/corputils/templates/corputils/base.html:51
|
#: allianceauth/corputils/templates/corputils/base.html:47
|
||||||
msgid "Search all corporations..."
|
msgid "Search all corporations..."
|
||||||
msgstr "Zoek in alle bedrijven..."
|
msgstr "Zoek in alle bedrijven..."
|
||||||
|
|
||||||
@@ -514,7 +512,7 @@ msgid "Fleet Activity Tracking"
|
|||||||
msgstr "Fleetactiviteit Tracking"
|
msgstr "Fleetactiviteit Tracking"
|
||||||
|
|
||||||
#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8
|
#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8
|
||||||
#: allianceauth/srp/templates/srp/management.html:44
|
#: allianceauth/srp/templates/srp/management.html:42
|
||||||
msgid "Fleet Name"
|
msgid "Fleet Name"
|
||||||
msgstr "Fleet naam"
|
msgstr "Fleet naam"
|
||||||
|
|
||||||
@@ -1002,7 +1000,7 @@ msgstr "Beschrijving"
|
|||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:123
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:123
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:167
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:167
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34
|
||||||
#: allianceauth/srp/templates/srp/data.html:81
|
#: allianceauth/srp/templates/srp/data.html:79
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
@@ -1015,7 +1013,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:15
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "Open"
|
msgstr "Open"
|
||||||
|
|
||||||
@@ -1060,18 +1058,10 @@ msgstr "Groep"
|
|||||||
msgid "Leave"
|
msgid "Leave"
|
||||||
msgstr "Verlaat"
|
msgstr "Verlaat"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:74
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:73
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:89
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:88
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:46
|
msgid "Request pending"
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:95
|
msgstr ""
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:138
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:120
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:87
|
|
||||||
msgid "Pending"
|
|
||||||
msgstr "In behandeling"
|
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:80
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:80
|
||||||
msgid "Join"
|
msgid "Join"
|
||||||
@@ -1081,7 +1071,11 @@ msgstr "Toetreden"
|
|||||||
msgid "Request"
|
msgid "Request"
|
||||||
msgstr "Aanvraag"
|
msgstr "Aanvraag"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:99
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:93
|
||||||
|
msgid "Retract"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:103
|
||||||
msgid "No groups available."
|
msgid "No groups available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1210,6 +1204,19 @@ msgstr ""
|
|||||||
msgid "Applied to leave group %(group)s."
|
msgid "Applied to leave group %(group)s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:438
|
||||||
|
msgid "You cannot retract that request"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:450
|
||||||
|
#, python-format
|
||||||
|
msgid "Retracted application to group %(group)s."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:458
|
||||||
|
msgid "You have no open request for that group."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/hrapplications/apps.py:8
|
#: allianceauth/hrapplications/apps.py:8
|
||||||
msgid "HR Applications"
|
msgid "HR Applications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1280,12 +1287,23 @@ msgstr ""
|
|||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr "Gebruikersnaam"
|
msgstr "Gebruikersnaam"
|
||||||
|
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:46
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:95
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:138
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
||||||
|
#: allianceauth/srp/templates/srp/data.html:118
|
||||||
|
#: allianceauth/srp/templates/srp/management.html:85
|
||||||
|
msgid "Pending"
|
||||||
|
msgstr "In behandeling"
|
||||||
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:48
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:48
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:141
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:141
|
||||||
#: 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:112
|
#: allianceauth/srp/templates/srp/data.html:110
|
||||||
msgid "Approved"
|
msgid "Approved"
|
||||||
msgstr "Aanvaard"
|
msgstr "Aanvaard"
|
||||||
|
|
||||||
@@ -1293,7 +1311,7 @@ msgstr "Aanvaard"
|
|||||||
#: 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:116
|
#: allianceauth/srp/templates/srp/data.html:114
|
||||||
msgid "Rejected"
|
msgid "Rejected"
|
||||||
msgstr "Afgewezen"
|
msgstr "Afgewezen"
|
||||||
|
|
||||||
@@ -1528,8 +1546,8 @@ msgstr ""
|
|||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:155
|
#: allianceauth/menu/templates/menu/menu-user.html:155
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:158
|
#: 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:13
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:14
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1557,11 +1575,11 @@ msgstr "Ongelezen"
|
|||||||
msgid "Read"
|
msgid "Read"
|
||||||
msgstr "Gelezen"
|
msgstr "Gelezen"
|
||||||
|
|
||||||
#: allianceauth/notifications/templates/notifications/list.html:32
|
#: allianceauth/notifications/templates/notifications/list.html:31
|
||||||
msgid "Mark all notifications as read"
|
msgid "Mark all notifications as read"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/notifications/templates/notifications/list.html:38
|
#: allianceauth/notifications/templates/notifications/list.html:35
|
||||||
msgid "Delete all read notifications"
|
msgid "Delete all read notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1626,12 +1644,12 @@ msgid "Operation Type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/form.py:17
|
#: allianceauth/optimer/form.py:17
|
||||||
#: allianceauth/srp/templates/srp/management.html:47
|
#: allianceauth/srp/templates/srp/management.html:45
|
||||||
msgid "Fleet Commander"
|
msgid "Fleet Commander"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14
|
#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14
|
||||||
#: allianceauth/srp/templates/srp/data.html:72
|
#: allianceauth/srp/templates/srp/data.html:70
|
||||||
msgid "Additional Info"
|
msgid "Additional Info"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1640,7 +1658,7 @@ msgid "(Optional) Describe the operation with a couple of short words."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/add.html:8
|
#: allianceauth/optimer/templates/optimer/add.html:8
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:18
|
#: allianceauth/optimer/templates/optimer/management.html:16
|
||||||
msgid "Create Operation"
|
msgid "Create Operation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1689,26 +1707,26 @@ msgstr "Vloot Commandant"
|
|||||||
msgid "Fleet Operation Management"
|
msgid "Fleet Operation Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:28
|
#: allianceauth/optimer/templates/optimer/management.html:26
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:32
|
#: allianceauth/timerboard/templates/timerboard/view.html:30
|
||||||
msgid "Current EVE time:"
|
msgid "Current EVE time:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:36
|
#: allianceauth/optimer/templates/optimer/management.html:34
|
||||||
msgid "Next Fleet Operations"
|
msgid "Next Fleet Operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:44
|
#: allianceauth/optimer/templates/optimer/management.html:42
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:63
|
#: allianceauth/timerboard/templates/timerboard/view.html:61
|
||||||
msgid "No upcoming timers."
|
msgid "No upcoming timers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:52
|
#: allianceauth/optimer/templates/optimer/management.html:50
|
||||||
msgid "Past Fleet Operations"
|
msgid "Past Fleet Operations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:60
|
#: allianceauth/optimer/templates/optimer/management.html:58
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:81
|
#: allianceauth/timerboard/templates/timerboard/view.html:79
|
||||||
msgid "No past timers."
|
msgid "No past timers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2276,7 +2294,7 @@ msgid "Enabled"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/services/templates/services/service_status.html:7
|
#: allianceauth/services/templates/services/service_status.html:7
|
||||||
#: allianceauth/srp/templates/srp/management.html:78
|
#: allianceauth/srp/templates/srp/management.html:76
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "Uitgeschakeld"
|
msgstr "Uitgeschakeld"
|
||||||
|
|
||||||
@@ -2314,12 +2332,12 @@ msgid "Ship Replacement"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:9
|
#: allianceauth/srp/form.py:9
|
||||||
#: allianceauth/srp/templates/srp/management.html:45
|
#: allianceauth/srp/templates/srp/management.html:43
|
||||||
msgid "Fleet Time"
|
msgid "Fleet Time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:10
|
#: allianceauth/srp/form.py:10
|
||||||
#: allianceauth/srp/templates/srp/management.html:46
|
#: allianceauth/srp/templates/srp/management.html:44
|
||||||
msgid "Fleet Doctrine"
|
msgid "Fleet Doctrine"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2368,7 +2386,7 @@ msgid "Give this link to the line members."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:8
|
#: allianceauth/srp/templates/srp/data.html:8
|
||||||
#: allianceauth/srp/templates/srp/data.html:39
|
#: allianceauth/srp/templates/srp/data.html:37
|
||||||
msgid "SRP Fleet Data"
|
msgid "SRP Fleet Data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2376,64 +2394,64 @@ msgstr ""
|
|||||||
msgid "View Fleets"
|
msgid "View Fleets"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:26
|
#: allianceauth/srp/templates/srp/data.html:24
|
||||||
msgid "Mark Incomplete"
|
msgid "Mark Incomplete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:30
|
#: allianceauth/srp/templates/srp/data.html:28
|
||||||
msgid "Mark Completed"
|
msgid "Mark Completed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:48
|
#: allianceauth/srp/templates/srp/data.html:46
|
||||||
#: allianceauth/srp/templates/srp/data.html:142
|
#: allianceauth/srp/templates/srp/data.html:140
|
||||||
msgid "Total Losses:"
|
msgid "Total Losses:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:49
|
#: allianceauth/srp/templates/srp/data.html:47
|
||||||
#: allianceauth/srp/templates/srp/data.html:143
|
#: allianceauth/srp/templates/srp/data.html:141
|
||||||
#: allianceauth/srp/templates/srp/management.html:36
|
#: allianceauth/srp/templates/srp/management.html:34
|
||||||
msgid "Total ISK Cost:"
|
msgid "Total ISK Cost:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:60
|
#: allianceauth/srp/templates/srp/data.html:58
|
||||||
#: allianceauth/srp/templates/srp/data.html:154
|
#: allianceauth/srp/templates/srp/data.html:152
|
||||||
msgid "Are you sure you want to delete SRP requests?"
|
msgid "Are you sure you want to delete SRP requests?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:70
|
#: allianceauth/srp/templates/srp/data.html:68
|
||||||
msgid "Pilot Name"
|
msgid "Pilot Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:71
|
#: allianceauth/srp/templates/srp/data.html:69
|
||||||
msgid "Killboard Link"
|
msgid "Killboard Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:73
|
#: allianceauth/srp/templates/srp/data.html:71
|
||||||
msgid "Ship Type"
|
msgid "Ship Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:74
|
#: allianceauth/srp/templates/srp/data.html:72
|
||||||
msgid "Killboard Loss Amt"
|
msgid "Killboard Loss Amt"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:76
|
#: allianceauth/srp/templates/srp/data.html:74
|
||||||
msgid "SRP ISK Cost"
|
msgid "SRP ISK Cost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:77
|
#: allianceauth/srp/templates/srp/data.html:75
|
||||||
msgid "Click value to edit Enter to save & next ESC to cancel"
|
msgid "Click value to edit Enter to save & next ESC to cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:80
|
#: allianceauth/srp/templates/srp/data.html:78
|
||||||
msgid "Post Time"
|
msgid "Post Time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:102
|
#: allianceauth/srp/templates/srp/data.html:100
|
||||||
#: allianceauth/srp/templates/srp/management.html:70
|
#: allianceauth/srp/templates/srp/management.html:68
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Link"
|
msgstr "Link"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:163
|
#: allianceauth/srp/templates/srp/data.html:161
|
||||||
msgid "No SRP requests for this fleet."
|
msgid "No SRP requests for this fleet."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2445,39 +2463,39 @@ msgstr ""
|
|||||||
msgid "View All"
|
msgid "View All"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:27
|
#: allianceauth/srp/templates/srp/management.html:25
|
||||||
msgid "Add SRP Fleet"
|
msgid "Add SRP Fleet"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:48
|
#: allianceauth/srp/templates/srp/management.html:46
|
||||||
msgid "Fleet AAR"
|
msgid "Fleet AAR"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:49
|
#: allianceauth/srp/templates/srp/management.html:47
|
||||||
msgid "Fleet SRP Code"
|
msgid "Fleet SRP Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:50
|
#: allianceauth/srp/templates/srp/management.html:48
|
||||||
msgid "Fleet ISK Cost"
|
msgid "Fleet ISK Cost"
|
||||||
msgstr "Vloot ISK Kost"
|
msgstr "Vloot ISK Kost"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:51
|
#: allianceauth/srp/templates/srp/management.html:49
|
||||||
msgid "SRP Status"
|
msgid "SRP Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:52
|
#: allianceauth/srp/templates/srp/management.html:50
|
||||||
msgid "Pending Requests"
|
msgid "Pending Requests"
|
||||||
msgstr "Lopende Aanvragen"
|
msgstr "Lopende Aanvragen"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:91
|
#: allianceauth/srp/templates/srp/management.html:89
|
||||||
msgid "Completed"
|
msgid "Completed"
|
||||||
msgstr "Voltooid"
|
msgstr "Voltooid"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:108
|
#: allianceauth/srp/templates/srp/management.html:106
|
||||||
msgid "Are you sure you want to delete this SRP code and its contents?"
|
msgid "Are you sure you want to delete this SRP code and its contents?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:129
|
#: allianceauth/srp/templates/srp/management.html:127
|
||||||
msgid "No SRP fleets created."
|
msgid "No SRP fleets created."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2613,67 +2631,120 @@ msgstr ""
|
|||||||
msgid "Your Server received an ESI error response code of "
|
msgid "Your Server received an ESI error response code of "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:8
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:11
|
||||||
msgid "Alliance Auth Notifications"
|
msgid "second"
|
||||||
msgstr "Alliantie Authenticatie Notificaties"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
|
||||||
msgid "No notifications at this time"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:12
|
||||||
msgid "Powered by GitLab"
|
msgid "seconds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:13
|
||||||
msgid "Support Discord"
|
msgid "minute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:14
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
msgid "minutes"
|
||||||
msgid "Software Version"
|
|
||||||
msgstr "Software Versie"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
|
|
||||||
msgid "Current"
|
|
||||||
msgstr "Huidige"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
|
|
||||||
msgid "Latest Stable"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
|
||||||
msgid "Update available"
|
msgid "hour"
|
||||||
msgstr "Update Beschikbaar"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
|
|
||||||
msgid "Latest Pre-Release"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
|
||||||
msgid "Pre-Release available"
|
msgid "hours"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:17
|
||||||
msgid "Task Queue"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
|
||||||
#, python-format
|
msgid "ERROR"
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
" Status of %(total)s processed tasks • last %(latest)s\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:19
|
||||||
msgid "running"
|
msgid "running"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
||||||
msgid "queued"
|
msgid "queued"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:21
|
||||||
|
msgid "succeeded"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:22
|
||||||
|
msgid "retried"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:23
|
||||||
|
msgid "failed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
||||||
|
msgid "Debug mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:34
|
||||||
|
msgid ""
|
||||||
|
"Debug mode is currently turned on!<br>Make sure to turn it off as soon as "
|
||||||
|
"you are finished testing."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:46
|
||||||
|
msgid "Alliance Auth Notifications"
|
||||||
|
msgstr "Alliantie Authenticatie Notificaties"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:58
|
||||||
|
msgid "No notifications at this time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
|
||||||
|
msgid "Powered by GitLab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:73
|
||||||
|
msgid "Support Discord"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:87
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
||||||
|
msgid "Software Version"
|
||||||
|
msgstr "Software Versie"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:94
|
||||||
|
msgid "Current"
|
||||||
|
msgstr "Huidige"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:101
|
||||||
|
msgid "Latest Stable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:106
|
||||||
|
msgid "Update available"
|
||||||
|
msgstr "Update Beschikbaar"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:114
|
||||||
|
msgid "Latest Pre-Release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:119
|
||||||
|
msgid "Pre-Release available"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:129
|
||||||
|
msgid "Task Queue"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:134
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Status of <span id=\"total-task-count\">?</span> processed tasks • last <span id=\"celery-uptime\">?</span>\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
||||||
msgid "AA Documentation"
|
msgid "AA Documentation"
|
||||||
msgstr "AA Documentatie"
|
msgstr "AA Documentatie"
|
||||||
@@ -2897,7 +2968,7 @@ msgid "Theft"
|
|||||||
msgstr ""
|
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:52
|
||||||
msgid "Upcoming Timers"
|
msgid "Upcoming Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2925,7 +2996,7 @@ msgid "Create Timer"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9
|
#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:22
|
#: allianceauth/timerboard/templates/timerboard/view.html:20
|
||||||
msgid "Create Structure Timer"
|
msgid "Create Structure Timer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2943,11 +3014,11 @@ msgstr "Constructie"
|
|||||||
msgid "Structure Timer Management"
|
msgid "Structure Timer Management"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:41
|
#: allianceauth/timerboard/templates/timerboard/view.html:39
|
||||||
msgid "Corporation Timers"
|
msgid "Corporation Timers"
|
||||||
msgstr "Corporatie Timers"
|
msgstr "Corporatie Timers"
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:72
|
#: allianceauth/timerboard/templates/timerboard/view.html:70
|
||||||
msgid "Past Timers"
|
msgid "Past Timers"
|
||||||
msgstr "Verlopen Timers."
|
msgstr "Verlopen Timers."
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -7,17 +7,17 @@
|
|||||||
# Shen Yang, 2023
|
# Shen Yang, 2023
|
||||||
# 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
|
|
||||||
# Aika Yu, 2025
|
# Aika Yu, 2025
|
||||||
|
# Joel Falknau <ozirascal@gmail.com>, 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-06-19 20:23+1000\n"
|
"POT-Creation-Date: 2026-01-21 15:33+1000\n"
|
||||||
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
|
"PO-Revision-Date: 2023-11-08 13:50+0000\n"
|
||||||
"Last-Translator: Aika Yu, 2025\n"
|
"Last-Translator: Joel Falknau <ozirascal@gmail.com>, 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"
|
||||||
@@ -64,7 +64,7 @@ msgid "You are not allowed to add or remove these restricted groups: %s"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:72
|
#: allianceauth/authentication/models.py:72
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:106
|
#: allianceauth/project_template/project_name/settings/base.py:105
|
||||||
msgid "English"
|
msgid "English"
|
||||||
msgstr "英语"
|
msgstr "英语"
|
||||||
|
|
||||||
@@ -73,57 +73,57 @@ msgid "Czech"
|
|||||||
msgstr "捷克语"
|
msgstr "捷克语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:74
|
#: allianceauth/authentication/models.py:74
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:108
|
#: allianceauth/project_template/project_name/settings/base.py:107
|
||||||
msgid "German"
|
msgid "German"
|
||||||
msgstr "德语"
|
msgstr "德语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:75
|
#: allianceauth/authentication/models.py:75
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:109
|
#: allianceauth/project_template/project_name/settings/base.py:108
|
||||||
msgid "Spanish"
|
msgid "Spanish"
|
||||||
msgstr "西班牙语"
|
msgstr "西班牙语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:76
|
#: allianceauth/authentication/models.py:76
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:110
|
#: allianceauth/project_template/project_name/settings/base.py:109
|
||||||
msgid "Italian"
|
msgid "Italian"
|
||||||
msgstr "意大利语"
|
msgstr "意大利语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:77
|
#: allianceauth/authentication/models.py:77
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:111
|
#: allianceauth/project_template/project_name/settings/base.py:110
|
||||||
msgid "Japanese"
|
msgid "Japanese"
|
||||||
msgstr "日语"
|
msgstr "日语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:78
|
#: allianceauth/authentication/models.py:78
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:112
|
#: allianceauth/project_template/project_name/settings/base.py:111
|
||||||
msgid "Korean"
|
msgid "Korean"
|
||||||
msgstr "韩语"
|
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:112
|
||||||
msgid "French"
|
msgid "French"
|
||||||
msgstr "法语"
|
msgstr "法语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:80
|
#: allianceauth/authentication/models.py:80
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:116
|
#: allianceauth/project_template/project_name/settings/base.py:115
|
||||||
msgid "Russian"
|
msgid "Russian"
|
||||||
msgstr "俄语"
|
msgstr "俄语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:81
|
#: allianceauth/authentication/models.py:81
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:114
|
#: allianceauth/project_template/project_name/settings/base.py:113
|
||||||
msgid "Dutch"
|
msgid "Dutch"
|
||||||
msgstr "荷兰语"
|
msgstr "荷兰语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:82
|
#: allianceauth/authentication/models.py:82
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:115
|
#: allianceauth/project_template/project_name/settings/base.py:114
|
||||||
msgid "Polish"
|
msgid "Polish"
|
||||||
msgstr "波兰语"
|
msgstr "波兰语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:83
|
#: allianceauth/authentication/models.py:83
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:117
|
#: allianceauth/project_template/project_name/settings/base.py:116
|
||||||
msgid "Ukrainian"
|
msgid "Ukrainian"
|
||||||
msgstr "乌克兰语"
|
msgstr "乌克兰语"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:84
|
#: allianceauth/authentication/models.py:84
|
||||||
#: allianceauth/project_template/project_name/settings/base.py:118
|
#: allianceauth/project_template/project_name/settings/base.py:117
|
||||||
msgid "Simplified Chinese"
|
msgid "Simplified Chinese"
|
||||||
msgstr "简体中文"
|
msgstr "简体中文"
|
||||||
|
|
||||||
@@ -132,22 +132,30 @@ msgstr "简体中文"
|
|||||||
msgid "Language"
|
msgid "Language"
|
||||||
msgstr "语言"
|
msgstr "语言"
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:105
|
#: allianceauth/authentication/models.py:106
|
||||||
#: 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:109
|
#: allianceauth/authentication/models.py:110
|
||||||
#: allianceauth/theme/templates/theme/theme_select.html:4
|
#: allianceauth/theme/templates/theme/theme_select.html:4
|
||||||
msgid "Theme"
|
msgid "Theme"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:126
|
#: allianceauth/authentication/models.py:117
|
||||||
|
msgid "Minimize Sidebar Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/authentication/models.py:119
|
||||||
|
msgid "Keep the sidebar menu minimized"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/authentication/models.py:133
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "State changed to: %s"
|
msgid "State changed to: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/authentication/models.py:127
|
#: allianceauth/authentication/models.py:134
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Your user's state is now: %(state)s"
|
msgid "Your user's state is now: %(state)s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -168,14 +176,12 @@ msgstr "角色"
|
|||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6
|
|
||||||
msgid "Add Character"
|
msgid "Add Character"
|
||||||
msgstr "添加角色"
|
msgstr "添加角色"
|
||||||
|
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14
|
||||||
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
|
#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:8
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12
|
|
||||||
msgid "Change Main"
|
msgid "Change Main"
|
||||||
msgstr "修改主要角色"
|
msgstr "修改主要角色"
|
||||||
|
|
||||||
@@ -209,8 +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:158
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:136
|
#: allianceauth/menu/templates/menu/menu-user.html:161
|
||||||
#: 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 ""
|
||||||
@@ -232,8 +238,8 @@ msgstr ""
|
|||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:168
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:168
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:94
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:94
|
||||||
#: allianceauth/srp/templates/srp/data.html:83
|
#: allianceauth/srp/templates/srp/data.html:81
|
||||||
#: allianceauth/srp/templates/srp/management.html:53
|
#: allianceauth/srp/templates/srp/management.html:51
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "操作"
|
msgstr "操作"
|
||||||
|
|
||||||
@@ -246,8 +252,8 @@ msgstr "操作"
|
|||||||
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:41
|
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:41
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:30
|
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:30
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:29
|
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:29
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:55
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:54
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:118
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:129
|
||||||
msgid "Character"
|
msgid "Character"
|
||||||
msgstr "角色"
|
msgstr "角色"
|
||||||
|
|
||||||
@@ -284,49 +290,49 @@ msgstr "注册"
|
|||||||
msgid "Invalid or expired activation link."
|
msgid "Invalid or expired activation link."
|
||||||
msgstr "激活链接无效或过期"
|
msgstr "激活链接无效或过期"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:158
|
#: allianceauth/authentication/views.py:159
|
||||||
#, 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:165
|
#: allianceauth/authentication/views.py:166
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Changed main character to %s"
|
msgid "Changed main character to %s"
|
||||||
msgstr "修改主角色为%s"
|
msgstr "修改主角色为%s"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:179
|
#: allianceauth/authentication/views.py:180
|
||||||
#, 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:181
|
#: allianceauth/authentication/views.py:182
|
||||||
#, 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:226
|
#: allianceauth/authentication/views.py:227
|
||||||
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:293
|
#: allianceauth/authentication/views.py:294
|
||||||
msgid "Registration token has expired."
|
msgid "Registration token has expired."
|
||||||
msgstr "注册令牌过期。"
|
msgstr "注册令牌过期。"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:354
|
#: allianceauth/authentication/views.py:355
|
||||||
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:360
|
#: allianceauth/authentication/views.py:361
|
||||||
msgid "Confirmed your email address. Please login to continue."
|
msgid "Confirmed your email address. Please login to continue."
|
||||||
msgstr "已确认您的电邮地址。请登录以继续"
|
msgstr "已确认您的电邮地址。请登录以继续"
|
||||||
|
|
||||||
#: allianceauth/authentication/views.py:366
|
#: allianceauth/authentication/views.py:367
|
||||||
msgid "Registration of new accounts is not allowed at this time."
|
msgid "Registration of new accounts is not allowed at this time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -343,11 +349,11 @@ msgstr "军团成员数据"
|
|||||||
msgid "Corporations"
|
msgid "Corporations"
|
||||||
msgstr "所有公司"
|
msgstr "所有公司"
|
||||||
|
|
||||||
#: allianceauth/corputils/templates/corputils/base.html:35
|
#: allianceauth/corputils/templates/corputils/base.html:31
|
||||||
msgid "Add corporation"
|
msgid "Add corporation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/corputils/templates/corputils/base.html:51
|
#: allianceauth/corputils/templates/corputils/base.html:47
|
||||||
msgid "Search all corporations..."
|
msgid "Search all corporations..."
|
||||||
msgstr "搜索所有公司"
|
msgstr "搜索所有公司"
|
||||||
|
|
||||||
@@ -384,6 +390,8 @@ msgstr "注册过的角色"
|
|||||||
#: allianceauth/corputils/templates/corputils/corpstats.html:125
|
#: allianceauth/corputils/templates/corputils/corpstats.html:125
|
||||||
#: allianceauth/corputils/templates/corputils/search.html:18
|
#: allianceauth/corputils/templates/corputils/search.html:18
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31
|
#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:58
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:133
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:35
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:35
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:122
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:122
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:166
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:166
|
||||||
@@ -495,7 +503,7 @@ msgid "Fleet Activity Tracking"
|
|||||||
msgstr "舰队活动历史"
|
msgstr "舰队活动历史"
|
||||||
|
|
||||||
#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8
|
#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8
|
||||||
#: allianceauth/srp/templates/srp/management.html:44
|
#: allianceauth/srp/templates/srp/management.html:42
|
||||||
msgid "Fleet Name"
|
msgid "Fleet Name"
|
||||||
msgstr "舰队名"
|
msgstr "舰队名"
|
||||||
|
|
||||||
@@ -754,14 +762,18 @@ msgstr "PAP链接已过期"
|
|||||||
#: allianceauth/fleetactivitytracking/views.py:323
|
#: allianceauth/fleetactivitytracking/views.py:323
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Cannot register the fleet participation for {character.character_name}. The "
|
"Cannot register the fleet participation for {character_name}. The character "
|
||||||
"character needs to be online."
|
"needs to be online."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/framework/apps.py:16
|
#: allianceauth/framework/apps.py:16
|
||||||
msgid "Framework"
|
msgid "Framework"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/framework/templates/framework/datatables/process-indicator.html:8
|
||||||
|
msgid "Loading …"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/apps.py:8
|
#: 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
|
||||||
@@ -933,8 +945,8 @@ msgid "Group Members"
|
|||||||
msgstr "群组成员"
|
msgstr "群组成员"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:30
|
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:30
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:56
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:55
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:119
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:130
|
||||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:33
|
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:33
|
||||||
msgid "Organization"
|
msgid "Organization"
|
||||||
msgstr "组织"
|
msgstr "组织"
|
||||||
@@ -946,7 +958,9 @@ msgstr ""
|
|||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:61
|
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:61
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:85
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:85
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:148
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:106
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:160
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:181
|
||||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit_row.html:18
|
#: allianceauth/permissions_tool/templates/permissions_tool/audit_row.html:18
|
||||||
msgid "(unknown)"
|
msgid "(unknown)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -979,7 +993,7 @@ msgstr "描述"
|
|||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:123
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:123
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:167
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:167
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34
|
||||||
#: allianceauth/srp/templates/srp/data.html:81
|
#: allianceauth/srp/templates/srp/data.html:79
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "状态"
|
msgstr "状态"
|
||||||
|
|
||||||
@@ -992,7 +1006,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:15
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
||||||
msgid "Open"
|
msgid "Open"
|
||||||
msgstr "公开"
|
msgstr "公开"
|
||||||
|
|
||||||
@@ -1026,8 +1040,8 @@ msgid "Leaders"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:37
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:37
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:57
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:56
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:120
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:131
|
||||||
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:30
|
#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:30
|
||||||
#: allianceauth/services/modules/openfire/forms.py:6
|
#: allianceauth/services/modules/openfire/forms.py:6
|
||||||
msgid "Group"
|
msgid "Group"
|
||||||
@@ -1037,18 +1051,10 @@ msgstr "用户组"
|
|||||||
msgid "Leave"
|
msgid "Leave"
|
||||||
msgstr "离开"
|
msgstr "离开"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:74
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:73
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:89
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:88
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:46
|
msgid "Request pending"
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:95
|
msgstr ""
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:138
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:120
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:87
|
|
||||||
msgid "Pending"
|
|
||||||
msgstr "待定"
|
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:80
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:80
|
||||||
msgid "Join"
|
msgid "Join"
|
||||||
@@ -1058,7 +1064,11 @@ msgstr "加入"
|
|||||||
msgid "Request"
|
msgid "Request"
|
||||||
msgstr "申请"
|
msgstr "申请"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:99
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:93
|
||||||
|
msgid "Retract"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:103
|
||||||
msgid "No groups available."
|
msgid "No groups available."
|
||||||
msgstr "没有可用用户组"
|
msgstr "没有可用用户组"
|
||||||
|
|
||||||
@@ -1080,22 +1090,22 @@ msgstr "离组的请求"
|
|||||||
msgid "Group Membership"
|
msgid "Group Membership"
|
||||||
msgstr "用户组成员"
|
msgstr "用户组成员"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:93
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:96
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:156
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:171
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "接受"
|
msgstr "接受"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:96
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:99
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:160
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:174
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/view.html:104
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:104
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "拒绝"
|
msgstr "拒绝"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:106
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:117
|
||||||
msgid "No group add requests."
|
msgid "No group add requests."
|
||||||
msgstr "没有加入用户组的请求,小老弟你是不是摇不到人"
|
msgstr "没有加入用户组的请求,小老弟你是不是摇不到人"
|
||||||
|
|
||||||
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:169
|
#: allianceauth/groupmanagement/templates/groupmanagement/index.html:190
|
||||||
msgid "No group leave requests."
|
msgid "No group leave requests."
|
||||||
msgstr "没有离开用户组的请求,小老弟你人缘可以啊?"
|
msgstr "没有离开用户组的请求,小老弟你人缘可以啊?"
|
||||||
|
|
||||||
@@ -1187,6 +1197,19 @@ msgstr "你已经有了该组的未决离开请求"
|
|||||||
msgid "Applied to leave group %(group)s."
|
msgid "Applied to leave group %(group)s."
|
||||||
msgstr "已经离开群组%(group)s"
|
msgstr "已经离开群组%(group)s"
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:438
|
||||||
|
msgid "You cannot retract that request"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:450
|
||||||
|
#, python-format
|
||||||
|
msgid "Retracted application to group %(group)s."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/groupmanagement/views.py:458
|
||||||
|
msgid "You have no open request for that group."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/hrapplications/apps.py:8
|
#: allianceauth/hrapplications/apps.py:8
|
||||||
msgid "HR Applications"
|
msgid "HR Applications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -1257,12 +1280,23 @@ msgstr "创建申请"
|
|||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr "用户名"
|
msgstr "用户名"
|
||||||
|
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:46
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:95
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:138
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:182
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/searchview.html:46
|
||||||
|
#: allianceauth/hrapplications/templates/hrapplications/view.html:25
|
||||||
|
#: allianceauth/srp/templates/srp/data.html:118
|
||||||
|
#: allianceauth/srp/templates/srp/management.html:85
|
||||||
|
msgid "Pending"
|
||||||
|
msgstr "待定"
|
||||||
|
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:48
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:48
|
||||||
#: allianceauth/hrapplications/templates/hrapplications/management.html:141
|
#: allianceauth/hrapplications/templates/hrapplications/management.html:141
|
||||||
#: 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:112
|
#: allianceauth/srp/templates/srp/data.html:110
|
||||||
msgid "Approved"
|
msgid "Approved"
|
||||||
msgstr "通过"
|
msgstr "通过"
|
||||||
|
|
||||||
@@ -1270,7 +1304,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:116
|
#: allianceauth/srp/templates/srp/data.html:114
|
||||||
msgid "Rejected"
|
msgid "Rejected"
|
||||||
msgstr "拒绝"
|
msgstr "拒绝"
|
||||||
|
|
||||||
@@ -1474,39 +1508,47 @@ msgid "Notifications"
|
|||||||
msgstr "通知"
|
msgstr "通知"
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:77
|
#: allianceauth/menu/templates/menu/menu-user.html:77
|
||||||
|
msgid "Sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/menu/templates/menu/menu-user.html:93
|
||||||
|
msgid "Minimize Sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/menu/templates/menu/menu-user.html:102
|
||||||
msgid "Super User"
|
msgid "Super User"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:83
|
#: allianceauth/menu/templates/menu/menu-user.html:108
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:86
|
#: allianceauth/menu/templates/menu/menu-user.html:111
|
||||||
msgid "Alliance Auth Documentation"
|
msgid "Alliance Auth Documentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:94
|
#: allianceauth/menu/templates/menu/menu-user.html:119
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:97
|
#: allianceauth/menu/templates/menu/menu-user.html:122
|
||||||
msgid "Alliance Auth Discord"
|
msgid "Alliance Auth Discord"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:105
|
#: allianceauth/menu/templates/menu/menu-user.html:130
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:108
|
#: allianceauth/menu/templates/menu/menu-user.html:133
|
||||||
msgid "Alliance Auth Git"
|
msgid "Alliance Auth Git"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:118
|
#: allianceauth/menu/templates/menu/menu-user.html:143
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:121
|
#: allianceauth/menu/templates/menu/menu-user.html:146
|
||||||
#: 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:144
|
#: allianceauth/menu/templates/menu/menu-user.html:169
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:147
|
#: allianceauth/menu/templates/menu/menu-user.html:172
|
||||||
msgid "Sign Out"
|
msgid "Sign Out"
|
||||||
msgstr "登出"
|
msgstr "登出"
|
||||||
|
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:155
|
#: allianceauth/menu/templates/menu/menu-user.html:180
|
||||||
#: allianceauth/menu/templates/menu/menu-user.html:158
|
#: allianceauth/menu/templates/menu/menu-user.html:183
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:13
|
||||||
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
|
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:14
|
||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "登入"
|
msgstr "登入"
|
||||||
|
|
||||||
@@ -1534,11 +1576,11 @@ msgstr "未读"
|
|||||||
msgid "Read"
|
msgid "Read"
|
||||||
msgstr "已读"
|
msgstr "已读"
|
||||||
|
|
||||||
#: allianceauth/notifications/templates/notifications/list.html:32
|
#: allianceauth/notifications/templates/notifications/list.html:31
|
||||||
msgid "Mark all notifications as read"
|
msgid "Mark all notifications as read"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/notifications/templates/notifications/list.html:38
|
#: allianceauth/notifications/templates/notifications/list.html:35
|
||||||
msgid "Delete all read notifications"
|
msgid "Delete all read notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -1603,12 +1645,12 @@ msgid "Operation Type"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/form.py:17
|
#: allianceauth/optimer/form.py:17
|
||||||
#: allianceauth/srp/templates/srp/management.html:47
|
#: allianceauth/srp/templates/srp/management.html:45
|
||||||
msgid "Fleet Commander"
|
msgid "Fleet Commander"
|
||||||
msgstr "FC"
|
msgstr "FC"
|
||||||
|
|
||||||
#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14
|
#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14
|
||||||
#: allianceauth/srp/templates/srp/data.html:72
|
#: allianceauth/srp/templates/srp/data.html:70
|
||||||
msgid "Additional Info"
|
msgid "Additional Info"
|
||||||
msgstr "其他信息"
|
msgstr "其他信息"
|
||||||
|
|
||||||
@@ -1617,7 +1659,7 @@ msgid "(Optional) Describe the operation with a couple of short words."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/add.html:8
|
#: allianceauth/optimer/templates/optimer/add.html:8
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:18
|
#: allianceauth/optimer/templates/optimer/management.html:16
|
||||||
msgid "Create Operation"
|
msgid "Create Operation"
|
||||||
msgstr "起一个队"
|
msgstr "起一个队"
|
||||||
|
|
||||||
@@ -1666,26 +1708,26 @@ msgstr "FC"
|
|||||||
msgid "Fleet Operation Management"
|
msgid "Fleet Operation Management"
|
||||||
msgstr "管理搞事队"
|
msgstr "管理搞事队"
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:28
|
#: allianceauth/optimer/templates/optimer/management.html:26
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:32
|
#: allianceauth/timerboard/templates/timerboard/view.html:30
|
||||||
msgid "Current EVE time:"
|
msgid "Current EVE time:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:36
|
#: allianceauth/optimer/templates/optimer/management.html:34
|
||||||
msgid "Next Fleet Operations"
|
msgid "Next Fleet Operations"
|
||||||
msgstr "下一个舰队任务"
|
msgstr "下一个舰队任务"
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:44
|
#: allianceauth/optimer/templates/optimer/management.html:42
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:63
|
#: allianceauth/timerboard/templates/timerboard/view.html:61
|
||||||
msgid "No upcoming timers."
|
msgid "No upcoming timers."
|
||||||
msgstr "没有快到的时间节点,歇一会吧"
|
msgstr "没有快到的时间节点,歇一会吧"
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:52
|
#: allianceauth/optimer/templates/optimer/management.html:50
|
||||||
msgid "Past Fleet Operations"
|
msgid "Past Fleet Operations"
|
||||||
msgstr "过去的舰队任务"
|
msgstr "过去的舰队任务"
|
||||||
|
|
||||||
#: allianceauth/optimer/templates/optimer/management.html:60
|
#: allianceauth/optimer/templates/optimer/management.html:58
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:81
|
#: allianceauth/timerboard/templates/timerboard/view.html:79
|
||||||
msgid "No past timers."
|
msgid "No past timers."
|
||||||
msgstr "没有已经结束的时间节点啦"
|
msgstr "没有已经结束的时间节点啦"
|
||||||
|
|
||||||
@@ -1765,9 +1807,9 @@ msgstr "声望"
|
|||||||
msgid "That service account already exists"
|
msgid "That service account already exists"
|
||||||
msgstr "该服务账户仍然存在"
|
msgstr "该服务账户仍然存在"
|
||||||
|
|
||||||
#: allianceauth/services/abstract.py:103
|
#: allianceauth/services/abstract.py:105
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Successfully set your {self.service_name} password"
|
msgid "Successfully set your {service_name} password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
|
#: allianceauth/services/apps.py:8 allianceauth/services/auth_hooks.py:12
|
||||||
@@ -2253,7 +2295,7 @@ msgid "Enabled"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/services/templates/services/service_status.html:7
|
#: allianceauth/services/templates/services/service_status.html:7
|
||||||
#: allianceauth/srp/templates/srp/management.html:78
|
#: allianceauth/srp/templates/srp/management.html:76
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "失效了"
|
msgstr "失效了"
|
||||||
|
|
||||||
@@ -2291,12 +2333,12 @@ msgid "Ship Replacement"
|
|||||||
msgstr "补损"
|
msgstr "补损"
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:9
|
#: allianceauth/srp/form.py:9
|
||||||
#: allianceauth/srp/templates/srp/management.html:45
|
#: allianceauth/srp/templates/srp/management.html:43
|
||||||
msgid "Fleet Time"
|
msgid "Fleet Time"
|
||||||
msgstr "集结时间"
|
msgstr "集结时间"
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:10
|
#: allianceauth/srp/form.py:10
|
||||||
#: allianceauth/srp/templates/srp/management.html:46
|
#: allianceauth/srp/templates/srp/management.html:44
|
||||||
msgid "Fleet Doctrine"
|
msgid "Fleet Doctrine"
|
||||||
msgstr "舰队船型"
|
msgstr "舰队船型"
|
||||||
|
|
||||||
@@ -2308,11 +2350,11 @@ msgstr ""
|
|||||||
msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org"
|
msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:46
|
#: allianceauth/srp/form.py:49
|
||||||
msgid "Invalid Link. Please post a direct link to a killmail."
|
msgid "Invalid Link. Please post a direct link to a killmail."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/form.py:53
|
#: allianceauth/srp/form.py:56
|
||||||
msgid "After Action Report Link"
|
msgid "After Action Report Link"
|
||||||
msgstr "战报链接"
|
msgstr "战报链接"
|
||||||
|
|
||||||
@@ -2345,7 +2387,7 @@ msgid "Give this link to the line members."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:8
|
#: allianceauth/srp/templates/srp/data.html:8
|
||||||
#: allianceauth/srp/templates/srp/data.html:39
|
#: allianceauth/srp/templates/srp/data.html:37
|
||||||
msgid "SRP Fleet Data"
|
msgid "SRP Fleet Data"
|
||||||
msgstr "舰队补损信息"
|
msgstr "舰队补损信息"
|
||||||
|
|
||||||
@@ -2353,64 +2395,64 @@ msgstr "舰队补损信息"
|
|||||||
msgid "View Fleets"
|
msgid "View Fleets"
|
||||||
msgstr "查看舰队"
|
msgstr "查看舰队"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:26
|
#: allianceauth/srp/templates/srp/data.html:24
|
||||||
msgid "Mark Incomplete"
|
msgid "Mark Incomplete"
|
||||||
msgstr "标记为未完成"
|
msgstr "标记为未完成"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:30
|
#: allianceauth/srp/templates/srp/data.html:28
|
||||||
msgid "Mark Completed"
|
msgid "Mark Completed"
|
||||||
msgstr "标记为已完成"
|
msgstr "标记为已完成"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:48
|
#: allianceauth/srp/templates/srp/data.html:46
|
||||||
#: allianceauth/srp/templates/srp/data.html:142
|
#: allianceauth/srp/templates/srp/data.html:140
|
||||||
msgid "Total Losses:"
|
msgid "Total Losses:"
|
||||||
msgstr "损失总额:"
|
msgstr "损失总额:"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:49
|
#: allianceauth/srp/templates/srp/data.html:47
|
||||||
#: allianceauth/srp/templates/srp/data.html:143
|
#: allianceauth/srp/templates/srp/data.html:141
|
||||||
#: allianceauth/srp/templates/srp/management.html:36
|
#: allianceauth/srp/templates/srp/management.html:34
|
||||||
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:58
|
||||||
#: allianceauth/srp/templates/srp/data.html:154
|
#: allianceauth/srp/templates/srp/data.html:152
|
||||||
msgid "Are you sure you want to delete SRP requests?"
|
msgid "Are you sure you want to delete SRP requests?"
|
||||||
msgstr "老哥,你确定要删了补损请求么?"
|
msgstr "老哥,你确定要删了补损请求么?"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:70
|
#: allianceauth/srp/templates/srp/data.html:68
|
||||||
msgid "Pilot Name"
|
msgid "Pilot Name"
|
||||||
msgstr "玩家ID"
|
msgstr "玩家ID"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:71
|
#: allianceauth/srp/templates/srp/data.html:69
|
||||||
msgid "Killboard Link"
|
msgid "Killboard Link"
|
||||||
msgstr "KB网链接"
|
msgstr "KB网链接"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:73
|
#: allianceauth/srp/templates/srp/data.html:71
|
||||||
msgid "Ship Type"
|
msgid "Ship Type"
|
||||||
msgstr "船型"
|
msgstr "船型"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:74
|
#: allianceauth/srp/templates/srp/data.html:72
|
||||||
msgid "Killboard Loss Amt"
|
msgid "Killboard Loss Amt"
|
||||||
msgstr "KB网总损失"
|
msgstr "KB网总损失"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:76
|
#: allianceauth/srp/templates/srp/data.html:74
|
||||||
msgid "SRP ISK Cost"
|
msgid "SRP ISK Cost"
|
||||||
msgstr "补损ISK花费"
|
msgstr "补损ISK花费"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:77
|
#: allianceauth/srp/templates/srp/data.html:75
|
||||||
msgid "Click value to edit Enter to save & next ESC to cancel"
|
msgid "Click value to edit Enter to save & next ESC to cancel"
|
||||||
msgstr "点击数值就可以编辑啦,按回车确认,按ESC取消"
|
msgstr "点击数值就可以编辑啦,按回车确认,按ESC取消"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:80
|
#: allianceauth/srp/templates/srp/data.html:78
|
||||||
msgid "Post Time"
|
msgid "Post Time"
|
||||||
msgstr "发布时间"
|
msgstr "发布时间"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:102
|
#: allianceauth/srp/templates/srp/data.html:100
|
||||||
#: allianceauth/srp/templates/srp/management.html:70
|
#: allianceauth/srp/templates/srp/management.html:68
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "链接"
|
msgstr "链接"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/data.html:163
|
#: allianceauth/srp/templates/srp/data.html:161
|
||||||
msgid "No SRP requests for this fleet."
|
msgid "No SRP requests for this fleet."
|
||||||
msgstr "这次起队没有补损请求!大捷"
|
msgstr "这次起队没有补损请求!大捷"
|
||||||
|
|
||||||
@@ -2422,39 +2464,39 @@ msgstr "补损管理"
|
|||||||
msgid "View All"
|
msgid "View All"
|
||||||
msgstr "查看全部"
|
msgstr "查看全部"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:27
|
#: allianceauth/srp/templates/srp/management.html:25
|
||||||
msgid "Add SRP Fleet"
|
msgid "Add SRP Fleet"
|
||||||
msgstr "添加补损舰队"
|
msgstr "添加补损舰队"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:48
|
#: allianceauth/srp/templates/srp/management.html:46
|
||||||
msgid "Fleet AAR"
|
msgid "Fleet AAR"
|
||||||
msgstr "舰队战报"
|
msgstr "舰队战报"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:49
|
#: allianceauth/srp/templates/srp/management.html:47
|
||||||
msgid "Fleet SRP Code"
|
msgid "Fleet SRP Code"
|
||||||
msgstr "补损编号"
|
msgstr "补损编号"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:50
|
#: allianceauth/srp/templates/srp/management.html:48
|
||||||
msgid "Fleet ISK Cost"
|
msgid "Fleet ISK Cost"
|
||||||
msgstr "舰队ISK花费"
|
msgstr "舰队ISK花费"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:51
|
#: allianceauth/srp/templates/srp/management.html:49
|
||||||
msgid "SRP Status"
|
msgid "SRP Status"
|
||||||
msgstr "补损状态"
|
msgstr "补损状态"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:52
|
#: allianceauth/srp/templates/srp/management.html:50
|
||||||
msgid "Pending Requests"
|
msgid "Pending Requests"
|
||||||
msgstr "待处理请求"
|
msgstr "待处理请求"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:91
|
#: allianceauth/srp/templates/srp/management.html:89
|
||||||
msgid "Completed"
|
msgid "Completed"
|
||||||
msgstr "已完成"
|
msgstr "已完成"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:108
|
#: allianceauth/srp/templates/srp/management.html:106
|
||||||
msgid "Are you sure you want to delete this SRP code and its contents?"
|
msgid "Are you sure you want to delete this SRP code and its contents?"
|
||||||
msgstr "老哥,你确认要把这次补损的编号和内容都删了?"
|
msgstr "老哥,你确认要把这次补损的编号和内容都删了?"
|
||||||
|
|
||||||
#: allianceauth/srp/templates/srp/management.html:129
|
#: allianceauth/srp/templates/srp/management.html:127
|
||||||
msgid "No SRP fleets created."
|
msgid "No SRP fleets created."
|
||||||
msgstr "没有创建任何补损舰队,你快灭灯了吧?"
|
msgstr "没有创建任何补损舰队,你快灭灯了吧?"
|
||||||
|
|
||||||
@@ -2586,71 +2628,124 @@ msgstr "找不到ID是%(requestid)s的补损申请呀,老哥眼花了?"
|
|||||||
msgid "Saved changes to SRP fleet %(fleetname)s"
|
msgid "Saved changes to SRP fleet %(fleetname)s"
|
||||||
msgstr "你做的修改已经保存到%(fleetname)s这个补损舰队啦,尽情白给吧!"
|
msgstr "你做的修改已经保存到%(fleetname)s这个补损舰队啦,尽情白给吧!"
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/esi_check.html:4
|
#: allianceauth/templates/allianceauth/admin-status/esi_check.html:5
|
||||||
msgid "Your Server received an ESI error response code of "
|
msgid "Your Server received an ESI error response code of "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:8
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:11
|
||||||
msgid "Alliance Auth Notifications"
|
msgid "second"
|
||||||
msgstr "系统通知"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
|
||||||
msgid "No notifications at this time"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:12
|
||||||
msgid "Powered by GitLab"
|
msgid "seconds"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:35
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:13
|
||||||
msgid "Support Discord"
|
msgid "minute"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:49
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:14
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:53
|
msgid "minutes"
|
||||||
msgid "Software Version"
|
msgstr "分钟数"
|
||||||
msgstr "软件版本"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:56
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:15
|
||||||
msgid "Current"
|
msgid "hour"
|
||||||
msgstr "当前版本"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:63
|
|
||||||
msgid "Latest Stable"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:68
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:16
|
||||||
msgid "Update available"
|
msgid "hours"
|
||||||
msgstr "有更新!"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:76
|
|
||||||
msgid "Latest Pre-Release"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:81
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:17
|
||||||
msgid "Pre-Release available"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:18
|
||||||
msgid "Task Queue"
|
msgid "ERROR"
|
||||||
msgstr "任务队列"
|
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:96
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"\n"
|
|
||||||
" Status of %(total)s processed tasks • last %(latest)s\n"
|
|
||||||
" "
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:112
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:19
|
||||||
msgid "running"
|
msgid "running"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/admin-status/overview.html:113
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:20
|
||||||
msgid "queued"
|
msgid "queued"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:21
|
||||||
|
msgid "succeeded"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:22
|
||||||
|
msgid "retried"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:23
|
||||||
|
msgid "failed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:29
|
||||||
|
msgid "Debug mode"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:34
|
||||||
|
msgid ""
|
||||||
|
"Debug mode is currently turned on!<br>Make sure to turn it off as soon as "
|
||||||
|
"you are finished testing."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:46
|
||||||
|
msgid "Alliance Auth Notifications"
|
||||||
|
msgstr "系统通知"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:58
|
||||||
|
msgid "No notifications at this time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:67
|
||||||
|
msgid "Powered by GitLab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:73
|
||||||
|
msgid "Support Discord"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:87
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:91
|
||||||
|
msgid "Software Version"
|
||||||
|
msgstr "软件版本"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:94
|
||||||
|
msgid "Current"
|
||||||
|
msgstr "当前版本"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:101
|
||||||
|
msgid "Latest Stable"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:106
|
||||||
|
msgid "Update available"
|
||||||
|
msgstr "有更新!"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:114
|
||||||
|
msgid "Latest Pre-Release"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:119
|
||||||
|
msgid "Pre-Release available"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:129
|
||||||
|
msgid "Task Queue"
|
||||||
|
msgstr "任务队列"
|
||||||
|
|
||||||
|
#: allianceauth/templates/allianceauth/admin-status/overview.html:134
|
||||||
|
msgid ""
|
||||||
|
"\n"
|
||||||
|
" Status of <span id=\"total-task-count\">?</span> processed tasks • last <span id=\"celery-uptime\">?</span>\n"
|
||||||
|
" "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
#: allianceauth/templates/allianceauth/top-menu-admin.html:19
|
||||||
msgid "AA Documentation"
|
msgid "AA Documentation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -2874,7 +2969,7 @@ msgid "Theft"
|
|||||||
msgstr ""
|
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:52
|
||||||
msgid "Upcoming Timers"
|
msgid "Upcoming Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -2902,7 +2997,7 @@ msgid "Create Timer"
|
|||||||
msgstr "创建时间计划表"
|
msgstr "创建时间计划表"
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9
|
#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:22
|
#: allianceauth/timerboard/templates/timerboard/view.html:20
|
||||||
msgid "Create Structure Timer"
|
msgid "Create Structure Timer"
|
||||||
msgstr "创建建筑时间表"
|
msgstr "创建建筑时间表"
|
||||||
|
|
||||||
@@ -2920,11 +3015,11 @@ msgstr "建筑"
|
|||||||
msgid "Structure Timer Management"
|
msgid "Structure Timer Management"
|
||||||
msgstr "管理建筑时间表"
|
msgstr "管理建筑时间表"
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:41
|
#: allianceauth/timerboard/templates/timerboard/view.html:39
|
||||||
msgid "Corporation Timers"
|
msgid "Corporation Timers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/timerboard/templates/timerboard/view.html:72
|
#: allianceauth/timerboard/templates/timerboard/view.html:70
|
||||||
msgid "Past Timers"
|
msgid "Past Timers"
|
||||||
msgstr "已经过去的时间节点"
|
msgstr "已经过去的时间节点"
|
||||||
|
|
||||||
@@ -2937,36 +3032,36 @@ msgstr "已经把%(system)s星系里%(time)s的时间节点设置好了!CTA!
|
|||||||
msgid "Saved changes to the timer."
|
msgid "Saved changes to the timer."
|
||||||
msgstr "保存至新的计划表"
|
msgstr "保存至新的计划表"
|
||||||
|
|
||||||
#: allianceauth/views.py:55
|
#: allianceauth/views.py:78
|
||||||
msgid "Bad Request"
|
msgid "Bad Request"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:57 allianceauth/views.py:87
|
#: allianceauth/views.py:80 allianceauth/views.py:110
|
||||||
msgid ""
|
msgid ""
|
||||||
"Auth encountered an error processing your request, please try again. If the "
|
"Auth encountered an error processing your request, please try again. If the "
|
||||||
"error persists, please contact the administrators."
|
"error persists, please contact the administrators."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:65
|
#: allianceauth/views.py:88
|
||||||
msgid "Permission Denied"
|
msgid "Permission Denied"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:67
|
#: allianceauth/views.py:90
|
||||||
msgid ""
|
msgid ""
|
||||||
"You do not have permission to access the requested page. If you believe this"
|
"You do not have permission to access the requested page. If you believe this"
|
||||||
" is in error please contact the administrators."
|
" is in error please contact the administrators."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:75
|
#: allianceauth/views.py:98
|
||||||
msgid "Page Not Found"
|
msgid "Page Not Found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:77
|
#: allianceauth/views.py:100
|
||||||
msgid ""
|
msgid ""
|
||||||
"Page does not exist. If you believe this is in error please contact the "
|
"Page does not exist. If you believe this is in error please contact the "
|
||||||
"administrators. "
|
"administrators. "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: allianceauth/views.py:85
|
#: allianceauth/views.py:108
|
||||||
msgid "Internal Server Error"
|
msgid "Internal Server Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations # Still needed for Python 3.8, replaced with better implementations in Py39+
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
<li class="nav-item" id="menu_item_notifications">
|
<li class="nav-item" id="menu_item_notifications">
|
||||||
<a class="nav-link {% navactive request 'notifications:' %}" 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 me-2 fa-fw{% if unread_count %} text-danger{% endif %}"></i>
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
|
|
||||||
<span class="d-lg-none d-md-inline m-2">
|
<span class="d-lg-none d-md-inline">
|
||||||
{% translate "Notifications" %}
|
{% translate "Notifications" %}
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -72,6 +72,31 @@
|
|||||||
|
|
||||||
{% theme_select %}
|
{% theme_select %}
|
||||||
|
|
||||||
|
{% if user.is_authenticated and not request.is_mobile_device %}
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li><h6 class="dropdown-header">{% translate "Sidebar" %}</h6></li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<form class="dropdown-item" action="{% url 'minimize_sidebar' %}?next={{ request.path|urlencode }}" method="post">
|
||||||
|
{% csrf_token %}
|
||||||
|
|
||||||
|
<div class="form-check form-switch">
|
||||||
|
<input
|
||||||
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
role="switch"
|
||||||
|
id="toggle-sidebar"
|
||||||
|
onchange="this.form.submit()"
|
||||||
|
{% if request.session.MINIMIZE_SIDEBAR %}checked{% endif %}
|
||||||
|
>
|
||||||
|
<label class="form-check-label" for="toggle-sidebar">
|
||||||
|
{% translate "Minimize Sidebar" %}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% 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>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
{% load menu_menu_items %}
|
{% load menu_menu_items %}
|
||||||
|
|
||||||
<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 {% if user.is_authenticated and not request.is_mobile_device and not request.session.MINIMIZE_SIDEBAR %}show{% endif %}" tabindex="-1" id="sidebar">
|
||||||
<div>
|
<div>
|
||||||
<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 %}">
|
<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 %}
|
||||||
|
|||||||
65
allianceauth/middleware.py
Normal file
65
allianceauth/middleware.py
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
"""
|
||||||
|
Alliance Auth Middleware
|
||||||
|
"""
|
||||||
|
|
||||||
|
from user_agents import parse
|
||||||
|
|
||||||
|
|
||||||
|
class DeviceDetectionMiddleware:
|
||||||
|
"""
|
||||||
|
Middleware to detect the type of device making the request.
|
||||||
|
Sets flags on the request object for easy access in views and templates.
|
||||||
|
|
||||||
|
Flags include:
|
||||||
|
- is_mobile: True if the device is a mobile phone.
|
||||||
|
- is_tablet: True if the device is a tablet.
|
||||||
|
- is_mobile_device: True if the device is either a mobile phone or a tablet.
|
||||||
|
- is_touch_capable: True if the device has touch capabilities.
|
||||||
|
- is_pc: True if the device is a desktop or laptop computer.
|
||||||
|
- is_bot: True if the device is identified as a bot or crawler.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, get_response):
|
||||||
|
"""
|
||||||
|
Initialize the middleware with the get_response callable.
|
||||||
|
|
||||||
|
:param get_response:
|
||||||
|
:type get_response:
|
||||||
|
"""
|
||||||
|
|
||||||
|
self.get_response = get_response
|
||||||
|
|
||||||
|
def __call__(self, request):
|
||||||
|
"""
|
||||||
|
Process the incoming request to determine if it's from a mobile device.
|
||||||
|
|
||||||
|
This method is called when the middleware is invoked. It inspects the
|
||||||
|
`user-agent` header of the incoming HTTP request to determine the type
|
||||||
|
of client making the request (e.g., mobile, tablet, PC, bot, etc.).
|
||||||
|
Flags are set on the `request` object to indicate the client type.
|
||||||
|
|
||||||
|
:param request: The HTTP request object.
|
||||||
|
:type request: HttpRequest
|
||||||
|
:return: The HTTP response object after processing the request.
|
||||||
|
:rtype: HttpResponse
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Retrieve the user-agent string from the request headers
|
||||||
|
user_agent_string = request.headers.get("user-agent", "")
|
||||||
|
|
||||||
|
# Parse the user-agent string to extract client information
|
||||||
|
user_agent = parse(user_agent_string)
|
||||||
|
|
||||||
|
# Set flags on the request object based on the client type
|
||||||
|
request.is_mobile = user_agent.is_mobile # True if the client is a mobile phone
|
||||||
|
request.is_tablet = user_agent.is_tablet # True if the client is a tablet
|
||||||
|
request.is_mobile_device = user_agent.is_mobile or user_agent.is_tablet # True if mobile phone or tablet
|
||||||
|
request.is_touch_capable = user_agent.is_touch_capable # True if the client supports touch input
|
||||||
|
request.is_pc = user_agent.is_pc # True if the client is a PC
|
||||||
|
request.is_bot = user_agent.is_bot # True if the client is a bot
|
||||||
|
|
||||||
|
# Pass the request to the next middleware or view and get the response
|
||||||
|
response = self.get_response(request)
|
||||||
|
|
||||||
|
# Return the processed response
|
||||||
|
return response
|
||||||
@@ -28,17 +28,13 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block header_nav_collapse_right %}
|
{% block header_nav_collapse_right %}
|
||||||
<li class="nav-item">
|
{% translate "Mark all notifications as read" as nav_item_title %}
|
||||||
<a href="{% url 'notifications:mark_all_read' %}" class="nav-link" title="{% translate 'Mark all notifications as read' %}">
|
{% url "notifications:mark_all_read" as nav_item_link %}
|
||||||
<i class="fa-solid fa-check-double"></i>
|
{% include "framework/header/nav-collapse-icon.html" with fa_icon="fa-solid fa-check-double" url=nav_item_link title=nav_item_title icon_on_mobile=True %}
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="nav-item">
|
{% translate "Delete all read notifications" as nav_item_title %}
|
||||||
<a href="{% url 'notifications:delete_all_read' %}" class="nav-link" title="{% translate 'Delete all read notifications' %}">
|
{% url "notifications:delete_all_read" as nav_item_link %}
|
||||||
<i class="fa-solid fa-trash-can"></i>
|
{% include "framework/header/nav-collapse-icon.html" with fa_icon="fa-solid fa-trash-can" url=nav_item_link title=nav_item_title icon_on_mobile=True %}
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
{% for ops in timers %}
|
<tbody>
|
||||||
<tbody>
|
{% for ops in timers %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{{ ops.operation_name }}
|
{{ ops.operation_name }}
|
||||||
@@ -55,8 +55,8 @@
|
|||||||
</td>
|
</td>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
{% endfor %}
|
||||||
{% endfor %}
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@@ -13,11 +13,9 @@
|
|||||||
|
|
||||||
{% block header_nav_collapse_right %}
|
{% block header_nav_collapse_right %}
|
||||||
{% if perms.auth.optimer_management %}
|
{% if perms.auth.optimer_management %}
|
||||||
<li class="nav-item">
|
{% translate "Create Operation" as nav_item_title %}
|
||||||
<a class="btn btn-success" href="{% url 'optimer:add' %}">
|
{% url "optimer:add" as nav_item_link %}
|
||||||
{% translate "Create Operation" %}
|
{% include "framework/header/nav-collapse-button.html" with btn_modifier="success" url=nav_item_link title=nav_item_title fa_icon="fa-solid fa-plus" icon_on_mobile=True %}
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock header_nav_collapse_right %}
|
{% endblock header_nav_collapse_right %}
|
||||||
|
|
||||||
@@ -67,83 +65,85 @@
|
|||||||
{% include 'bundles/timers-js.html' %}
|
{% include 'bundles/timers-js.html' %}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Data
|
$(document).ready(() => {
|
||||||
const timers = [
|
// Data
|
||||||
{% for op in optimer %}
|
const timers = [
|
||||||
{
|
{% for op in optimer %}
|
||||||
'id': {{ op.id }},
|
{
|
||||||
'start': moment("{{ op.start | date:"c" }}"),
|
'id': {{ op.id }},
|
||||||
'expired': false
|
'start': moment("{{ op.start | date:"c" }}"),
|
||||||
},
|
'expired': false
|
||||||
{% endfor %}
|
},
|
||||||
];
|
{% endfor %}
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a timer
|
* Update a timer
|
||||||
* @param timer Timer information
|
* @param timer Timer information
|
||||||
*/
|
*/
|
||||||
const updateTimer = (timer) => {
|
const updateTimer = (timer) => {
|
||||||
if (timer.start.isAfter(Date.now())) {
|
if (timer.start.isAfter(Date.now())) {
|
||||||
const duration = moment.duration(timer.start - moment(), 'milliseconds');
|
const duration = moment.duration(timer.start - moment(), 'milliseconds');
|
||||||
|
|
||||||
document.getElementById("countdown" + timer.id).innerHTML = getDurationString(duration);
|
document.getElementById("countdown" + timer.id).innerHTML = getDurationString(duration);
|
||||||
} else {
|
} else {
|
||||||
timer.expired = true;
|
timer.expired = true;
|
||||||
|
|
||||||
document.getElementById("countdown" + timer.id).innerHTML = "";
|
document.getElementById("countdown" + timer.id).innerHTML = "";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update all timers
|
* Update all timers
|
||||||
*/
|
*/
|
||||||
const updateAllTimers = () => {
|
const updateAllTimers = () => {
|
||||||
const l = timers.length;
|
const l = timers.length;
|
||||||
|
|
||||||
for (let i=0; i < l; ++i) {
|
for (let i=0; i < l; ++i) {
|
||||||
if (timers[i].expired) continue;
|
if (timers[i].expired) continue;
|
||||||
|
|
||||||
updateTimer(timers[i]);
|
updateTimer(timers[i]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the local time info for the timer
|
* Set the local time info for the timer
|
||||||
* @param timer Timer information
|
* @param timer Timer information
|
||||||
*/
|
*/
|
||||||
const setLocalTime = (timer) => {
|
const setLocalTime = (timer) => {
|
||||||
document.getElementById("localtime" + timer.id).innerHTML = timer.start.format("ddd @ LT");
|
document.getElementById("localtime" + timer.id).innerHTML = timer.start.format("ddd @ LT");
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set all local time fields
|
* Set all local time fields
|
||||||
*/
|
*/
|
||||||
const setAllLocalTimes = () => {
|
const setAllLocalTimes = () => {
|
||||||
const l = timers.length;
|
const l = timers.length;
|
||||||
|
|
||||||
for (let i=0; i < l; ++i) {
|
for (let i=0; i < l; ++i) {
|
||||||
setLocalTime(timers[i]);
|
setLocalTime(timers[i]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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();
|
||||||
};
|
};
|
||||||
|
|
||||||
const timedUpdate = () => {
|
const timedUpdate = () => {
|
||||||
updateClock();
|
updateClock();
|
||||||
updateAllTimers();
|
updateAllTimers();
|
||||||
};
|
};
|
||||||
|
|
||||||
// Set initial values
|
// Set initial values
|
||||||
setAllLocalTimes();
|
setAllLocalTimes();
|
||||||
timedUpdate();
|
timedUpdate();
|
||||||
|
|
||||||
// Start timed updates
|
// Start timed updates
|
||||||
setInterval(timedUpdate, 1000);
|
setInterval(timedUpdate, 1000);
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
{% endblock content %}
|
{% endblock content %}
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ MIDDLEWARE = [
|
|||||||
"django.middleware.security.SecurityMiddleware",
|
"django.middleware.security.SecurityMiddleware",
|
||||||
"django.contrib.sessions.middleware.SessionMiddleware",
|
"django.contrib.sessions.middleware.SessionMiddleware",
|
||||||
"allianceauth.authentication.middleware.UserSettingsMiddleware",
|
"allianceauth.authentication.middleware.UserSettingsMiddleware",
|
||||||
|
"allianceauth.middleware.DeviceDetectionMiddleware",
|
||||||
"django.middleware.locale.LocaleMiddleware",
|
"django.middleware.locale.LocaleMiddleware",
|
||||||
"django.middleware.common.CommonMiddleware",
|
"django.middleware.common.CommonMiddleware",
|
||||||
"django.middleware.csrf.CsrfViewMiddleware",
|
"django.middleware.csrf.CsrfViewMiddleware",
|
||||||
|
|||||||
@@ -57,10 +57,10 @@ DATABASES['default'] = {
|
|||||||
# CCP's developer portal
|
# CCP's developer portal
|
||||||
# Logging in to auth requires the publicData scope (can be overridden through the
|
# Logging in to auth requires the publicData scope (can be overridden through the
|
||||||
# LOGIN_TOKEN_SCOPES setting). Other apps may require more (see their docs).
|
# LOGIN_TOKEN_SCOPES setting). Other apps may require more (see their docs).
|
||||||
|
ESI_SSO_CALLBACK_URL = f"{SITE_URL}/sso/callback" # Do NOT change this line!
|
||||||
ESI_SSO_CLIENT_ID = ''
|
ESI_SSO_CLIENT_ID = ''
|
||||||
ESI_SSO_CLIENT_SECRET = ''
|
ESI_SSO_CLIENT_SECRET = ''
|
||||||
ESI_SSO_CALLBACK_URL = f"{SITE_URL}/sso/callback"
|
ESI_USER_CONTACT_EMAIL = '' # A server maintainer that CCP can contact in case of issues.
|
||||||
ESI_USER_CONTACT_EMAIL = '' # A server maintainer that CCP can contact in case of issues.
|
|
||||||
|
|
||||||
# By default, emails are validated before new users can log in.
|
# By default, emails are validated before new users can log in.
|
||||||
# It's recommended to use a free service like SparkPost or Elastic Email to send email.
|
# It's recommended to use a free service like SparkPost or Elastic Email to send email.
|
||||||
|
|||||||
@@ -1,22 +1,37 @@
|
|||||||
|
[supervisord]
|
||||||
|
environment =
|
||||||
|
AA_USER = allianceserver, ; The user under which the processes will run
|
||||||
|
AA_PROJECT_NAME = {{ project_name }}, ; The name of the project
|
||||||
|
AA_PROJECT_DIRECTORY = {{ project_directory }}, ; The directory of the project
|
||||||
|
AA_VENV_DIRECTORY = {{ venv_directory }}, ; The directory of the virtual environment
|
||||||
|
AA_COMMAND_CELERY = {{ celery }}, ; The command to run Celery
|
||||||
|
AA_COMMAND_GUNICORN = {{ gunicorn }}, ; The command to run Gunicorn
|
||||||
|
AA_COMMAND_MEMMON = {{ memmon }} ; The command to run Memmon
|
||||||
|
|
||||||
[program:beat]
|
[program:beat]
|
||||||
command = {{ celery }} -A {{ project_name }} beat
|
command = %(ENV_AA_COMMAND_CELERY)s
|
||||||
directory = {{ project_directory }}
|
-A %(ENV_AA_PROJECT_NAME)s beat
|
||||||
user = allianceserver
|
directory = %(ENV_AA_PROJECT_DIRECTORY)s
|
||||||
stdout_logfile = {{ project_directory }}/log/%(program_name)s.log
|
user = %(ENV_AA_USER)s
|
||||||
stderr_logfile = {{ project_directory }}/log/%(program_name)s.log
|
stdout_logfile = %(ENV_AA_PROJECT_DIRECTORY)s/log/%(program_name)s.log
|
||||||
|
stderr_logfile = %(ENV_AA_PROJECT_DIRECTORY)s/log/%(program_name)s.log
|
||||||
autostart = true
|
autostart = true
|
||||||
autorestart = true
|
autorestart = true
|
||||||
startsecs = 10
|
startsecs = 10
|
||||||
priority = 998
|
priority = 998
|
||||||
|
|
||||||
[program:worker]
|
[program:worker]
|
||||||
command = {{ celery }} -A {{ project_name }} worker --pool=threads --concurrency=5 -n %(program_name)s_%(process_num)02d
|
command = %(ENV_AA_COMMAND_CELERY)s
|
||||||
directory = {{ project_directory }}
|
-A %(ENV_AA_PROJECT_NAME)s worker
|
||||||
user = allianceserver
|
--pool=threads
|
||||||
|
--concurrency=5
|
||||||
|
-n %(program_name)s_%(process_num)02d
|
||||||
|
directory = %(ENV_AA_PROJECT_DIRECTORY)s
|
||||||
|
user = %(ENV_AA_USER)s
|
||||||
numprocs = 1
|
numprocs = 1
|
||||||
process_name = %(program_name)s_%(process_num)02d
|
process_name = %(program_name)s_%(process_num)02d
|
||||||
stdout_logfile = {{ project_directory }}/log/%(program_name)s.log
|
stdout_logfile = %(ENV_AA_PROJECT_DIRECTORY)s/log/%(program_name)s.log
|
||||||
stderr_logfile = {{ project_directory }}/log/%(program_name)s.log
|
stderr_logfile = %(ENV_AA_PROJECT_DIRECTORY)s/log/%(program_name)s.log
|
||||||
autostart = true
|
autostart = true
|
||||||
autorestart = true
|
autorestart = true
|
||||||
startsecs = 10
|
startsecs = 10
|
||||||
@@ -26,22 +41,26 @@ priority = 998
|
|||||||
|
|
||||||
{% if gunicorn %}
|
{% if gunicorn %}
|
||||||
[program:gunicorn]
|
[program:gunicorn]
|
||||||
user = allianceserver
|
user = %(ENV_AA_USER)s
|
||||||
directory = {{ project_directory }}
|
directory = %(ENV_AA_PROJECT_DIRECTORY)s
|
||||||
command = {{ gunicorn }} {{ project_name }}.wsgi --workers=3 --timeout 120
|
command = %(ENV_AA_COMMAND_GUNICORN)s %(ENV_AA_PROJECT_NAME)s.wsgi
|
||||||
stdout_logfile = {{ project_directory }}/log/%(program_name)s.log
|
--workers=3
|
||||||
stderr_logfile = {{ project_directory }}/log/%(program_name)s.log
|
--timeout 120
|
||||||
|
stdout_logfile = %(ENV_AA_PROJECT_DIRECTORY)s/log/%(program_name)s.log
|
||||||
|
stderr_logfile = %(ENV_AA_PROJECT_DIRECTORY)s/log/%(program_name)s.log
|
||||||
autostart = true
|
autostart = true
|
||||||
autorestart = true
|
autorestart = true
|
||||||
stopsignal = INT
|
stopsignal = INT
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
[eventlistener:memmon]
|
[eventlistener:memmon]
|
||||||
command = {{ memmon }} -p worker_00=256MB -p gunicorn=256MB
|
command = %(ENV_AA_COMMAND_MEMMON)s
|
||||||
directory = {{ project_directory }}
|
-p worker_00=256MB
|
||||||
|
-p gunicorn=256MB
|
||||||
|
directory = %(ENV_AA_PROJECT_DIRECTORY)s
|
||||||
events = TICK_60
|
events = TICK_60
|
||||||
stdout_logfile = {{ project_directory }}/log/memmon.log
|
stdout_logfile = %(ENV_AA_PROJECT_DIRECTORY)s/log/memmon.log
|
||||||
stderr_logfile = {{ project_directory }}/log/memmon.log
|
stderr_logfile = %(ENV_AA_PROJECT_DIRECTORY)s/log/memmon.log
|
||||||
|
|
||||||
[group:{{ project_name }}]
|
[group:{{ project_name }}]
|
||||||
programs = beat,worker{% if gunicorn %},gunicorn{% endif %}
|
programs = beat,worker{% if gunicorn %},gunicorn{% endif %}
|
||||||
|
|||||||
@@ -100,7 +100,10 @@ class BaseSetPasswordServiceAccountView(ServicesCRUDMixin, BaseServiceView, Upda
|
|||||||
def post(self, request, *args, **kwargs):
|
def post(self, request, *args, **kwargs):
|
||||||
result = super().post(request, *args, **kwargs)
|
result = super().post(request, *args, **kwargs)
|
||||||
if self.get_form().is_valid():
|
if self.get_form().is_valid():
|
||||||
messages.success(request, _(f"Successfully set your {self.service_name} password"))
|
messages.success(
|
||||||
|
request,
|
||||||
|
_("Successfully set your {service_name} password").format(service_name=self.service_name)
|
||||||
|
)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,7 @@ from redis import Redis
|
|||||||
|
|
||||||
from allianceauth.utils.cache import get_redis_client
|
from allianceauth.utils.cache import get_redis_client
|
||||||
|
|
||||||
from allianceauth import __title__ as AUTH_TITLE
|
from allianceauth import __title_useragent__, __url__, __version__
|
||||||
from allianceauth import __url__, __version__
|
|
||||||
|
|
||||||
from .. import __title__
|
from .. import __title__
|
||||||
from ..utils import LoggerAddTag
|
from ..utils import LoggerAddTag
|
||||||
@@ -647,7 +646,7 @@ class DiscordClient:
|
|||||||
if self.is_rate_limited:
|
if self.is_rate_limited:
|
||||||
self._ensure_rate_limed_not_exhausted(uid)
|
self._ensure_rate_limed_not_exhausted(uid)
|
||||||
headers = {
|
headers = {
|
||||||
'User-Agent': f'{AUTH_TITLE} ({__url__}, {__version__})',
|
'User-Agent': f'{__title_useragent__}/{__version__} (+{__url__})',
|
||||||
'accept': 'application/json',
|
'accept': 'application/json',
|
||||||
'X-RateLimit-Precision': 'millisecond',
|
'X-RateLimit-Precision': 'millisecond',
|
||||||
'authorization': str(authorization)
|
'authorization': str(authorization)
|
||||||
@@ -675,10 +674,12 @@ class DiscordClient:
|
|||||||
)
|
)
|
||||||
logger.debug('%s: response:\n%s', uid, r.text)
|
logger.debug('%s: response:\n%s', uid, r.text)
|
||||||
if not r.ok:
|
if not r.ok:
|
||||||
|
member_id = url.split("/")[-1]
|
||||||
logger.error(
|
logger.error(
|
||||||
'%s: Discord API returned error code %d and this response: %s',
|
'%s: Discord API returned error code %d for member ID %s with this response: %s.',
|
||||||
uid,
|
uid,
|
||||||
r.status_code,
|
r.status_code,
|
||||||
|
member_id,
|
||||||
r.text
|
r.text
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ import requests_mock
|
|||||||
from redis import Redis
|
from redis import Redis
|
||||||
from requests.exceptions import HTTPError
|
from requests.exceptions import HTTPError
|
||||||
|
|
||||||
from allianceauth import __title__ as AUTH_TITLE
|
from allianceauth import __title_useragent__, __url__, __version__
|
||||||
from allianceauth import __url__, __version__
|
|
||||||
from allianceauth.utils.testing import NoSocketsTestCase
|
from allianceauth.utils.testing import NoSocketsTestCase
|
||||||
|
|
||||||
from ...utils import set_logger_to_file
|
from ...utils import set_logger_to_file
|
||||||
@@ -46,7 +45,7 @@ API_BASE_URL = 'https://discord.com/api/'
|
|||||||
TEST_RETRY_AFTER = 3000
|
TEST_RETRY_AFTER = 3000
|
||||||
|
|
||||||
DEFAULT_REQUEST_HEADERS = {
|
DEFAULT_REQUEST_HEADERS = {
|
||||||
'User-Agent': f'{AUTH_TITLE} ({__url__}, {__version__})',
|
'User-Agent': f'{__title_useragent__}/{__version__} (+{__url__})',
|
||||||
'accept': 'application/json',
|
'accept': 'application/json',
|
||||||
'authorization': 'Bot ' + TEST_BOT_TOKEN
|
'authorization': 'Bot ' + TEST_BOT_TOKEN
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,13 +100,13 @@ def jabber_broadcast_view(request):
|
|||||||
if main_char is not None:
|
if main_char is not None:
|
||||||
message_to_send = form.cleaned_data['message'] + "\n##### SENT BY: " + "[" + main_char.corporation_ticker + "]" + \
|
message_to_send = form.cleaned_data['message'] + "\n##### SENT BY: " + "[" + main_char.corporation_ticker + "]" + \
|
||||||
main_char.character_name + " TO: " + \
|
main_char.character_name + " TO: " + \
|
||||||
form.cleaned_data['group'] + " WHEN: " + datetime.datetime.utcnow().strftime(
|
form.cleaned_data['group'] + " WHEN: " + datetime.datetime.now(datetime.timezone.utc).strftime(
|
||||||
"%Y-%m-%d %H:%M:%S") + " #####\n##### Replies are NOT monitored #####\n"
|
"%Y-%m-%d %H:%M:%S") + " #####\n##### Replies are NOT monitored #####\n"
|
||||||
group_to_send = form.cleaned_data['group']
|
group_to_send = form.cleaned_data['group']
|
||||||
|
|
||||||
else:
|
else:
|
||||||
message_to_send = form.cleaned_data['message'] + "\n##### SENT BY: " + "No character but can send pings?" + " TO: " + \
|
message_to_send = form.cleaned_data['message'] + "\n##### SENT BY: " + "No character but can send pings?" + " TO: " + \
|
||||||
form.cleaned_data['group'] + " WHEN: " + datetime.datetime.utcnow().strftime(
|
form.cleaned_data['group'] + " WHEN: " + datetime.datetime.now(datetime.timezone.utc).strftime(
|
||||||
"%Y-%m-%d %H:%M:%S") + " #####\n##### Replies are NOT monitored #####\n"
|
"%Y-%m-%d %H:%M:%S") + " #####\n##### Replies are NOT monitored #####\n"
|
||||||
group_to_send = form.cleaned_data['group']
|
group_to_send = form.cleaned_data['group']
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import random
|
|||||||
import string
|
import string
|
||||||
import calendar
|
import calendar
|
||||||
import re
|
import re
|
||||||
from datetime import datetime
|
import datetime as dt
|
||||||
|
|
||||||
from passlib.apps import phpbb3_context
|
from passlib.apps import phpbb3_context
|
||||||
from django.db import connections
|
from django.db import connections
|
||||||
@@ -128,7 +128,7 @@ class Phpbb3Manager:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def __get_current_utc_date():
|
def __get_current_utc_date():
|
||||||
d = datetime.utcnow()
|
d = dt.datetime.now(dt.timezone.utc)
|
||||||
unixtime = calendar.timegm(d.utctimetuple())
|
unixtime = calendar.timegm(d.utctimetuple())
|
||||||
return unixtime
|
return unixtime
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import random
|
import random
|
||||||
import string
|
import string
|
||||||
import calendar
|
import calendar
|
||||||
from datetime import datetime
|
import datetime as dt
|
||||||
import hashlib
|
import hashlib
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
@@ -105,7 +105,7 @@ class SmfManager:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_current_utc_date():
|
def get_current_utc_date():
|
||||||
d = datetime.utcnow()
|
d = dt.datetime.now(dt.timezone.utc)
|
||||||
unixtime = calendar.timegm(d.utctimetuple())
|
unixtime = calendar.timegm(d.utctimetuple())
|
||||||
return unixtime
|
return unixtime
|
||||||
|
|
||||||
|
|||||||
@@ -111,11 +111,11 @@ class Teamspeak3Manager:
|
|||||||
outlist = {}
|
outlist = {}
|
||||||
|
|
||||||
if type(groups) == list:
|
if type(groups) == list:
|
||||||
logger.debug("Recieved multiple groups. Iterating.")
|
logger.debug("Received multiple groups. Iterating.")
|
||||||
for group in groups:
|
for group in groups:
|
||||||
outlist[group['keys']['name']] = group['keys']['sgid']
|
outlist[group['keys']['name']] = group['keys']['sgid']
|
||||||
elif type(groups) == dict:
|
elif type(groups) == dict:
|
||||||
logger.debug("Recieved single group.")
|
logger.debug("Received single group.")
|
||||||
outlist[groups['keys']['name']] = groups['keys']['sgid']
|
outlist[groups['keys']['name']] = groups['keys']['sgid']
|
||||||
logger.debug("Returning name/id pairing: %s" % outlist)
|
logger.debug("Returning name/id pairing: %s" % outlist)
|
||||||
return outlist
|
return outlist
|
||||||
|
|||||||
@@ -34,6 +34,9 @@ class SrpFleetUserRequestForm(forms.Form):
|
|||||||
_("Invalid Link. Please use zkillboard.com or kb.evetools.org")
|
_("Invalid Link. Please use zkillboard.com or kb.evetools.org")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if re.match(r"^http[s]?:\/\/zkillboard\.com\/", data) and not data.endswith("/"):
|
||||||
|
data += "/"
|
||||||
|
|
||||||
# Check if it's an actual kill mail
|
# Check if it's an actual kill mail
|
||||||
if not any(
|
if not any(
|
||||||
re.match(regex, data)
|
re.match(regex, data)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import requests
|
|||||||
|
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
from allianceauth import NAME
|
from allianceauth import __title_useragent__, __url__, __version__
|
||||||
from allianceauth.srp.providers import esi
|
from allianceauth.srp.providers import esi
|
||||||
|
|
||||||
from .models import SrpUserRequest
|
from .models import SrpUserRequest
|
||||||
@@ -24,7 +24,7 @@ class SRPManager:
|
|||||||
def get_kill_data(kill_id):
|
def get_kill_data(kill_id):
|
||||||
url = ("https://zkillboard.com/api/killID/%s/" % kill_id)
|
url = ("https://zkillboard.com/api/killID/%s/" % kill_id)
|
||||||
headers = {
|
headers = {
|
||||||
'User-Agent': NAME,
|
'User-Agent': f'{__title_useragent__}/{__version__} (+{__url__})',
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
}
|
}
|
||||||
r = requests.get(url, headers=headers)
|
r = requests.get(url, headers=headers)
|
||||||
|
|||||||
@@ -20,17 +20,15 @@
|
|||||||
|
|
||||||
{% block header_nav_collapse_right %}
|
{% block header_nav_collapse_right %}
|
||||||
{% if perms.auth.srp_management %}
|
{% if perms.auth.srp_management %}
|
||||||
<li class="nav-item">
|
{% if fleet_status == "Completed" %}
|
||||||
{% if fleet_status == "Completed" %}
|
{% translate "Mark Incomplete" as nav_item_title %}
|
||||||
<a class="btn btn-warning" href="{% url 'srp:mark_uncompleted' fleet_id %}">
|
{% url "srp:mark_uncompleted" fleet_id as nav_item_link %}
|
||||||
{% translate "Mark Incomplete" %}
|
{% include "framework/header/nav-collapse-button.html" with btn_modifier="warning" url=nav_item_link title=nav_item_title %}
|
||||||
</a>
|
{% else %}
|
||||||
{% else %}
|
{% translate "Mark Completed" as nav_item_title %}
|
||||||
<a class="btn btn-success" href="{% url 'srp:mark_completed' fleet_id %}">
|
{% url "srp:mark_completed" fleet_id as nav_item_link %}
|
||||||
{% translate "Mark Completed" %}
|
{% include "framework/header/nav-collapse-button.html" with btn_modifier="warning" url=nav_item_link title=nav_item_title %}
|
||||||
</a>
|
{% endif %}
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock header_nav_collapse_right %}
|
{% endblock header_nav_collapse_right %}
|
||||||
|
|
||||||
|
|||||||
@@ -22,11 +22,9 @@
|
|||||||
{% endblock header_nav_collapse_left %}
|
{% endblock header_nav_collapse_left %}
|
||||||
{% block header_nav_collapse_right %}
|
{% block header_nav_collapse_right %}
|
||||||
{% if perms.srp.add_srpfleetmain or perms.auth.srp_management %}
|
{% if perms.srp.add_srpfleetmain or perms.auth.srp_management %}
|
||||||
<li class="nav-item">
|
{% translate "Add SRP Fleet" as nav_item_title %}
|
||||||
<a class="btn btn-success" href="{% url 'srp:add' %}">
|
{% url "srp:add" as nav_item_link %}
|
||||||
{% translate "Add SRP Fleet" %}
|
{% include "framework/header/nav-collapse-button.html" with btn_modifier="success" url=nav_item_link title=nav_item_title fa_icon="fa-solid fa-plus" icon_on_mobile=True %}
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock header_nav_collapse_right %}
|
{% endblock header_nav_collapse_right %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|||||||
27
allianceauth/srp/tests/test_form.py
Normal file
27
allianceauth/srp/tests/test_form.py
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
from allianceauth.srp.form import SrpFleetUserRequestForm
|
||||||
|
|
||||||
|
|
||||||
|
class TestForms(TestCase):
|
||||||
|
|
||||||
|
def test_allow_missing_trailing_slash_zkillboard(self):
|
||||||
|
form = SrpFleetUserRequestForm(
|
||||||
|
data = {
|
||||||
|
"killboard_link": "https://zkillboard.com/kill/130429493",
|
||||||
|
"additional_info": "Details",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
form.cleaned_data = {"killboard_link": "https://zkillboard.com/kill/130429493"}
|
||||||
|
|
||||||
|
self.assertEqual("https://zkillboard.com/kill/130429493/", form.clean_killboard_link())
|
||||||
|
|
||||||
|
def test_not_add_trailling_slash_kb_evetools(self):
|
||||||
|
form = SrpFleetUserRequestForm(
|
||||||
|
data = {
|
||||||
|
"killboard_link": "https://kb.evetools.org/kill/130429493",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
form.cleaned_data = {"killboard_link": "https://kb.evetools.org/kill/130429493"}
|
||||||
|
|
||||||
|
self.assertEqual("https://kb.evetools.org/kill/130429493", form.clean_killboard_link())
|
||||||
@@ -0,0 +1,207 @@
|
|||||||
|
/* global fetchGet, numberFormatter, taskQueueSettings */
|
||||||
|
|
||||||
|
$(document).ready(() => {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const elements = {
|
||||||
|
total: document.getElementById('total-task-count'),
|
||||||
|
uptime: document.getElementById('celery-uptime'),
|
||||||
|
running: document.getElementById('running-task-count'),
|
||||||
|
queued: document.getElementById('queued-tasks-count'),
|
||||||
|
succeeded: document.getElementById('succeeded-tasks-count'),
|
||||||
|
retried: document.getElementById('retried-tasks-count'),
|
||||||
|
failed: document.getElementById('failed-tasks-count')
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fetches the task queue status and updates the UI elements accordingly.
|
||||||
|
* It retrieves the total number of tasks, running tasks, queued tasks,
|
||||||
|
* succeeded tasks, retried tasks, and failed tasks, and updates the
|
||||||
|
* corresponding HTML elements with the fetched data.
|
||||||
|
* It also updates the progress bars for succeeded, retried, and failed tasks.
|
||||||
|
* The function is called immediately and then every 30 seconds to keep the
|
||||||
|
* task queue status up to date.
|
||||||
|
*/
|
||||||
|
const updateTaskCount = () => {
|
||||||
|
fetchGet({url: taskQueueSettings.url})
|
||||||
|
.then((data) => {
|
||||||
|
const elemProgressBar = document.getElementById('celery-tasks-progress-bar');
|
||||||
|
const progressElements = {
|
||||||
|
succeeded: {
|
||||||
|
bar: document.getElementById('celery-progress-bar-succeeded'),
|
||||||
|
text: document.getElementById('celery-progress-bar-succeeded-progress')
|
||||||
|
},
|
||||||
|
retried: {
|
||||||
|
bar: document.getElementById('celery-progress-bar-retried'),
|
||||||
|
text: document.getElementById('celery-progress-bar-retried-progress')
|
||||||
|
},
|
||||||
|
failed: {
|
||||||
|
bar: document.getElementById('celery-progress-bar-failed'),
|
||||||
|
text: document.getElementById('celery-progress-bar-failed-progress')
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Assign progress data from the fetched data to variables
|
||||||
|
const {
|
||||||
|
earliest_task: earliestTask,
|
||||||
|
tasks_total: tasksTotal,
|
||||||
|
tasks_running: tasksRunning,
|
||||||
|
tasks_queued: tasksQueued,
|
||||||
|
tasks_succeeded: tasksSucceeded,
|
||||||
|
tasks_retried: tasksRetried,
|
||||||
|
tasks_failed: tasksFailed
|
||||||
|
} = data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the text content of the specified HTML element with the given value.
|
||||||
|
* If the value is null, it sets the text to 'N/A'.
|
||||||
|
* Otherwise, it formats the number using the locale-specific format.
|
||||||
|
*
|
||||||
|
* @param {HTMLElement} element The HTML element to update.
|
||||||
|
* @param {number|null} value The value to set in the element.
|
||||||
|
*/
|
||||||
|
const updateTaskCount = (element, value) => {
|
||||||
|
element.textContent = value === null ? taskQueueSettings.l10n.na : numberFormatter({value: value, locales: taskQueueSettings.l10n.language});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculates the time since the given timestamp and returns a formatted string.
|
||||||
|
* If the timestamp is null or undefined, it returns 'N/A'.
|
||||||
|
* The returned string is in the format of "X hours, Y minutes" or "X minutes, Y seconds".
|
||||||
|
*
|
||||||
|
* @param {string|null} timestamp The timestamp to calculate the time since.
|
||||||
|
* @returns {string} A formatted string representing the time since the timestamp.
|
||||||
|
*/
|
||||||
|
const timeSince = (timestamp) => {
|
||||||
|
if (!timestamp) {
|
||||||
|
return taskQueueSettings.l10n.na;
|
||||||
|
}
|
||||||
|
|
||||||
|
const diffSecs = Math.floor((Date.now() - new Date(timestamp)) / 1000);
|
||||||
|
|
||||||
|
if (diffSecs >= 3600) {
|
||||||
|
const hours = Math.floor(diffSecs / 3600);
|
||||||
|
const minutes = Math.floor((diffSecs % 3600) / 60);
|
||||||
|
|
||||||
|
if (minutes > 0) {
|
||||||
|
const hourText = hours === 1 ? taskQueueSettings.l10n.hour_singular : taskQueueSettings.l10n.hour_plural;
|
||||||
|
const minuteText = minutes === 1 ? taskQueueSettings.l10n.minute_singular : taskQueueSettings.l10n.minute_plural;
|
||||||
|
|
||||||
|
return `${hours} ${hourText}, ${minutes} ${minuteText}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
const hourText = hours === 1 ? taskQueueSettings.l10n.hour_singular : taskQueueSettings.l10n.hour_plural;
|
||||||
|
|
||||||
|
return `${hours} ${hourText}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
const units = [
|
||||||
|
[
|
||||||
|
60,
|
||||||
|
taskQueueSettings.l10n.minute_singular,
|
||||||
|
taskQueueSettings.l10n.minute_plural
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1,
|
||||||
|
taskQueueSettings.l10n.second_singular,
|
||||||
|
taskQueueSettings.l10n.second_plural
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const [seconds, singular, plural] of units) {
|
||||||
|
const value = Math.floor(diffSecs / seconds);
|
||||||
|
|
||||||
|
if (value > 0) {
|
||||||
|
return `${value} ${value > 1 ? plural : singular}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return `0 ${taskQueueSettings.l10n.second_plural}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the progress bar element and its text content based on the given value and total.
|
||||||
|
* It calculates the percentage of completion and updates the aria attributes and styles accordingly.
|
||||||
|
*
|
||||||
|
* @param {HTMLElement} element The progress bar element to update.
|
||||||
|
* @param {HTMLElement} textElement The text element to update with the percentage.
|
||||||
|
* @param {number} value The current value to set in the progress bar.
|
||||||
|
* @param {number} total The total value for calculating the percentage.
|
||||||
|
*/
|
||||||
|
const updateProgressBar = (element, textElement, value, total) => {
|
||||||
|
const percentage = total ? (value / total) * 100 : 0;
|
||||||
|
|
||||||
|
element.setAttribute('aria-valuenow', percentage.toString());
|
||||||
|
textElement.textContent = `${numberFormatter({value: percentage.toFixed(0), locales: taskQueueSettings.l10n.language})}%`;
|
||||||
|
element.style.width = `${percentage}%`;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Update task counts
|
||||||
|
[
|
||||||
|
[elements.total, tasksTotal],
|
||||||
|
[elements.running, tasksRunning],
|
||||||
|
[elements.queued, tasksQueued],
|
||||||
|
[elements.succeeded, tasksSucceeded],
|
||||||
|
[elements.retried, tasksRetried],
|
||||||
|
[elements.failed, tasksFailed]
|
||||||
|
].forEach(([element, value]) => {
|
||||||
|
updateTaskCount(element, value);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Update uptime
|
||||||
|
elements.uptime.textContent = timeSince(earliestTask);
|
||||||
|
|
||||||
|
// Update progress bar title
|
||||||
|
const [
|
||||||
|
titleTextSucceeded,
|
||||||
|
titleTextRetried,
|
||||||
|
titleTextFailed
|
||||||
|
] = [
|
||||||
|
[tasksSucceeded, taskQueueSettings.l10n.succeeded],
|
||||||
|
[tasksRetried, taskQueueSettings.l10n.retried],
|
||||||
|
[tasksFailed, taskQueueSettings.l10n.failed]
|
||||||
|
].map(([count, label]) => {
|
||||||
|
return `${numberFormatter({value: count, locales: taskQueueSettings.l10n.language})} ${label}`;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Set the title attribute for the progress bar
|
||||||
|
elemProgressBar.setAttribute(
|
||||||
|
'title',
|
||||||
|
`${titleTextSucceeded}, ${titleTextRetried}, ${titleTextFailed}`
|
||||||
|
);
|
||||||
|
|
||||||
|
// Update progress bars
|
||||||
|
[
|
||||||
|
tasksSucceeded,
|
||||||
|
tasksRetried,
|
||||||
|
tasksFailed
|
||||||
|
].forEach((count, index) => {
|
||||||
|
const type = ['succeeded', 'retried', 'failed'][index];
|
||||||
|
|
||||||
|
updateProgressBar(
|
||||||
|
progressElements[type].bar,
|
||||||
|
progressElements[type].text,
|
||||||
|
count,
|
||||||
|
tasksTotal
|
||||||
|
);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.error('Error fetching task queue:', error);
|
||||||
|
|
||||||
|
// If there is an error fetching the task queue, set all elements to 'ERROR'
|
||||||
|
[
|
||||||
|
elements.running,
|
||||||
|
elements.queued,
|
||||||
|
elements.succeeded,
|
||||||
|
elements.retried,
|
||||||
|
elements.failed
|
||||||
|
].forEach((elem) => {
|
||||||
|
elem.textContent = taskQueueSettings.l10n.error;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
updateTaskCount();
|
||||||
|
setInterval(updateTaskCount, 30000);
|
||||||
|
});
|
||||||
57
allianceauth/static/allianceauth/js/sidebar.js
Normal file
57
allianceauth/static/allianceauth/js/sidebar.js
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
$(document).ready(() => {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Collect all badges in the sidebar menu that are not part of a collapsible submenu, and calculate the total notification count.
|
||||||
|
* Show a total notification badge in the navbar if there are any notifications.
|
||||||
|
*/
|
||||||
|
const totalNotificationsBadge = () => {
|
||||||
|
const badges = [];
|
||||||
|
let notificationCount = 0;
|
||||||
|
|
||||||
|
document.querySelectorAll('#sidebar-menu .badge').forEach(b => {
|
||||||
|
const li = b.closest('li');
|
||||||
|
|
||||||
|
if (!li || !li.querySelector('ul.collapse')) {
|
||||||
|
badges.push(b);
|
||||||
|
notificationCount += parseInt(b.textContent);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (badges.length > 0 && notificationCount > 0) {
|
||||||
|
const notificationBadge = document.createElement('span');
|
||||||
|
notificationBadge.id = "globalNotificationCount";
|
||||||
|
notificationBadge.classList.add(
|
||||||
|
'badge',
|
||||||
|
'text-bg-danger',
|
||||||
|
'align-self-center',
|
||||||
|
'sidemenu-notification-badge',
|
||||||
|
'sidemenu-total-notifications-badge'
|
||||||
|
);
|
||||||
|
notificationBadge.textContent = String(notificationCount);
|
||||||
|
|
||||||
|
document.querySelector('a.navbar-brand i.fa-solid').prepend(notificationBadge);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find the active child menu item in the sidebar menu, if any, and ensure its parent submenu is expanded.
|
||||||
|
*/
|
||||||
|
const expandChildMenu = () => {
|
||||||
|
const activeChildMenuItem = document.querySelector('ul#sidebar-menu ul.collapse a.active');
|
||||||
|
|
||||||
|
if (activeChildMenuItem) {
|
||||||
|
const activeChildMenuUl = activeChildMenuItem.closest('ul');
|
||||||
|
activeChildMenuUl.classList.add('show');
|
||||||
|
|
||||||
|
document.querySelectorAll(`[data-bs-target^="#${activeChildMenuUl.id}"]`)
|
||||||
|
.forEach(element => element.setAttribute('aria-expanded', 'true'));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Execute functions on document ready
|
||||||
|
[
|
||||||
|
totalNotificationsBadge,
|
||||||
|
expandChildMenu
|
||||||
|
].forEach(fn => fn());
|
||||||
|
});
|
||||||
5
allianceauth/static/allianceauth/libs/DataTables/2.3.6/css/dataTables.bootstrap5.min.css
vendored
Normal file
5
allianceauth/static/allianceauth/libs/DataTables/2.3.6/css/dataTables.bootstrap5.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
4
allianceauth/static/allianceauth/libs/DataTables/2.3.6/js/dataTables.bootstrap5.min.js
vendored
Normal file
4
allianceauth/static/allianceauth/libs/DataTables/2.3.6/js/dataTables.bootstrap5.min.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
/*! DataTables Bootstrap 5 integration
|
||||||
|
* © SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
(n=>{var o,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(t){return n(t,window,document)}):"object"==typeof exports?(o=require("jquery"),a=function(t,e){e.fn.dataTable||require("datatables.net")(t,e)},"undefined"==typeof window?module.exports=function(t,e){return t=t||window,e=e||o(t),a(t,e),n(e,0,t.document)}:(a(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)})(function(d,t,e){var n=d.fn.dataTable;return d.extend(!0,n.defaults,{renderer:"bootstrap"}),d.extend(!0,n.ext.classes,{container:"dt-container dt-bootstrap5",search:{input:"form-control form-control-sm"},length:{select:"form-select form-select-sm"},processing:{container:"dt-processing card"},layout:{row:"row mt-2 justify-content-between",cell:"d-md-flex justify-content-between align-items-center",tableCell:"col-12",start:"dt-layout-start col-md-auto me-auto",end:"dt-layout-end col-md-auto ms-auto",full:"dt-layout-full col-md"}}),n.ext.renderer.pagingButton.bootstrap=function(t,e,n,o,a){var r=["dt-paging-button","page-item"],o=(o&&r.push("active"),a&&r.push("disabled"),d("<li>").addClass(r.join(" ")));return{display:o,clicker:d("<button>",{class:"page-link",role:"link",type:"button"}).html(n).appendTo(o)}},n.ext.renderer.pagingContainer.bootstrap=function(t,e){return d("<ul/>").addClass("pagination").append(e)},n});
|
||||||
4
allianceauth/static/allianceauth/libs/DataTables/2.3.6/js/dataTables.min.js
vendored
Normal file
4
allianceauth/static/allianceauth/libs/DataTables/2.3.6/js/dataTables.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,4 @@
|
|||||||
|
/*! Bootstrap 5 styling wrapper for ColumnControl
|
||||||
|
* © SpryMedia Ltd - datatables.net/license
|
||||||
|
*/
|
||||||
|
(e=>{var t,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs5","datatables.net-columncontrol"],function(o){return e(o,window,document)}):"object"==typeof exports?(t=require("jquery"),r=function(o,n){n.fn.dataTable||require("datatables.net-bs5")(o,n),n.fn.dataTable.ColumnControl||require("datatables.net-columncontrol")(o,n)},"undefined"==typeof window?module.exports=function(o,n){return o=o||window,n=n||t(o),r(o,n),e(n,0,o.document)}:(r(window,t),module.exports=e(t,window,window.document))):e(jQuery,window,document)})(function(o,n,e){o=o.fn.dataTable;return o.ColumnControl.content.dropdown.classes.container=["dtcc-dropdown","dropdown-menu","show"],o.ColumnControl.CheckList.classes.input=["dtcc-list-search","form-control","form-control-sm"],o.ColumnControl.SearchInput.classes.input=["form-control","form-control-sm"],o.ColumnControl.SearchInput.classes.select=["form-select","form-select-sm"],o});
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,84 +0,0 @@
|
|||||||
{
|
|
||||||
"emptyTable": "テーブルにデータがありません",
|
|
||||||
"info": " _TOTAL_ 件中 _START_ から _END_ まで表示",
|
|
||||||
"infoEmpty": " 0 件中 0 から 0 まで表示",
|
|
||||||
"infoFiltered": "(全 _MAX_ 件より抽出)",
|
|
||||||
"infoThousands": ",",
|
|
||||||
"lengthMenu": "_MENU_ 件表示",
|
|
||||||
"loadingRecords": "読み込み中...",
|
|
||||||
"processing": "処理中...",
|
|
||||||
"search": "検索:",
|
|
||||||
"zeroRecords": "一致するレコードがありません",
|
|
||||||
"paginate": {
|
|
||||||
"first": "先頭",
|
|
||||||
"last": "最終",
|
|
||||||
"next": "次",
|
|
||||||
"previous": "前"
|
|
||||||
},
|
|
||||||
"aria": {
|
|
||||||
"sortAscending": ": 列を昇順に並べ替えるにはアクティブにする",
|
|
||||||
"sortDescending": ": 列を降順に並べ替えるにはアクティブにする"
|
|
||||||
},
|
|
||||||
"thousands": ",",
|
|
||||||
"buttons": {
|
|
||||||
"colvis": "項目の表示\/非表示",
|
|
||||||
"csv": "CSVをダウンロード",
|
|
||||||
"collection": "コレクション"
|
|
||||||
},
|
|
||||||
"searchBuilder": {
|
|
||||||
"add": "条件を追加",
|
|
||||||
"button": {
|
|
||||||
"0": "カスタムサーチ",
|
|
||||||
"_": "カスタムサーチ (%d)"
|
|
||||||
},
|
|
||||||
"clearAll": "すべての条件をクリア",
|
|
||||||
"condition": "条件",
|
|
||||||
"conditions": {
|
|
||||||
"date": {
|
|
||||||
"after": "次の日付以降",
|
|
||||||
"before": "次の日付以前",
|
|
||||||
"between": "次の期間に含まれる",
|
|
||||||
"empty": "空白",
|
|
||||||
"equals": "次の日付と等しい",
|
|
||||||
"not": "次の日付と等しくない",
|
|
||||||
"notBetween": "次の期間に含まれない",
|
|
||||||
"notEmpty": "空白ではない"
|
|
||||||
},
|
|
||||||
"number": {
|
|
||||||
"between": "次の値の間に含まれる",
|
|
||||||
"empty": "空白",
|
|
||||||
"equals": "次の値と等しい",
|
|
||||||
"gt": "次の値よりも大きい",
|
|
||||||
"gte": "次の値以上",
|
|
||||||
"lt": "次の値未満",
|
|
||||||
"lte": "次の値以下",
|
|
||||||
"not": "次の値と等しくない",
|
|
||||||
"notBetween": "次の値の間に含まれない",
|
|
||||||
"notEmpty": "空白ではない"
|
|
||||||
},
|
|
||||||
"string": {
|
|
||||||
"contains": "次の文字を含む",
|
|
||||||
"empty": "空白",
|
|
||||||
"endsWith": "次の文字で終わる",
|
|
||||||
"equals": "次の文字と等しい",
|
|
||||||
"not": "次の文字と等しくない",
|
|
||||||
"notEmpty": "空白ではない",
|
|
||||||
"startsWith": "次の文字から始まる",
|
|
||||||
"notContains": "次の文字を含まない",
|
|
||||||
"notStartsWith": "次の文字で始まらない",
|
|
||||||
"notEndsWith": "次の文字で終わらない"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"data": "項目",
|
|
||||||
"title": {
|
|
||||||
"0": "カスタムサーチ",
|
|
||||||
"_": "カスタムサーチ (%d)"
|
|
||||||
},
|
|
||||||
"value": "値"
|
|
||||||
},
|
|
||||||
"autoFill": {
|
|
||||||
"cancel": "キャンセル",
|
|
||||||
"fillHorizontal": "横でセルを書き込む",
|
|
||||||
"fillVertical": "縦でセルを書き込む"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
{
|
|
||||||
"emptyTable": "데이터가 없습니다",
|
|
||||||
"info": "_START_ - _END_ \/ _TOTAL_",
|
|
||||||
"infoEmpty": "0 - 0 \/ 0",
|
|
||||||
"infoFiltered": "(총 _MAX_ 개)",
|
|
||||||
"infoThousands": ",",
|
|
||||||
"lengthMenu": "페이지당 줄수 _MENU_",
|
|
||||||
"loadingRecords": "읽는중...",
|
|
||||||
"processing": "처리중...",
|
|
||||||
"search": "검색:",
|
|
||||||
"zeroRecords": "검색 결과가 없습니다",
|
|
||||||
"paginate": {
|
|
||||||
"first": "처음",
|
|
||||||
"last": "마지막",
|
|
||||||
"next": "다음",
|
|
||||||
"previous": "이전"
|
|
||||||
},
|
|
||||||
"aria": {
|
|
||||||
"sortAscending": ": 오름차순 정렬",
|
|
||||||
"sortDescending": ": 내림차순 정렬"
|
|
||||||
},
|
|
||||||
"buttons": {
|
|
||||||
"copyKeys": "ctrl키 나 u2318 + C키로 테이블 데이터를 시스텝 복사판에서 복사하고 취소하려면 이 메시지를 클릭하거나 ESC키를 누르면됩니다. to copy the table data to your system clipboard. To cancel, click this message or press escape.",
|
|
||||||
"copySuccess": {
|
|
||||||
"_": "%d행을 복사판에서 복사됨",
|
|
||||||
"1": "1행을 복사판에서 복사됨"
|
|
||||||
},
|
|
||||||
"copyTitle": "복사판에서 복사",
|
|
||||||
"csv": "CSV",
|
|
||||||
"pageLength": {
|
|
||||||
"-1": "모든 행 보기",
|
|
||||||
"_": "%d행 보기"
|
|
||||||
},
|
|
||||||
"pdf": "PDF",
|
|
||||||
"print": "인쇄",
|
|
||||||
"collection": "집합 <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
|
||||||
"colvis": "컬럼 보기",
|
|
||||||
"colvisRestore": "보기 복원",
|
|
||||||
"copy": "복사",
|
|
||||||
"excel": "엑셀"
|
|
||||||
},
|
|
||||||
"searchBuilder": {
|
|
||||||
"add": "조건 추가",
|
|
||||||
"button": {
|
|
||||||
"0": "빌더 조회",
|
|
||||||
"_": "빌더 조회(%d)"
|
|
||||||
},
|
|
||||||
"clearAll": "모두 지우기",
|
|
||||||
"condition": "조건",
|
|
||||||
"data": "데이터",
|
|
||||||
"deleteTitle": "필터 규칙을 삭제",
|
|
||||||
"logicAnd": "And",
|
|
||||||
"logicOr": "Or",
|
|
||||||
"title": {
|
|
||||||
"0": "빌더 조회",
|
|
||||||
"_": "빌더 조회(%d)"
|
|
||||||
},
|
|
||||||
"value": "값"
|
|
||||||
},
|
|
||||||
"autoFill": {
|
|
||||||
"cancel": "취소",
|
|
||||||
"fill": "모든 셀에서 <i>%d<i>을(를) 삽입<\/i><\/i>",
|
|
||||||
"fillHorizontal": "수평 셀에서 값을 삽입",
|
|
||||||
"fillVertical": "수직 설에서 값을 삽입"
|
|
||||||
},
|
|
||||||
"datetime": {
|
|
||||||
"previous": "이전",
|
|
||||||
"next": "다음",
|
|
||||||
"hours": "시",
|
|
||||||
"minutes": "분",
|
|
||||||
"seconds": "초",
|
|
||||||
"unknown": "-",
|
|
||||||
"amPm": [
|
|
||||||
"오전",
|
|
||||||
"오후"
|
|
||||||
],
|
|
||||||
"weekdays": [
|
|
||||||
"일",
|
|
||||||
"월",
|
|
||||||
"화",
|
|
||||||
"수",
|
|
||||||
"목",
|
|
||||||
"금",
|
|
||||||
"토"
|
|
||||||
],
|
|
||||||
"months": [
|
|
||||||
"1월",
|
|
||||||
"2월",
|
|
||||||
"3월",
|
|
||||||
"4월",
|
|
||||||
"5월",
|
|
||||||
"6월",
|
|
||||||
"7월",
|
|
||||||
"8월",
|
|
||||||
"9월",
|
|
||||||
"10월",
|
|
||||||
"11월",
|
|
||||||
"12월"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"editor": {
|
|
||||||
"close": "닫기",
|
|
||||||
"create": {
|
|
||||||
"button": "추가",
|
|
||||||
"title": "항목 추가",
|
|
||||||
"submit": "완료"
|
|
||||||
},
|
|
||||||
"edit": {
|
|
||||||
"button": "수정",
|
|
||||||
"title": "항목 수정",
|
|
||||||
"submit": "완료"
|
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "삭제",
|
|
||||||
"title": "항목 삭제",
|
|
||||||
"submit": "완료"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"system": "에러가 발생하였습니다 (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">자세한 정보<\/a>)."
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,186 +0,0 @@
|
|||||||
{
|
|
||||||
"lengthMenu": "Показати _MENU_ записів",
|
|
||||||
"infoFiltered": "(відфільтровано з _MAX_ записів)",
|
|
||||||
"search": "Пошук:",
|
|
||||||
"paginate": {
|
|
||||||
"first": "Перша",
|
|
||||||
"previous": "Попередня",
|
|
||||||
"next": "Наступна",
|
|
||||||
"last": "Остання"
|
|
||||||
},
|
|
||||||
"aria": {
|
|
||||||
"sortAscending": ": активуйте, щоб сортувати колонку за зростанням",
|
|
||||||
"sortDescending": ": активуйте, щоб сортувати колонку за спаданням"
|
|
||||||
},
|
|
||||||
"autoFill": {
|
|
||||||
"cancel": "Відміна",
|
|
||||||
"fill": "Заповнити всі клітинки з <i>%d<\/i>",
|
|
||||||
"fillHorizontal": "Заповнити клітинки горизонтально",
|
|
||||||
"fillVertical": "Заповнити клітинки вертикально"
|
|
||||||
},
|
|
||||||
"buttons": {
|
|
||||||
"collection": "Список <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
|
||||||
"colvis": "Видимість колонки",
|
|
||||||
"colvisRestore": "Відновити видимість",
|
|
||||||
"copy": "Копіювати",
|
|
||||||
"copyKeys": "Нажміть ctrl або u2318 + C щоб копіювати інформацію з таблиці до вашого буферу обміну.<br \/><br \/>Щоб відмінити нажміть на це повідомлення або Esc",
|
|
||||||
"copySuccess": {
|
|
||||||
"1": "Скопійовано 1 рядок в буфер обміну",
|
|
||||||
"_": "Скопійовано %d рядків в буфер обміну"
|
|
||||||
},
|
|
||||||
"copyTitle": "Копіювати в буфер обміну",
|
|
||||||
"csv": "CSV",
|
|
||||||
"excel": "Excel",
|
|
||||||
"pageLength": {
|
|
||||||
"-1": "Показати усі рядки",
|
|
||||||
"_": "Показати %d рядки"
|
|
||||||
},
|
|
||||||
"pdf": "PDF",
|
|
||||||
"print": "Друкувати"
|
|
||||||
},
|
|
||||||
"emptyTable": "Ця таблиця не містить даних",
|
|
||||||
"info": "Показано від _START_ по _END_ з _TOTAL_ записів",
|
|
||||||
"infoEmpty": "Показано від 0 по 0 з 0 записів",
|
|
||||||
"infoThousands": ",",
|
|
||||||
"loadingRecords": "Завантаження",
|
|
||||||
"processing": "Опрацювання...",
|
|
||||||
"searchBuilder": {
|
|
||||||
"add": "Додати умову",
|
|
||||||
"button": {
|
|
||||||
"0": "Розширений пошук",
|
|
||||||
"_": "Розширений пошук (%d)"
|
|
||||||
},
|
|
||||||
"clearAll": "Очистити все",
|
|
||||||
"condition": "Умова",
|
|
||||||
"conditions": {
|
|
||||||
"date": {
|
|
||||||
"after": "Після",
|
|
||||||
"before": "До",
|
|
||||||
"between": "Між",
|
|
||||||
"empty": "Пусто",
|
|
||||||
"equals": "Дорівнює",
|
|
||||||
"not": "Не",
|
|
||||||
"notBetween": "Не між",
|
|
||||||
"notEmpty": "Не пусто"
|
|
||||||
},
|
|
||||||
"number": {
|
|
||||||
"between": "Між",
|
|
||||||
"empty": "Пусто",
|
|
||||||
"equals": "Дорівнює",
|
|
||||||
"gt": "Більше ніж",
|
|
||||||
"gte": "Більше або дорівнює",
|
|
||||||
"lt": "Менше ніж",
|
|
||||||
"lte": "Менше або дорівнює",
|
|
||||||
"not": "Не",
|
|
||||||
"notBetween": "Не між",
|
|
||||||
"notEmpty": "Не пусто"
|
|
||||||
},
|
|
||||||
"string": {
|
|
||||||
"contains": "Містить",
|
|
||||||
"empty": "Пусто",
|
|
||||||
"endsWith": "Закінчується з",
|
|
||||||
"equals": "Дорівнює",
|
|
||||||
"not": "Не",
|
|
||||||
"notEmpty": "Не пусто",
|
|
||||||
"startsWith": "Починається з",
|
|
||||||
"notContains": "Не містить",
|
|
||||||
"notStartsWith": "Не починається з",
|
|
||||||
"notEndsWith": "Не закінчується на"
|
|
||||||
},
|
|
||||||
"array": {
|
|
||||||
"equals": "Дорівнює",
|
|
||||||
"empty": "Пустий",
|
|
||||||
"contains": "Містить",
|
|
||||||
"not": "Не",
|
|
||||||
"notEmpty": "Не пустий",
|
|
||||||
"without": "Без"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"data": "Дата",
|
|
||||||
"deleteTitle": "Видалити правило фільтрування",
|
|
||||||
"leftTitle": "Відступні критерії",
|
|
||||||
"logicAnd": "I",
|
|
||||||
"logicOr": "Або",
|
|
||||||
"rightTitle": "Відступні критерії",
|
|
||||||
"title": {
|
|
||||||
"0": "Розширений пошук",
|
|
||||||
"_": "Розширений пошук (%d)"
|
|
||||||
},
|
|
||||||
"value": "Значення"
|
|
||||||
},
|
|
||||||
"searchPanes": {
|
|
||||||
"clearMessage": "Очистити все",
|
|
||||||
"collapse": {
|
|
||||||
"0": "Пошукові Панелі",
|
|
||||||
"_": "Пошукові Панелі (%d)"
|
|
||||||
},
|
|
||||||
"count": "{total}",
|
|
||||||
"countFiltered": "{shown} ({total})",
|
|
||||||
"emptyPanes": "Немає Пошукових Панелей",
|
|
||||||
"loadMessage": "Завантаження Пошукових Панелей",
|
|
||||||
"title": "Активній фільтри - %d",
|
|
||||||
"showMessage": "Показати всі",
|
|
||||||
"collapseMessage": "Приховати всі"
|
|
||||||
},
|
|
||||||
"select": {
|
|
||||||
"cells": {
|
|
||||||
"1": "1 клітинку вибрано",
|
|
||||||
"_": "%d клітинок вибрано"
|
|
||||||
},
|
|
||||||
"columns": {
|
|
||||||
"1": "1 колонку вибрано",
|
|
||||||
"_": "%d колонок вибрано"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"thousands": ",",
|
|
||||||
"zeroRecords": "Не знайдено жодних записів",
|
|
||||||
"editor": {
|
|
||||||
"close": "Закрити",
|
|
||||||
"create": {
|
|
||||||
"button": "Cтворити нову",
|
|
||||||
"title": "Cтворити новий запис",
|
|
||||||
"submit": "Cтворити"
|
|
||||||
},
|
|
||||||
"edit": {
|
|
||||||
"button": "Редагувати",
|
|
||||||
"title": "Редагувати запис",
|
|
||||||
"submit": "Оновити"
|
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "Видалити",
|
|
||||||
"title": "Видалити",
|
|
||||||
"submit": "Видалити"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"datetime": {
|
|
||||||
"minutes": "Хвилина",
|
|
||||||
"months": {
|
|
||||||
"0": "Січень",
|
|
||||||
"1": "Лютий",
|
|
||||||
"10": "Листопад",
|
|
||||||
"11": "Грудень",
|
|
||||||
"2": "Березень",
|
|
||||||
"3": "Квітень",
|
|
||||||
"4": "Травень",
|
|
||||||
"5": "Червень",
|
|
||||||
"6": "Липень",
|
|
||||||
"7": "Серпень",
|
|
||||||
"8": "Вересень",
|
|
||||||
"9": "Жовтень"
|
|
||||||
},
|
|
||||||
"next": "Наступні",
|
|
||||||
"previous": "Попередні",
|
|
||||||
"seconds": "Секунда",
|
|
||||||
"unknown": "-",
|
|
||||||
"weekdays": [
|
|
||||||
"Неділя",
|
|
||||||
"Понеділок",
|
|
||||||
"Вівторок",
|
|
||||||
"Середа",
|
|
||||||
"Четверг",
|
|
||||||
"П'ятниця",
|
|
||||||
"Субота"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"searchPlaceholder": "Пошук"
|
|
||||||
}
|
|
||||||
@@ -1,21 +1,140 @@
|
|||||||
{
|
{
|
||||||
|
"aria": {
|
||||||
|
"paginate": {
|
||||||
|
"first": "První",
|
||||||
|
"last": "Poslední",
|
||||||
|
"next": "Další",
|
||||||
|
"previous": "Předchozí"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoFill": {
|
||||||
|
"cancel": "Zrušit",
|
||||||
|
"fill": "Vyplň všechny buňky textem <i>%d<i><\/i><\/i>",
|
||||||
|
"fillHorizontal": "Vyplň všechny buňky horizontálně",
|
||||||
|
"fillVertical": "Vyplň všechny buňky vertikálně",
|
||||||
|
"info": ""
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"collection": "Kolekce <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||||
|
"colvis": "Viditelnost sloupců",
|
||||||
|
"colvisRestore": "Resetovat sloupce",
|
||||||
|
"copy": "Kopírovat",
|
||||||
|
"copyKeys": "Zmáčkněte Ctrl nebo u2318 + C pro zkopírování dat. Pro zrušení klikněte na tuto zprávu nebo zmáčkněte Esc.",
|
||||||
|
"copySuccess": {
|
||||||
|
"_": "Zkopírováno %d řádků do schránky",
|
||||||
|
"1": "Zkopírován 1 řádek do schránky"
|
||||||
|
},
|
||||||
|
"copyTitle": "Kopírovat do schránky",
|
||||||
|
"createState": "Vytvořit stav",
|
||||||
|
"csv": "CSV",
|
||||||
|
"excel": "Excel",
|
||||||
|
"pageLength": {
|
||||||
|
"_": "Zobrazit %d řádků",
|
||||||
|
"-1": "Zobrazit všechny řádky"
|
||||||
|
},
|
||||||
|
"pdf": "PDF",
|
||||||
|
"print": "Tisknout",
|
||||||
|
"removeAllStates": "Vymazat všechny stavy",
|
||||||
|
"removeState": "Odstranit",
|
||||||
|
"renameState": "Odstranit",
|
||||||
|
"savedStates": "Uložit stavy",
|
||||||
|
"stateRestore": "Stav %d",
|
||||||
|
"updateState": "Aktualizovat"
|
||||||
|
},
|
||||||
|
"datetime": {
|
||||||
|
"amPm": {
|
||||||
|
"0": "Dopoledne",
|
||||||
|
"1": "Odpoledne"
|
||||||
|
},
|
||||||
|
"hours": "Hodiny",
|
||||||
|
"minutes": "Minuty",
|
||||||
|
"months": {
|
||||||
|
"0": "Leden",
|
||||||
|
"1": "Únor",
|
||||||
|
"10": "Listopad",
|
||||||
|
"11": "Prosinec",
|
||||||
|
"2": "Březen",
|
||||||
|
"3": "Duben",
|
||||||
|
"4": "Květen",
|
||||||
|
"5": "Červen",
|
||||||
|
"6": "Červenec",
|
||||||
|
"7": "Srpen",
|
||||||
|
"8": "Září",
|
||||||
|
"9": "Říjen"
|
||||||
|
},
|
||||||
|
"next": "Další",
|
||||||
|
"previous": "Předchozí",
|
||||||
|
"seconds": "Sekundy",
|
||||||
|
"unknown": "-",
|
||||||
|
"weekdays": {
|
||||||
|
"0": "Ne",
|
||||||
|
"1": "Po",
|
||||||
|
"2": "Út",
|
||||||
|
"3": "St",
|
||||||
|
"4": "Čt",
|
||||||
|
"5": "Pá",
|
||||||
|
"6": "So"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"decimal": "",
|
||||||
|
"editor": {
|
||||||
|
"close": "Zavřít",
|
||||||
|
"create": {
|
||||||
|
"button": "Nový",
|
||||||
|
"submit": "Vytvořit",
|
||||||
|
"title": "Nový záznam"
|
||||||
|
},
|
||||||
|
"edit": {
|
||||||
|
"button": "Změnit",
|
||||||
|
"submit": "Aktualizovat",
|
||||||
|
"title": "Změnit záznam"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"system": "Došlo k systémové chybě (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">Více informací<\/a>)."
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "Vybrané položky obsahují různé hodnoty pro tento vstup. Chcete-li upravit a nastavit všechny položky tohoto vstupu na stejnou hodnotu, klikněte nebo klepněte sem, jinak si zachovají své individuální hodnoty.",
|
||||||
|
"noMulti": "Toto pole může být upravováno individuálně, ale ne jako součást skupiny.",
|
||||||
|
"restore": "Vrátit změny",
|
||||||
|
"title": "Mnohočetný výběr"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Vymazat",
|
||||||
|
"confirm": {
|
||||||
|
"_": "Opravdu chcete smazat tyto %d řádky?",
|
||||||
|
"1": "Opravdu chcete smazat tento 1 řádek?"
|
||||||
|
},
|
||||||
|
"submit": "Vymazat",
|
||||||
|
"title": "Smazání"
|
||||||
|
}
|
||||||
|
},
|
||||||
"emptyTable": "Tabulka neobsahuje žádná data",
|
"emptyTable": "Tabulka neobsahuje žádná data",
|
||||||
"info": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů",
|
"info": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů",
|
||||||
"infoEmpty": "Zobrazuji 0 až 0 z 0 záznamů",
|
"infoEmpty": "Zobrazuji 0 až 0 z 0 záznamů",
|
||||||
"infoFiltered": "(filtrováno z celkem _MAX_ záznamů)",
|
"infoFiltered": "(filtrováno z celkem _MAX_ záznamů)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": " ",
|
||||||
|
"lengthMenu": "Zobrazit _MENU_ výsledků",
|
||||||
"loadingRecords": "Načítám...",
|
"loadingRecords": "Načítám...",
|
||||||
"zeroRecords": "Žádné záznamy nebyly nalezeny",
|
"processing": "Zpracovávání...",
|
||||||
"paginate": {
|
"search": "Vyhledávání:",
|
||||||
"first": "První",
|
|
||||||
"last": "Poslední",
|
|
||||||
"next": "Další",
|
|
||||||
"previous": "Předchozí"
|
|
||||||
},
|
|
||||||
"searchBuilder": {
|
"searchBuilder": {
|
||||||
"add": "Přidat podmínku",
|
"add": "Přidat podmínku",
|
||||||
|
"button": {
|
||||||
|
"_": "Rozšířený filtr (%d)",
|
||||||
|
"0": "Rozšířený filtr"
|
||||||
|
},
|
||||||
"clearAll": "Smazat vše",
|
"clearAll": "Smazat vše",
|
||||||
"condition": "Podmínka",
|
"condition": "Podmínka",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "obsahuje",
|
||||||
|
"empty": "prázdné",
|
||||||
|
"equals": "rovno",
|
||||||
|
"not": "není",
|
||||||
|
"notEmpty": "není prázdné",
|
||||||
|
"without": "neobsahuje"
|
||||||
|
},
|
||||||
"date": {
|
"date": {
|
||||||
"after": "po",
|
"after": "po",
|
||||||
"before": "před",
|
"before": "před",
|
||||||
@@ -44,176 +163,57 @@
|
|||||||
"endsWith": "končí na",
|
"endsWith": "končí na",
|
||||||
"equals": "rovno",
|
"equals": "rovno",
|
||||||
"not": "není",
|
"not": "není",
|
||||||
"notEmpty": "není prázdné",
|
|
||||||
"startsWith": "začíná na",
|
|
||||||
"notContains": "Podmínka",
|
"notContains": "Podmínka",
|
||||||
"notStartsWith": "Nezačíná",
|
|
||||||
"notEndsWith": "Nekončí"
|
|
||||||
},
|
|
||||||
"array": {
|
|
||||||
"equals": "rovno",
|
|
||||||
"empty": "prázdné",
|
|
||||||
"contains": "obsahuje",
|
|
||||||
"not": "není",
|
|
||||||
"notEmpty": "není prázdné",
|
"notEmpty": "není prázdné",
|
||||||
"without": "neobsahuje"
|
"notEndsWith": "Nekončí",
|
||||||
|
"notStartsWith": "Nezačíná",
|
||||||
|
"startsWith": "začíná na"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"data": "Sloupec",
|
"data": "Sloupec",
|
||||||
"logicAnd": "A",
|
|
||||||
"logicOr": "NEBO",
|
|
||||||
"title": {
|
|
||||||
"0": "Rozšířený filtr",
|
|
||||||
"_": "Rozšířený filtr (%d)"
|
|
||||||
},
|
|
||||||
"value": "Hodnota",
|
|
||||||
"button": {
|
|
||||||
"0": "Rozšířený filtr",
|
|
||||||
"_": "Rozšířený filtr (%d)"
|
|
||||||
},
|
|
||||||
"deleteTitle": "Smazat filtrovací pravidlo",
|
"deleteTitle": "Smazat filtrovací pravidlo",
|
||||||
"leftTitle": "Zrušení odsazení podmínky",
|
"leftTitle": "Zrušení odsazení podmínky",
|
||||||
"rightTitle": "Odsazení podmínky"
|
"logicAnd": "A",
|
||||||
},
|
"logicOr": "NEBO",
|
||||||
"autoFill": {
|
"rightTitle": "Odsazení podmínky",
|
||||||
"cancel": "Zrušit",
|
"title": {
|
||||||
"fill": "Vyplň všechny buňky textem <i>%d<i><\/i><\/i>",
|
"_": "Rozšířený filtr (%d)",
|
||||||
"fillHorizontal": "Vyplň všechny buňky horizontálně",
|
"0": "Rozšířený filtr"
|
||||||
"fillVertical": "Vyplň všechny buňky vertikálně",
|
|
||||||
"info": "Příklad automatického vyplňování"
|
|
||||||
},
|
|
||||||
"buttons": {
|
|
||||||
"collection": "Kolekce <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
|
||||||
"copy": "Kopírovat",
|
|
||||||
"copyTitle": "Kopírovat do schránky",
|
|
||||||
"csv": "CSV",
|
|
||||||
"excel": "Excel",
|
|
||||||
"pageLength": {
|
|
||||||
"-1": "Zobrazit všechny řádky",
|
|
||||||
"_": "Zobrazit %d řádků",
|
|
||||||
"1": "Zobraz 1 řádek"
|
|
||||||
},
|
},
|
||||||
"pdf": "PDF",
|
"value": "Hodnota"
|
||||||
"print": "Tisknout",
|
|
||||||
"colvis": "Viditelnost sloupců",
|
|
||||||
"colvisRestore": "Resetovat sloupce",
|
|
||||||
"copyKeys": "Zmáčkněte ctrl or u2318 + C pro zkopírování dat. Pro zrušení klikněte na tuto zprávu nebo zmáčkněte esc..",
|
|
||||||
"copySuccess": {
|
|
||||||
"1": "Zkopírován 1 řádek do schránky",
|
|
||||||
"_": "Zkopírováno %d řádků do schránky"
|
|
||||||
},
|
|
||||||
"createState": "Vytvořit Stav",
|
|
||||||
"removeAllStates": "Vymazat všechny Stavy",
|
|
||||||
"removeState": "Odstranit",
|
|
||||||
"renameState": "Odstranit",
|
|
||||||
"savedStates": "Uložit Stavy",
|
|
||||||
"stateRestore": "Stav %d",
|
|
||||||
"updateState": "Aktualizovat"
|
|
||||||
},
|
},
|
||||||
"searchPanes": {
|
"searchPanes": {
|
||||||
"clearMessage": "Smazat vše",
|
"clearMessage": "Smazat vše",
|
||||||
"collapse": {
|
"collapse": {
|
||||||
"0": "Vyhledávací Panely",
|
"_": "Vyhledávací panely (%d)",
|
||||||
"_": "Vyhledávací Panely (%d)"
|
"0": "Vyhledávací panely"
|
||||||
},
|
},
|
||||||
|
"collapseMessage": "Sbalit vše",
|
||||||
"count": "{total}",
|
"count": "{total}",
|
||||||
"countFiltered": "{shown} ({total})",
|
"countFiltered": "{shown} ({total})",
|
||||||
"emptyPanes": "Žádné Vyhledávací Panely",
|
"emptyPanes": "Žádné vyhledávací panely",
|
||||||
"loadMessage": "Načítám Vyhledávací Panely",
|
"loadMessage": "Načítám vyhledávací panely...",
|
||||||
"title": "Aktivních filtrů - %d",
|
"showMessage": "Zobrazit vše",
|
||||||
"showMessage": "Zobrazit Vše",
|
"title": "Aktivních filtrů - %d"
|
||||||
"collapseMessage": "Sbalit Vše"
|
|
||||||
},
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
"select": {
|
"select": {
|
||||||
"cells": {
|
"cells": {
|
||||||
"1": "Vybrán 1 záznam",
|
"_": "Vybráno %d záznamů",
|
||||||
"_": "Vybráno %d záznamů"
|
"0": "",
|
||||||
|
"1": "Vybrán 1 záznam"
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"1": "Vybrán 1 sloupec",
|
"_": "Vybráno %d sloupců",
|
||||||
"_": "Vybráno %d sloupců"
|
"0": "",
|
||||||
|
"1": "Vybrán 1 sloupec"
|
||||||
},
|
},
|
||||||
"rows": {
|
"rows": {
|
||||||
"1": "Vybrán 1 řádek",
|
"_": "Vybráno %d řádků",
|
||||||
"_": "Vybráno %d řádků"
|
"0": "",
|
||||||
|
"1": "Vybrán 1 řádek"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"aria": {
|
|
||||||
"sortAscending": "Aktivujte pro seřazení vzestupně",
|
|
||||||
"sortDescending": "Aktivujte pro seřazení sestupně"
|
|
||||||
},
|
|
||||||
"lengthMenu": "Zobrazit _MENU_ výsledků",
|
|
||||||
"processing": "Zpracovávání...",
|
|
||||||
"search": "Vyhledávání:",
|
|
||||||
"datetime": {
|
|
||||||
"previous": "Předchozí",
|
|
||||||
"next": "Další",
|
|
||||||
"hours": "Hodiny",
|
|
||||||
"minutes": "Minuty",
|
|
||||||
"seconds": "Vteřiny",
|
|
||||||
"unknown": "-",
|
|
||||||
"amPm": [
|
|
||||||
"Dopoledne",
|
|
||||||
"Odpoledne"
|
|
||||||
],
|
|
||||||
"months": [
|
|
||||||
"Leden",
|
|
||||||
"Únor",
|
|
||||||
"Březen",
|
|
||||||
"Duben",
|
|
||||||
"Květen",
|
|
||||||
"Červen",
|
|
||||||
"Červenec",
|
|
||||||
"Srpen",
|
|
||||||
"Září",
|
|
||||||
"Říjen",
|
|
||||||
"Listopad",
|
|
||||||
"Prosinec"
|
|
||||||
],
|
|
||||||
"weekdays": [
|
|
||||||
"Ne",
|
|
||||||
"Po",
|
|
||||||
"Út",
|
|
||||||
"St",
|
|
||||||
"Čt",
|
|
||||||
"Pá",
|
|
||||||
"So"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"editor": {
|
|
||||||
"close": "Zavřít",
|
|
||||||
"create": {
|
|
||||||
"button": "Nový",
|
|
||||||
"title": "Nový záznam",
|
|
||||||
"submit": "Vytvořit"
|
|
||||||
},
|
|
||||||
"edit": {
|
|
||||||
"button": "Změnit",
|
|
||||||
"title": "Změnit záznam",
|
|
||||||
"submit": "Aktualizovat"
|
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "Vymazat",
|
|
||||||
"title": "Smazání",
|
|
||||||
"submit": "Vymazat",
|
|
||||||
"confirm": {
|
|
||||||
"_": "Opravdu chcete smazat tyto %d řádky?",
|
|
||||||
"1": "Opravdu chcete smazat tento 1 řádek?"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"multi": {
|
|
||||||
"title": "Mnohočetný výběr",
|
|
||||||
"restore": "Vrátit změny",
|
|
||||||
"noMulti": "Toto pole může být editováno individuálně, ale ne jako soušást skupiny.",
|
|
||||||
"info": "Vybrané položky obsahují různé hodnoty pro tento vstup. Chcete-li upravit a nastavit všechny položky tohoto vstupu na stejnou hodnotu, klikněte nebo klepněte sem, jinak si zachovají své individuální hodnoty."
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"system": "Došlo k systémové chybě (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">Více informací<\/a>)."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"infoThousands": " ",
|
|
||||||
"decimal": ",",
|
|
||||||
"thousands": " ",
|
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
"creationModal": {
|
"creationModal": {
|
||||||
"button": "Vytvořit",
|
"button": "Vytvořit",
|
||||||
@@ -225,23 +225,24 @@
|
|||||||
"order": "Řazení",
|
"order": "Řazení",
|
||||||
"paging": "Stránkování",
|
"paging": "Stránkování",
|
||||||
"scroller": "Pozice skrolování",
|
"scroller": "Pozice skrolování",
|
||||||
"select": "Výběr",
|
|
||||||
"title": "Vytvořit nový Stav",
|
|
||||||
"toggleLabel": "Zahrnout",
|
|
||||||
"search": "Filtrování",
|
"search": "Filtrování",
|
||||||
"searchBuilder": "Rozšířené filtrování"
|
"searchBuilder": "Rozšířené filtrování",
|
||||||
|
"select": "Výběr",
|
||||||
|
"title": "Vytvořit nový stav",
|
||||||
|
"toggleLabel": "Zahrnout"
|
||||||
},
|
},
|
||||||
"duplicateError": "Stav s tímto názvem ji existuje.",
|
"duplicateError": "Stav s tímto názvem již existuje.",
|
||||||
"emptyError": "Název nemůže být prázný.",
|
"emptyError": "Název nemůže být prázdný.",
|
||||||
"emptyStates": "Žádné uložené stavy",
|
"emptyStates": "Žádné uložené stavy",
|
||||||
"removeConfirm": "Opravdu chcete odstranbit %s?",
|
"removeConfirm": "Opravdu chcete odstranit %s?",
|
||||||
"removeError": "Chyba při odstraňování stavu.",
|
"removeError": "Chyba při odstraňování stavu.",
|
||||||
"removeJoiner": "a",
|
"removeJoiner": "a",
|
||||||
"removeSubmit": "Odstranit",
|
"removeSubmit": "Odstranit",
|
||||||
"removeTitle": "Odstranit Stav",
|
"removeTitle": "Odstranit stav",
|
||||||
"renameButton": "Vymazat",
|
"renameButton": "Vymazat",
|
||||||
"renameLabel": "Nové jméno pro %s:",
|
"renameLabel": "Nové jméno pro %s:",
|
||||||
"renameTitle": "Přejmenování Stavu"
|
"renameTitle": "Přejmenování stavu"
|
||||||
},
|
},
|
||||||
"searchPlaceholder": "Příklad zástupného prvku"
|
"thousands": " ",
|
||||||
|
"zeroRecords": "Nebyly nalezeny žádné záznamy"
|
||||||
}
|
}
|
||||||
@@ -1,89 +1,209 @@
|
|||||||
{
|
{
|
||||||
"emptyTable": "Keine Daten in der Tabelle vorhanden",
|
|
||||||
"info": "_START_ bis _END_ von _TOTAL_ Einträgen",
|
|
||||||
"infoEmpty": "Keine Daten vorhanden",
|
|
||||||
"infoFiltered": "(gefiltert von _MAX_ Einträgen)",
|
|
||||||
"infoThousands": ".",
|
|
||||||
"loadingRecords": "Wird geladen ..",
|
|
||||||
"processing": "Bitte warten ..",
|
|
||||||
"paginate": {
|
|
||||||
"first": "Erste",
|
|
||||||
"next": "Nächste",
|
|
||||||
"last": "Letzte",
|
|
||||||
"previous": "Vorherige"
|
|
||||||
},
|
|
||||||
"aria": {
|
"aria": {
|
||||||
"sortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren",
|
"paginate": {
|
||||||
"sortDescending": ": aktivieren, um Spalte absteigend zu sortieren"
|
"first": "Erste",
|
||||||
},
|
"last": "Letzte",
|
||||||
"select": {
|
"next": "Nächste",
|
||||||
"rows": {
|
"previous": "Vorherige"
|
||||||
"_": "%d Zeilen ausgewählt",
|
|
||||||
"1": "1 Zeile ausgewählt"
|
|
||||||
},
|
|
||||||
"cells": {
|
|
||||||
"1": "1 Zelle ausgewählt",
|
|
||||||
"_": "%d Zellen ausgewählt"
|
|
||||||
},
|
|
||||||
"columns": {
|
|
||||||
"1": "1 Spalte ausgewählt",
|
|
||||||
"_": "%d Spalten ausgewählt"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"buttons": {
|
|
||||||
"print": "Drucken",
|
|
||||||
"copy": "Kopieren",
|
|
||||||
"copyTitle": "In Zwischenablage kopieren",
|
|
||||||
"copySuccess": {
|
|
||||||
"_": "%d Zeilen kopiert",
|
|
||||||
"1": "1 Zeile kopiert"
|
|
||||||
},
|
|
||||||
"collection": "Aktionen <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
|
||||||
"colvis": "Spaltensichtbarkeit",
|
|
||||||
"colvisRestore": "Sichtbarkeit wiederherstellen",
|
|
||||||
"csv": "CSV",
|
|
||||||
"excel": "Excel",
|
|
||||||
"pageLength": {
|
|
||||||
"-1": "Alle Zeilen anzeigen",
|
|
||||||
"1": "Zeige 1 Zeile",
|
|
||||||
"_": "Zeige %d Zeilen"
|
|
||||||
},
|
|
||||||
"pdf": "PDF",
|
|
||||||
"createState": "Ansicht erstellen",
|
|
||||||
"removeAllStates": "Alle Ansichten entfernen",
|
|
||||||
"removeState": "Entfernen",
|
|
||||||
"renameState": "Umbenennen",
|
|
||||||
"savedStates": "Gespeicherte Ansicht",
|
|
||||||
"stateRestore": "Ansicht %d",
|
|
||||||
"updateState": "Aktualisieren",
|
|
||||||
"copyKeys": "Taste <i>STRG<\\\/i> oder <i>⌘<\\\/i> + <i>C<\\\/i> drücken um die Tabelle<br \/>in den Zwischenspeicher zu kopieren.<br \/><br \/>Um den Vorgang abzubrechen, Nachricht anklicken oder Escape-Taste drücken.<\/i><\/i><\/i>"
|
|
||||||
},
|
|
||||||
"autoFill": {
|
"autoFill": {
|
||||||
"cancel": "Abbrechen",
|
"cancel": "Abbrechen",
|
||||||
"fill": "Alle Zellen mit <i>%d<i> füllen<\/i><\/i>",
|
"fill": "Alle Zellen mit <i>%d<i> füllen<\/i><\/i>",
|
||||||
"fillHorizontal": "Alle horizontalen Zellen füllen",
|
"fillHorizontal": "Alle horizontalen Zellen füllen",
|
||||||
"fillVertical": "Alle vertikalen Zellen füllen",
|
"fillVertical": "Alle vertikalen Zellen füllen",
|
||||||
"info": "Automatische Vervollständigung"
|
"info": ""
|
||||||
},
|
},
|
||||||
"decimal": ",",
|
"buttons": {
|
||||||
|
"collection": "Aktionen <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||||
|
"colvis": "Spaltensichtbarkeit",
|
||||||
|
"colvisRestore": "Sichtbarkeit wiederherstellen",
|
||||||
|
"copy": "Kopieren",
|
||||||
|
"copyKeys": "Taste <i>STRG<\\\/i> oder <i>⌘<\\\/i> + <i>C<\\\/i> drücken um die Tabelle<br \/>in den Zwischenspeicher zu kopieren.<br \/><br \/>Um den Vorgang abzubrechen, Nachricht anklicken oder Escape-Taste drücken.<\/i><\/i><\/i>",
|
||||||
|
"copySuccess": {
|
||||||
|
"_": "%d Zeilen kopiert",
|
||||||
|
"1": "1 Zeile kopiert"
|
||||||
|
},
|
||||||
|
"copyTitle": "In Zwischenablage kopieren",
|
||||||
|
"createState": "Ansicht erstellen",
|
||||||
|
"csv": "CSV",
|
||||||
|
"excel": "Excel",
|
||||||
|
"pageLength": {
|
||||||
|
"_": "Zeige %d Zeilen",
|
||||||
|
"-1": "Alle Zeilen anzeigen",
|
||||||
|
"1": "Zeigt 1 Zeile"
|
||||||
|
},
|
||||||
|
"pdf": "PDF",
|
||||||
|
"print": "Drucken",
|
||||||
|
"removeAllStates": "Alle Ansichten entfernen",
|
||||||
|
"removeState": "Entfernen",
|
||||||
|
"renameState": "Umbenennen",
|
||||||
|
"savedStates": "Gespeicherte Ansicht",
|
||||||
|
"stateRestore": "Ansicht %d",
|
||||||
|
"updateState": "Aktualisieren"
|
||||||
|
},
|
||||||
|
"columnControl": {
|
||||||
|
"buttons": {
|
||||||
|
"searchClear": "Suche löschen"
|
||||||
|
},
|
||||||
|
"colVis": "Sichtbarkeit der Spalte",
|
||||||
|
"colVisDropdown": "Sichtbarkeit der Spalte",
|
||||||
|
"dropdown": "Mehr...",
|
||||||
|
"list": {
|
||||||
|
"all": "Alle auswählen",
|
||||||
|
"empty": "Leer",
|
||||||
|
"none": "Nichts auswählen",
|
||||||
|
"search": "Suche..."
|
||||||
|
},
|
||||||
|
"orderAddAsc": "Aufsteigende Sortierung hinzufügen",
|
||||||
|
"orderAddDesc": "Absteigende Sortierung hinzufügen",
|
||||||
|
"orderAsc": "Aufsteigend sortieren",
|
||||||
|
"orderClear": "Sortierung aufheben",
|
||||||
|
"orderDesc": "Absteigend sortieren",
|
||||||
|
"orderRemove": "Aus Sortierung löschen",
|
||||||
|
"reorder": "Spalten neu sortieren",
|
||||||
|
"reorderLeft": "Spalte nach links verschieben",
|
||||||
|
"reorderRight": "Spalte nach rechts verschieben",
|
||||||
|
"search": {
|
||||||
|
"datetime": {
|
||||||
|
"empty": "Leer",
|
||||||
|
"equal": "Gleich",
|
||||||
|
"greater": "Nach",
|
||||||
|
"less": "Vor",
|
||||||
|
"notEmpty": "Nicht leer",
|
||||||
|
"notEqual": "Nicht"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"empty": "Leer",
|
||||||
|
"equal": "Gleich",
|
||||||
|
"greater": "Größer",
|
||||||
|
"greaterOrEqual": "Größer gleich",
|
||||||
|
"less": "Kleiner",
|
||||||
|
"lessOrEqual": "Kleiner gleich",
|
||||||
|
"notEmpty": "Nicht leer",
|
||||||
|
"notEqual": "Nicht"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"contains": "Enthält",
|
||||||
|
"empty": "Leer",
|
||||||
|
"ends": "Endet auf",
|
||||||
|
"equal": "Gleich",
|
||||||
|
"notContains": "Enthält nicht",
|
||||||
|
"notEmpty": "Nicht leer",
|
||||||
|
"notEqual": "Nicht",
|
||||||
|
"starts": "Startet mit"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"searchClear": "Suche leeren",
|
||||||
|
"searchDropdown": "Suchen"
|
||||||
|
},
|
||||||
|
"datetime": {
|
||||||
|
"amPm": {
|
||||||
|
"0": "Vormittag",
|
||||||
|
"1": "Nachmittag"
|
||||||
|
},
|
||||||
|
"hours": "Stunden",
|
||||||
|
"minutes": "Minuten",
|
||||||
|
"months": {
|
||||||
|
"0": "Januar",
|
||||||
|
"1": "Februar",
|
||||||
|
"10": "November",
|
||||||
|
"11": "Dezember",
|
||||||
|
"2": "März",
|
||||||
|
"3": "April",
|
||||||
|
"4": "Mai",
|
||||||
|
"5": "Juni",
|
||||||
|
"6": "Juli",
|
||||||
|
"7": "August",
|
||||||
|
"8": "September",
|
||||||
|
"9": "Oktober"
|
||||||
|
},
|
||||||
|
"next": "Nachher",
|
||||||
|
"previous": "Vorher",
|
||||||
|
"seconds": "Sekunden",
|
||||||
|
"unknown": "Unbekannt",
|
||||||
|
"weekdays": {
|
||||||
|
"0": "Sonntag",
|
||||||
|
"1": "Montag",
|
||||||
|
"2": "Dienstag",
|
||||||
|
"3": "Mittwoch",
|
||||||
|
"4": "Donnerstag",
|
||||||
|
"5": "Freitag",
|
||||||
|
"6": "Samstag"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"decimal": "",
|
||||||
|
"editor": {
|
||||||
|
"close": "Schließen",
|
||||||
|
"create": {
|
||||||
|
"button": "Neu",
|
||||||
|
"submit": "Erstellen",
|
||||||
|
"title": "Neuen Eintrag erstellen"
|
||||||
|
},
|
||||||
|
"edit": {
|
||||||
|
"button": "Bearbeiten",
|
||||||
|
"submit": "Bearbeiten",
|
||||||
|
"title": "Eintrag bearbeiten"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"system": "Ein Systemfehler ist aufgetreten"
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "Die ausgewählten Elemente enthalten mehrere Werte für dieses Feld. Um alle Elemente für dieses Feld zu bearbeiten und auf denselben Wert zu setzen, hier klicken oder tippen, andernfalls behalten diese ihre individuellen Werte bei.",
|
||||||
|
"noMulti": "Dieses Feld kann nur einzeln bearbeitet werden, nicht als Teil einer Mengen-Änderung.",
|
||||||
|
"restore": "Änderungen zurücksetzen",
|
||||||
|
"title": "Mehrere Werte"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Entfernen",
|
||||||
|
"confirm": {
|
||||||
|
"_": "Sollen %d Zeilen gelöscht werden?",
|
||||||
|
"1": "Soll diese Zeile gelöscht werden?"
|
||||||
|
},
|
||||||
|
"submit": "Entfernen",
|
||||||
|
"title": "Entfernen"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyTable": "Keine Daten in der Tabelle vorhanden",
|
||||||
|
"info": "_START_ bis _END_ von _TOTAL_ Einträgen",
|
||||||
|
"infoEmpty": "Keine Daten vorhanden",
|
||||||
|
"infoFiltered": "(gefiltert von _MAX_ Einträgen)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ".",
|
||||||
|
"lengthLabels": {
|
||||||
|
"-1": "Alle"
|
||||||
|
},
|
||||||
|
"lengthMenu": "_MENU_ Zeilen anzeigen",
|
||||||
|
"loadingRecords": "Wird geladen ..",
|
||||||
|
"orderClear": "Sortierung leeren",
|
||||||
|
"processing": "Bitte warten ..",
|
||||||
"search": "Suche:",
|
"search": "Suche:",
|
||||||
"searchBuilder": {
|
"searchBuilder": {
|
||||||
"add": "Bedingung hinzufügen",
|
"add": "Bedingung hinzufügen",
|
||||||
"button": {
|
"button": {
|
||||||
"0": "Such-Baukasten",
|
"_": "Such-Baukasten (%d)",
|
||||||
"_": "Such-Baukasten (%d)"
|
"0": "Such-Baukasten"
|
||||||
},
|
},
|
||||||
|
"clearAll": "Alle entfernen",
|
||||||
"condition": "Bedingung",
|
"condition": "Bedingung",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "enthält",
|
||||||
|
"empty": "ist leer",
|
||||||
|
"equals": "ist gleich",
|
||||||
|
"not": "ist ungleich",
|
||||||
|
"notEmpty": "ist nicht leer",
|
||||||
|
"without": "aber nicht"
|
||||||
|
},
|
||||||
"date": {
|
"date": {
|
||||||
"after": "Nach",
|
"after": "Nach",
|
||||||
"before": "Vor",
|
"before": "Vor",
|
||||||
"between": "Zwischen",
|
"between": "Zwischen",
|
||||||
"empty": "Leer",
|
"empty": "Leer",
|
||||||
|
"equals": "Gleich",
|
||||||
"not": "Nicht",
|
"not": "Nicht",
|
||||||
"notBetween": "Nicht zwischen",
|
"notBetween": "Nicht zwischen",
|
||||||
"notEmpty": "Nicht leer",
|
"notEmpty": "Nicht leer"
|
||||||
"equals": "Gleich"
|
|
||||||
},
|
},
|
||||||
"number": {
|
"number": {
|
||||||
"between": "Zwischen",
|
"between": "Zwischen",
|
||||||
@@ -103,114 +223,59 @@
|
|||||||
"endsWith": "Endet mit",
|
"endsWith": "Endet mit",
|
||||||
"equals": "Entspricht",
|
"equals": "Entspricht",
|
||||||
"not": "Nicht",
|
"not": "Nicht",
|
||||||
"notEmpty": "Nicht leer",
|
|
||||||
"startsWith": "Startet mit",
|
|
||||||
"notContains": "enthält nicht",
|
"notContains": "enthält nicht",
|
||||||
|
"notEmpty": "Nicht leer",
|
||||||
|
"notEndsWith": "endet nicht mit",
|
||||||
"notStartsWith": "startet nicht mit",
|
"notStartsWith": "startet nicht mit",
|
||||||
"notEndsWith": "endet nicht mit"
|
"startsWith": "Startet mit"
|
||||||
},
|
|
||||||
"array": {
|
|
||||||
"equals": "ist gleich",
|
|
||||||
"empty": "ist leer",
|
|
||||||
"contains": "enthält",
|
|
||||||
"not": "ist ungleich",
|
|
||||||
"notEmpty": "ist nicht leer",
|
|
||||||
"without": "aber nicht"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"data": "Daten",
|
"data": "Daten",
|
||||||
"deleteTitle": "Filterregel entfernen",
|
"deleteTitle": "Filterregel entfernen",
|
||||||
"leftTitle": "Äußere Kriterien",
|
"leftTitle": "Äußere Kriterien",
|
||||||
"rightTitle": "Innere Kriterien",
|
|
||||||
"title": {
|
|
||||||
"0": "Such-Baukasten",
|
|
||||||
"_": "Such-Baukasten (%d)"
|
|
||||||
},
|
|
||||||
"value": "Wert",
|
|
||||||
"clearAll": "Alle entfernen",
|
|
||||||
"logicAnd": "Und",
|
"logicAnd": "Und",
|
||||||
"logicOr": "Oder"
|
"logicOr": "Oder",
|
||||||
|
"rightTitle": "Innere Kriterien",
|
||||||
|
"search": "Suche",
|
||||||
|
"title": {
|
||||||
|
"_": "Such-Baukasten (%d)",
|
||||||
|
"0": "Such-Baukasten"
|
||||||
|
},
|
||||||
|
"value": "Wert"
|
||||||
},
|
},
|
||||||
"searchPanes": {
|
"searchPanes": {
|
||||||
"clearMessage": "Leeren",
|
"clearMessage": "Leeren",
|
||||||
"collapse": {
|
"collapse": {
|
||||||
"0": "Suchmasken",
|
"_": "Suchmasken (%d)",
|
||||||
"_": "Suchmasken (%d)"
|
"0": "Suchmasken"
|
||||||
},
|
},
|
||||||
"countFiltered": "{shown} ({total})",
|
|
||||||
"emptyPanes": "Keine Suchmasken",
|
|
||||||
"title": "Aktive Filter: %d",
|
|
||||||
"showMessage": "zeige Alle",
|
|
||||||
"collapseMessage": "Alle einklappen",
|
"collapseMessage": "Alle einklappen",
|
||||||
"count": "{total}",
|
"count": "{total}",
|
||||||
"loadMessage": "Lade Suchmasken .."
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyMessage": "<em>Leer<\/em>",
|
||||||
|
"emptyPanes": "Keine Suchmasken",
|
||||||
|
"loadMessage": "Lade Suchmasken ..",
|
||||||
|
"showMessage": "zeige Alle",
|
||||||
|
"title": "Aktive Filter: %d"
|
||||||
},
|
},
|
||||||
"thousands": ".",
|
"searchPlaceholder": "",
|
||||||
"zeroRecords": "Keine passenden Einträge gefunden",
|
"select": {
|
||||||
"lengthMenu": "_MENU_ Zeilen anzeigen",
|
"cells": {
|
||||||
"datetime": {
|
"_": "%d Zellen ausgewählt",
|
||||||
"previous": "Vorher",
|
"0": "",
|
||||||
"next": "Nachher",
|
"1": "1 Zelle ausgewählt"
|
||||||
"hours": "Stunden",
|
|
||||||
"minutes": "Minuten",
|
|
||||||
"seconds": "Sekunden",
|
|
||||||
"unknown": "Unbekannt",
|
|
||||||
"weekdays": [
|
|
||||||
"Sonntag",
|
|
||||||
"Montag",
|
|
||||||
"Dienstag",
|
|
||||||
"Mittwoch",
|
|
||||||
"Donnerstag",
|
|
||||||
"Freitag",
|
|
||||||
"Samstag"
|
|
||||||
],
|
|
||||||
"months": [
|
|
||||||
"Januar",
|
|
||||||
"Februar",
|
|
||||||
"März",
|
|
||||||
"April",
|
|
||||||
"Mai",
|
|
||||||
"Juni",
|
|
||||||
"Juli",
|
|
||||||
"August",
|
|
||||||
"September",
|
|
||||||
"Oktober",
|
|
||||||
"November",
|
|
||||||
"Dezember"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"editor": {
|
|
||||||
"close": "Schließen",
|
|
||||||
"create": {
|
|
||||||
"button": "Neu",
|
|
||||||
"title": "Neuen Eintrag erstellen",
|
|
||||||
"submit": "Erstellen"
|
|
||||||
},
|
},
|
||||||
"remove": {
|
"columns": {
|
||||||
"confirm": {
|
"_": "%d Spalten ausgewählt",
|
||||||
"_": "Sollen %d Zeilen gelöscht werden?",
|
"0": "",
|
||||||
"1": "Soll diese Zeile gelöscht werden?"
|
"1": "1 Spalte ausgewählt"
|
||||||
},
|
|
||||||
"button": "Entfernen",
|
|
||||||
"title": "Entfernen",
|
|
||||||
"submit": "Entfernen"
|
|
||||||
},
|
},
|
||||||
"error": {
|
"rows": {
|
||||||
"system": "Ein Systemfehler ist aufgetreten"
|
"_": "%d Zeilen ausgewählt",
|
||||||
},
|
"0": "",
|
||||||
"multi": {
|
"1": "1 Zeile ausgewählt"
|
||||||
"title": "Mehrere Werte",
|
|
||||||
"restore": "Änderungen zurücksetzen",
|
|
||||||
"noMulti": "Dieses Feld kann nur einzeln bearbeitet werden, nicht als Teil einer Mengen-Änderung.",
|
|
||||||
"info": "Die ausgewählten Elemente enthalten mehrere Werte für dieses Feld. Um alle Elemente für dieses Feld zu bearbeiten und auf denselben Wert zu setzen, hier klicken oder tippen, andernfalls behalten diese ihre individuellen Werte bei."
|
|
||||||
},
|
|
||||||
"edit": {
|
|
||||||
"button": "Bearbeiten",
|
|
||||||
"title": "Eintrag bearbeiten",
|
|
||||||
"submit": "Bearbeiten"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"searchPlaceholder": "Suchen...",
|
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
"creationModal": {
|
"creationModal": {
|
||||||
"button": "Erstellen",
|
"button": "Erstellen",
|
||||||
@@ -231,13 +296,15 @@
|
|||||||
"duplicateError": "Eine Ansicht mit diesem Namen existiert bereits.",
|
"duplicateError": "Eine Ansicht mit diesem Namen existiert bereits.",
|
||||||
"emptyError": "Name darf nicht leer sein.",
|
"emptyError": "Name darf nicht leer sein.",
|
||||||
"emptyStates": "Keine gespeicherten Ansichten",
|
"emptyStates": "Keine gespeicherten Ansichten",
|
||||||
|
"removeConfirm": "Sicher dass %s entfernt werden soll?",
|
||||||
"removeError": "Entfernen der Ansicht fehlgeschlagen.",
|
"removeError": "Entfernen der Ansicht fehlgeschlagen.",
|
||||||
"removeJoiner": " und ",
|
"removeJoiner": " und ",
|
||||||
"removeSubmit": "Entfernen",
|
"removeSubmit": "Entfernen",
|
||||||
"removeTitle": "Ansicht entfernen",
|
"removeTitle": "Ansicht entfernen",
|
||||||
"renameButton": "Umbenennen",
|
"renameButton": "Umbenennen",
|
||||||
"renameLabel": "Neuer Name für %s:",
|
"renameLabel": "Neuer Name für %s:",
|
||||||
"renameTitle": "Ansicht umbenennen",
|
"renameTitle": "Ansicht umbenennen"
|
||||||
"removeConfirm": "Sicher dass %s entfernt werden soll?"
|
},
|
||||||
}
|
"thousands": ".",
|
||||||
|
"zeroRecords": "Keine passenden Einträge gefunden"
|
||||||
}
|
}
|
||||||
@@ -1,159 +1,112 @@
|
|||||||
{
|
{
|
||||||
"processing": "Procesando...",
|
|
||||||
"lengthMenu": "Mostrar _MENU_ registros",
|
|
||||||
"zeroRecords": "No se encontraron resultados",
|
|
||||||
"emptyTable": "Ningún dato disponible en esta tabla",
|
|
||||||
"infoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
|
|
||||||
"infoFiltered": "(filtrado de un total de _MAX_ registros)",
|
|
||||||
"search": "Buscar:",
|
|
||||||
"loadingRecords": "Cargando...",
|
|
||||||
"paginate": {
|
|
||||||
"first": "Primero",
|
|
||||||
"last": "Último",
|
|
||||||
"next": "Siguiente",
|
|
||||||
"previous": "Anterior"
|
|
||||||
},
|
|
||||||
"aria": {
|
"aria": {
|
||||||
"sortAscending": ": Activar para ordenar la columna de manera ascendente",
|
"orderable": "Activar para ordenar",
|
||||||
"sortDescending": ": Activar para ordenar la columna de manera descendente"
|
"orderableRemove": "Activar para quitar ordenación",
|
||||||
},
|
"orderableReverse": "Activar para ordenar de forma inversa",
|
||||||
"buttons": {
|
"paginate": {
|
||||||
"copy": "Copiar",
|
"first": "Primero",
|
||||||
"colvis": "Visibilidad",
|
"last": "Último",
|
||||||
"collection": "Colección",
|
"next": "Siguiente",
|
||||||
"colvisRestore": "Restaurar visibilidad",
|
"previous": "Anterior"
|
||||||
"copyKeys": "Presione ctrl o u2318 + C para copiar los datos de la tabla al portapapeles del sistema. <br \/> <br \/> Para cancelar, haga clic en este mensaje o presione escape.",
|
}
|
||||||
"copySuccess": {
|
|
||||||
"1": "Copiada 1 fila al portapapeles",
|
|
||||||
"_": "Copiadas %ds fila al portapapeles"
|
|
||||||
},
|
|
||||||
"copyTitle": "Copiar al portapapeles",
|
|
||||||
"csv": "CSV",
|
|
||||||
"excel": "Excel",
|
|
||||||
"pageLength": {
|
|
||||||
"-1": "Mostrar todas las filas",
|
|
||||||
"_": "Mostrar %d filas"
|
|
||||||
},
|
|
||||||
"pdf": "PDF",
|
|
||||||
"print": "Imprimir",
|
|
||||||
"renameState": "Cambiar nombre",
|
|
||||||
"updateState": "Actualizar",
|
|
||||||
"createState": "Crear Estado",
|
|
||||||
"removeAllStates": "Remover Estados",
|
|
||||||
"removeState": "Remover",
|
|
||||||
"savedStates": "Estados Guardados",
|
|
||||||
"stateRestore": "Estado %d"
|
|
||||||
},
|
},
|
||||||
"autoFill": {
|
"autoFill": {
|
||||||
"cancel": "Cancelar",
|
"cancel": "Cancelar",
|
||||||
"fill": "Rellene todas las celdas con <i>%d<\/i>",
|
"fill": "Rellene todas las celdas con <i>%d<\/i>",
|
||||||
"fillHorizontal": "Rellenar celdas horizontalmente",
|
"fillHorizontal": "Rellenar celdas horizontalmente",
|
||||||
"fillVertical": "Rellenar celdas verticalmente"
|
"fillVertical": "Rellenar celdas verticalmente",
|
||||||
|
"info": ""
|
||||||
},
|
},
|
||||||
"decimal": ",",
|
"buttons": {
|
||||||
"searchBuilder": {
|
"collection": "Colección",
|
||||||
"add": "Añadir condición",
|
"colvis": "Visibilidad",
|
||||||
"button": {
|
"colvisRestore": "Restaurar visibilidad",
|
||||||
"0": "Constructor de búsqueda",
|
"copy": "Copiar",
|
||||||
"_": "Constructor de búsqueda (%d)"
|
"copyKeys": "Presione ctrl o u2318 + C para copiar los datos de la tabla al portapapeles del sistema. <br \/> <br \/> Para cancelar, haga clic en este mensaje o presione escape.",
|
||||||
|
"copySuccess": {
|
||||||
|
"_": "Copiadas %ds filas al portapapeles",
|
||||||
|
"1": "Copiada 1 fila al portapapeles"
|
||||||
},
|
},
|
||||||
"clearAll": "Borrar todo",
|
"copyTitle": "Copiar al portapapeles",
|
||||||
"condition": "Condición",
|
"createState": "Crear Estado",
|
||||||
"conditions": {
|
"csv": "CSV",
|
||||||
"date": {
|
"excel": "Excel",
|
||||||
"before": "Antes",
|
"pageLength": {
|
||||||
"between": "Entre",
|
"_": "Mostrar %d filas",
|
||||||
|
"-1": "Mostrar todas las filas",
|
||||||
|
"1": "Mostrar 1 fila"
|
||||||
|
},
|
||||||
|
"pdf": "PDF",
|
||||||
|
"print": "Imprimir",
|
||||||
|
"removeAllStates": "Remover Estados",
|
||||||
|
"removeState": "Remover",
|
||||||
|
"renameState": "Cambiar nombre",
|
||||||
|
"savedStates": "Estados Guardados",
|
||||||
|
"stateRestore": "Estado %d",
|
||||||
|
"updateState": "Actualizar"
|
||||||
|
},
|
||||||
|
"columnControl": {
|
||||||
|
"buttons": {
|
||||||
|
"searchClear": "Borrar búsqueda"
|
||||||
|
},
|
||||||
|
"colVis": "Visibilidad",
|
||||||
|
"colVisDropdown": "Desplegable visibilidad",
|
||||||
|
"dropdown": "Desplegable",
|
||||||
|
"list": {
|
||||||
|
"all": "Añadir",
|
||||||
|
"empty": "Vacío",
|
||||||
|
"none": "Ninguno",
|
||||||
|
"search": "Buscar.."
|
||||||
|
},
|
||||||
|
"orderAddAsc": "Añadir a ordenación ascendente",
|
||||||
|
"orderAddDesc": "Añadir a ordenación descencente",
|
||||||
|
"orderAsc": "Ordenar ascendentemente",
|
||||||
|
"orderClear": "Borrar ordenación",
|
||||||
|
"orderDesc": "Ordenar descendentemente",
|
||||||
|
"orderRemove": "Borrar de ordenación",
|
||||||
|
"reorder": "Reordenar",
|
||||||
|
"reorderLeft": "Mover a la izquierda",
|
||||||
|
"reorderRight": "Mover a la derecha",
|
||||||
|
"search": {
|
||||||
|
"datetime": {
|
||||||
"empty": "Vacío",
|
"empty": "Vacío",
|
||||||
"equals": "Igual a",
|
"equal": "Igual a",
|
||||||
"notBetween": "No entre",
|
"greater": "Mayor que",
|
||||||
"not": "Diferente de",
|
"less": "Menor que",
|
||||||
"after": "Después",
|
"notEmpty": "No vacío",
|
||||||
"notEmpty": "No Vacío"
|
"notEqual": "Diferente de"
|
||||||
},
|
},
|
||||||
"number": {
|
"number": {
|
||||||
"between": "Entre",
|
"empty": "Vacío",
|
||||||
"equals": "Igual a",
|
"equal": "Igual a",
|
||||||
"gt": "Mayor a",
|
"greater": "Mayor que",
|
||||||
"gte": "Mayor o igual a",
|
"greaterOrEqual": "Mayor o igual a",
|
||||||
"lt": "Menor que",
|
"less": "Menor que",
|
||||||
"lte": "Menor o igual que",
|
"lessOrEqual": "Menor o igual a",
|
||||||
"notBetween": "No entre",
|
|
||||||
"notEmpty": "No vacío",
|
"notEmpty": "No vacío",
|
||||||
"not": "Diferente de",
|
"notEqual": "Diferente de"
|
||||||
"empty": "Vacío"
|
|
||||||
},
|
},
|
||||||
"string": {
|
"text": {
|
||||||
"contains": "Contiene",
|
"contains": "Contiene",
|
||||||
"empty": "Vacío",
|
"empty": "Vacío",
|
||||||
"endsWith": "Termina en",
|
"ends": "Finaliza con",
|
||||||
"equals": "Igual a",
|
"equal": "Igual a",
|
||||||
"startsWith": "Empieza con",
|
"notContains": "no contiene",
|
||||||
"not": "Diferente de",
|
"notEmpty": "No vacío",
|
||||||
"notContains": "No Contiene",
|
"notEqual": "Diferente de",
|
||||||
"notStartsWith": "No empieza con",
|
"starts": "Empieza con"
|
||||||
"notEndsWith": "No termina con",
|
|
||||||
"notEmpty": "No Vacío"
|
|
||||||
},
|
|
||||||
"array": {
|
|
||||||
"not": "Diferente de",
|
|
||||||
"equals": "Igual",
|
|
||||||
"empty": "Vacío",
|
|
||||||
"contains": "Contiene",
|
|
||||||
"notEmpty": "No Vacío",
|
|
||||||
"without": "Sin"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"data": "Data",
|
"searchClear": "Borrar búsqueda",
|
||||||
"deleteTitle": "Eliminar regla de filtrado",
|
"searchDropdown": "Buscar"
|
||||||
"leftTitle": "Criterios anulados",
|
|
||||||
"logicAnd": "Y",
|
|
||||||
"logicOr": "O",
|
|
||||||
"rightTitle": "Criterios de sangría",
|
|
||||||
"title": {
|
|
||||||
"0": "Constructor de búsqueda",
|
|
||||||
"_": "Constructor de búsqueda (%d)"
|
|
||||||
},
|
|
||||||
"value": "Valor"
|
|
||||||
},
|
},
|
||||||
"searchPanes": {
|
|
||||||
"clearMessage": "Borrar todo",
|
|
||||||
"collapse": {
|
|
||||||
"0": "Paneles de búsqueda",
|
|
||||||
"_": "Paneles de búsqueda (%d)"
|
|
||||||
},
|
|
||||||
"count": "{total}",
|
|
||||||
"countFiltered": "{shown} ({total})",
|
|
||||||
"emptyPanes": "Sin paneles de búsqueda",
|
|
||||||
"loadMessage": "Cargando paneles de búsqueda",
|
|
||||||
"title": "Filtros Activos - %d",
|
|
||||||
"showMessage": "Mostrar Todo",
|
|
||||||
"collapseMessage": "Colapsar Todo"
|
|
||||||
},
|
|
||||||
"select": {
|
|
||||||
"cells": {
|
|
||||||
"1": "1 celda seleccionada",
|
|
||||||
"_": "%d celdas seleccionadas"
|
|
||||||
},
|
|
||||||
"columns": {
|
|
||||||
"1": "1 columna seleccionada",
|
|
||||||
"_": "%d columnas seleccionadas"
|
|
||||||
},
|
|
||||||
"rows": {
|
|
||||||
"1": "1 fila seleccionada",
|
|
||||||
"_": "%d filas seleccionadas"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"thousands": ".",
|
|
||||||
"datetime": {
|
"datetime": {
|
||||||
"previous": "Anterior",
|
"amPm": {
|
||||||
|
"0": "AM",
|
||||||
|
"1": "PM"
|
||||||
|
},
|
||||||
"hours": "Horas",
|
"hours": "Horas",
|
||||||
"minutes": "Minutos",
|
"minutes": "Minutos",
|
||||||
"seconds": "Segundos",
|
|
||||||
"unknown": "-",
|
|
||||||
"amPm": [
|
|
||||||
"AM",
|
|
||||||
"PM"
|
|
||||||
],
|
|
||||||
"months": {
|
"months": {
|
||||||
"0": "Enero",
|
"0": "Enero",
|
||||||
"1": "Febrero",
|
"1": "Febrero",
|
||||||
@@ -168,77 +121,193 @@
|
|||||||
"8": "Septiembre",
|
"8": "Septiembre",
|
||||||
"9": "Octubre"
|
"9": "Octubre"
|
||||||
},
|
},
|
||||||
|
"next": "Próximo",
|
||||||
|
"previous": "Anterior",
|
||||||
|
"seconds": "Segundos",
|
||||||
|
"unknown": "-",
|
||||||
"weekdays": {
|
"weekdays": {
|
||||||
"0": "Dom",
|
"0": "Dom",
|
||||||
"1": "Lun",
|
"1": "Lun",
|
||||||
"2": "Mar",
|
"2": "Mar",
|
||||||
|
"3": "Mié",
|
||||||
"4": "Jue",
|
"4": "Jue",
|
||||||
"5": "Vie",
|
"5": "Vie",
|
||||||
"3": "Mié",
|
|
||||||
"6": "Sáb"
|
"6": "Sáb"
|
||||||
},
|
}
|
||||||
"next": "Próximo"
|
|
||||||
},
|
},
|
||||||
|
"decimal": "",
|
||||||
"editor": {
|
"editor": {
|
||||||
"close": "Cerrar",
|
"close": "Cerrar",
|
||||||
"create": {
|
"create": {
|
||||||
"button": "Nuevo",
|
"button": "Nuevo",
|
||||||
"title": "Crear Nuevo Registro",
|
"submit": "Crear",
|
||||||
"submit": "Crear"
|
"title": "Crear Nuevo Registro"
|
||||||
},
|
},
|
||||||
"edit": {
|
"edit": {
|
||||||
"button": "Editar",
|
"button": "Editar",
|
||||||
"title": "Editar Registro",
|
"submit": "Actualizar",
|
||||||
"submit": "Actualizar"
|
"title": "Editar Registro"
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "Eliminar",
|
|
||||||
"title": "Eliminar Registro",
|
|
||||||
"submit": "Eliminar",
|
|
||||||
"confirm": {
|
|
||||||
"_": "¿Está seguro de que desea eliminar %d filas?",
|
|
||||||
"1": "¿Está seguro de que desea eliminar 1 fila?"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"system": "Ha ocurrido un error en el sistema (<a target=\"\\\" rel=\"\\ nofollow\" href=\"\\\">Más información<\\\/a>).<\/a>"
|
"system": "Ha ocurrido un error en el sistema (<a target=\"\\\" rel=\"\\ nofollow\" href=\"\\\">Más información<\\\/a>).<\/a>"
|
||||||
},
|
},
|
||||||
"multi": {
|
"multi": {
|
||||||
"title": "Múltiples Valores",
|
"info": "Los elementos seleccionados contienen diferentes valores para este registro. Para editar y establecer todos los elementos de este registro con el mismo valor, haga clic o pulse aquí, de lo contrario conservarán sus valores individuales.",
|
||||||
"restore": "Deshacer Cambios",
|
|
||||||
"noMulti": "Este registro puede ser editado individualmente, pero no como parte de un grupo.",
|
"noMulti": "Este registro puede ser editado individualmente, pero no como parte de un grupo.",
|
||||||
"info": "Los elementos seleccionados contienen diferentes valores para este registro. Para editar y establecer todos los elementos de este registro con el mismo valor, haga clic o pulse aquí, de lo contrario conservarán sus valores individuales."
|
"restore": "Deshacer Cambios",
|
||||||
|
"title": "Múltiples Valores"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Eliminar",
|
||||||
|
"confirm": {
|
||||||
|
"_": "¿Está seguro de que desea eliminar %d filas?",
|
||||||
|
"1": "¿Está seguro de que desea eliminar 1 fila?"
|
||||||
|
},
|
||||||
|
"submit": "Eliminar",
|
||||||
|
"title": "Eliminar Registro"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"emptyTable": "Ningún dato disponible en esta tabla",
|
||||||
"info": "Mostrando _START_ a _END_ de _TOTAL_ registros",
|
"info": "Mostrando _START_ a _END_ de _TOTAL_ registros",
|
||||||
|
"infoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros",
|
||||||
|
"infoFiltered": "(filtrado de un total de _MAX_ registros)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ".",
|
||||||
|
"lengthLabels": {
|
||||||
|
"-1": "Todas"
|
||||||
|
},
|
||||||
|
"lengthMenu": "Mostrar _MENU_ registros",
|
||||||
|
"loadingRecords": "Cargando...",
|
||||||
|
"orderClear": "Limpiar ordenación de toda la tabla",
|
||||||
|
"processing": "Procesando...",
|
||||||
|
"search": "Buscar:",
|
||||||
|
"searchBuilder": {
|
||||||
|
"add": "Añadir condición",
|
||||||
|
"button": {
|
||||||
|
"_": "Constructor de búsqueda (%d)",
|
||||||
|
"0": "Constructor de búsqueda"
|
||||||
|
},
|
||||||
|
"clearAll": "Borrar todo",
|
||||||
|
"condition": "Condición",
|
||||||
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "Contiene",
|
||||||
|
"empty": "Vacío",
|
||||||
|
"equals": "Igual",
|
||||||
|
"not": "Diferente de",
|
||||||
|
"notEmpty": "No Vacío",
|
||||||
|
"without": "Sin"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"after": "Después",
|
||||||
|
"before": "Antes",
|
||||||
|
"between": "Entre",
|
||||||
|
"empty": "Vacío",
|
||||||
|
"equals": "Igual a",
|
||||||
|
"not": "Diferente de",
|
||||||
|
"notBetween": "No entre",
|
||||||
|
"notEmpty": "No Vacío"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"between": "Entre",
|
||||||
|
"empty": "Vacío",
|
||||||
|
"equals": "Igual a",
|
||||||
|
"gt": "Mayor a",
|
||||||
|
"gte": "Mayor o igual a",
|
||||||
|
"lt": "Menor que",
|
||||||
|
"lte": "Menor o igual que",
|
||||||
|
"not": "Diferente de",
|
||||||
|
"notBetween": "No entre",
|
||||||
|
"notEmpty": "No vacío"
|
||||||
|
},
|
||||||
|
"string": {
|
||||||
|
"contains": "Contiene",
|
||||||
|
"empty": "Vacío",
|
||||||
|
"endsWith": "Termina en",
|
||||||
|
"equals": "Igual a",
|
||||||
|
"not": "Diferente de",
|
||||||
|
"notContains": "No Contiene",
|
||||||
|
"notEmpty": "No Vacío",
|
||||||
|
"notEndsWith": "No termina con",
|
||||||
|
"notStartsWith": "No empieza con",
|
||||||
|
"startsWith": "Empieza con"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"data": "Data",
|
||||||
|
"deleteTitle": "Eliminar regla de filtrado",
|
||||||
|
"leftTitle": "Criterios anulados",
|
||||||
|
"logicAnd": "Y",
|
||||||
|
"logicOr": "O",
|
||||||
|
"rightTitle": "Criterios de sangría",
|
||||||
|
"search": "Buscar",
|
||||||
|
"title": {
|
||||||
|
"_": "Constructor de búsqueda (%d)",
|
||||||
|
"0": "Constructor de búsqueda"
|
||||||
|
},
|
||||||
|
"value": "Valor"
|
||||||
|
},
|
||||||
|
"searchPanes": {
|
||||||
|
"clearMessage": "Borrar todo",
|
||||||
|
"collapse": {
|
||||||
|
"_": "Paneles de búsqueda (%d)",
|
||||||
|
"0": "Paneles de búsqueda"
|
||||||
|
},
|
||||||
|
"collapseMessage": "Colapsar Todo",
|
||||||
|
"count": "{total}",
|
||||||
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyMessage": "vacío",
|
||||||
|
"emptyPanes": "Sin paneles de búsqueda",
|
||||||
|
"loadMessage": "Cargando paneles de búsqueda",
|
||||||
|
"showMessage": "Mostrar Todo",
|
||||||
|
"title": "Filtros Activos - %d"
|
||||||
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
|
"select": {
|
||||||
|
"cells": {
|
||||||
|
"_": "%d celdas seleccionadas",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 celda seleccionada"
|
||||||
|
},
|
||||||
|
"columns": {
|
||||||
|
"_": "%d columnas seleccionadas",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 columna seleccionada"
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"_": "%d filas seleccionadas",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 fila seleccionada"
|
||||||
|
}
|
||||||
|
},
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
"creationModal": {
|
"creationModal": {
|
||||||
"button": "Crear",
|
"button": "Crear",
|
||||||
"name": "Nombre:",
|
|
||||||
"order": "Clasificación",
|
|
||||||
"paging": "Paginación",
|
|
||||||
"select": "Seleccionar",
|
|
||||||
"columns": {
|
"columns": {
|
||||||
"search": "Búsqueda de Columna",
|
"search": "Búsqueda de Columna",
|
||||||
"visible": "Visibilidad de Columna"
|
"visible": "Visibilidad de Columna"
|
||||||
},
|
},
|
||||||
"title": "Crear Nuevo Estado",
|
"name": "Nombre:",
|
||||||
"toggleLabel": "Incluir:",
|
"order": "Clasificación",
|
||||||
|
"paging": "Paginación",
|
||||||
"scroller": "Posición de desplazamiento",
|
"scroller": "Posición de desplazamiento",
|
||||||
"search": "Búsqueda",
|
"search": "Búsqueda",
|
||||||
"searchBuilder": "Búsqueda avanzada"
|
"searchBuilder": "Búsqueda avanzada",
|
||||||
|
"select": "Seleccionar",
|
||||||
|
"title": "Crear Nuevo Estado",
|
||||||
|
"toggleLabel": "Incluir:"
|
||||||
},
|
},
|
||||||
"removeJoiner": "y",
|
|
||||||
"removeSubmit": "Eliminar",
|
|
||||||
"renameButton": "Cambiar Nombre",
|
|
||||||
"duplicateError": "Ya existe un Estado con este nombre.",
|
"duplicateError": "Ya existe un Estado con este nombre.",
|
||||||
"emptyStates": "No hay Estados guardados",
|
|
||||||
"removeTitle": "Remover Estado",
|
|
||||||
"renameTitle": "Cambiar Nombre Estado",
|
|
||||||
"emptyError": "El nombre no puede estar vacío.",
|
"emptyError": "El nombre no puede estar vacío.",
|
||||||
|
"emptyStates": "No hay Estados guardados",
|
||||||
"removeConfirm": "¿Seguro que quiere eliminar %s?",
|
"removeConfirm": "¿Seguro que quiere eliminar %s?",
|
||||||
"removeError": "Error al eliminar el Estado",
|
"removeError": "Error al eliminar el Estado",
|
||||||
"renameLabel": "Nuevo nombre para %s:"
|
"removeJoiner": "y",
|
||||||
|
"removeSubmit": "Eliminar",
|
||||||
|
"removeTitle": "Remover Estado",
|
||||||
|
"renameButton": "Cambiar Nombre",
|
||||||
|
"renameLabel": "Nuevo nombre para %s:",
|
||||||
|
"renameTitle": "Cambiar Nombre Estado"
|
||||||
},
|
},
|
||||||
"infoThousands": "."
|
"thousands": ".",
|
||||||
|
"zeroRecords": "No se encontraron resultados"
|
||||||
}
|
}
|
||||||
@@ -1,126 +1,43 @@
|
|||||||
{
|
{
|
||||||
"emptyTable": "Aucune donnée disponible dans le tableau",
|
"aria": {
|
||||||
"loadingRecords": "Chargement...",
|
"orderable": "Activer pour trier",
|
||||||
"processing": "Traitement...",
|
"orderableRemove": "Activer pour supprimer le tri",
|
||||||
"select": {
|
"orderableReverse": "Activer pour inverser le tri",
|
||||||
"rows": {
|
"paginate": {
|
||||||
"_": "%d lignes sélectionnées",
|
"first": "Première",
|
||||||
"1": "1 ligne sélectionnée"
|
"last": "Dernière",
|
||||||
},
|
"next": "Suivante",
|
||||||
"cells": {
|
"previous": "Précédente"
|
||||||
"1": "1 cellule sélectionnée",
|
|
||||||
"_": "%d cellules sélectionnées"
|
|
||||||
},
|
|
||||||
"columns": {
|
|
||||||
"1": "1 colonne sélectionnée",
|
|
||||||
"_": "%d colonnes sélectionnées"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoFill": {
|
"autoFill": {
|
||||||
"cancel": "Annuler",
|
"cancel": "Annuler",
|
||||||
"fill": "Remplir toutes les cellules avec <i>%d<\/i>",
|
"fill": "Remplir toutes les cellules avec <i>%d<\/i>",
|
||||||
"fillHorizontal": "Remplir les cellules horizontalement",
|
"fillHorizontal": "Remplir les cellules horizontalement",
|
||||||
"fillVertical": "Remplir les cellules verticalement"
|
"fillVertical": "Remplir les cellules verticalement",
|
||||||
},
|
"info": ""
|
||||||
"searchBuilder": {
|
|
||||||
"conditions": {
|
|
||||||
"date": {
|
|
||||||
"after": "Après le",
|
|
||||||
"before": "Avant le",
|
|
||||||
"between": "Entre",
|
|
||||||
"empty": "Vide",
|
|
||||||
"not": "Différent de",
|
|
||||||
"notBetween": "Pas entre",
|
|
||||||
"notEmpty": "Non vide",
|
|
||||||
"equals": "Égal à"
|
|
||||||
},
|
|
||||||
"number": {
|
|
||||||
"between": "Entre",
|
|
||||||
"empty": "Vide",
|
|
||||||
"gt": "Supérieur à",
|
|
||||||
"gte": "Supérieur ou égal à",
|
|
||||||
"lt": "Inférieur à",
|
|
||||||
"lte": "Inférieur ou égal à",
|
|
||||||
"not": "Différent de",
|
|
||||||
"notBetween": "Pas entre",
|
|
||||||
"notEmpty": "Non vide",
|
|
||||||
"equals": "Égal à"
|
|
||||||
},
|
|
||||||
"string": {
|
|
||||||
"contains": "Contient",
|
|
||||||
"empty": "Vide",
|
|
||||||
"endsWith": "Se termine par",
|
|
||||||
"not": "Différent de",
|
|
||||||
"notEmpty": "Non vide",
|
|
||||||
"startsWith": "Commence par",
|
|
||||||
"equals": "Égal à",
|
|
||||||
"notContains": "Ne contient pas",
|
|
||||||
"notEndsWith": "Ne termine pas par",
|
|
||||||
"notStartsWith": "Ne commence pas par"
|
|
||||||
},
|
|
||||||
"array": {
|
|
||||||
"empty": "Vide",
|
|
||||||
"contains": "Contient",
|
|
||||||
"not": "Différent de",
|
|
||||||
"notEmpty": "Non vide",
|
|
||||||
"without": "Sans",
|
|
||||||
"equals": "Égal à"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"add": "Ajouter une condition",
|
|
||||||
"button": {
|
|
||||||
"0": "Recherche avancée",
|
|
||||||
"_": "Recherche avancée (%d)"
|
|
||||||
},
|
|
||||||
"clearAll": "Effacer tout",
|
|
||||||
"condition": "Condition",
|
|
||||||
"data": "Donnée",
|
|
||||||
"deleteTitle": "Supprimer la règle de filtrage",
|
|
||||||
"logicAnd": "Et",
|
|
||||||
"logicOr": "Ou",
|
|
||||||
"title": {
|
|
||||||
"0": "Recherche avancée",
|
|
||||||
"_": "Recherche avancée (%d)"
|
|
||||||
},
|
|
||||||
"value": "Valeur",
|
|
||||||
"leftTitle": "Désindenter le critère",
|
|
||||||
"rightTitle": "Indenter le critère"
|
|
||||||
},
|
|
||||||
"searchPanes": {
|
|
||||||
"clearMessage": "Effacer tout",
|
|
||||||
"count": "{total}",
|
|
||||||
"title": "Filtres actifs - %d",
|
|
||||||
"collapse": {
|
|
||||||
"0": "Volet de recherche",
|
|
||||||
"_": "Volet de recherche (%d)"
|
|
||||||
},
|
|
||||||
"countFiltered": "{shown} ({total})",
|
|
||||||
"emptyPanes": "Pas de volet de recherche",
|
|
||||||
"loadMessage": "Chargement du volet de recherche...",
|
|
||||||
"collapseMessage": "Réduire tout",
|
|
||||||
"showMessage": "Montrer tout"
|
|
||||||
},
|
},
|
||||||
"buttons": {
|
"buttons": {
|
||||||
"collection": "Collection",
|
"collection": "Collection",
|
||||||
"colvis": "Visibilité colonnes",
|
"colvis": "Visibilité colonnes",
|
||||||
"colvisRestore": "Rétablir visibilité",
|
"colvisRestore": "Rétablir visibilité",
|
||||||
"copy": "Copier",
|
"copy": "Copier",
|
||||||
|
"copyKeys": "Appuyez sur ctrl ou u2318 + C pour copier les données du tableau dans votre presse-papier.",
|
||||||
"copySuccess": {
|
"copySuccess": {
|
||||||
"1": "1 ligne copiée dans le presse-papier",
|
"_": "%d lignes copiées dans le presse-papier",
|
||||||
"_": "%d lignes copiées dans le presse-papier"
|
"1": "1 ligne copiée dans le presse-papier"
|
||||||
},
|
},
|
||||||
"copyTitle": "Copier dans le presse-papier",
|
"copyTitle": "Copier dans le presse-papier",
|
||||||
|
"createState": "Créer un état",
|
||||||
"csv": "CSV",
|
"csv": "CSV",
|
||||||
"excel": "Excel",
|
"excel": "Excel",
|
||||||
"pageLength": {
|
"pageLength": {
|
||||||
"-1": "Afficher toutes les lignes",
|
|
||||||
"_": "Afficher %d lignes",
|
"_": "Afficher %d lignes",
|
||||||
|
"-1": "Afficher toutes les lignes",
|
||||||
"1": "Afficher 1 ligne"
|
"1": "Afficher 1 ligne"
|
||||||
},
|
},
|
||||||
"pdf": "PDF",
|
"pdf": "PDF",
|
||||||
"print": "Imprimer",
|
"print": "Imprimer",
|
||||||
"copyKeys": "Appuyez sur ctrl ou u2318 + C pour copier les données du tableau dans votre presse-papier.",
|
|
||||||
"createState": "Créer un état",
|
|
||||||
"removeAllStates": "Supprimer tous les états",
|
"removeAllStates": "Supprimer tous les états",
|
||||||
"removeState": "Supprimer",
|
"removeState": "Supprimer",
|
||||||
"renameState": "Renommer",
|
"renameState": "Renommer",
|
||||||
@@ -128,118 +45,270 @@
|
|||||||
"stateRestore": "État %d",
|
"stateRestore": "État %d",
|
||||||
"updateState": "Mettre à jour"
|
"updateState": "Mettre à jour"
|
||||||
},
|
},
|
||||||
"decimal": ",",
|
"columnControl": {
|
||||||
|
"buttons": {
|
||||||
|
"searchClear": "Effacer la recherche"
|
||||||
|
},
|
||||||
|
"colVis": "Visibilité colonnes",
|
||||||
|
"colVisDropdown": "Visibilité colonnes",
|
||||||
|
"dropdown": "Plus...",
|
||||||
|
"list": {
|
||||||
|
"all": "Tout sélectionner",
|
||||||
|
"empty": "Vide",
|
||||||
|
"none": "Désélectionner",
|
||||||
|
"search": "Rechercher..."
|
||||||
|
},
|
||||||
|
"orderAddAsc": "Ajouter tri croissant",
|
||||||
|
"orderAddDesc": "Ajouter tri décroissant",
|
||||||
|
"orderAsc": "Tri croissant",
|
||||||
|
"orderClear": "Effacer le tri",
|
||||||
|
"orderDesc": "Tri décroissant",
|
||||||
|
"orderRemove": "Supprimer du tri",
|
||||||
|
"reorder": "Réorganiser les colonnes",
|
||||||
|
"reorderLeft": "Déplacer la colonne vers la gauche",
|
||||||
|
"reorderRight": "Déplacer la colonne vers la droite",
|
||||||
|
"search": {
|
||||||
|
"datetime": {
|
||||||
|
"empty": "Vide",
|
||||||
|
"equal": "Égal à",
|
||||||
|
"greater": "Après le",
|
||||||
|
"less": "Avant le",
|
||||||
|
"notEmpty": "Non vide",
|
||||||
|
"notEqual": "Différent de"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"empty": "Vide",
|
||||||
|
"equal": "Égal à",
|
||||||
|
"greater": "Supérieur à",
|
||||||
|
"greaterOrEqual": "Supérieur ou égal à",
|
||||||
|
"less": "Inférieur à",
|
||||||
|
"lessOrEqual": "Inférieur ou égal à",
|
||||||
|
"notEmpty": "Non vide",
|
||||||
|
"notEqual": "Différent de"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"contains": "Contient",
|
||||||
|
"empty": "Vide",
|
||||||
|
"ends": "Se termine par",
|
||||||
|
"equal": "Égal à",
|
||||||
|
"notContains": "Ne contient pas",
|
||||||
|
"notEmpty": "Non vide",
|
||||||
|
"notEqual": "Différent de",
|
||||||
|
"starts": "Commence par"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"searchClear": "Effacer la recherche",
|
||||||
|
"searchDropdown": "Rechercher"
|
||||||
|
},
|
||||||
"datetime": {
|
"datetime": {
|
||||||
"previous": "Précédent",
|
"amPm": {
|
||||||
"next": "Suivant",
|
"0": "am",
|
||||||
|
"1": "pm"
|
||||||
|
},
|
||||||
"hours": "Heures",
|
"hours": "Heures",
|
||||||
"minutes": "Minutes",
|
"minutes": "Minutes",
|
||||||
"seconds": "Secondes",
|
|
||||||
"unknown": "-",
|
|
||||||
"amPm": [
|
|
||||||
"am",
|
|
||||||
"pm"
|
|
||||||
],
|
|
||||||
"months": {
|
"months": {
|
||||||
"0": "Janvier",
|
"0": "Janvier",
|
||||||
|
"1": "Février",
|
||||||
|
"10": "Novembre",
|
||||||
|
"11": "Décembre",
|
||||||
"2": "Mars",
|
"2": "Mars",
|
||||||
"3": "Avril",
|
"3": "Avril",
|
||||||
"4": "Mai",
|
"4": "Mai",
|
||||||
"5": "Juin",
|
"5": "Juin",
|
||||||
"6": "Juillet",
|
"6": "Juillet",
|
||||||
|
"7": "Août",
|
||||||
"8": "Septembre",
|
"8": "Septembre",
|
||||||
"9": "Octobre",
|
"9": "Octobre"
|
||||||
"10": "Novembre",
|
|
||||||
"1": "Février",
|
|
||||||
"11": "Décembre",
|
|
||||||
"7": "Août"
|
|
||||||
},
|
},
|
||||||
"weekdays": [
|
"next": "Suivant",
|
||||||
"Dim",
|
"previous": "Précédent",
|
||||||
"Lun",
|
"seconds": "Secondes",
|
||||||
"Mar",
|
"unknown": "-",
|
||||||
"Mer",
|
"weekdays": {
|
||||||
"Jeu",
|
"0": "Dim",
|
||||||
"Ven",
|
"1": "Lun",
|
||||||
"Sam"
|
"2": "Mar",
|
||||||
]
|
"3": "Mer",
|
||||||
|
"4": "Jeu",
|
||||||
|
"5": "Ven",
|
||||||
|
"6": "Sam"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
"decimal": "",
|
||||||
"editor": {
|
"editor": {
|
||||||
"close": "Fermer",
|
"close": "Fermer",
|
||||||
"create": {
|
"create": {
|
||||||
"title": "Créer une nouvelle entrée",
|
|
||||||
"button": "Nouveau",
|
"button": "Nouveau",
|
||||||
"submit": "Créer"
|
"submit": "Créer",
|
||||||
|
"title": "Créer une nouvelle entrée"
|
||||||
},
|
},
|
||||||
"edit": {
|
"edit": {
|
||||||
"button": "Editer",
|
"button": "Editer",
|
||||||
"title": "Editer Entrée",
|
"submit": "Mettre à jour",
|
||||||
"submit": "Mettre à jour"
|
"title": "Editer Entrée"
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "Supprimer",
|
|
||||||
"title": "Supprimer",
|
|
||||||
"submit": "Supprimer",
|
|
||||||
"confirm": {
|
|
||||||
"_": "Êtes-vous sûr de vouloir supprimer %d lignes ?",
|
|
||||||
"1": "Êtes-vous sûr de vouloir supprimer 1 ligne ?"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"multi": {
|
|
||||||
"title": "Valeurs multiples",
|
|
||||||
"info": "Les éléments sélectionnés contiennent différentes valeurs pour cette entrée. Pour modifier et définir tous les éléments de cette entrée à la même valeur, cliquez ou tapez ici, sinon ils conserveront leurs valeurs individuelles.",
|
|
||||||
"restore": "Annuler les modifications",
|
|
||||||
"noMulti": "Ce champ peut être modifié individuellement, mais ne fait pas partie d'un groupe. "
|
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"system": "Une erreur système s'est produite (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">Plus d'information<\/a>)."
|
"system": "Une erreur système s'est produite (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">Plus d'information<\/a>)."
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "Les éléments sélectionnés contiennent différentes valeurs pour cette entrée. Pour modifier et définir tous les éléments de cette entrée à la même valeur, cliquez ou tapez ici, sinon ils conserveront leurs valeurs individuelles.",
|
||||||
|
"noMulti": "Ce champ peut être modifié individuellement, mais ne fait pas partie d'un groupe. ",
|
||||||
|
"restore": "Annuler les modifications",
|
||||||
|
"title": "Valeurs multiples"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Supprimer",
|
||||||
|
"confirm": {
|
||||||
|
"_": "Êtes-vous sûr de vouloir supprimer %d lignes ?",
|
||||||
|
"1": "Êtes-vous sûr de vouloir supprimer 1 ligne ?"
|
||||||
|
},
|
||||||
|
"submit": "Supprimer",
|
||||||
|
"title": "Supprimer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyTable": "Aucune donnée disponible dans le tableau",
|
||||||
|
"info": "Affichage de _START_ à _END_ sur _TOTAL_ entrées",
|
||||||
|
"infoEmpty": "Affichage de 0 à 0 sur 0 entrées",
|
||||||
|
"infoFiltered": "(filtrées depuis un total de _MAX_ entrées)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": " ",
|
||||||
|
"lengthLabels": {
|
||||||
|
"-1": "Tout"
|
||||||
|
},
|
||||||
|
"lengthMenu": "Afficher _MENU_ entrées",
|
||||||
|
"loadingRecords": "Chargement...",
|
||||||
|
"orderClear": "Effacer le tri",
|
||||||
|
"processing": "Traitement...",
|
||||||
|
"search": "Rechercher :",
|
||||||
|
"searchBuilder": {
|
||||||
|
"add": "Ajouter une condition",
|
||||||
|
"button": {
|
||||||
|
"_": "Recherche avancée (%d)",
|
||||||
|
"0": "Recherche avancée"
|
||||||
|
},
|
||||||
|
"clearAll": "Effacer tout",
|
||||||
|
"condition": "Condition",
|
||||||
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "Contient",
|
||||||
|
"empty": "Vide",
|
||||||
|
"equals": "Égal à",
|
||||||
|
"not": "Différent de",
|
||||||
|
"notEmpty": "Non vide",
|
||||||
|
"without": "Sans"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"after": "Après le",
|
||||||
|
"before": "Avant le",
|
||||||
|
"between": "Entre",
|
||||||
|
"empty": "Vide",
|
||||||
|
"equals": "Égal à",
|
||||||
|
"not": "Différent de",
|
||||||
|
"notBetween": "Pas entre",
|
||||||
|
"notEmpty": "Non vide"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"between": "Entre",
|
||||||
|
"empty": "Vide",
|
||||||
|
"equals": "Égal à",
|
||||||
|
"gt": "Supérieur à",
|
||||||
|
"gte": "Supérieur ou égal à",
|
||||||
|
"lt": "Inférieur à",
|
||||||
|
"lte": "Inférieur ou égal à",
|
||||||
|
"not": "Différent de",
|
||||||
|
"notBetween": "Pas entre",
|
||||||
|
"notEmpty": "Non vide"
|
||||||
|
},
|
||||||
|
"string": {
|
||||||
|
"contains": "Contient",
|
||||||
|
"empty": "Vide",
|
||||||
|
"endsWith": "Se termine par",
|
||||||
|
"equals": "Égal à",
|
||||||
|
"not": "Différent de",
|
||||||
|
"notContains": "Ne contient pas",
|
||||||
|
"notEmpty": "Non vide",
|
||||||
|
"notEndsWith": "Ne termine pas par",
|
||||||
|
"notStartsWith": "Ne commence pas par",
|
||||||
|
"startsWith": "Commence par"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"data": "Donnée",
|
||||||
|
"deleteTitle": "Supprimer la règle de filtrage",
|
||||||
|
"leftTitle": "Désindenter le critère",
|
||||||
|
"logicAnd": "Et",
|
||||||
|
"logicOr": "Ou",
|
||||||
|
"rightTitle": "Indenter le critère",
|
||||||
|
"search": "Rechercher",
|
||||||
|
"title": {
|
||||||
|
"_": "Recherche avancée (%d)",
|
||||||
|
"0": "Recherche avancée"
|
||||||
|
},
|
||||||
|
"value": "Valeur",
|
||||||
|
"valueJoiner": "et"
|
||||||
|
},
|
||||||
|
"searchPanes": {
|
||||||
|
"clearMessage": "Effacer tout",
|
||||||
|
"collapse": {
|
||||||
|
"_": "Volet de recherche (%d)",
|
||||||
|
"0": "Volet de recherche"
|
||||||
|
},
|
||||||
|
"collapseMessage": "Réduire tout",
|
||||||
|
"count": "{total}",
|
||||||
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyMessage": "<em>vide<\/em>",
|
||||||
|
"emptyPanes": "Pas de volet de recherche",
|
||||||
|
"loadMessage": "Chargement du volet de recherche...",
|
||||||
|
"showMessage": "Montrer tout",
|
||||||
|
"title": "Filtres actifs - %d"
|
||||||
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
|
"select": {
|
||||||
|
"cells": {
|
||||||
|
"_": "%d cellules sélectionnées",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 cellule sélectionnée"
|
||||||
|
},
|
||||||
|
"columns": {
|
||||||
|
"_": "%d colonnes sélectionnées",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 colonne sélectionnée"
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"_": "%d lignes sélectionnées",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 ligne sélectionnée"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
"removeSubmit": "Supprimer",
|
|
||||||
"creationModal": {
|
"creationModal": {
|
||||||
"button": "Créer",
|
"button": "Créer",
|
||||||
"order": "Tri",
|
|
||||||
"paging": "Pagination",
|
|
||||||
"scroller": "Position du défilement",
|
|
||||||
"search": "Recherche",
|
|
||||||
"select": "Sélection",
|
|
||||||
"columns": {
|
"columns": {
|
||||||
"search": "Recherche par colonne",
|
"search": "Recherche par colonne",
|
||||||
"visible": "Visibilité des colonnes"
|
"visible": "Visibilité des colonnes"
|
||||||
},
|
},
|
||||||
"name": "Nom :",
|
"name": "Nom :",
|
||||||
|
"order": "Tri",
|
||||||
|
"paging": "Pagination",
|
||||||
|
"scroller": "Position du défilement",
|
||||||
|
"search": "Recherche",
|
||||||
"searchBuilder": "Recherche avancée",
|
"searchBuilder": "Recherche avancée",
|
||||||
|
"select": "Sélection",
|
||||||
"title": "Créer un nouvel état",
|
"title": "Créer un nouvel état",
|
||||||
"toggleLabel": "Inclus :"
|
"toggleLabel": "Inclus :"
|
||||||
},
|
},
|
||||||
"renameButton": "Renommer",
|
|
||||||
"duplicateError": "Il existe déjà un état avec ce nom.",
|
"duplicateError": "Il existe déjà un état avec ce nom.",
|
||||||
"emptyError": "Le nom ne peut pas être vide.",
|
"emptyError": "Le nom ne peut pas être vide.",
|
||||||
"emptyStates": "Aucun état sauvegardé",
|
"emptyStates": "Aucun état sauvegardé",
|
||||||
"removeConfirm": "Voulez vous vraiment supprimer %s ?",
|
"removeConfirm": "Voulez vous vraiment supprimer %s ?",
|
||||||
"removeError": "Échec de la suppression de l'état.",
|
"removeError": "Échec de la suppression de l'état.",
|
||||||
"removeJoiner": "et",
|
"removeJoiner": "et",
|
||||||
|
"removeSubmit": "Supprimer",
|
||||||
"removeTitle": "Supprimer l'état",
|
"removeTitle": "Supprimer l'état",
|
||||||
|
"renameButton": "Renommer",
|
||||||
"renameLabel": "Nouveau nom pour %s :",
|
"renameLabel": "Nouveau nom pour %s :",
|
||||||
"renameTitle": "Renommer l'état"
|
"renameTitle": "Renommer l'état"
|
||||||
},
|
},
|
||||||
"info": "Affichage de _START_ à _END_ sur _TOTAL_ entrées",
|
"thousands": " ",
|
||||||
"infoEmpty": "Affichage de 0 à 0 sur 0 entrées",
|
"zeroRecords": "Aucune entrée correspondante trouvée"
|
||||||
"infoFiltered": "(filtrées depuis un total de _MAX_ entrées)",
|
|
||||||
"lengthMenu": "Afficher _MENU_ entrées",
|
|
||||||
"paginate": {
|
|
||||||
"first": "Première",
|
|
||||||
"last": "Dernière",
|
|
||||||
"next": "Suivante",
|
|
||||||
"previous": "Précédente"
|
|
||||||
},
|
|
||||||
"zeroRecords": "Aucune entrée correspondante trouvée",
|
|
||||||
"aria": {
|
|
||||||
"sortAscending": " : activer pour trier la colonne par ordre croissant",
|
|
||||||
"sortDescending": " : activer pour trier la colonne par ordre décroissant"
|
|
||||||
},
|
|
||||||
"infoThousands": " ",
|
|
||||||
"search": "Rechercher :",
|
|
||||||
"thousands": " "
|
|
||||||
}
|
}
|
||||||
@@ -1,24 +1,21 @@
|
|||||||
{
|
{
|
||||||
"infoFiltered": "(filtrati da _MAX_ elementi totali)",
|
|
||||||
"infoThousands": ".",
|
|
||||||
"loadingRecords": "Caricamento...",
|
|
||||||
"processing": "Elaborazione...",
|
|
||||||
"search": "Cerca:",
|
|
||||||
"paginate": {
|
|
||||||
"first": "Inizio",
|
|
||||||
"previous": "Precedente",
|
|
||||||
"next": "Successivo",
|
|
||||||
"last": "Fine"
|
|
||||||
},
|
|
||||||
"aria": {
|
"aria": {
|
||||||
"sortAscending": ": attiva per ordinare la colonna in ordine crescente",
|
"orderable": "Ordinamento",
|
||||||
"sortDescending": ": attiva per ordinare la colonna in ordine decrescente"
|
"orderableRemove": "Rimuovi ordinamento",
|
||||||
|
"orderableReverse": "Ordinamento inverso",
|
||||||
|
"paginate": {
|
||||||
|
"first": "Inizio",
|
||||||
|
"last": "Fine",
|
||||||
|
"next": "Successivo",
|
||||||
|
"previous": "Precedente"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"autoFill": {
|
"autoFill": {
|
||||||
"cancel": "Annulla",
|
"cancel": "Annulla",
|
||||||
"fill": "Riempi tutte le celle con <i>%d<\/i>",
|
"fill": "Riempi tutte le celle con <i>%d<\/i>",
|
||||||
"fillHorizontal": "Riempi celle orizzontalmente",
|
"fillHorizontal": "Riempi celle orizzontalmente",
|
||||||
"fillVertical": "Riempi celle verticalmente"
|
"fillVertical": "Riempi celle verticalmente",
|
||||||
|
"info": ""
|
||||||
},
|
},
|
||||||
"buttons": {
|
"buttons": {
|
||||||
"collection": "Collezione <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
"collection": "Collezione <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||||
@@ -27,19 +24,20 @@
|
|||||||
"copy": "Copia",
|
"copy": "Copia",
|
||||||
"copyKeys": "Premi ctrl o u2318 + C per copiare i dati della tabella nella tua clipboard di sistema.<br \/><br \/>Per annullare, clicca questo messaggio o premi ESC.",
|
"copyKeys": "Premi ctrl o u2318 + C per copiare i dati della tabella nella tua clipboard di sistema.<br \/><br \/>Per annullare, clicca questo messaggio o premi ESC.",
|
||||||
"copySuccess": {
|
"copySuccess": {
|
||||||
"1": "Copiata 1 riga nella clipboard",
|
"_": "Copiate %d righe nella clipboard",
|
||||||
"_": "Copiate %d righe nella clipboard"
|
"1": "Copiata 1 riga nella clipboard"
|
||||||
},
|
},
|
||||||
"copyTitle": "Copia nella Clipboard",
|
"copyTitle": "Copia nella Clipboard",
|
||||||
|
"createState": "Crea stato",
|
||||||
"csv": "CSV",
|
"csv": "CSV",
|
||||||
"excel": "Excel",
|
"excel": "Excel",
|
||||||
"pageLength": {
|
"pageLength": {
|
||||||
|
"_": "Mostra %d righe",
|
||||||
"-1": "Mostra tutte le righe",
|
"-1": "Mostra tutte le righe",
|
||||||
"_": "Mostra %d righe"
|
"1": "Mostra 1 riga"
|
||||||
},
|
},
|
||||||
"pdf": "PDF",
|
"pdf": "PDF",
|
||||||
"print": "Stampa",
|
"print": "Stampa",
|
||||||
"createState": "Crea stato",
|
|
||||||
"removeAllStates": "Rimuovi tutti gli stati",
|
"removeAllStates": "Rimuovi tutti gli stati",
|
||||||
"removeState": "Rimuovi",
|
"removeState": "Rimuovi",
|
||||||
"renameState": "Rinomina",
|
"renameState": "Rinomina",
|
||||||
@@ -47,138 +45,97 @@
|
|||||||
"stateRestore": "Ripristina stato",
|
"stateRestore": "Ripristina stato",
|
||||||
"updateState": "Aggiorna"
|
"updateState": "Aggiorna"
|
||||||
},
|
},
|
||||||
"emptyTable": "Nessun dato disponibile nella tabella",
|
"columnControl": {
|
||||||
"info": "Risultati da _START_ a _END_ di _TOTAL_ elementi",
|
"buttons": {
|
||||||
"infoEmpty": "Risultati da 0 a 0 di 0 elementi",
|
"searchClear": "Cancella ricerca"
|
||||||
"lengthMenu": "Mostra _MENU_ elementi",
|
|
||||||
"searchBuilder": {
|
|
||||||
"add": "Aggiungi Condizione",
|
|
||||||
"button": {
|
|
||||||
"0": "Generatore di Ricerca",
|
|
||||||
"_": "Generatori di Ricerca (%d)"
|
|
||||||
},
|
},
|
||||||
"clearAll": "Pulisci Tutto",
|
"colVis": "Visibilità colonne",
|
||||||
"condition": "Condizione",
|
"colVisDropdown": "Visibilità colonne",
|
||||||
"conditions": {
|
"dropdown": "Altro...",
|
||||||
"date": {
|
"list": {
|
||||||
"after": "Dopo",
|
"all": "Seleziona tutto",
|
||||||
"before": "Prima",
|
"empty": "Vuoto",
|
||||||
"between": "Tra",
|
"none": "Deseleziona tutto",
|
||||||
|
"search": "Cerca..."
|
||||||
|
},
|
||||||
|
"orderAddAsc": "Aggiungi ordinamento crescente",
|
||||||
|
"orderAddDesc": "Aggiungi ordinamento decrescente",
|
||||||
|
"orderAsc": "Ordina in modo crescente",
|
||||||
|
"orderClear": "Cancella ordinamento",
|
||||||
|
"orderDesc": "Ordina in modo decrescente",
|
||||||
|
"orderRemove": "Rimuovi dall'ordinamento",
|
||||||
|
"reorder": "Riordina colonne",
|
||||||
|
"reorderLeft": "Sposta la colonna a sinistra",
|
||||||
|
"reorderRight": "Sposta la colonna a destra",
|
||||||
|
"search": {
|
||||||
|
"datetime": {
|
||||||
"empty": "Vuoto",
|
"empty": "Vuoto",
|
||||||
"equals": "Uguale A",
|
"equal": "Uguale a",
|
||||||
"not": "Non",
|
"greater": "Dopo il",
|
||||||
"notBetween": "Non Tra",
|
"less": "Prima del",
|
||||||
"notEmpty": "Non Vuoto"
|
"notEmpty": "Non vuoto",
|
||||||
|
"notEqual": "Diverso da"
|
||||||
},
|
},
|
||||||
"number": {
|
"number": {
|
||||||
"between": "Tra",
|
|
||||||
"empty": "Vuoto",
|
"empty": "Vuoto",
|
||||||
"equals": "Uguale A",
|
"equal": "Uguale a",
|
||||||
"gt": "Maggiore Di",
|
"greater": "Maggiore di",
|
||||||
"gte": "Maggiore O Uguale A",
|
"greaterOrEqual": "Maggiore o uguale a",
|
||||||
"lt": "Minore Di",
|
"less": "Minore di",
|
||||||
"lte": "Minore O Uguale A",
|
"lessOrEqual": "Minore o uguale a",
|
||||||
"not": "Non",
|
"notEmpty": "Non vuoto",
|
||||||
"notBetween": "Non Tra",
|
"notEqual": "Diverso da"
|
||||||
"notEmpty": "Non Vuoto"
|
|
||||||
},
|
},
|
||||||
"string": {
|
"text": {
|
||||||
"contains": "Contiene",
|
"contains": "Contiene",
|
||||||
"empty": "Vuoto",
|
"empty": "Vuoto",
|
||||||
"endsWith": "Finisce Con",
|
"ends": "Termina con",
|
||||||
"equals": "Uguale A",
|
"equal": "Uguale a",
|
||||||
"not": "Non",
|
"notContains": "Non contiene",
|
||||||
"notEmpty": "Non Vuoto",
|
"notEmpty": "Non vuoto",
|
||||||
"startsWith": "Inizia Con",
|
"notEqual": "Diverso da",
|
||||||
"notContains": "Non Contiene",
|
"starts": "Inizia con"
|
||||||
"notStartsWith": "Non Inizia Con",
|
|
||||||
"notEndsWith": "Non Finisce Con"
|
|
||||||
},
|
|
||||||
"array": {
|
|
||||||
"equals": "Uguale A",
|
|
||||||
"empty": "Vuoto",
|
|
||||||
"contains": "Contiene",
|
|
||||||
"not": "Non",
|
|
||||||
"notEmpty": "Non Vuoto",
|
|
||||||
"without": "Senza"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"data": "Dati",
|
"searchClear": "Cancella ricerca",
|
||||||
"deleteTitle": "Elimina regola filtro",
|
"searchDropdown": "Cerca"
|
||||||
"leftTitle": "Criterio di Riduzione Rientro",
|
|
||||||
"logicAnd": "E",
|
|
||||||
"logicOr": "O",
|
|
||||||
"rightTitle": "Criterio di Aumento Rientro",
|
|
||||||
"title": {
|
|
||||||
"0": "Generatore di Ricerca",
|
|
||||||
"_": "Generatori di Ricerca (%d)"
|
|
||||||
},
|
|
||||||
"value": "Valore"
|
|
||||||
},
|
},
|
||||||
"searchPanes": {
|
|
||||||
"clearMessage": "Pulisci Tutto",
|
|
||||||
"collapse": {
|
|
||||||
"0": "Pannello di Ricerca",
|
|
||||||
"_": "Pannelli di Ricerca (%d)"
|
|
||||||
},
|
|
||||||
"count": "{total}",
|
|
||||||
"countFiltered": "{shown} ({total})",
|
|
||||||
"emptyPanes": "Nessun Pannello di Ricerca",
|
|
||||||
"loadMessage": "Caricamento Pannello di Ricerca",
|
|
||||||
"title": "Filtri Attivi - %d",
|
|
||||||
"showMessage": "Mostra tutto",
|
|
||||||
"collapseMessage": "Espandi tutto"
|
|
||||||
},
|
|
||||||
"select": {
|
|
||||||
"cells": {
|
|
||||||
"1": "1 cella selezionata",
|
|
||||||
"_": "%d celle selezionate"
|
|
||||||
},
|
|
||||||
"columns": {
|
|
||||||
"1": "1 colonna selezionata",
|
|
||||||
"_": "%d colonne selezionate"
|
|
||||||
},
|
|
||||||
"rows": {
|
|
||||||
"1": "1 riga selezionata",
|
|
||||||
"_": "%d righe selezionate"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"zeroRecords": "Nessun elemento corrispondente trovato",
|
|
||||||
"datetime": {
|
"datetime": {
|
||||||
"amPm": [
|
"amPm": {
|
||||||
"am",
|
"0": "am",
|
||||||
"pm"
|
"1": "pm"
|
||||||
],
|
},
|
||||||
"hours": "ore",
|
"hours": "ore",
|
||||||
"minutes": "minuti",
|
"minutes": "minuti",
|
||||||
|
"months": {
|
||||||
|
"0": "Gennaio",
|
||||||
|
"1": "Febbraio",
|
||||||
|
"10": "Novembre",
|
||||||
|
"11": "Dicembre",
|
||||||
|
"2": "Marzo",
|
||||||
|
"3": "Aprile",
|
||||||
|
"4": "Maggio",
|
||||||
|
"5": "Giugno",
|
||||||
|
"6": "Luglio",
|
||||||
|
"7": "Agosto",
|
||||||
|
"8": "Settembre",
|
||||||
|
"9": "Ottobre"
|
||||||
|
},
|
||||||
"next": "successivo",
|
"next": "successivo",
|
||||||
"previous": "precedente",
|
"previous": "precedente",
|
||||||
"seconds": "secondi",
|
"seconds": "secondi",
|
||||||
"unknown": "sconosciuto",
|
"unknown": "sconosciuto",
|
||||||
"weekdays": [
|
"weekdays": {
|
||||||
"Dom",
|
"0": "Dom",
|
||||||
"Lun",
|
"1": "Lun",
|
||||||
"Mar",
|
"2": "Mar",
|
||||||
"Mer",
|
"3": "Mer",
|
||||||
"Gio",
|
"4": "Gio",
|
||||||
"Ven",
|
"5": "Ven",
|
||||||
"Sab"
|
"6": "Sab"
|
||||||
],
|
}
|
||||||
"months": [
|
|
||||||
"Gennaio",
|
|
||||||
"Febbraio",
|
|
||||||
"Marzo",
|
|
||||||
"Aprile",
|
|
||||||
"Maggio",
|
|
||||||
"Giugno",
|
|
||||||
"Luglio",
|
|
||||||
"Agosto",
|
|
||||||
"Settembre",
|
|
||||||
"Ottobre",
|
|
||||||
"Novembre",
|
|
||||||
"Dicembre"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
|
"decimal": "",
|
||||||
"editor": {
|
"editor": {
|
||||||
"close": "Chiudi",
|
"close": "Chiudi",
|
||||||
"create": {
|
"create": {
|
||||||
@@ -210,8 +167,115 @@
|
|||||||
"title": "Rimuovi"
|
"title": "Rimuovi"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"thousands": ".",
|
"emptyTable": "Nessun dato disponibile nella tabella",
|
||||||
"decimal": ",",
|
"info": "Risultati da _START_ a _END_ di _TOTAL_ elementi",
|
||||||
|
"infoEmpty": "Risultati da 0 a 0 di 0 elementi",
|
||||||
|
"infoFiltered": "(filtrati da _MAX_ elementi totali)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ".",
|
||||||
|
"lengthMenu": "Mostra _MENU_ elementi",
|
||||||
|
"loadingRecords": "Caricamento...",
|
||||||
|
"processing": "Elaborazione...",
|
||||||
|
"search": "Cerca:",
|
||||||
|
"searchBuilder": {
|
||||||
|
"add": "Aggiungi Condizione",
|
||||||
|
"button": {
|
||||||
|
"_": "Generatori di Ricerca (%d)",
|
||||||
|
"0": "Generatore di Ricerca"
|
||||||
|
},
|
||||||
|
"clearAll": "Pulisci Tutto",
|
||||||
|
"condition": "Condizione",
|
||||||
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "Contiene",
|
||||||
|
"empty": "Vuoto",
|
||||||
|
"equals": "Uguale A",
|
||||||
|
"not": "Non",
|
||||||
|
"notEmpty": "Non Vuoto",
|
||||||
|
"without": "Senza"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"after": "Dopo",
|
||||||
|
"before": "Prima",
|
||||||
|
"between": "Tra",
|
||||||
|
"empty": "Vuoto",
|
||||||
|
"equals": "Uguale A",
|
||||||
|
"not": "Non",
|
||||||
|
"notBetween": "Non Tra",
|
||||||
|
"notEmpty": "Non Vuoto"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"between": "Tra",
|
||||||
|
"empty": "Vuoto",
|
||||||
|
"equals": "Uguale A",
|
||||||
|
"gt": "Maggiore Di",
|
||||||
|
"gte": "Maggiore O Uguale A",
|
||||||
|
"lt": "Minore Di",
|
||||||
|
"lte": "Minore O Uguale A",
|
||||||
|
"not": "Non",
|
||||||
|
"notBetween": "Non Tra",
|
||||||
|
"notEmpty": "Non Vuoto"
|
||||||
|
},
|
||||||
|
"string": {
|
||||||
|
"contains": "Contiene",
|
||||||
|
"empty": "Vuoto",
|
||||||
|
"endsWith": "Finisce Con",
|
||||||
|
"equals": "Uguale A",
|
||||||
|
"not": "Non",
|
||||||
|
"notContains": "Non Contiene",
|
||||||
|
"notEmpty": "Non Vuoto",
|
||||||
|
"notEndsWith": "Non Finisce Con",
|
||||||
|
"notStartsWith": "Non Inizia Con",
|
||||||
|
"startsWith": "Inizia Con"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"data": "Dati",
|
||||||
|
"deleteTitle": "Elimina regola filtro",
|
||||||
|
"leftTitle": "Criterio di Riduzione Rientro",
|
||||||
|
"logicAnd": "E",
|
||||||
|
"logicOr": "O",
|
||||||
|
"rightTitle": "Criterio di Aumento Rientro",
|
||||||
|
"search": "Cerca",
|
||||||
|
"title": {
|
||||||
|
"_": "Generatori di Ricerca (%d)",
|
||||||
|
"0": "Generatore di Ricerca"
|
||||||
|
},
|
||||||
|
"value": "Valore",
|
||||||
|
"valueJoiner": "e"
|
||||||
|
},
|
||||||
|
"searchPanes": {
|
||||||
|
"clearMessage": "Pulisci Tutto",
|
||||||
|
"collapse": {
|
||||||
|
"_": "Pannelli di Ricerca (%d)",
|
||||||
|
"0": "Pannello di Ricerca"
|
||||||
|
},
|
||||||
|
"collapseMessage": "Espandi tutto",
|
||||||
|
"count": "{total}",
|
||||||
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyMessage": "Vuoto",
|
||||||
|
"emptyPanes": "Nessun Pannello di Ricerca",
|
||||||
|
"loadMessage": "Caricamento Pannello di Ricerca",
|
||||||
|
"showMessage": "Mostra tutto",
|
||||||
|
"title": "Filtri Attivi - %d"
|
||||||
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
|
"select": {
|
||||||
|
"cells": {
|
||||||
|
"_": "%d celle selezionate",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 cella selezionata"
|
||||||
|
},
|
||||||
|
"columns": {
|
||||||
|
"_": "%d colonne selezionate",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 colonna selezionata"
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"_": "%d righe selezionate",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 riga selezionata"
|
||||||
|
}
|
||||||
|
},
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
"creationModal": {
|
"creationModal": {
|
||||||
"button": "Crea",
|
"button": "Crea",
|
||||||
@@ -240,5 +304,7 @@
|
|||||||
"renameButton": "Rinomina",
|
"renameButton": "Rinomina",
|
||||||
"renameLabel": "Nuovo nome per %s:",
|
"renameLabel": "Nuovo nome per %s:",
|
||||||
"renameTitle": "Rinomina Stato"
|
"renameTitle": "Rinomina Stato"
|
||||||
}
|
},
|
||||||
|
"thousands": ".",
|
||||||
|
"zeroRecords": "Nessun elemento corrispondente trovato"
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,248 @@
|
|||||||
|
{
|
||||||
|
"aria": {
|
||||||
|
"paginate": {
|
||||||
|
"first": "先頭",
|
||||||
|
"last": "最終",
|
||||||
|
"next": "次",
|
||||||
|
"previous": "前"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoFill": {
|
||||||
|
"cancel": "キャンセル",
|
||||||
|
"fill": "すべてのセルを <i>%d<\/i> で埋める",
|
||||||
|
"fillHorizontal": "横方向にセルを埋める",
|
||||||
|
"fillVertical": "縦方向にセルを埋める",
|
||||||
|
"info": ""
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"collection": "コレクション <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||||
|
"colvis": "カラム表示\/非表示",
|
||||||
|
"colvisRestore": "カラム表示のリセット",
|
||||||
|
"copy": "コピー",
|
||||||
|
"copyKeys": "Ctrl または ⌘ + C でテーブルのデータをクリップボードにコピーできます。<br \/><br \/>キャンセルするには、このメッセージをクリックするか、Esc キーを押してください。",
|
||||||
|
"copySuccess": {
|
||||||
|
"_": "%d 行をクリップボードにコピーしました",
|
||||||
|
"1": "1 行をクリップボードにコピーしました"
|
||||||
|
},
|
||||||
|
"copyTitle": "クリップボードにコピー",
|
||||||
|
"createState": "Stateを作成",
|
||||||
|
"csv": "CSV",
|
||||||
|
"excel": "Excel",
|
||||||
|
"pageLength": {
|
||||||
|
"_": "%d 行を表示",
|
||||||
|
"-1": "すべての行を表示"
|
||||||
|
},
|
||||||
|
"pdf": "PDF",
|
||||||
|
"print": "印刷",
|
||||||
|
"removeAllStates": "Stateを全て削除",
|
||||||
|
"removeState": "削除",
|
||||||
|
"renameState": "名前を変更",
|
||||||
|
"savedStates": "State一覧",
|
||||||
|
"stateRestore": "State %d",
|
||||||
|
"updateState": "更新"
|
||||||
|
},
|
||||||
|
"datetime": {
|
||||||
|
"amPm": {
|
||||||
|
"0": "午前",
|
||||||
|
"1": "午後"
|
||||||
|
},
|
||||||
|
"hours": "時",
|
||||||
|
"minutes": "分",
|
||||||
|
"months": {
|
||||||
|
"0": "1月",
|
||||||
|
"1": "2月",
|
||||||
|
"10": "11月",
|
||||||
|
"11": "12月",
|
||||||
|
"2": "3月",
|
||||||
|
"3": "4月",
|
||||||
|
"4": "5月",
|
||||||
|
"5": "6月",
|
||||||
|
"6": "7月",
|
||||||
|
"7": "8月",
|
||||||
|
"8": "9月",
|
||||||
|
"9": "10月"
|
||||||
|
},
|
||||||
|
"next": "次",
|
||||||
|
"previous": "前",
|
||||||
|
"seconds": "秒",
|
||||||
|
"unknown": "-",
|
||||||
|
"weekdays": {
|
||||||
|
"0": "日",
|
||||||
|
"1": "月",
|
||||||
|
"2": "火",
|
||||||
|
"3": "水",
|
||||||
|
"4": "木",
|
||||||
|
"5": "金",
|
||||||
|
"6": "土"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"decimal": "",
|
||||||
|
"editor": {
|
||||||
|
"close": "閉じる",
|
||||||
|
"create": {
|
||||||
|
"button": "新規",
|
||||||
|
"submit": "作成",
|
||||||
|
"title": "新しいエントリーを作成"
|
||||||
|
},
|
||||||
|
"edit": {
|
||||||
|
"button": "編集",
|
||||||
|
"submit": "更新",
|
||||||
|
"title": "エントリーの編集"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"system": "システムエラーが発生しました (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">詳細<\/a>)。"
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "選択されたアイテムにはこの入力に対して異なる値が含まれています。同じ値を設定する場合はクリック(またはタップ)してください。それ以外の場合は個別の値が維持されます。",
|
||||||
|
"noMulti": "この入力は個別には編集できますが、グループの一部としては編集できません。",
|
||||||
|
"restore": "元に戻す",
|
||||||
|
"title": "複数の値"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "削除",
|
||||||
|
"confirm": {
|
||||||
|
"_": "%d 行を削除しますか?",
|
||||||
|
"1": "1 行を削除しますか?"
|
||||||
|
},
|
||||||
|
"submit": "削除",
|
||||||
|
"title": "削除"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyTable": "テーブルにデータがありません",
|
||||||
|
"info": " _TOTAL_ 件中 _START_ から _END_ まで表示",
|
||||||
|
"infoEmpty": " 0 件中 0 から 0 まで表示",
|
||||||
|
"infoFiltered": "(全 _MAX_ 件より抽出)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ",",
|
||||||
|
"lengthMenu": "_MENU_ 件表示",
|
||||||
|
"loadingRecords": "読み込み中...",
|
||||||
|
"processing": "処理中...",
|
||||||
|
"search": "検索:",
|
||||||
|
"searchBuilder": {
|
||||||
|
"add": "条件を追加",
|
||||||
|
"button": {
|
||||||
|
"_": "カスタムサーチ (%d)",
|
||||||
|
"0": "カスタムサーチ"
|
||||||
|
},
|
||||||
|
"clearAll": "すべての条件をクリア",
|
||||||
|
"condition": "条件",
|
||||||
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "含む",
|
||||||
|
"empty": "空",
|
||||||
|
"equals": "等しい",
|
||||||
|
"not": "等しくない",
|
||||||
|
"notEmpty": "空ではない",
|
||||||
|
"without": "を含まない"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"after": "指定日以後",
|
||||||
|
"before": "指定日以前",
|
||||||
|
"between": "指定日範囲内",
|
||||||
|
"empty": "空白",
|
||||||
|
"equals": "等しい",
|
||||||
|
"not": "等しくない",
|
||||||
|
"notBetween": "指定日範囲外",
|
||||||
|
"notEmpty": "空白ではない"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"between": "範囲内",
|
||||||
|
"empty": "空白",
|
||||||
|
"equals": "等しい",
|
||||||
|
"gt": "より大きい",
|
||||||
|
"gte": "以上",
|
||||||
|
"lt": "より小さい",
|
||||||
|
"lte": "以下",
|
||||||
|
"not": "等しくない",
|
||||||
|
"notBetween": "範囲外",
|
||||||
|
"notEmpty": "空白ではない"
|
||||||
|
},
|
||||||
|
"string": {
|
||||||
|
"contains": "含む",
|
||||||
|
"empty": "空白",
|
||||||
|
"endsWith": "次の文字で終わる",
|
||||||
|
"equals": "次の文字と等しい",
|
||||||
|
"not": "次の文字と等しくない",
|
||||||
|
"notContains": "含まない",
|
||||||
|
"notEmpty": "空白ではない",
|
||||||
|
"notEndsWith": "で終わらない",
|
||||||
|
"notStartsWith": "で始まらない",
|
||||||
|
"startsWith": "で始まる"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"data": "カラム",
|
||||||
|
"deleteTitle": "絞り込みルールを削除",
|
||||||
|
"leftTitle": "インデントを解除",
|
||||||
|
"logicAnd": "And",
|
||||||
|
"logicOr": "Or",
|
||||||
|
"rightTitle": "インデント",
|
||||||
|
"title": {
|
||||||
|
"_": "カスタムサーチ (%d)",
|
||||||
|
"0": "カスタムサーチ"
|
||||||
|
},
|
||||||
|
"value": "Value"
|
||||||
|
},
|
||||||
|
"searchPanes": {
|
||||||
|
"clearMessage": "すべてクリア",
|
||||||
|
"collapse": {
|
||||||
|
"_": "検索ペイン (%d)",
|
||||||
|
"0": "検索ペイン"
|
||||||
|
},
|
||||||
|
"collapseMessage": "すべて折りたたむ",
|
||||||
|
"count": "{total}",
|
||||||
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyPanes": "検索ペインがありません",
|
||||||
|
"loadMessage": "検索ペインを読み込み中",
|
||||||
|
"showMessage": "すべて表示",
|
||||||
|
"title": "有効なフィルター - %d"
|
||||||
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
|
"select": {
|
||||||
|
"cells": {
|
||||||
|
"_": "%d 個のセルが選択されました",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 個のセルが選択されました"
|
||||||
|
},
|
||||||
|
"columns": {
|
||||||
|
"_": "%d 列が選択されました",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 列が選択されました"
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"_": "%d 行が選択されました",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 行が選択されました"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stateRestore": {
|
||||||
|
"creationModal": {
|
||||||
|
"button": "作成",
|
||||||
|
"columns": {
|
||||||
|
"search": "列の検索",
|
||||||
|
"visible": "列の表示"
|
||||||
|
},
|
||||||
|
"name": "名前:",
|
||||||
|
"order": "ソート",
|
||||||
|
"paging": "ページング",
|
||||||
|
"scroller": "スクロール位置",
|
||||||
|
"search": "検索",
|
||||||
|
"searchBuilder": "カスタムサーチ",
|
||||||
|
"select": "検索",
|
||||||
|
"title": "新しいStateを作成",
|
||||||
|
"toggleLabel": "含む:"
|
||||||
|
},
|
||||||
|
"duplicateError": "この名前のStateはすでに存在します。",
|
||||||
|
"emptyError": "名前を空にすることはできません。",
|
||||||
|
"emptyStates": "保存されたStateはありません",
|
||||||
|
"removeConfirm": "%s を削除してよろしいですか?",
|
||||||
|
"removeError": "Stateの削除に失敗しました。",
|
||||||
|
"removeJoiner": " と ",
|
||||||
|
"removeSubmit": "削除",
|
||||||
|
"removeTitle": "Stateを削除",
|
||||||
|
"renameButton": "名前を変更",
|
||||||
|
"renameLabel": "%s の新しい名前:",
|
||||||
|
"renameTitle": "名前を変更"
|
||||||
|
},
|
||||||
|
"thousands": ",",
|
||||||
|
"zeroRecords": "一致するレコードがありません"
|
||||||
|
}
|
||||||
@@ -0,0 +1,197 @@
|
|||||||
|
{
|
||||||
|
"aria": {
|
||||||
|
"paginate": {
|
||||||
|
"first": "처음",
|
||||||
|
"last": "마지막",
|
||||||
|
"next": "다음",
|
||||||
|
"previous": "이전"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoFill": {
|
||||||
|
"cancel": "취소",
|
||||||
|
"fill": "모든 셀에 <i>%d<i><\/i><\/i> 채우기",
|
||||||
|
"fillHorizontal": "수평으로 셀에 값 채우기",
|
||||||
|
"fillVertical": "수직으로 셀에 값 채우기",
|
||||||
|
"info": ""
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"collection": "모음 <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||||
|
"colvis": "열 보기",
|
||||||
|
"colvisRestore": "보기 복원",
|
||||||
|
"copy": "복사",
|
||||||
|
"copyKeys": "ctrl키나 u2318 + C키로 테이블 데이터를 시스템 클립보드에서 복사하고 취소하려면 이 메시지를 클릭하거나 ESC키를 누르면됩니다.",
|
||||||
|
"copySuccess": {
|
||||||
|
"_": "%d행을 클립보드에서 복사됨",
|
||||||
|
"1": "1행을 클립보드에서 복사됨"
|
||||||
|
},
|
||||||
|
"copyTitle": "클립보드에서 복사",
|
||||||
|
"createState": "상태 생성",
|
||||||
|
"csv": "CSV",
|
||||||
|
"excel": "엑셀",
|
||||||
|
"pageLength": {
|
||||||
|
"_": "%d행 보기",
|
||||||
|
"-1": "모든 행 보기",
|
||||||
|
"1": "1행 보기"
|
||||||
|
},
|
||||||
|
"pdf": "PDF",
|
||||||
|
"print": "인쇄",
|
||||||
|
"removeAllStates": "모든 상태 삭제",
|
||||||
|
"removeState": "삭제",
|
||||||
|
"renameState": "이름 변경",
|
||||||
|
"savedStates": "저장된 상태",
|
||||||
|
"stateRestore": "상태 %d",
|
||||||
|
"updateState": "갱신"
|
||||||
|
},
|
||||||
|
"columnControl": {
|
||||||
|
"buttons": {
|
||||||
|
"searchClear": "검색 지우기"
|
||||||
|
},
|
||||||
|
"dropdown": "더 보기...",
|
||||||
|
"list": {
|
||||||
|
"all": "전체 선택",
|
||||||
|
"empty": "비어 있음",
|
||||||
|
"none": "선택 해제",
|
||||||
|
"search": "검색..."
|
||||||
|
},
|
||||||
|
"orderAsc": "오름차순 정렬",
|
||||||
|
"orderClear": "정렬 지우기",
|
||||||
|
"orderDesc": "내림차순 정렬",
|
||||||
|
"orderRemove": "정렬 취소",
|
||||||
|
"reorder": "열 이동",
|
||||||
|
"reorderLeft": "왼쪽으로 열 이동",
|
||||||
|
"reorderRight": "오른쪽으로 열 이동",
|
||||||
|
"search": {
|
||||||
|
"datetime": {
|
||||||
|
"empty": "비어 있음",
|
||||||
|
"equal": "같음",
|
||||||
|
"greater": "이후",
|
||||||
|
"less": "이전",
|
||||||
|
"notEmpty": "비어 있지 않음",
|
||||||
|
"notEqual": "같지 않음"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"empty": "비어 있음",
|
||||||
|
"equal": "같음",
|
||||||
|
"greater": "큼",
|
||||||
|
"greaterOrEqual": "크거나 같음",
|
||||||
|
"less": "작음",
|
||||||
|
"lessOrEqual": "작거나 같음",
|
||||||
|
"notEmpty": "비어 있지 않음",
|
||||||
|
"notEqual": "같지 않음"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"contains": "포함되어 있음",
|
||||||
|
"empty": "비어 있음",
|
||||||
|
"ends": "끝남",
|
||||||
|
"equal": "같음",
|
||||||
|
"notContains": "포함되어 있지 않음",
|
||||||
|
"notEmpty": "비어 있지 않음",
|
||||||
|
"notEqual": "같지 않음",
|
||||||
|
"starts": "시작함"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"searchClear": "검색 지우기",
|
||||||
|
"searchDropdown": "검색"
|
||||||
|
},
|
||||||
|
"datetime": {
|
||||||
|
"amPm": {
|
||||||
|
"0": "오전",
|
||||||
|
"1": "오후"
|
||||||
|
},
|
||||||
|
"hours": "시",
|
||||||
|
"minutes": "분",
|
||||||
|
"months": {
|
||||||
|
"0": "1월",
|
||||||
|
"1": "2월",
|
||||||
|
"10": "11월",
|
||||||
|
"11": "12월",
|
||||||
|
"2": "3월",
|
||||||
|
"3": "4월",
|
||||||
|
"4": "5월",
|
||||||
|
"5": "6월",
|
||||||
|
"6": "7월",
|
||||||
|
"7": "8월",
|
||||||
|
"8": "9월",
|
||||||
|
"9": "10월"
|
||||||
|
},
|
||||||
|
"next": "다음",
|
||||||
|
"previous": "이전",
|
||||||
|
"seconds": "초",
|
||||||
|
"unknown": "-",
|
||||||
|
"weekdays": {
|
||||||
|
"0": "일",
|
||||||
|
"1": "월",
|
||||||
|
"2": "화",
|
||||||
|
"3": "수",
|
||||||
|
"4": "목",
|
||||||
|
"5": "금",
|
||||||
|
"6": "토"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"decimal": "",
|
||||||
|
"editor": {
|
||||||
|
"close": "닫기",
|
||||||
|
"create": {
|
||||||
|
"button": "추가",
|
||||||
|
"submit": "완료",
|
||||||
|
"title": "항목 추가"
|
||||||
|
},
|
||||||
|
"edit": {
|
||||||
|
"button": "수정",
|
||||||
|
"submit": "완료",
|
||||||
|
"title": "항목 수정"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"system": "에러가 발생하였습니다 (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">자세한 정보<\/a>)."
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "삭제",
|
||||||
|
"submit": "완료",
|
||||||
|
"title": "항목 삭제"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyTable": "데이터가 없습니다",
|
||||||
|
"info": "_START_ - _END_ \/ _TOTAL_",
|
||||||
|
"infoEmpty": "0 - 0 \/ 0",
|
||||||
|
"infoFiltered": "(총 _MAX_ 개)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ",",
|
||||||
|
"lengthLabels": {
|
||||||
|
"-1": "전체"
|
||||||
|
},
|
||||||
|
"lengthMenu": "페이지당 줄수 _MENU_",
|
||||||
|
"loadingRecords": "읽는 중...",
|
||||||
|
"processing": "처리 중...",
|
||||||
|
"search": "검색:",
|
||||||
|
"searchBuilder": {
|
||||||
|
"add": "조건 추가",
|
||||||
|
"button": {
|
||||||
|
"_": "빌더 조회(%d)",
|
||||||
|
"0": "빌더 조회"
|
||||||
|
},
|
||||||
|
"clearAll": "모두 지우기",
|
||||||
|
"condition": "조건",
|
||||||
|
"data": "데이터",
|
||||||
|
"deleteTitle": "필터 규칙을 삭제",
|
||||||
|
"logicAnd": "And",
|
||||||
|
"logicOr": "Or",
|
||||||
|
"title": {
|
||||||
|
"_": "빌더 조회(%d)",
|
||||||
|
"0": "빌더 조회"
|
||||||
|
},
|
||||||
|
"value": "값"
|
||||||
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
|
"select": {
|
||||||
|
"cells": {
|
||||||
|
"0": ""
|
||||||
|
},
|
||||||
|
"columns": {
|
||||||
|
"0": ""
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"0": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zeroRecords": "검색 결과가 없습니다"
|
||||||
|
}
|
||||||
@@ -1,66 +1,203 @@
|
|||||||
{
|
{
|
||||||
"lengthMenu": "_MENU_ resultaten weergeven",
|
|
||||||
"zeroRecords": "Geen resultaten gevonden",
|
|
||||||
"infoEmpty": "Geen resultaten om weer te geven",
|
|
||||||
"search": "Zoeken:",
|
|
||||||
"emptyTable": "Geen resultaten aanwezig in de tabel",
|
|
||||||
"infoThousands": ".",
|
|
||||||
"loadingRecords": "Een moment geduld aub - bezig met laden...",
|
|
||||||
"paginate": {
|
|
||||||
"first": "Eerste",
|
|
||||||
"last": "Laatste",
|
|
||||||
"next": "Volgende",
|
|
||||||
"previous": "Vorige"
|
|
||||||
},
|
|
||||||
"aria": {
|
"aria": {
|
||||||
"sortAscending": ": activeer om kolom oplopend te sorteren",
|
"orderable": "Sorteren inschakelen",
|
||||||
"sortDescending": ": activeer om kolom aflopend te sorteren"
|
"orderableRemove": "Sortering verwijderen",
|
||||||
|
"orderableReverse": "Sortering omkeren",
|
||||||
|
"paginate": {
|
||||||
|
"first": "Eerste",
|
||||||
|
"last": "Laatste",
|
||||||
|
"next": "Volgende",
|
||||||
|
"previous": "Vorige"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"autoFill": {
|
"autoFill": {
|
||||||
|
"cancel": "Annuleren",
|
||||||
"fill": "Vul alle cellen met <i>%d<\/i>",
|
"fill": "Vul alle cellen met <i>%d<\/i>",
|
||||||
"fillHorizontal": "Vul cellen horizontaal",
|
"fillHorizontal": "Vul cellen horizontaal",
|
||||||
"fillVertical": "Vul cellen verticaal",
|
"fillVertical": "Vul cellen verticaal",
|
||||||
"cancel": "Annuleren",
|
"info": ""
|
||||||
"info": "Voorbeeld automatisch aanvullen info"
|
|
||||||
},
|
},
|
||||||
"buttons": {
|
"buttons": {
|
||||||
|
"collection": "Verzameling",
|
||||||
"colvis": "Kolom zichtbaarheid",
|
"colvis": "Kolom zichtbaarheid",
|
||||||
"colvisRestore": "Herstel zichtbaarheid",
|
"colvisRestore": "Herstel zichtbaarheid",
|
||||||
"copy": "Kopieer",
|
"copy": "Kopieer",
|
||||||
|
"copyKeys": "Klik ctrl of u2318 + C om de tabeldata to kopiëren naar je klembord. Om te annuleren klik hier of klik op escape.",
|
||||||
"copySuccess": {
|
"copySuccess": {
|
||||||
"1": "1 regel naar klembord gekopieerd",
|
"_": "%ds regels naar klembord gekopieerd",
|
||||||
"_": "%ds regels naar klembord gekopieerd"
|
"1": "1 regel naar klembord gekopieerd"
|
||||||
},
|
},
|
||||||
"copyTitle": "Kopieer naar klembord",
|
"copyTitle": "Kopieer naar klembord",
|
||||||
|
"createState": "Maak staat",
|
||||||
"csv": "CSV",
|
"csv": "CSV",
|
||||||
"excel": "Excel",
|
"excel": "Excel",
|
||||||
"pageLength": {
|
"pageLength": {
|
||||||
"-1": "Toon alle regels",
|
|
||||||
"_": "Toon %d regels",
|
"_": "Toon %d regels",
|
||||||
"1": "Toon 1 rij"
|
"-1": "Toon alle regels",
|
||||||
|
"1": "Toon 1 regel"
|
||||||
},
|
},
|
||||||
"pdf": "PDF",
|
"pdf": "PDF",
|
||||||
"print": "Print",
|
"print": "Print",
|
||||||
"copyKeys": "Klik ctrl of u2318 + C om de tabeldata to kopiëren naar je klembord. Om te annuleren klik hier of klik op escape.",
|
|
||||||
"collection": "Verzameling",
|
|
||||||
"createState": "Maak staat",
|
|
||||||
"removeAllStates": "Verwijder alle",
|
"removeAllStates": "Verwijder alle",
|
||||||
"removeState": "Verwijder",
|
"removeState": "Verwijder",
|
||||||
"renameState": "Hernoem",
|
"renameState": "Hernoem",
|
||||||
"savedStates": "Opgeslagen",
|
"savedStates": "Opgeslagen",
|
||||||
"updateState": "Bijwerken",
|
"stateRestore": "Preset %d",
|
||||||
"stateRestore": "Preset %d"
|
"updateState": "Bijwerken"
|
||||||
},
|
},
|
||||||
|
"columnControl": {
|
||||||
|
"buttons": {
|
||||||
|
"searchClear": "Reset zoekactie"
|
||||||
|
},
|
||||||
|
"colVis": "Kolom zichtbaarheid",
|
||||||
|
"colVisDropdown": "Kolom zichtbaarheid",
|
||||||
|
"dropdown": "Meer...",
|
||||||
|
"list": {
|
||||||
|
"all": "Selecteer alles",
|
||||||
|
"empty": "Leeg",
|
||||||
|
"none": "Deselecteer",
|
||||||
|
"search": "Zoeken..."
|
||||||
|
},
|
||||||
|
"orderAddAsc": "Sortering toevoegen (oplopend)",
|
||||||
|
"orderAddDesc": "Sortering toevoegen (aflopend)",
|
||||||
|
"orderAsc": "Oplopend sorteren",
|
||||||
|
"orderClear": "Reset sortering",
|
||||||
|
"orderDesc": "Aflopend sorteren",
|
||||||
|
"orderRemove": "Verwijder van sortering",
|
||||||
|
"reorder": "Kolommen herschikken",
|
||||||
|
"reorderLeft": "Verplaats kolom links",
|
||||||
|
"reorderRight": "Verplaatst kolom rechts",
|
||||||
|
"search": {
|
||||||
|
"datetime": {
|
||||||
|
"empty": "Leeg",
|
||||||
|
"equal": "Gelijk aan",
|
||||||
|
"greater": "Na",
|
||||||
|
"less": "Vóór",
|
||||||
|
"notEmpty": "Niet leeg",
|
||||||
|
"notEqual": "Niet gelijk aan"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"empty": "Leeg",
|
||||||
|
"equal": "Gelijk aan",
|
||||||
|
"greater": "Meer dan",
|
||||||
|
"greaterOrEqual": "Meer of gelijk",
|
||||||
|
"less": "Minder dan",
|
||||||
|
"lessOrEqual": "Minder of gelijk",
|
||||||
|
"notEmpty": "Niet leeg",
|
||||||
|
"notEqual": "Niet gelijk aan"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"contains": "Bevat",
|
||||||
|
"empty": "Leeg",
|
||||||
|
"ends": "Eindigt",
|
||||||
|
"equal": "Gelijk aan",
|
||||||
|
"notContains": "Bevat niet",
|
||||||
|
"notEmpty": "Niet leeg",
|
||||||
|
"notEqual": "Niet gelijk aan",
|
||||||
|
"starts": "Begint"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"searchClear": "Reset zoekactie",
|
||||||
|
"searchDropdown": "Zoeken"
|
||||||
|
},
|
||||||
|
"datetime": {
|
||||||
|
"amPm": {
|
||||||
|
"0": "vm",
|
||||||
|
"1": "nm"
|
||||||
|
},
|
||||||
|
"hours": "Uur",
|
||||||
|
"minutes": "Minuut",
|
||||||
|
"months": {
|
||||||
|
"0": "Januari",
|
||||||
|
"1": "Februari",
|
||||||
|
"10": "November",
|
||||||
|
"11": "December",
|
||||||
|
"2": "Maart",
|
||||||
|
"3": "April",
|
||||||
|
"4": "Mei",
|
||||||
|
"5": "Juni",
|
||||||
|
"6": "Juli",
|
||||||
|
"7": "Augustus",
|
||||||
|
"8": "September",
|
||||||
|
"9": "Oktober"
|
||||||
|
},
|
||||||
|
"next": "Volgende",
|
||||||
|
"previous": "Vorige",
|
||||||
|
"seconds": "Seconde",
|
||||||
|
"unknown": "Onbekend",
|
||||||
|
"weekdays": {
|
||||||
|
"0": "Zo",
|
||||||
|
"1": "Ma",
|
||||||
|
"2": "Di",
|
||||||
|
"3": "Wo",
|
||||||
|
"4": "Do",
|
||||||
|
"5": "Vr",
|
||||||
|
"6": "Za"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"decimal": "",
|
||||||
|
"editor": {
|
||||||
|
"close": "Sluiten",
|
||||||
|
"create": {
|
||||||
|
"button": "Nieuw",
|
||||||
|
"submit": "Toevoegen",
|
||||||
|
"title": "Voeg nieuwe gegevens toe"
|
||||||
|
},
|
||||||
|
"edit": {
|
||||||
|
"button": "Wijzigen",
|
||||||
|
"submit": "Wijzigen",
|
||||||
|
"title": "Wijzig gegevens"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"system": "Er is een fout gebeurd"
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "De geselecteerde items bevatten verschillende waarden voor deze invoer. Om alle items voor deze invoer op dezelfde waarde te zetten, klik of tik hier, zoniet zullen de individuele waarden behouden blijven.",
|
||||||
|
"noMulti": "Deze invoer kan individueel gewijzigd worden, maar niet als deel van een groep.",
|
||||||
|
"restore": "Wijzigingen ongedaan maken",
|
||||||
|
"title": "Meerdere waarden"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Verwijderen",
|
||||||
|
"confirm": {
|
||||||
|
"_": "Bent u zeker dat u %d rijen wil verwijderen?",
|
||||||
|
"1": "Bent u zeker dat u 1 rij wil verwijderen?"
|
||||||
|
},
|
||||||
|
"submit": "Verwijder",
|
||||||
|
"title": "Verwijder"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyTable": "Geen resultaten aanwezig in de tabel",
|
||||||
|
"info": "_START_ tot _END_ van _TOTAL_ resultaten",
|
||||||
|
"infoEmpty": "Geen resultaten om weer te geven",
|
||||||
|
"infoFiltered": " (gefilterd uit _MAX_ resultaten)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ".",
|
||||||
|
"lengthLabels": {
|
||||||
|
"-1": "Alle"
|
||||||
|
},
|
||||||
|
"lengthMenu": "_MENU_ resultaten weergeven",
|
||||||
|
"loadingRecords": "Een moment geduld aub - bezig met laden...",
|
||||||
|
"orderClear": "Reset sortering",
|
||||||
"processing": "Verwerken...",
|
"processing": "Verwerken...",
|
||||||
"decimal": ",",
|
"search": "Zoeken:",
|
||||||
"searchBuilder": {
|
"searchBuilder": {
|
||||||
"add": "Toevoegen",
|
"add": "Toevoegen",
|
||||||
|
"button": {
|
||||||
|
"_": "Zoekwizard (%d)",
|
||||||
|
"0": "Zoekwizard"
|
||||||
|
},
|
||||||
"clearAll": "Verwijder alles",
|
"clearAll": "Verwijder alles",
|
||||||
"condition": "Conditie",
|
"condition": "Conditie",
|
||||||
"data": "Data",
|
|
||||||
"deleteTitle": "Verwijder",
|
|
||||||
"value": "Waarde",
|
|
||||||
"conditions": {
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "Bevat",
|
||||||
|
"empty": "Leeg",
|
||||||
|
"equals": "Gelijk aan",
|
||||||
|
"not": "Niet",
|
||||||
|
"notEmpty": "Niet leeg",
|
||||||
|
"without": "Zonder"
|
||||||
|
},
|
||||||
"date": {
|
"date": {
|
||||||
"after": "Na",
|
"after": "Na",
|
||||||
"before": "Voor",
|
"before": "Voor",
|
||||||
@@ -89,129 +226,57 @@
|
|||||||
"endsWith": "Eindigt met",
|
"endsWith": "Eindigt met",
|
||||||
"equals": "Gelijk aan",
|
"equals": "Gelijk aan",
|
||||||
"not": "Niet",
|
"not": "Niet",
|
||||||
"notEmpty": "Niet leeg",
|
|
||||||
"startsWith": "Start met",
|
|
||||||
"notContains": "Zonder",
|
"notContains": "Zonder",
|
||||||
"notEndsWith": "Eindigt niet met",
|
|
||||||
"notStartsWith": "Begint niet met"
|
|
||||||
},
|
|
||||||
"array": {
|
|
||||||
"equals": "Gelijk aan",
|
|
||||||
"empty": "Leeg",
|
|
||||||
"contains": "Bevat",
|
|
||||||
"not": "Niet",
|
|
||||||
"notEmpty": "Niet leeg",
|
"notEmpty": "Niet leeg",
|
||||||
"without": "Zonder"
|
"notEndsWith": "Eindigt niet met",
|
||||||
|
"notStartsWith": "Begint niet met",
|
||||||
|
"startsWith": "Start met"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"data": "Data",
|
||||||
|
"deleteTitle": "Verwijder",
|
||||||
|
"leftTitle": "Afwijkende criteria",
|
||||||
"logicAnd": "En",
|
"logicAnd": "En",
|
||||||
"logicOr": "Of",
|
"logicOr": "Of",
|
||||||
"button": {
|
|
||||||
"0": "Zoekwizard",
|
|
||||||
"_": "Zoekwizard (%d)"
|
|
||||||
},
|
|
||||||
"leftTitle": "Afwijkende criteria",
|
|
||||||
"rightTitle": "Criteria inspringen",
|
"rightTitle": "Criteria inspringen",
|
||||||
|
"search": "Zoeken",
|
||||||
"title": {
|
"title": {
|
||||||
"0": "Zoekwizard",
|
"_": "Zoekwizard (%d) ",
|
||||||
"_": "Zoekwizard (%d) "
|
"0": "Zoekwizard"
|
||||||
}
|
},
|
||||||
|
"value": "Waarde"
|
||||||
},
|
},
|
||||||
"searchPanes": {
|
"searchPanes": {
|
||||||
"clearMessage": "Alles leegmaken",
|
"clearMessage": "Alles leegmaken",
|
||||||
"collapse": {
|
"collapse": {
|
||||||
"0": "Zoekpanelen",
|
"_": "Zoekpanelen (%d)",
|
||||||
"_": "Zoekpanelen (%d)"
|
"0": "Zoekpanelen"
|
||||||
},
|
},
|
||||||
|
"collapseMessage": "Instorten",
|
||||||
"count": "{total}",
|
"count": "{total}",
|
||||||
"countFiltered": "{shown} ({total})",
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyMessage": "<em>Leeg<\/em>",
|
||||||
"emptyPanes": "Geen zoekpanelen",
|
"emptyPanes": "Geen zoekpanelen",
|
||||||
"loadMessage": "Zoekpanelen laden...",
|
"loadMessage": "Zoekpanelen laden...",
|
||||||
"title": "%d filters actief",
|
|
||||||
"showMessage": "Alles weergeven",
|
"showMessage": "Alles weergeven",
|
||||||
"collapseMessage": "Instorten"
|
"title": "%d filters actief"
|
||||||
},
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
"select": {
|
"select": {
|
||||||
"cells": {
|
"cells": {
|
||||||
"1": "1 cel geselecteerd",
|
"_": "%d cellen geselecteerd",
|
||||||
"_": "%d cellen geselecteerd"
|
"0": "",
|
||||||
|
"1": "1 cel geselecteerd"
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"1": "1 kolom geselecteerd",
|
"_": "%d kolommen geselecteerd",
|
||||||
"_": "%d kolommen geselecteerd"
|
"0": "",
|
||||||
|
"1": "1 kolom geselecteerd"
|
||||||
},
|
},
|
||||||
"rows": {
|
"rows": {
|
||||||
"1": "1 rij geselecteerd",
|
"_": "%d rijen geselecteerd",
|
||||||
"_": "%d rijen geselecteerd"
|
"0": "",
|
||||||
}
|
"1": "1 rij geselecteerd"
|
||||||
},
|
|
||||||
"thousands": ".",
|
|
||||||
"info": "_START_ tot _END_ van _TOTAL_ resultaten",
|
|
||||||
"infoFiltered": " (gefilterd uit _MAX_ resultaten)",
|
|
||||||
"datetime": {
|
|
||||||
"previous": "Vorige",
|
|
||||||
"next": "Volgende",
|
|
||||||
"hours": "Uur",
|
|
||||||
"minutes": "Minuut",
|
|
||||||
"seconds": "Seconde",
|
|
||||||
"unknown": "Onbekend",
|
|
||||||
"amPm": [
|
|
||||||
"vm",
|
|
||||||
"nm"
|
|
||||||
],
|
|
||||||
"weekdays": [
|
|
||||||
"Zo",
|
|
||||||
"Ma",
|
|
||||||
"Di",
|
|
||||||
"Wo",
|
|
||||||
"Do",
|
|
||||||
"Vr",
|
|
||||||
"Za"
|
|
||||||
],
|
|
||||||
"months": [
|
|
||||||
"Januari",
|
|
||||||
"Februari",
|
|
||||||
"Maart",
|
|
||||||
"April",
|
|
||||||
"Mei",
|
|
||||||
"Juni",
|
|
||||||
"Juli",
|
|
||||||
"Augustus",
|
|
||||||
"September",
|
|
||||||
"Oktober",
|
|
||||||
"November",
|
|
||||||
"December"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"editor": {
|
|
||||||
"close": "Sluiten",
|
|
||||||
"create": {
|
|
||||||
"button": "Nieuw",
|
|
||||||
"title": "Voeg nieuwe gegevens toe",
|
|
||||||
"submit": "Toevoegen"
|
|
||||||
},
|
|
||||||
"edit": {
|
|
||||||
"button": "Wijzigen",
|
|
||||||
"title": "Wijzig gegevens",
|
|
||||||
"submit": "Wijzigen"
|
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "Verwijderen",
|
|
||||||
"title": "Verwijder",
|
|
||||||
"submit": "Verwijder",
|
|
||||||
"confirm": {
|
|
||||||
"_": "Bent u zeker dat u %d rijen wil verwijderen?",
|
|
||||||
"1": "Bent u zeker dat u 1 rij wil verwijderen?"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"system": "Er is een fout gebeurd"
|
|
||||||
},
|
|
||||||
"multi": {
|
|
||||||
"title": "Meerdere waarden",
|
|
||||||
"info": "De geselecteerde items bevatten verschillende waarden voor deze invoer. Om alle items voor deze invoer op dezelfde waarde te zetten, klik of tik hier, zoniet zullen de individuele waarden behouden blijven.",
|
|
||||||
"restore": "Wijzigingen ongedaan maken",
|
|
||||||
"noMulti": "Deze invoer kan individueel gewijzigd worden, maar niet als deel van een groep."
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
@@ -242,5 +307,7 @@
|
|||||||
"renameButton": "Hernoem",
|
"renameButton": "Hernoem",
|
||||||
"renameLabel": "Nieuwe naam voor staat",
|
"renameLabel": "Nieuwe naam voor staat",
|
||||||
"renameTitle": "Hernoem staat"
|
"renameTitle": "Hernoem staat"
|
||||||
}
|
},
|
||||||
|
"thousands": ".",
|
||||||
|
"zeroRecords": "Geen resultaten gevonden"
|
||||||
}
|
}
|
||||||
@@ -1,27 +1,21 @@
|
|||||||
{
|
{
|
||||||
"processing": "Przetwarzanie...",
|
|
||||||
"search": "Szukaj:",
|
|
||||||
"lengthMenu": "Pokaż _MENU_ pozycji",
|
|
||||||
"info": "Pozycje od _START_ do _END_ z _TOTAL_ łącznie",
|
|
||||||
"infoEmpty": "Pozycji 0 z 0 dostępnych",
|
|
||||||
"infoFiltered": "(filtrowanie spośród _MAX_ dostępnych pozycji)",
|
|
||||||
"loadingRecords": "Wczytywanie...",
|
|
||||||
"zeroRecords": "Nie znaleziono pasujących pozycji",
|
|
||||||
"paginate": {
|
|
||||||
"first": "Pierwsza",
|
|
||||||
"previous": "Poprzednia",
|
|
||||||
"next": "Następna",
|
|
||||||
"last": "Ostatnia"
|
|
||||||
},
|
|
||||||
"aria": {
|
"aria": {
|
||||||
"sortAscending": ": aktywuj, by posortować kolumnę rosnąco",
|
"orderable": "Aktywuj sortowanie",
|
||||||
"sortDescending": ": aktywuj, by posortować kolumnę malejąco"
|
"orderableRemove": "Aktywuj, aby usunąć sortowanie",
|
||||||
|
"orderableReverse": "Aktywuj, aby odwrócić sortowanie",
|
||||||
|
"paginate": {
|
||||||
|
"first": "Pierwsza",
|
||||||
|
"last": "Ostatnia",
|
||||||
|
"next": "Następna",
|
||||||
|
"previous": "Poprzednia"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"autoFill": {
|
"autoFill": {
|
||||||
"cancel": "Anuluj",
|
"cancel": "Anuluj",
|
||||||
"fill": "Wypełnij wszystkie komórki <i>%d<\/i>",
|
"fill": "Wypełnij wszystkie komórki <i>%d<\/i>",
|
||||||
"fillHorizontal": "Wypełnij komórki w poziomie",
|
"fillHorizontal": "Wypełnij komórki w poziomie",
|
||||||
"fillVertical": "Wypełnij komórki w pionie"
|
"fillVertical": "Wypełnij komórki w pionie",
|
||||||
|
"info": ""
|
||||||
},
|
},
|
||||||
"buttons": {
|
"buttons": {
|
||||||
"collection": "Zbiór <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
"collection": "Zbiór <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||||
@@ -30,19 +24,20 @@
|
|||||||
"copy": "Kopiuj",
|
"copy": "Kopiuj",
|
||||||
"copyKeys": "Naciśnij Ctrl lub u2318 + C, aby skopiować dane tabeli do schowka systemowego. <br \/> <br \/> Aby anulować, kliknij tę wiadomość lub naciśnij Esc.",
|
"copyKeys": "Naciśnij Ctrl lub u2318 + C, aby skopiować dane tabeli do schowka systemowego. <br \/> <br \/> Aby anulować, kliknij tę wiadomość lub naciśnij Esc.",
|
||||||
"copySuccess": {
|
"copySuccess": {
|
||||||
"1": "Skopiowano 1 wiersz do schowka",
|
"_": "Skopiowano %d wierszy do schowka",
|
||||||
"_": "Skopiowano %d wierszy do schowka"
|
"1": "Skopiowano 1 wiersz do schowka"
|
||||||
},
|
},
|
||||||
"copyTitle": "Skopiuj do schowka",
|
"copyTitle": "Skopiuj do schowka",
|
||||||
|
"createState": "Utwórz stan",
|
||||||
"csv": "CSV",
|
"csv": "CSV",
|
||||||
"excel": "Excel",
|
"excel": "Excel",
|
||||||
"pageLength": {
|
"pageLength": {
|
||||||
|
"_": "Pokaż %d wierszy",
|
||||||
"-1": "Pokaż wszystkie wiersze",
|
"-1": "Pokaż wszystkie wiersze",
|
||||||
"_": "Pokaż %d wierszy"
|
"1": "Pokaż 1 wiersz"
|
||||||
},
|
},
|
||||||
"pdf": "PDF",
|
"pdf": "PDF",
|
||||||
"print": "Drukuj",
|
"print": "Drukuj",
|
||||||
"createState": "Utwórz stan",
|
|
||||||
"removeAllStates": "Usuń wszystkie stany",
|
"removeAllStates": "Usuń wszystkie stany",
|
||||||
"removeState": "Usuń",
|
"removeState": "Usuń",
|
||||||
"renameState": "Zmień nazwę",
|
"renameState": "Zmień nazwę",
|
||||||
@@ -50,16 +45,150 @@
|
|||||||
"stateRestore": "Stan %d",
|
"stateRestore": "Stan %d",
|
||||||
"updateState": "Aktualizuj"
|
"updateState": "Aktualizuj"
|
||||||
},
|
},
|
||||||
|
"columnControl": {
|
||||||
|
"buttons": {
|
||||||
|
"searchClear": "Wyczyść wyszukiwanie"
|
||||||
|
},
|
||||||
|
"colVis": "Widoczność kolumn",
|
||||||
|
"colVisDropdown": "Widoczność kolumn",
|
||||||
|
"dropdown": "Więcej...",
|
||||||
|
"list": {
|
||||||
|
"all": "Zaznacz wszystko",
|
||||||
|
"empty": "Puste",
|
||||||
|
"none": "Odznacz wszystko",
|
||||||
|
"search": "Szukaj..."
|
||||||
|
},
|
||||||
|
"orderAddAsc": "Dodaj sortowanie rosnąco",
|
||||||
|
"orderAddDesc": "Dodaj sortowanie malejąco",
|
||||||
|
"orderAsc": "Sortowanie rosnące",
|
||||||
|
"orderClear": "Wyczyść sortowanie",
|
||||||
|
"orderDesc": "Sortowanie malejące",
|
||||||
|
"orderRemove": "Usuń z sortowania",
|
||||||
|
"reorder": "Przestaw kolumny",
|
||||||
|
"reorderLeft": "Przesuń kolumnę w lewo",
|
||||||
|
"reorderRight": "Przesuń kolumnę w prawo",
|
||||||
|
"search": {
|
||||||
|
"datetime": {
|
||||||
|
"empty": "Puste",
|
||||||
|
"equal": "Równe",
|
||||||
|
"greater": "Po",
|
||||||
|
"less": "Przed",
|
||||||
|
"notEmpty": "Niepuste",
|
||||||
|
"notEqual": "Różne od"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"empty": "Puste",
|
||||||
|
"equal": "Równe",
|
||||||
|
"greater": "Większe niż",
|
||||||
|
"greaterOrEqual": "Większe lub równe",
|
||||||
|
"less": "Mniejsze niż",
|
||||||
|
"lessOrEqual": "Mniejsze lub równe",
|
||||||
|
"notEmpty": "Niepuste",
|
||||||
|
"notEqual": "Różne od"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"contains": "Zawiera",
|
||||||
|
"empty": "Puste",
|
||||||
|
"ends": "Kończy się na",
|
||||||
|
"equal": "Równe",
|
||||||
|
"notContains": "Nie zawiera",
|
||||||
|
"notEmpty": "Niepuste",
|
||||||
|
"notEqual": "Różne od",
|
||||||
|
"starts": "Zaczyna się od"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"searchClear": "Wyczyść wyszukiwanie",
|
||||||
|
"searchDropdown": "Wyszukaj"
|
||||||
|
},
|
||||||
|
"datetime": {
|
||||||
|
"amPm": {
|
||||||
|
"0": "am",
|
||||||
|
"1": "pm"
|
||||||
|
},
|
||||||
|
"hours": "Godzina",
|
||||||
|
"minutes": "Minuta",
|
||||||
|
"months": {
|
||||||
|
"0": "Styczeń",
|
||||||
|
"1": "Luty",
|
||||||
|
"10": "Listopad",
|
||||||
|
"11": "Grudzień",
|
||||||
|
"2": "Marzec",
|
||||||
|
"3": "Kwiecień",
|
||||||
|
"4": "Maj",
|
||||||
|
"5": "Czerwiec",
|
||||||
|
"6": "Lipiec",
|
||||||
|
"7": "Sierpień",
|
||||||
|
"8": "Wrzesień",
|
||||||
|
"9": "Październik"
|
||||||
|
},
|
||||||
|
"next": "Następne",
|
||||||
|
"previous": "Poprzednie",
|
||||||
|
"seconds": "Sekunda",
|
||||||
|
"unknown": "nieznana",
|
||||||
|
"weekdays": {
|
||||||
|
"0": "Nd",
|
||||||
|
"1": "Pn",
|
||||||
|
"2": "Wt",
|
||||||
|
"3": "Śr",
|
||||||
|
"4": "Czw",
|
||||||
|
"5": "Pt",
|
||||||
|
"6": "So"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"decimal": "",
|
||||||
|
"editor": {
|
||||||
|
"close": "Zamknij",
|
||||||
|
"create": {
|
||||||
|
"button": "Dodaj",
|
||||||
|
"submit": "Dodaj",
|
||||||
|
"title": "Dodawanie nowego wpisu"
|
||||||
|
},
|
||||||
|
"edit": {
|
||||||
|
"button": "Edytuj",
|
||||||
|
"submit": "Aktualizuj",
|
||||||
|
"title": "Aktualizacja wpisu"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"system": "Nastąpił błąd systemu (<a target=\"\\\" rel=\"\\ nofollow\" href=\"\\\">Więcej informacji<\\\/a>).<\/a>"
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "Wybrane pole zawiera wiele elementów z różnymi wartościami. Aby zmienić ich wartość kliknij w nie, inaczej zachowane zostaną ich wartości domyślne.",
|
||||||
|
"noMulti": "Ta wartość może być edytowana oddzielnie - niezależnie od grupy.",
|
||||||
|
"restore": "Cofnij zmiany",
|
||||||
|
"title": "Pole z wieloma wartościami"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Usuń",
|
||||||
|
"confirm": {
|
||||||
|
"_": "Czy na pewno chcesz usunąć %d rzędów?",
|
||||||
|
"1": "Czy na pewno chcesz usunąć 1 rząd?"
|
||||||
|
},
|
||||||
|
"submit": "Usuń",
|
||||||
|
"title": "Usuwanie"
|
||||||
|
}
|
||||||
|
},
|
||||||
"emptyTable": "Brak danych w tabeli",
|
"emptyTable": "Brak danych w tabeli",
|
||||||
|
"info": "Pozycje od _START_ do _END_ z _TOTAL_ łącznie",
|
||||||
|
"infoEmpty": "Pozycji 0 z 0 dostępnych",
|
||||||
|
"infoFiltered": "(filtrowanie spośród _MAX_ dostępnych pozycji)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": " ",
|
||||||
|
"lengthLabels": {
|
||||||
|
"-1": "Wszystko"
|
||||||
|
},
|
||||||
|
"lengthMenu": "Pokaż _MENU_ pozycji",
|
||||||
|
"loadingRecords": "Wczytywanie...",
|
||||||
|
"orderClear": "Wyczyść sortowanie",
|
||||||
|
"processing": "Przetwarzanie...",
|
||||||
|
"search": "Szukaj:",
|
||||||
"searchBuilder": {
|
"searchBuilder": {
|
||||||
"add": "Dodaj warunek",
|
"add": "Dodaj warunek",
|
||||||
"clearAll": "Wyczyść wszystko",
|
|
||||||
"condition": "Warunek",
|
|
||||||
"data": "Dane",
|
|
||||||
"button": {
|
"button": {
|
||||||
"_": "Aktywne zapytania",
|
"_": "Aktywne zapytania",
|
||||||
"0": "Budowanie zapytania"
|
"0": "Budowanie zapytania"
|
||||||
},
|
},
|
||||||
|
"clearAll": "Wyczyść wszystko",
|
||||||
|
"condition": "Warunek",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"array": {
|
"array": {
|
||||||
"contains": "Zawiera",
|
"contains": "Zawiera",
|
||||||
@@ -97,112 +226,57 @@
|
|||||||
"endsWith": "Kończy się na",
|
"endsWith": "Kończy się na",
|
||||||
"equals": "Równa się",
|
"equals": "Równa się",
|
||||||
"not": "Nie",
|
"not": "Nie",
|
||||||
"notEmpty": "Nie pusty",
|
|
||||||
"startsWith": "Zaczyna się od",
|
|
||||||
"notContains": "Nie zawiera",
|
"notContains": "Nie zawiera",
|
||||||
|
"notEmpty": "Nie pusty",
|
||||||
|
"notEndsWith": "Nie kończy się na",
|
||||||
"notStartsWith": "Nie zaczyna się od",
|
"notStartsWith": "Nie zaczyna się od",
|
||||||
"notEndsWith": "Nie kończy się na"
|
"startsWith": "Zaczyna się od"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"data": "Dane",
|
||||||
"deleteTitle": "Czyszczenie",
|
"deleteTitle": "Czyszczenie",
|
||||||
"leftTitle": "Lewy",
|
"leftTitle": "Lewy",
|
||||||
"logicAnd": "I",
|
"logicAnd": "I",
|
||||||
"logicOr": "Lub",
|
"logicOr": "Lub",
|
||||||
"rightTitle": "Prawy",
|
"rightTitle": "Prawy",
|
||||||
|
"search": "Szukaj",
|
||||||
"title": {
|
"title": {
|
||||||
"_": "Aktywne zapytania",
|
"_": "Aktywne zapytania",
|
||||||
"0": "Budowanie zapytania"
|
"0": "Budowanie zapytania"
|
||||||
},
|
},
|
||||||
"value": "Wartość"
|
"value": "Wartość"
|
||||||
},
|
},
|
||||||
"datetime": {
|
|
||||||
"amPm": [
|
|
||||||
"am",
|
|
||||||
"pm"
|
|
||||||
],
|
|
||||||
"hours": "Godzina",
|
|
||||||
"minutes": "Minuta",
|
|
||||||
"next": "Następne",
|
|
||||||
"previous": "Poprzednie",
|
|
||||||
"seconds": "Sekunda",
|
|
||||||
"unknown": "nieznana",
|
|
||||||
"months": {
|
|
||||||
"0": "Styczeń",
|
|
||||||
"1": "Luty",
|
|
||||||
"10": "Listopad",
|
|
||||||
"11": "Grudzień",
|
|
||||||
"2": "Marzec",
|
|
||||||
"3": "Kwiecień",
|
|
||||||
"4": "Maj",
|
|
||||||
"5": "Czerwiec",
|
|
||||||
"6": "Lipiec",
|
|
||||||
"7": "Sierpień",
|
|
||||||
"8": "Wrzesień",
|
|
||||||
"9": "Październik"
|
|
||||||
},
|
|
||||||
"weekdays": [
|
|
||||||
"Nd",
|
|
||||||
"Pn",
|
|
||||||
"Wt",
|
|
||||||
"Śr",
|
|
||||||
"Czw",
|
|
||||||
"Pt",
|
|
||||||
"So"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"editor": {
|
|
||||||
"close": "Zamknij",
|
|
||||||
"create": {
|
|
||||||
"button": "Dodaj",
|
|
||||||
"submit": "Dodaj",
|
|
||||||
"title": "Dodawanie nowego wpisu"
|
|
||||||
},
|
|
||||||
"edit": {
|
|
||||||
"button": "Edytuj",
|
|
||||||
"submit": "Aktualizuj",
|
|
||||||
"title": "Aktualizacja wpisu"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"system": "Nastąpił błąd systemu (<a target=\"\\\" rel=\"\\ nofollow\" href=\"\\\">Więcej informacji<\\\/a>).<\/a>"
|
|
||||||
},
|
|
||||||
"multi": {
|
|
||||||
"info": "Wybrane pole zawiera wiele elementów z różnymi wartościami. Aby zmienić ich wartość kliknij w nie, inaczej zachowane zostaną ich wartości domyślne.",
|
|
||||||
"noMulti": "Ta wartość może być edytowana oddzielnie - niezależnie od grupy.",
|
|
||||||
"restore": "Cofnij zmiany",
|
|
||||||
"title": "Pole z wieloma wartościami"
|
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "Usuń",
|
|
||||||
"confirm": {
|
|
||||||
"_": "Czy na pewno chcesz usunąć %d rzędów?",
|
|
||||||
"1": "Czy na pewno chcesz usunąć 1 rząd?"
|
|
||||||
},
|
|
||||||
"submit": "Usuń",
|
|
||||||
"title": "Usuwanie"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"searchPanes": {
|
"searchPanes": {
|
||||||
"clearMessage": "Wyczyść wszystkie",
|
"clearMessage": "Wyczyść wszystkie",
|
||||||
"collapse": {
|
"collapse": {
|
||||||
"_": "Aktywne grupowania (%d)",
|
"_": "Aktywne grupowania (%d)",
|
||||||
"0": "Grupowanie"
|
"0": "Grupowanie"
|
||||||
},
|
},
|
||||||
|
"collapseMessage": "Rozwiń wszystko",
|
||||||
"count": "{total}",
|
"count": "{total}",
|
||||||
"countFiltered": "{shown} ({total})",
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyMessage": "<em>brak danych<\/em>",
|
||||||
"emptyPanes": "Brak paneli wyszukań",
|
"emptyPanes": "Brak paneli wyszukań",
|
||||||
"loadMessage": "Ładuję panele wyszukań",
|
"loadMessage": "Ładuję panele wyszukań",
|
||||||
"title": "Aktywne filtry",
|
|
||||||
"showMessage": "Pokaż wszystko",
|
"showMessage": "Pokaż wszystko",
|
||||||
"collapseMessage": "Rozwiń wszystko"
|
"title": "Aktywne filtry"
|
||||||
},
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
"select": {
|
"select": {
|
||||||
"cells": {
|
"cells": {
|
||||||
"_": "zaznaczono %d komórek",
|
"_": "zaznaczono %d komórek",
|
||||||
|
"0": "",
|
||||||
"1": "zaznaczono %d komórkę"
|
"1": "zaznaczono %d komórkę"
|
||||||
},
|
},
|
||||||
"columns": {
|
"columns": {
|
||||||
"_": "zaznaczono %d kolumn",
|
"_": "zaznaczono %d kolumn",
|
||||||
|
"0": "",
|
||||||
"1": "zaznaczono %d kolumnę"
|
"1": "zaznaczono %d kolumnę"
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"_": "Zaznaczono %d wierszy",
|
||||||
|
"0": "",
|
||||||
|
"1": "Zaznaczono 1 wiersz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
@@ -234,7 +308,6 @@
|
|||||||
"renameLabel": "Nowa nazwa dla %s:",
|
"renameLabel": "Nowa nazwa dla %s:",
|
||||||
"renameTitle": "Zmień nazwę stanu"
|
"renameTitle": "Zmień nazwę stanu"
|
||||||
},
|
},
|
||||||
"decimal": ",",
|
"thousands": " ",
|
||||||
"infoThousands": " ",
|
"zeroRecords": "Nie znaleziono pasujących pozycji"
|
||||||
"thousands": " "
|
|
||||||
}
|
}
|
||||||
@@ -1,163 +1,53 @@
|
|||||||
{
|
{
|
||||||
"processing": "Подождите...",
|
|
||||||
"search": "Поиск:",
|
|
||||||
"lengthMenu": "Показать _MENU_ записей",
|
|
||||||
"info": "Записи с _START_ до _END_ из _TOTAL_ записей",
|
|
||||||
"infoEmpty": "Записи с 0 до 0 из 0 записей",
|
|
||||||
"infoFiltered": "(отфильтровано из _MAX_ записей)",
|
|
||||||
"loadingRecords": "Загрузка записей...",
|
|
||||||
"zeroRecords": "Записи отсутствуют.",
|
|
||||||
"emptyTable": "В таблице отсутствуют данные",
|
|
||||||
"paginate": {
|
|
||||||
"first": "Первая",
|
|
||||||
"previous": "Предыдущая",
|
|
||||||
"next": "Следующая",
|
|
||||||
"last": "Последняя"
|
|
||||||
},
|
|
||||||
"aria": {
|
"aria": {
|
||||||
"sortAscending": ": активировать для сортировки столбца по возрастанию",
|
"paginate": {
|
||||||
"sortDescending": ": активировать для сортировки столбца по убыванию"
|
"first": "Первая",
|
||||||
},
|
"last": "Последняя",
|
||||||
"select": {
|
"next": "Следующая",
|
||||||
"rows": {
|
"previous": "Предыдущая"
|
||||||
"_": "Выбрано записей: %d",
|
|
||||||
"1": "Выбрана одна запись"
|
|
||||||
},
|
|
||||||
"cells": {
|
|
||||||
"_": "Выбрано %d ячеек",
|
|
||||||
"1": "Выбрана 1 ячейка "
|
|
||||||
},
|
|
||||||
"columns": {
|
|
||||||
"1": "Выбран 1 столбец ",
|
|
||||||
"_": "Выбрано %d столбцов "
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"searchBuilder": {
|
|
||||||
"conditions": {
|
|
||||||
"string": {
|
|
||||||
"startsWith": "Начинается с",
|
|
||||||
"contains": "Содержит",
|
|
||||||
"empty": "Пусто",
|
|
||||||
"endsWith": "Заканчивается на",
|
|
||||||
"equals": "Равно",
|
|
||||||
"not": "Не",
|
|
||||||
"notEmpty": "Не пусто",
|
|
||||||
"notContains": "Не содержит",
|
|
||||||
"notStartsWith": "Не начинается на",
|
|
||||||
"notEndsWith": "Не заканчивается на"
|
|
||||||
},
|
|
||||||
"date": {
|
|
||||||
"after": "После",
|
|
||||||
"before": "До",
|
|
||||||
"between": "Между",
|
|
||||||
"empty": "Пусто",
|
|
||||||
"equals": "Равно",
|
|
||||||
"not": "Не",
|
|
||||||
"notBetween": "Не между",
|
|
||||||
"notEmpty": "Не пусто"
|
|
||||||
},
|
|
||||||
"number": {
|
|
||||||
"empty": "Пусто",
|
|
||||||
"equals": "Равно",
|
|
||||||
"gt": "Больше чем",
|
|
||||||
"gte": "Больше, чем равно",
|
|
||||||
"lt": "Меньше чем",
|
|
||||||
"lte": "Меньше, чем равно",
|
|
||||||
"not": "Не",
|
|
||||||
"notEmpty": "Не пусто",
|
|
||||||
"between": "Между",
|
|
||||||
"notBetween": "Не между ними"
|
|
||||||
},
|
|
||||||
"array": {
|
|
||||||
"equals": "Равно",
|
|
||||||
"empty": "Пусто",
|
|
||||||
"contains": "Содержит",
|
|
||||||
"not": "Не равно",
|
|
||||||
"notEmpty": "Не пусто",
|
|
||||||
"without": "Без"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"data": "Данные",
|
|
||||||
"deleteTitle": "Удалить условие фильтрации",
|
|
||||||
"logicAnd": "И",
|
|
||||||
"logicOr": "Или",
|
|
||||||
"title": {
|
|
||||||
"0": "Конструктор поиска",
|
|
||||||
"_": "Конструктор поиска (%d)"
|
|
||||||
},
|
|
||||||
"value": "Значение",
|
|
||||||
"add": "Добавить условие",
|
|
||||||
"button": {
|
|
||||||
"0": "Конструктор поиска",
|
|
||||||
"_": "Конструктор поиска (%d)"
|
|
||||||
},
|
|
||||||
"clearAll": "Очистить всё",
|
|
||||||
"condition": "Условие",
|
|
||||||
"leftTitle": "Превосходные критерии",
|
|
||||||
"rightTitle": "Критерии отступа"
|
|
||||||
},
|
|
||||||
"searchPanes": {
|
|
||||||
"clearMessage": "Очистить всё",
|
|
||||||
"collapse": {
|
|
||||||
"0": "Панели поиска",
|
|
||||||
"_": "Панели поиска (%d)"
|
|
||||||
},
|
|
||||||
"count": "{total}",
|
|
||||||
"countFiltered": "{shown} ({total})",
|
|
||||||
"emptyPanes": "Нет панелей поиска",
|
|
||||||
"loadMessage": "Загрузка панелей поиска",
|
|
||||||
"title": "Фильтры активны - %d",
|
|
||||||
"showMessage": "Показать все",
|
|
||||||
"collapseMessage": "Скрыть все"
|
|
||||||
},
|
|
||||||
"buttons": {
|
|
||||||
"pdf": "PDF",
|
|
||||||
"print": "Печать",
|
|
||||||
"collection": "Коллекция <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
|
||||||
"colvis": "Видимость столбцов",
|
|
||||||
"colvisRestore": "Восстановить видимость",
|
|
||||||
"copy": "Копировать",
|
|
||||||
"copyTitle": "Скопировать в буфер обмена",
|
|
||||||
"csv": "CSV",
|
|
||||||
"excel": "Excel",
|
|
||||||
"pageLength": {
|
|
||||||
"-1": "Показать все строки",
|
|
||||||
"_": "Показать %d строк",
|
|
||||||
"1": "Показать 1 строку"
|
|
||||||
},
|
|
||||||
"removeState": "Удалить",
|
|
||||||
"renameState": "Переименовать",
|
|
||||||
"copySuccess": {
|
|
||||||
"1": "Строка скопирована в буфер обмена",
|
|
||||||
"_": "Скопировано %d строк в буфер обмена"
|
|
||||||
},
|
|
||||||
"createState": "Создать состояние",
|
|
||||||
"removeAllStates": "Удалить все состояния",
|
|
||||||
"savedStates": "Сохраненные состояния",
|
|
||||||
"stateRestore": "Состояние %d",
|
|
||||||
"updateState": "Обновить",
|
|
||||||
"copyKeys": "Нажмите ctrl или u2318 + C, чтобы скопировать данные таблицы в буфер обмена. Для отмены, щелкните по сообщению или нажмите escape."
|
|
||||||
},
|
|
||||||
"decimal": ".",
|
|
||||||
"infoThousands": ",",
|
|
||||||
"autoFill": {
|
"autoFill": {
|
||||||
"cancel": "Отменить",
|
"cancel": "Отменить",
|
||||||
"fill": "Заполнить все ячейки <i>%d<i><\/i><\/i>",
|
"fill": "Заполнить все ячейки <i>%d<i><\/i><\/i>",
|
||||||
"fillHorizontal": "Заполнить ячейки по горизонтали",
|
"fillHorizontal": "Заполнить ячейки по горизонтали",
|
||||||
"fillVertical": "Заполнить ячейки по вертикали",
|
"fillVertical": "Заполнить ячейки по вертикали",
|
||||||
"info": "Информация"
|
"info": ""
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"collection": "Коллекция <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||||
|
"colvis": "Видимость столбцов",
|
||||||
|
"colvisRestore": "Восстановить видимость",
|
||||||
|
"copy": "Копировать",
|
||||||
|
"copyKeys": "Нажмите ctrl или u2318 + C, чтобы скопировать данные таблицы в буфер обмена. Для отмены, щелкните по сообщению или нажмите escape.",
|
||||||
|
"copySuccess": {
|
||||||
|
"_": "Скопировано %d строк в буфер обмена",
|
||||||
|
"1": "Строка скопирована в буфер обмена"
|
||||||
|
},
|
||||||
|
"copyTitle": "Скопировать в буфер обмена",
|
||||||
|
"createState": "Создать состояние",
|
||||||
|
"csv": "CSV",
|
||||||
|
"excel": "Excel",
|
||||||
|
"pageLength": {
|
||||||
|
"_": "Показать %d строк",
|
||||||
|
"-1": "Показать все строки"
|
||||||
|
},
|
||||||
|
"pdf": "PDF",
|
||||||
|
"print": "Печать",
|
||||||
|
"removeAllStates": "Удалить все состояния",
|
||||||
|
"removeState": "Удалить",
|
||||||
|
"renameState": "Переименовать",
|
||||||
|
"savedStates": "Сохраненные состояния",
|
||||||
|
"stateRestore": "Состояние %d",
|
||||||
|
"updateState": "Обновить"
|
||||||
},
|
},
|
||||||
"datetime": {
|
"datetime": {
|
||||||
"previous": "Предыдущий",
|
"amPm": {
|
||||||
"next": "Следующий",
|
"0": "AM",
|
||||||
|
"1": "PM"
|
||||||
|
},
|
||||||
"hours": "Часы",
|
"hours": "Часы",
|
||||||
"minutes": "Минуты",
|
"minutes": "Минуты",
|
||||||
"seconds": "Секунды",
|
|
||||||
"unknown": "Неизвестный",
|
|
||||||
"amPm": [
|
|
||||||
"AM",
|
|
||||||
"PM"
|
|
||||||
],
|
|
||||||
"months": {
|
"months": {
|
||||||
"0": "Январь",
|
"0": "Январь",
|
||||||
"1": "Февраль",
|
"1": "Февраль",
|
||||||
@@ -172,52 +62,161 @@
|
|||||||
"8": "Сентябрь",
|
"8": "Сентябрь",
|
||||||
"9": "Октябрь"
|
"9": "Октябрь"
|
||||||
},
|
},
|
||||||
"weekdays": [
|
"next": "Следующий",
|
||||||
"Вс",
|
"previous": "Предыдущий",
|
||||||
"Пн",
|
"seconds": "Секунды",
|
||||||
"Вт",
|
"unknown": "Неизвестный",
|
||||||
"Ср",
|
"weekdays": {
|
||||||
"Чт",
|
"0": "Вс",
|
||||||
"Пт",
|
"1": "Пн",
|
||||||
"Сб"
|
"2": "Вт",
|
||||||
]
|
"3": "Ср",
|
||||||
|
"4": "Чт",
|
||||||
|
"5": "Пт",
|
||||||
|
"6": "Сб"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
"decimal": "",
|
||||||
"editor": {
|
"editor": {
|
||||||
"close": "Закрыть",
|
"close": "Закрыть",
|
||||||
"create": {
|
"create": {
|
||||||
"button": "Новый",
|
"button": "Новый",
|
||||||
"title": "Создать новую запись",
|
"submit": "Создать",
|
||||||
"submit": "Создать"
|
"title": "Создать новую запись"
|
||||||
},
|
},
|
||||||
"edit": {
|
"edit": {
|
||||||
"button": "Изменить",
|
"button": "Изменить",
|
||||||
"title": "Изменить запись",
|
"submit": "Изменить",
|
||||||
"submit": "Изменить"
|
"title": "Изменить запись"
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "Удалить",
|
|
||||||
"title": "Удалить",
|
|
||||||
"submit": "Удалить",
|
|
||||||
"confirm": {
|
|
||||||
"_": "Вы точно хотите удалить %d строк?",
|
|
||||||
"1": "Вы точно хотите удалить 1 строку?"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"multi": {
|
|
||||||
"restore": "Отменить изменения",
|
|
||||||
"title": "Несколько значений",
|
|
||||||
"info": "Выбранные элементы содержат разные значения для этого входа. Чтобы отредактировать и установить для всех элементов этого ввода одинаковое значение, нажмите или коснитесь здесь, в противном случае они сохранят свои индивидуальные значения.",
|
|
||||||
"noMulti": "Это поле должно редактироваться отдельно, а не как часть группы"
|
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"system": "Возникла системная ошибка (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">Подробнее<\/a>)."
|
"system": "Возникла системная ошибка (<a target=\"\\\" rel=\"nofollow\" href=\"\\\">Подробнее<\/a>)."
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "Выбранные элементы содержат разные значения для этого входа. Чтобы отредактировать и установить для всех элементов этого ввода одинаковое значение, нажмите или коснитесь здесь, в противном случае они сохранят свои индивидуальные значения.",
|
||||||
|
"noMulti": "Это поле должно редактироваться отдельно, а не как часть группы",
|
||||||
|
"restore": "Отменить изменения",
|
||||||
|
"title": "Несколько значений"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Удалить",
|
||||||
|
"confirm": {
|
||||||
|
"_": "Вы точно хотите удалить %d строк?",
|
||||||
|
"1": "Вы точно хотите удалить 1 строку?"
|
||||||
|
},
|
||||||
|
"submit": "Удалить",
|
||||||
|
"title": "Удалить"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyTable": "В таблице отсутствуют данные",
|
||||||
|
"info": "Записи с _START_ до _END_ из _TOTAL_ записей",
|
||||||
|
"infoEmpty": "Записи с 0 до 0 из 0 записей",
|
||||||
|
"infoFiltered": "(отфильтровано из _MAX_ записей)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ",",
|
||||||
|
"lengthMenu": "Показать _MENU_ записей",
|
||||||
|
"loadingRecords": "Загрузка записей...",
|
||||||
|
"processing": "Подождите...",
|
||||||
|
"search": "Поиск:",
|
||||||
|
"searchBuilder": {
|
||||||
|
"add": "Добавить условие",
|
||||||
|
"button": {
|
||||||
|
"_": "Конструктор поиска (%d)",
|
||||||
|
"0": "Конструктор поиска"
|
||||||
|
},
|
||||||
|
"clearAll": "Очистить всё",
|
||||||
|
"condition": "Условие",
|
||||||
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "Содержит",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"equals": "Равно",
|
||||||
|
"not": "Не равно",
|
||||||
|
"notEmpty": "Не пусто",
|
||||||
|
"without": "Без"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"after": "После",
|
||||||
|
"before": "До",
|
||||||
|
"between": "Между",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"equals": "Равно",
|
||||||
|
"not": "Не",
|
||||||
|
"notBetween": "Не между",
|
||||||
|
"notEmpty": "Не пусто"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"between": "Между",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"equals": "Равно",
|
||||||
|
"gt": "Больше чем",
|
||||||
|
"gte": "Больше, чем равно",
|
||||||
|
"lt": "Меньше чем",
|
||||||
|
"lte": "Меньше, чем равно",
|
||||||
|
"not": "Не",
|
||||||
|
"notBetween": "Не между ними",
|
||||||
|
"notEmpty": "Не пусто"
|
||||||
|
},
|
||||||
|
"string": {
|
||||||
|
"contains": "Содержит",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"endsWith": "Заканчивается на",
|
||||||
|
"equals": "Равно",
|
||||||
|
"not": "Не",
|
||||||
|
"notContains": "Не содержит",
|
||||||
|
"notEmpty": "Не пусто",
|
||||||
|
"notEndsWith": "Не заканчивается на",
|
||||||
|
"notStartsWith": "Не начинается на",
|
||||||
|
"startsWith": "Начинается с"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"data": "Данные",
|
||||||
|
"deleteTitle": "Удалить условие фильтрации",
|
||||||
|
"leftTitle": "Превосходные критерии",
|
||||||
|
"logicAnd": "И",
|
||||||
|
"logicOr": "Или",
|
||||||
|
"rightTitle": "Критерии отступа",
|
||||||
|
"title": {
|
||||||
|
"_": "Конструктор поиска (%d)",
|
||||||
|
"0": "Конструктор поиска"
|
||||||
|
},
|
||||||
|
"value": "Значение"
|
||||||
|
},
|
||||||
|
"searchPanes": {
|
||||||
|
"clearMessage": "Очистить всё",
|
||||||
|
"collapse": {
|
||||||
|
"_": "Панели поиска (%d)",
|
||||||
|
"0": "Панели поиска"
|
||||||
|
},
|
||||||
|
"collapseMessage": "Скрыть все",
|
||||||
|
"count": "{total}",
|
||||||
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyPanes": "Нет панелей поиска",
|
||||||
|
"loadMessage": "Загрузка панелей поиска",
|
||||||
|
"showMessage": "Показать все",
|
||||||
|
"title": "Фильтры активны - %d"
|
||||||
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
|
"select": {
|
||||||
|
"cells": {
|
||||||
|
"_": "Выбрано %d ячеек",
|
||||||
|
"0": "",
|
||||||
|
"1": "Выбрана 1 ячейка "
|
||||||
|
},
|
||||||
|
"columns": {
|
||||||
|
"_": "Выбрано %d столбцов ",
|
||||||
|
"0": "",
|
||||||
|
"1": "Выбран 1 столбец "
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"_": "Выбрано записей: %d",
|
||||||
|
"0": "",
|
||||||
|
"1": "Выбрана одна запись"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"searchPlaceholder": "Что ищете?",
|
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
"creationModal": {
|
"creationModal": {
|
||||||
"button": "Создать",
|
"button": "Создать",
|
||||||
"search": "Поиск",
|
|
||||||
"columns": {
|
"columns": {
|
||||||
"search": "Поиск по столбцам",
|
"search": "Поиск по столбцам",
|
||||||
"visible": "Видимость столбцов"
|
"visible": "Видимость столбцов"
|
||||||
@@ -226,22 +225,24 @@
|
|||||||
"order": "Сортировка",
|
"order": "Сортировка",
|
||||||
"paging": "Страницы",
|
"paging": "Страницы",
|
||||||
"scroller": "Позиция прокрутки",
|
"scroller": "Позиция прокрутки",
|
||||||
|
"search": "Поиск",
|
||||||
"searchBuilder": "Редактор поиска",
|
"searchBuilder": "Редактор поиска",
|
||||||
"select": "Выделение",
|
"select": "Выделение",
|
||||||
"title": "Создать новое состояние",
|
"title": "Создать новое состояние",
|
||||||
"toggleLabel": "Включает:"
|
"toggleLabel": "Включает:"
|
||||||
},
|
},
|
||||||
"removeJoiner": "и",
|
|
||||||
"removeSubmit": "Удалить",
|
|
||||||
"renameButton": "Переименовать",
|
|
||||||
"duplicateError": "Состояние с таким именем уже существует.",
|
"duplicateError": "Состояние с таким именем уже существует.",
|
||||||
"emptyError": "Имя не может быть пустым.",
|
"emptyError": "Имя не может быть пустым.",
|
||||||
"emptyStates": "Нет сохраненных состояний",
|
"emptyStates": "Нет сохраненных состояний",
|
||||||
"removeConfirm": "Вы уверены, что хотите удалить %s?",
|
"removeConfirm": "Вы уверены, что хотите удалить %s?",
|
||||||
"removeError": "Не удалось удалить состояние.",
|
"removeError": "Не удалось удалить состояние.",
|
||||||
|
"removeJoiner": "и",
|
||||||
|
"removeSubmit": "Удалить",
|
||||||
"removeTitle": "Удалить состояние",
|
"removeTitle": "Удалить состояние",
|
||||||
|
"renameButton": "Переименовать",
|
||||||
"renameLabel": "Новое имя для %s:",
|
"renameLabel": "Новое имя для %s:",
|
||||||
"renameTitle": "Переименовать состояние"
|
"renameTitle": "Переименовать состояние"
|
||||||
},
|
},
|
||||||
"thousands": " "
|
"thousands": " ",
|
||||||
|
"zeroRecords": "Записи отсутствуют."
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,313 @@
|
|||||||
|
{
|
||||||
|
"aria": {
|
||||||
|
"orderable": "Активувати сортування",
|
||||||
|
"orderableRemove": "Вимкнути сортування",
|
||||||
|
"orderableReverse": "Зворотне сортування",
|
||||||
|
"paginate": {
|
||||||
|
"first": "Перша",
|
||||||
|
"last": "Остання",
|
||||||
|
"next": "Наступна",
|
||||||
|
"previous": "Попередня"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoFill": {
|
||||||
|
"cancel": "Відміна",
|
||||||
|
"fill": "Заповнити всі клітинки з <i>%d<\/i>",
|
||||||
|
"fillHorizontal": "Заповнити клітинки горизонтально",
|
||||||
|
"fillVertical": "Заповнити клітинки вертикально",
|
||||||
|
"info": ""
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"collection": "Список <span class=\"ui-button-icon-primary ui-icon ui-icon-triangle-1-s\"><\/span>",
|
||||||
|
"colvis": "Видимість колонки",
|
||||||
|
"colvisRestore": "Відновити видимість",
|
||||||
|
"copy": "Копіювати",
|
||||||
|
"copyKeys": "Нажміть ctrl або u2318 + C щоб копіювати інформацію з таблиці до вашого буферу обміну.<br \/><br \/>Щоб відмінити нажміть на це повідомлення або Esc",
|
||||||
|
"copySuccess": {
|
||||||
|
"_": "Скопійовано %d рядків в буфер обміну",
|
||||||
|
"1": "Скопійовано 1 рядок в буфер обміну"
|
||||||
|
},
|
||||||
|
"copyTitle": "Копіювати в буфер обміну",
|
||||||
|
"createState": "Створити стан",
|
||||||
|
"csv": "CSV",
|
||||||
|
"excel": "Excel",
|
||||||
|
"pageLength": {
|
||||||
|
"_": "Показати %d рядків",
|
||||||
|
"-1": "Показати усі рядки",
|
||||||
|
"1": "Показати 1 рядок"
|
||||||
|
},
|
||||||
|
"pdf": "PDF",
|
||||||
|
"print": "Друкувати",
|
||||||
|
"removeAllStates": "Видалити всі стани",
|
||||||
|
"removeState": "Видалити",
|
||||||
|
"renameState": "Перейменувати",
|
||||||
|
"savedStates": "Збережені стани",
|
||||||
|
"stateRestore": "Стан %d",
|
||||||
|
"updateState": "Оновити"
|
||||||
|
},
|
||||||
|
"columnControl": {
|
||||||
|
"buttons": {
|
||||||
|
"searchClear": "Очистити пошук"
|
||||||
|
},
|
||||||
|
"colVis": "Видимість колонки",
|
||||||
|
"colVisDropdown": "Видимість випадаючого списку",
|
||||||
|
"dropdown": "Більше...",
|
||||||
|
"list": {
|
||||||
|
"all": "Вибрати все",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"none": "Скасувати вибір усіх",
|
||||||
|
"search": "Пошук..."
|
||||||
|
},
|
||||||
|
"orderAddAsc": "Додати сортування за зростанням",
|
||||||
|
"orderAddDesc": "Додати сортування за спаданням",
|
||||||
|
"orderAsc": "Сортування за зростанням",
|
||||||
|
"orderClear": "Очистити сортування",
|
||||||
|
"orderDesc": "Сортування за спаданням",
|
||||||
|
"orderRemove": "Очистити сортування",
|
||||||
|
"reorder": "Переупорядкувати стовпці",
|
||||||
|
"reorderLeft": "Зсунути стовпець ліворуч",
|
||||||
|
"reorderRight": "Зсунути стовпець праворуч",
|
||||||
|
"search": {
|
||||||
|
"datetime": {
|
||||||
|
"empty": "Пусто",
|
||||||
|
"equal": "Дорівнює",
|
||||||
|
"greater": "Після",
|
||||||
|
"less": "До",
|
||||||
|
"notEmpty": "Не порожньо",
|
||||||
|
"notEqual": "Не дорівнює"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"empty": "Пусто",
|
||||||
|
"equal": "Дорівнює",
|
||||||
|
"greater": "Більше ніж",
|
||||||
|
"greaterOrEqual": "Більше або дорівнює",
|
||||||
|
"less": "Менше ніж",
|
||||||
|
"lessOrEqual": "Менше або дорівнює",
|
||||||
|
"notEmpty": "Не порожньо",
|
||||||
|
"notEqual": "Не дорівнює"
|
||||||
|
},
|
||||||
|
"text": {
|
||||||
|
"contains": "Містить",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"ends": "Закінчується на",
|
||||||
|
"equal": "Дорівнює",
|
||||||
|
"notContains": "Не містить",
|
||||||
|
"notEmpty": "Не порожній",
|
||||||
|
"notEqual": "Не дорівнює",
|
||||||
|
"starts": "Починається з"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"searchClear": "Очистити пошук",
|
||||||
|
"searchDropdown": "Пошук"
|
||||||
|
},
|
||||||
|
"datetime": {
|
||||||
|
"amPm": {
|
||||||
|
"0": "am",
|
||||||
|
"1": "pm"
|
||||||
|
},
|
||||||
|
"hours": "Година",
|
||||||
|
"minutes": "Хвилина",
|
||||||
|
"months": {
|
||||||
|
"0": "Січень",
|
||||||
|
"1": "Лютий",
|
||||||
|
"10": "Листопад",
|
||||||
|
"11": "Грудень",
|
||||||
|
"2": "Березень",
|
||||||
|
"3": "Квітень",
|
||||||
|
"4": "Травень",
|
||||||
|
"5": "Червень",
|
||||||
|
"6": "Липень",
|
||||||
|
"7": "Серпень",
|
||||||
|
"8": "Вересень",
|
||||||
|
"9": "Жовтень"
|
||||||
|
},
|
||||||
|
"next": "Наступний",
|
||||||
|
"previous": "Попередній",
|
||||||
|
"seconds": "Секунда",
|
||||||
|
"unknown": "-",
|
||||||
|
"weekdays": {
|
||||||
|
"0": "Нд",
|
||||||
|
"1": "Пн",
|
||||||
|
"2": "Вт",
|
||||||
|
"3": "Ср",
|
||||||
|
"4": "Чт",
|
||||||
|
"5": "Пт",
|
||||||
|
"6": "Сб"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"decimal": "",
|
||||||
|
"editor": {
|
||||||
|
"close": "Закрити",
|
||||||
|
"create": {
|
||||||
|
"button": "Новий",
|
||||||
|
"submit": "Cтворити",
|
||||||
|
"title": "Створити новий запис"
|
||||||
|
},
|
||||||
|
"edit": {
|
||||||
|
"button": "Редагувати",
|
||||||
|
"submit": "Оновити",
|
||||||
|
"title": "Редагувати запис"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"system": "Сталася системна помилка (<a target=\"\\\" rel=\"\\ nofollow\" href=\"\\\">Додаткова інформація<\\\\\\\/a>).<\\\/a><\/a>"
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "Вибране поле містить кілька елементів з різними значеннями. Щоб змінити їх значення, клацніть на них; інакше будуть збережені їхні значення за замовчуванням.",
|
||||||
|
"noMulti": "Це значення можна редагувати окремо – незалежно від групи.",
|
||||||
|
"restore": "Скасувати зміни",
|
||||||
|
"title": "Поле з кількома значеннями"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "Видалити",
|
||||||
|
"confirm": {
|
||||||
|
"_": "Ви впевнені, що хочете видалити %d рядків?",
|
||||||
|
"1": "Ви впевнені, що хочете видалити 1 рядок?"
|
||||||
|
},
|
||||||
|
"submit": "Видалити",
|
||||||
|
"title": "Видалити"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyTable": "Ця таблиця не містить даних",
|
||||||
|
"info": "Показано від _START_ по _END_ з _TOTAL_ записів",
|
||||||
|
"infoEmpty": "Показано від 0 по 0 з 0 записів",
|
||||||
|
"infoFiltered": "(відфільтровано з _MAX_ записів)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ",",
|
||||||
|
"lengthLabels": {
|
||||||
|
"-1": "Усі"
|
||||||
|
},
|
||||||
|
"lengthMenu": "Показати _MENU_ записів",
|
||||||
|
"loadingRecords": "Завантаження",
|
||||||
|
"orderClear": "Очистити сортування",
|
||||||
|
"processing": "Опрацювання...",
|
||||||
|
"search": "Пошук:",
|
||||||
|
"searchBuilder": {
|
||||||
|
"add": "Додати умову",
|
||||||
|
"button": {
|
||||||
|
"_": "Розширений пошук (%d)",
|
||||||
|
"0": "Розширений пошук"
|
||||||
|
},
|
||||||
|
"clearAll": "Очистити все",
|
||||||
|
"condition": "Умова",
|
||||||
|
"conditions": {
|
||||||
|
"array": {
|
||||||
|
"contains": "Містить",
|
||||||
|
"empty": "Пустий",
|
||||||
|
"equals": "Дорівнює",
|
||||||
|
"not": "Не",
|
||||||
|
"notEmpty": "Не пусто",
|
||||||
|
"without": "Без"
|
||||||
|
},
|
||||||
|
"date": {
|
||||||
|
"after": "Після",
|
||||||
|
"before": "До",
|
||||||
|
"between": "Між",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"equals": "Дорівнює",
|
||||||
|
"not": "Не",
|
||||||
|
"notBetween": "Не між",
|
||||||
|
"notEmpty": "Не пусто"
|
||||||
|
},
|
||||||
|
"number": {
|
||||||
|
"between": "Між",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"equals": "Дорівнює",
|
||||||
|
"gt": "Більше ніж",
|
||||||
|
"gte": "Більше або дорівнює",
|
||||||
|
"lt": "Менше ніж",
|
||||||
|
"lte": "Менше або дорівнює",
|
||||||
|
"not": "Не",
|
||||||
|
"notBetween": "Не між",
|
||||||
|
"notEmpty": "Не пусто"
|
||||||
|
},
|
||||||
|
"string": {
|
||||||
|
"contains": "Містить",
|
||||||
|
"empty": "Пусто",
|
||||||
|
"endsWith": "Закінчується на",
|
||||||
|
"equals": "Дорівнює",
|
||||||
|
"not": "Не",
|
||||||
|
"notContains": "Не містить",
|
||||||
|
"notEmpty": "Не пусто",
|
||||||
|
"notEndsWith": "Не закінчується на",
|
||||||
|
"notStartsWith": "Не починається з",
|
||||||
|
"startsWith": "Починається з"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"data": "Дані",
|
||||||
|
"deleteTitle": "Видалити правило фільтрування",
|
||||||
|
"leftTitle": "Зняти відступ критерію",
|
||||||
|
"logicAnd": "ТА",
|
||||||
|
"logicOr": "АБО",
|
||||||
|
"rightTitle": "Зробити відступ критерію",
|
||||||
|
"search": "Пошук",
|
||||||
|
"title": {
|
||||||
|
"_": "Розширений пошук (%d)",
|
||||||
|
"0": "Розширений пошук"
|
||||||
|
},
|
||||||
|
"value": "Значення"
|
||||||
|
},
|
||||||
|
"searchPanes": {
|
||||||
|
"clearMessage": "Очистити все",
|
||||||
|
"collapse": {
|
||||||
|
"_": "Панелі пошуку (%d)",
|
||||||
|
"0": "Панель пошуку"
|
||||||
|
},
|
||||||
|
"collapseMessage": "Приховати всі",
|
||||||
|
"count": "{total}",
|
||||||
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyMessage": "<em>немає даних<\/em>",
|
||||||
|
"emptyPanes": "Немає панелей пошуку",
|
||||||
|
"loadMessage": "Завантаження панелей пошуку",
|
||||||
|
"showMessage": "Показати всі",
|
||||||
|
"title": "Активній фільтри - %d"
|
||||||
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
|
"select": {
|
||||||
|
"cells": {
|
||||||
|
"_": "%d клітинок вибрано",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 клітинку вибрано"
|
||||||
|
},
|
||||||
|
"columns": {
|
||||||
|
"_": "%d колонок вибрано",
|
||||||
|
"0": "",
|
||||||
|
"1": "1 колонку вибрано"
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"_": "Вибрано %d рядків",
|
||||||
|
"0": "",
|
||||||
|
"1": "Вибрано 1 рядок"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stateRestore": {
|
||||||
|
"creationModal": {
|
||||||
|
"button": "Створити",
|
||||||
|
"columns": {
|
||||||
|
"search": "Пошук у стовпці",
|
||||||
|
"visible": "Видимість стовпця"
|
||||||
|
},
|
||||||
|
"name": "Ім'я:",
|
||||||
|
"order": "Сортування",
|
||||||
|
"paging": "Пейджинг",
|
||||||
|
"scroller": "Прокручування",
|
||||||
|
"search": "Пошук",
|
||||||
|
"searchBuilder": "Конструктор запитів",
|
||||||
|
"select": "Вибір",
|
||||||
|
"title": "Створити новий стан",
|
||||||
|
"toggleLabel": "Включає:"
|
||||||
|
},
|
||||||
|
"duplicateError": "Стан з такою назвою вже існує.",
|
||||||
|
"emptyError": "Назва не може бути порожньою.",
|
||||||
|
"emptyStates": "Немає збереженого стану.",
|
||||||
|
"removeConfirm": "Ви впевнені, що хочете видалити %s?",
|
||||||
|
"removeError": "Не вдалося видалити стан.",
|
||||||
|
"removeJoiner": "і",
|
||||||
|
"removeSubmit": "Видалити",
|
||||||
|
"removeTitle": "Видалити стан",
|
||||||
|
"renameButton": "Перейменувати",
|
||||||
|
"renameLabel": "Нова назва для %s:",
|
||||||
|
"renameTitle": "Перейменувати стан"
|
||||||
|
},
|
||||||
|
"thousands": ",",
|
||||||
|
"zeroRecords": "Не знайдено жодних записів"
|
||||||
|
}
|
||||||
@@ -1,61 +1,132 @@
|
|||||||
{
|
{
|
||||||
"processing": "處理中...",
|
"aria": {
|
||||||
"loadingRecords": "載入中...",
|
"paginate": {
|
||||||
"paginate": {
|
"first": "第一頁",
|
||||||
"first": "第一頁",
|
"last": "最後一頁",
|
||||||
"previous": "上一頁",
|
"next": "下一頁",
|
||||||
"next": "下一頁",
|
"previous": "上一頁"
|
||||||
"last": "最後一頁"
|
}
|
||||||
|
},
|
||||||
|
"autoFill": {
|
||||||
|
"cancel": "取消",
|
||||||
|
"info": ""
|
||||||
|
},
|
||||||
|
"buttons": {
|
||||||
|
"collection": "更多",
|
||||||
|
"colvis": "欄位顯示",
|
||||||
|
"colvisRestore": "重置欄位顯示",
|
||||||
|
"copy": "複製",
|
||||||
|
"copySuccess": {
|
||||||
|
"_": "複製了 %d 筆資料",
|
||||||
|
"1": "複製了 1 筆資料"
|
||||||
|
},
|
||||||
|
"copyTitle": "已經複製到剪貼簿",
|
||||||
|
"createState": "建立狀態",
|
||||||
|
"csv": "CSV",
|
||||||
|
"excel": "Excel",
|
||||||
|
"pageLength": {
|
||||||
|
"_": "顯示 %d 筆",
|
||||||
|
"-1": "顯示全部"
|
||||||
|
},
|
||||||
|
"pdf": "PDF",
|
||||||
|
"print": "列印",
|
||||||
|
"removeAllStates": "移除所有狀態",
|
||||||
|
"removeState": "移除",
|
||||||
|
"renameState": "重新命名",
|
||||||
|
"savedStates": "儲存狀態",
|
||||||
|
"stateRestore": "狀態 %d",
|
||||||
|
"updateState": "更新"
|
||||||
},
|
},
|
||||||
"emptyTable": "目前沒有資料",
|
|
||||||
"datetime": {
|
"datetime": {
|
||||||
"previous": "上一頁",
|
"amPm": {
|
||||||
"next": "下一頁",
|
"0": "上午",
|
||||||
|
"1": "下午"
|
||||||
|
},
|
||||||
"hours": "時",
|
"hours": "時",
|
||||||
"minutes": "分",
|
"minutes": "分",
|
||||||
|
"months": {
|
||||||
|
"0": "一月",
|
||||||
|
"1": "二月",
|
||||||
|
"10": "十一月",
|
||||||
|
"11": "十二月",
|
||||||
|
"2": "三月",
|
||||||
|
"3": "四月",
|
||||||
|
"4": "五月",
|
||||||
|
"5": "六月",
|
||||||
|
"6": "七月",
|
||||||
|
"7": "八月",
|
||||||
|
"8": "九月",
|
||||||
|
"9": "十月"
|
||||||
|
},
|
||||||
|
"next": "下一頁",
|
||||||
|
"previous": "上一頁",
|
||||||
"seconds": "秒",
|
"seconds": "秒",
|
||||||
"amPm": [
|
|
||||||
"上午",
|
|
||||||
"下午"
|
|
||||||
],
|
|
||||||
"unknown": "未知",
|
"unknown": "未知",
|
||||||
"weekdays": [
|
"weekdays": {
|
||||||
"週日",
|
"0": "週日",
|
||||||
"週一",
|
"1": "週一",
|
||||||
"週二",
|
"2": "週二",
|
||||||
"週三",
|
"3": "週三",
|
||||||
"週四",
|
"4": "週四",
|
||||||
"週五",
|
"5": "週五",
|
||||||
"週六"
|
"6": "週六"
|
||||||
],
|
}
|
||||||
"months": [
|
|
||||||
"一月",
|
|
||||||
"二月",
|
|
||||||
"三月",
|
|
||||||
"四月",
|
|
||||||
"五月",
|
|
||||||
"六月",
|
|
||||||
"七月",
|
|
||||||
"八月",
|
|
||||||
"九月",
|
|
||||||
"十月",
|
|
||||||
"十一月",
|
|
||||||
"十二月"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
|
"decimal": "",
|
||||||
|
"editor": {
|
||||||
|
"close": "關閉",
|
||||||
|
"create": {
|
||||||
|
"button": "新增",
|
||||||
|
"submit": "送出新增",
|
||||||
|
"title": "新增資料"
|
||||||
|
},
|
||||||
|
"edit": {
|
||||||
|
"button": "修改",
|
||||||
|
"submit": "送出修改",
|
||||||
|
"title": "修改資料"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"system": "系統發生錯誤(更多資訊)"
|
||||||
|
},
|
||||||
|
"multi": {
|
||||||
|
"info": "您所選擇的多筆資料中,此欄位包含了不同的值。若您想要將它們都改為同一個值,可以在此輸入,要不然它們會保留各自原本的值。",
|
||||||
|
"noMulti": "此輸入欄需單獨輸入,不容許多筆資料一起修改",
|
||||||
|
"restore": "復原",
|
||||||
|
"title": "多重值"
|
||||||
|
},
|
||||||
|
"remove": {
|
||||||
|
"button": "刪除",
|
||||||
|
"confirm": {
|
||||||
|
"_": "您確定要刪除您所選取的 %d 筆資料嗎?",
|
||||||
|
"1": "您確定要刪除您所選取的 1 筆資料嗎?"
|
||||||
|
},
|
||||||
|
"submit": "送出刪除",
|
||||||
|
"title": "刪除資料"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emptyTable": "目前沒有資料",
|
||||||
|
"info": "顯示第 _START_ 至 _END_ 筆結果,共 _TOTAL_ 筆",
|
||||||
|
"infoEmpty": "顯示第 0 至 0 筆結果,共 0 筆",
|
||||||
|
"infoFiltered": "(從 _MAX_ 筆結果中篩選)",
|
||||||
|
"infoPostFix": "",
|
||||||
|
"infoThousands": ",",
|
||||||
|
"lengthMenu": "顯示 _MENU_ 筆結果",
|
||||||
|
"loadingRecords": "載入中...",
|
||||||
|
"processing": "處理中...",
|
||||||
|
"search": "搜尋:",
|
||||||
"searchBuilder": {
|
"searchBuilder": {
|
||||||
"add": "新增條件",
|
"add": "新增條件",
|
||||||
"condition": "條件",
|
|
||||||
"button": {
|
"button": {
|
||||||
"_": "複合查詢 (%d)",
|
"_": "複合查詢 (%d)",
|
||||||
"0": "複合查詢"
|
"0": "複合查詢"
|
||||||
},
|
},
|
||||||
"clearAll": "清空",
|
"clearAll": "清空",
|
||||||
|
"condition": "條件",
|
||||||
"conditions": {
|
"conditions": {
|
||||||
"array": {
|
"array": {
|
||||||
"contains": "含有",
|
"contains": "含有",
|
||||||
"equals": "等於",
|
|
||||||
"empty": "空值",
|
"empty": "空值",
|
||||||
|
"equals": "等於",
|
||||||
"not": "不等於",
|
"not": "不等於",
|
||||||
"notEmpty": "非空值",
|
"notEmpty": "非空值",
|
||||||
"without": "不含"
|
"without": "不含"
|
||||||
@@ -88,14 +159,15 @@
|
|||||||
"endsWith": "字尾為",
|
"endsWith": "字尾為",
|
||||||
"equals": "等於",
|
"equals": "等於",
|
||||||
"not": "不為",
|
"not": "不為",
|
||||||
"notEmpty": "不為空",
|
|
||||||
"startsWith": "字首為",
|
|
||||||
"notContains": "不含",
|
"notContains": "不含",
|
||||||
|
"notEmpty": "不為空",
|
||||||
|
"notEndsWith": "結尾不是",
|
||||||
"notStartsWith": "開頭不是",
|
"notStartsWith": "開頭不是",
|
||||||
"notEndsWith": "結尾不是"
|
"startsWith": "字首為"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"data": "欄位",
|
"data": "欄位",
|
||||||
|
"deleteTitle": "刪除篩選條件",
|
||||||
"leftTitle": "群組條件",
|
"leftTitle": "群組條件",
|
||||||
"logicAnd": "且",
|
"logicAnd": "且",
|
||||||
"logicOr": "或",
|
"logicOr": "或",
|
||||||
@@ -104,85 +176,41 @@
|
|||||||
"_": "複合查詢 (%d)",
|
"_": "複合查詢 (%d)",
|
||||||
"0": "複合查詢"
|
"0": "複合查詢"
|
||||||
},
|
},
|
||||||
"value": "內容",
|
"value": "內容"
|
||||||
"deleteTitle": "刪除篩選條件"
|
|
||||||
},
|
|
||||||
"editor": {
|
|
||||||
"close": "關閉",
|
|
||||||
"create": {
|
|
||||||
"button": "新增",
|
|
||||||
"title": "新增資料",
|
|
||||||
"submit": "送出新增"
|
|
||||||
},
|
|
||||||
"remove": {
|
|
||||||
"button": "刪除",
|
|
||||||
"title": "刪除資料",
|
|
||||||
"submit": "送出刪除",
|
|
||||||
"confirm": {
|
|
||||||
"_": "您確定要刪除您所選取的 %d 筆資料嗎?",
|
|
||||||
"1": "您確定要刪除您所選取的 1 筆資料嗎?"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"system": "系統發生錯誤(更多資訊)"
|
|
||||||
},
|
|
||||||
"edit": {
|
|
||||||
"button": "修改",
|
|
||||||
"title": "修改資料",
|
|
||||||
"submit": "送出修改"
|
|
||||||
},
|
|
||||||
"multi": {
|
|
||||||
"title": "多重值",
|
|
||||||
"info": "您所選擇的多筆資料中,此欄位包含了不同的值。若您想要將它們都改為同一個值,可以在此輸入,要不然它們會保留各自原本的值。",
|
|
||||||
"restore": "復原",
|
|
||||||
"noMulti": "此輸入欄需單獨輸入,不容許多筆資料一起修改"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoFill": {
|
|
||||||
"cancel": "取消"
|
|
||||||
},
|
|
||||||
"buttons": {
|
|
||||||
"copySuccess": {
|
|
||||||
"_": "複製了 %d 筆資料",
|
|
||||||
"1": "複製了 1 筆資料"
|
|
||||||
},
|
|
||||||
"copyTitle": "已經複製到剪貼簿",
|
|
||||||
"excel": "Excel",
|
|
||||||
"pdf": "PDF",
|
|
||||||
"print": "列印",
|
|
||||||
"copy": "複製",
|
|
||||||
"colvis": "欄位顯示",
|
|
||||||
"colvisRestore": "重置欄位顯示",
|
|
||||||
"csv": "CSV",
|
|
||||||
"pageLength": {
|
|
||||||
"-1": "顯示全部",
|
|
||||||
"_": "顯示 %d 筆"
|
|
||||||
},
|
|
||||||
"createState": "建立狀態",
|
|
||||||
"removeAllStates": "移除所有狀態",
|
|
||||||
"removeState": "移除",
|
|
||||||
"renameState": "重新命名",
|
|
||||||
"savedStates": "儲存狀態",
|
|
||||||
"stateRestore": "狀態 %d",
|
|
||||||
"updateState": "更新",
|
|
||||||
"collection": "更多"
|
|
||||||
},
|
},
|
||||||
"searchPanes": {
|
"searchPanes": {
|
||||||
|
"clearMessage": "清空",
|
||||||
"collapse": {
|
"collapse": {
|
||||||
"_": "搜尋面版 (%d)",
|
"_": "搜尋面版 (%d)",
|
||||||
"0": "搜尋面版"
|
"0": "搜尋面版"
|
||||||
},
|
},
|
||||||
"emptyPanes": "沒搜尋面版",
|
"collapseMessage": "摺疊全部",
|
||||||
"loadMessage": "載入搜尋面版中...",
|
|
||||||
"clearMessage": "清空",
|
|
||||||
"count": "{total}",
|
"count": "{total}",
|
||||||
"countFiltered": "{shown} ({total})",
|
"countFiltered": "{shown} ({total})",
|
||||||
|
"emptyPanes": "沒搜尋面版",
|
||||||
|
"loadMessage": "載入搜尋面版中...",
|
||||||
"showMessage": "顯示全部",
|
"showMessage": "顯示全部",
|
||||||
"collapseMessage": "摺疊全部",
|
|
||||||
"title": "篩選條件 - %d"
|
"title": "篩選條件 - %d"
|
||||||
},
|
},
|
||||||
|
"searchPlaceholder": "",
|
||||||
|
"select": {
|
||||||
|
"cells": {
|
||||||
|
"_": "選擇了 %d 格資料",
|
||||||
|
"0": "",
|
||||||
|
"1": "選擇了 1 格資料"
|
||||||
|
},
|
||||||
|
"columns": {
|
||||||
|
"_": "選擇了 %d 欄資料",
|
||||||
|
"0": "",
|
||||||
|
"1": "選擇了 1 欄資料"
|
||||||
|
},
|
||||||
|
"rows": {
|
||||||
|
"_": "選擇了 %d 筆資料",
|
||||||
|
"0": "",
|
||||||
|
"1": "選擇了 1 筆資料"
|
||||||
|
}
|
||||||
|
},
|
||||||
"stateRestore": {
|
"stateRestore": {
|
||||||
"emptyError": "名稱不能空白。",
|
|
||||||
"creationModal": {
|
"creationModal": {
|
||||||
"button": "建立",
|
"button": "建立",
|
||||||
"columns": {
|
"columns": {
|
||||||
@@ -200,6 +228,7 @@
|
|||||||
"toggleLabel": "包含:"
|
"toggleLabel": "包含:"
|
||||||
},
|
},
|
||||||
"duplicateError": "此狀態名稱已經存在。",
|
"duplicateError": "此狀態名稱已經存在。",
|
||||||
|
"emptyError": "名稱不能空白。",
|
||||||
"emptyStates": "名稱不可空白。",
|
"emptyStates": "名稱不可空白。",
|
||||||
"removeConfirm": "確定要移除 %s 嗎?",
|
"removeConfirm": "確定要移除 %s 嗎?",
|
||||||
"removeError": "移除狀態失敗。",
|
"removeError": "移除狀態失敗。",
|
||||||
@@ -210,31 +239,6 @@
|
|||||||
"renameLabel": "%s 的新名稱:",
|
"renameLabel": "%s 的新名稱:",
|
||||||
"renameTitle": "重新命名狀態"
|
"renameTitle": "重新命名狀態"
|
||||||
},
|
},
|
||||||
"select": {
|
|
||||||
"columns": {
|
|
||||||
"_": "選擇了 %d 欄資料",
|
|
||||||
"1": "選擇了 1 欄資料"
|
|
||||||
},
|
|
||||||
"rows": {
|
|
||||||
"1": "選擇了 1 筆資料",
|
|
||||||
"_": "選擇了 %d 筆資料"
|
|
||||||
},
|
|
||||||
"cells": {
|
|
||||||
"1": "選擇了 1 格資料",
|
|
||||||
"_": "選擇了 %d 格資料"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"zeroRecords": "沒有符合的資料",
|
|
||||||
"aria": {
|
|
||||||
"sortAscending": ":升冪排列",
|
|
||||||
"sortDescending": ":降冪排列"
|
|
||||||
},
|
|
||||||
"info": "顯示第 _START_ 至 _END_ 筆結果,共 _TOTAL_ 筆",
|
|
||||||
"infoEmpty": "顯示第 0 至 0 筆結果,共 0 筆",
|
|
||||||
"infoThousands": ",",
|
|
||||||
"lengthMenu": "顯示 _MENU_ 筆結果",
|
|
||||||
"search": "搜尋:",
|
|
||||||
"searchPlaceholder": "請輸入關鍵字",
|
|
||||||
"thousands": ",",
|
"thousands": ",",
|
||||||
"infoFiltered": "(從 _MAX_ 筆結果中篩選)"
|
"zeroRecords": "沒有符合的資料"
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
{% load admin_status %}
|
{% load admin_status %}
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
id="celery-progress-bar-{{ label }}"
|
||||||
class="progress-bar text-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 %}"
|
||||||
@@ -9,5 +10,5 @@
|
|||||||
aria-valuemax="100"
|
aria-valuemax="100"
|
||||||
style="width: {% decimal_widthratio tasks_count tasks_total 100 %}%;"
|
style="width: {% decimal_widthratio tasks_count tasks_total 100 %}%;"
|
||||||
>
|
>
|
||||||
<span>{% widthratio tasks_count tasks_total 100 %}%</span>
|
<span id="celery-progress-bar-{{ label }}-progress">{% widthratio tasks_count tasks_total 100 %}%</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,29 +1,32 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
<div id="esi-alert" class="col-12 collapse">
|
<div id="esi-alert" class="col-12 collapse">
|
||||||
<div class="alert alert-warning">
|
<div class="alert alert-warning">
|
||||||
<p class="text-center ">{% translate 'Your Server received an ESI error response code of ' %}<b id="esi-code">?</b></p>
|
<p class="text-center ">{% translate 'Your Server received an ESI error response code of ' %}<b id="esi-code">?</b></p>
|
||||||
<hr>
|
<hr>
|
||||||
<pre id="esi-data" class="text-center text-wrap"></pre>
|
<pre id="esi-data" class="text-center text-wrap"></pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const elemCard = document.getElementById('esi-alert');
|
$(document).ready(() => {
|
||||||
const elemMessage = document.getElementById('esi-data');
|
const elements = {
|
||||||
const elemCode = document.getElementById('esi-code');
|
card: document.getElementById('esi-alert'),
|
||||||
|
message: document.getElementById('esi-data'),
|
||||||
|
code: document.getElementById('esi-code')
|
||||||
|
};
|
||||||
|
|
||||||
fetchGet({url: '{% url "authentication:esi_check" %}'})
|
fetchGet({url: '{% url "authentication:esi_check" %}'})
|
||||||
.then((data) => {
|
.then(({status, data}) => {
|
||||||
console.log('ESI Check: ', JSON.stringify(data, null, 2));
|
console.log('ESI Check:', JSON.stringify({status, data}, null, 2));
|
||||||
|
|
||||||
if (data.status !== 200) {
|
if (status !== 200) {
|
||||||
elemCode.textContent = data.status;
|
elements.code.textContent = status;
|
||||||
elemMessage.textContent = data.data.error;
|
elements.message.textContent = data.error;
|
||||||
|
|
||||||
new bootstrap.Collapse(elemCard, {toggle: true});
|
new bootstrap.Collapse(elements.card, {toggle: true});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => console.error('Error fetching ESI check:', error));
|
||||||
console.error('Error fetching ESI check:', error);
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,27 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load humanize %}
|
{% load humanize %}
|
||||||
|
|
||||||
|
{% get_current_language as LANGUAGE_CODE %}
|
||||||
|
|
||||||
|
{% comment %}
|
||||||
|
Some translations used in the HTML and JavaScript code below.
|
||||||
|
We define them here so that they can be used in the JavaScript code as well with
|
||||||
|
the escapejs filter without having to redefine them later.
|
||||||
|
{% endcomment %}
|
||||||
|
{% translate "second" as l10nSecondSingular %}
|
||||||
|
{% translate "seconds" as l10nSecondPlural %}
|
||||||
|
{% translate "minute" as l10nMinuteSingular %}
|
||||||
|
{% translate "minutes" as l10nMinutePlural %}
|
||||||
|
{% translate "hour" as l10nHourSingular %}
|
||||||
|
{% translate "hours" as l10nHourPlural %}
|
||||||
|
{% translate "N/A" as l10nNA %}
|
||||||
|
{% translate "ERROR" as l10nError %}
|
||||||
|
{% translate "running" as l10nRunning %}
|
||||||
|
{% translate "queued" as l10nQueued %}
|
||||||
|
{% translate "succeeded" as l10nSucceeded %}
|
||||||
|
{% translate "retried" as l10nRetried %}
|
||||||
|
{% translate "failed" as l10nFailed %}
|
||||||
|
|
||||||
{% if debug %}
|
{% if debug %}
|
||||||
<div id="aa-dashboard-panel-debug" class="col-12 mb-3">
|
<div id="aa-dashboard-panel-debug" class="col-12 mb-3">
|
||||||
<div class="card text-bg-warning">
|
<div class="card text-bg-warning">
|
||||||
@@ -111,23 +132,27 @@
|
|||||||
<div>
|
<div>
|
||||||
<p>
|
<p>
|
||||||
{% blocktranslate with total=tasks_total|intcomma latest=earliest_task|timesince|default:"?" %}
|
{% blocktranslate with total=tasks_total|intcomma latest=earliest_task|timesince|default:"?" %}
|
||||||
Status of {{ total }} processed tasks • last {{ latest }}
|
Status of <span id="total-task-count">?</span> processed tasks • last <span id="celery-uptime">?</span>
|
||||||
{% endblocktranslate %}
|
{% endblocktranslate %}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="progress"
|
id="celery-tasks-progress-bar"
|
||||||
|
class="progress mb-2"
|
||||||
style="height: 21px;"
|
style="height: 21px;"
|
||||||
title="{{ tasks_succeeded|intcomma }} succeeded, {{ tasks_retried|intcomma }} retried, {{ tasks_failed|intcomma }} failed"
|
title="? {{ l10nSucceeded }}, ? {{ l10nRetried }}, ? {{ l10nFailed }}"
|
||||||
>
|
>
|
||||||
{% include "allianceauth/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="succeeded" level="success" tasks_count=0 %}
|
||||||
{% include "allianceauth/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="retried" level="info" tasks_count=0 %}
|
||||||
{% include "allianceauth/admin-status/celery_bar_partial.html" with label="failed" level="danger" tasks_count=tasks_failed %}
|
{% include "allianceauth/admin-status/celery_bar_partial.html" with label="failed" level="danger" tasks_count=0 %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<span id="task-counts">?</span> {% translate 'running' %} |
|
<span id="running-task-count">?</span> {{ l10nRunning }} |
|
||||||
<span id="queued-tasks-count">?</span> {% translate 'queued' %}
|
<span id="queued-tasks-count">?</span> {{ l10nQueued }} |
|
||||||
|
<span id="succeeded-tasks-count">?</span> {{ l10nSucceeded }} |
|
||||||
|
<span id="retried-tasks-count">?</span> {{ l10nRetried }} |
|
||||||
|
<span id="failed-tasks-count">?</span> {{ l10nFailed }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -136,24 +161,24 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const elemRunning = document.getElementById('task-counts');
|
const taskQueueSettings = {
|
||||||
const elemQueued = document.getElementById('queued-tasks-count');
|
url: '{% url "authentication:task_counts" %}',
|
||||||
|
l10n: {
|
||||||
fetchGet({url: '{% url "authentication:task_counts" %}'})
|
language: '{{ LANGUAGE_CODE }}',
|
||||||
.then((data) => {
|
second_singular: '{{ l10nSecondSingular|escapejs }}',
|
||||||
const running = data.tasks_running;
|
second_plural: '{{ l10nSecondPlural|escapejs }}',
|
||||||
const queued = data.tasks_queued;
|
minute_singular: '{{ l10nMinuteSingular|escapejs }}',
|
||||||
|
minute_plural: '{{ l10nMinutePlural|escapejs }}',
|
||||||
const updateTaskCount = (element, value) => {
|
hour_singular: '{{ l10nHourSingular|escapejs }}',
|
||||||
element.textContent = value == null ? 'N/A' : value.toLocaleString();
|
hour_plural: '{{ l10nHourPlural|escapejs }}',
|
||||||
};
|
na: '{{ l10nNA|escapejs }}',
|
||||||
|
error: '{{ l10nError|escapejs }}',
|
||||||
updateTaskCount(elemRunning, running);
|
running: '{{ l10nRunning|escapejs }}',
|
||||||
updateTaskCount(elemQueued, queued);
|
queued: '{{ l10nQueued|escapejs }}',
|
||||||
})
|
succeeded: '{{ l10nSucceeded|escapejs }}',
|
||||||
.catch((error) => {
|
retried: '{{ l10nRetried|escapejs }}',
|
||||||
console.error('Error fetching task queue:', error);
|
failed: '{{ l10nFailed|escapejs }}'
|
||||||
|
}
|
||||||
[elemRunning, elemQueued].forEach(elem => elem.textContent = 'ERROR');
|
};
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
{% include "bundles/auth-dashboard-task-queue-js.html" %}
|
||||||
|
|||||||
@@ -18,10 +18,11 @@
|
|||||||
|
|
||||||
<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>
|
||||||
|
|
||||||
|
{% include 'bundles/auth-framework-css.html' %}
|
||||||
|
|
||||||
{% theme_css %}
|
{% theme_css %}
|
||||||
|
|
||||||
{% include 'bundles/fontawesome.html' %}
|
{% include 'bundles/fontawesome.html' %}
|
||||||
{% include 'bundles/auth-framework-css.html' %}
|
|
||||||
|
|
||||||
{% include 'bundles/jquery-js.html' %}
|
{% include 'bundles/jquery-js.html' %}
|
||||||
{% include 'bundles/auth-framework-js.html' %}
|
{% include 'bundles/auth-framework-js.html' %}
|
||||||
@@ -101,44 +102,7 @@
|
|||||||
</main>
|
</main>
|
||||||
<!-- End Body -->
|
<!-- End Body -->
|
||||||
|
|
||||||
<script>
|
{% include "bundles/auth-sidebar-collapse-js.html" %}
|
||||||
(() => {
|
|
||||||
// TODO Move to own JS file
|
|
||||||
const sidebar = document.getElementById('sidebar');
|
|
||||||
const sidebarKey = `sidebar_${sidebar.id}`;
|
|
||||||
|
|
||||||
sidebar.addEventListener('shown.bs.collapse', (event) => {
|
|
||||||
if (event.target.id === sidebar.id) {
|
|
||||||
localStorage.removeItem(sidebarKey);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
sidebar.addEventListener('hidden.bs.collapse', (event) => {
|
|
||||||
if (event.target.id === sidebar.id) {
|
|
||||||
localStorage.setItem(sidebarKey, 'closed');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (localStorage.getItem(sidebarKey) === 'closed') {
|
|
||||||
sidebar.classList.remove('show');
|
|
||||||
} else {
|
|
||||||
sidebar.classList.add('show');
|
|
||||||
}
|
|
||||||
|
|
||||||
const activeChildMenuItem = document.querySelector('#sidebar-menu li ul li a.active');
|
|
||||||
|
|
||||||
if (activeChildMenuItem) {
|
|
||||||
const activeChildMenuUl = activeChildMenuItem.parentElement.parentElement;
|
|
||||||
const elementsToToggle = document.querySelectorAll(`[data-bs-target^="#${activeChildMenuUl.id}"]`);
|
|
||||||
|
|
||||||
activeChildMenuUl.classList.add('show');
|
|
||||||
|
|
||||||
elementsToToggle.forEach((element) => {
|
|
||||||
element.setAttribute('aria-expanded', true);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
|
|
||||||
{% theme_js %}
|
{% theme_js %}
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +1,17 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
|
||||||
{% if user.is_authenticated %}
|
{% if user.is_authenticated %}
|
||||||
<li class="nav-item">
|
{% translate "Add Character" as nav_item_title %}
|
||||||
<a href="{% url 'authentication:add_character' %}" class="nav-link" title="{% translate 'Add Character' %}">
|
{% url "authentication:add_character" as nav_item_link %}
|
||||||
<i class="fa-solid fa-user-plus"></i>
|
{% include "framework/header/nav-collapse-icon.html" with fa_icon="fa-solid fa-user-plus" url=nav_item_link title=nav_item_title icon_on_mobile=True %}
|
||||||
<span class="d-lg-none d-md-inline m-2">{% translate "Add Character" %}</span>
|
|
||||||
</a>
|
{% translate "Change Main" as nav_item_title %}
|
||||||
</li>
|
{% url "authentication:change_main_character" as nav_item_link %}
|
||||||
<li class="nav-item">
|
{% include "framework/header/nav-collapse-icon.html" with fa_icon="fa-solid fa-shuffle" url=nav_item_link title=nav_item_title icon_on_mobile=True %}
|
||||||
<a href="{% url 'authentication:change_main_character' %}" class="nav-link" title="{% translate 'Change Main' %}">
|
|
||||||
<i class="fa-solid fa-shuffle"></i>
|
|
||||||
<span class="d-lg-none d-md-inline m-2">{% translate "Change Main" %}</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="{% url 'authentication:login' %}" class="nav-link" title="{% translate 'Sign In' %}">
|
<a href="{% url 'authentication:login' %}" class="nav-link" title="{% translate 'Sign In' %}">
|
||||||
<i class="fa-solid fa-right-to-bracket fa-fw "></i> {% translate "Sign In" %}
|
<i class="fa-solid fa-right-to-bracket fa-fw me-2"></i> {% translate "Sign In" %}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{% load sri %}
|
||||||
|
|
||||||
|
{% sri_static 'allianceauth/js/dashboard-update-task-queue.js' %}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{% load sri %}
|
||||||
|
|
||||||
|
{% sri_static 'allianceauth/js/sidebar.js' %}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{% load sri %}
|
||||||
|
|
||||||
|
<!-- Start DataTables ColumnControl CSS -->
|
||||||
|
{% sri_static "allianceauth/libs/DataTables/Extensions/ColumnControl/1.2.0/css/columnControl.bootstrap5.min.css" %}
|
||||||
|
<!-- End DataTables ColumnControl CSS -->
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{% load sri %}
|
||||||
|
|
||||||
|
<!-- Start DataTables ColumnControl JS -->
|
||||||
|
{% sri_static "allianceauth/libs/DataTables/Extensions/ColumnControl/1.2.0/js/dataTables.columnControl.min.js" %}
|
||||||
|
{% sri_static "allianceauth/libs/DataTables/Extensions/ColumnControl/1.2.0/js/columnControl.bootstrap5.min.js" %}
|
||||||
|
<!-- End DataTables ColumnControl JS -->
|
||||||
5
allianceauth/templates/bundles/datatables-2-css-bs5.html
Normal file
5
allianceauth/templates/bundles/datatables-2-css-bs5.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{% load sri %}
|
||||||
|
|
||||||
|
<!-- Start DataTables CSS -->
|
||||||
|
{% sri_static "allianceauth/libs/DataTables/2.3.6/css/dataTables.bootstrap5.min.css" %}
|
||||||
|
<!-- End DataTables CSS -->
|
||||||
6
allianceauth/templates/bundles/datatables-2-js-bs5.html
Normal file
6
allianceauth/templates/bundles/datatables-2-js-bs5.html
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{% load sri %}
|
||||||
|
|
||||||
|
<!-- Start DataTables JS -->
|
||||||
|
{% sri_static "allianceauth/libs/DataTables/2.3.6/js/dataTables.min.js" %}
|
||||||
|
{% sri_static "allianceauth/libs/DataTables/2.3.6/js/dataTables.bootstrap5.min.js" %}
|
||||||
|
<!-- End DataTables JS -->
|
||||||
11
allianceauth/templates/django_bootstrap5/field_errors.html
Normal file
11
allianceauth/templates/django_bootstrap5/field_errors.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{# Template override to display the errors of django Forms when using `boostrap_form` form the `django-bootstrap5` #}
|
||||||
|
{# library. #}
|
||||||
|
{# See: https://github.com/zostera/django-bootstrap5/pull/767 #}
|
||||||
|
|
||||||
|
{% if field_errors %}
|
||||||
|
<div id="{{ field.auto_id }}_error" class="invalid-feedback">
|
||||||
|
{% for text in field_errors %}
|
||||||
|
<div>{{ text }}</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
@@ -59,7 +59,7 @@ def get_datatables_language_static(language: str) -> str:
|
|||||||
mapped_language = get_datatable_language_code(language)
|
mapped_language = get_datatable_language_code(language)
|
||||||
static_url = (
|
static_url = (
|
||||||
static(
|
static(
|
||||||
path=f"allianceauth/libs/DataTables/Plugins/2.2.1/i18n/{mapped_language}.json"
|
path=f"allianceauth/libs/DataTables/Plugins/2.3.6/i18n/{mapped_language}.json"
|
||||||
)
|
)
|
||||||
if mapped_language
|
if mapped_language
|
||||||
else ""
|
else ""
|
||||||
|
|||||||
@@ -37,7 +37,8 @@ def get_theme(request):
|
|||||||
|
|
||||||
def get_theme_context(request):
|
def get_theme_context(request):
|
||||||
return {
|
return {
|
||||||
'theme': get_theme(request)
|
'theme': get_theme(request),
|
||||||
|
'request': request
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user