From 94e9c08422277eed4b027010a88de8e9912fe606 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Thu, 8 Aug 2024 10:14:31 +0200 Subject: [PATCH 01/33] [ADD] Theme html tags --- allianceauth/theme/bootstrap/auth_hooks.py | 3 ++- allianceauth/theme/darkly/auth_hooks.py | 1 + allianceauth/theme/flatly/auth_hooks.py | 1 + allianceauth/theme/hooks.py | 18 +++++++++++++----- allianceauth/theme/materia/auth_hooks.py | 1 + 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/allianceauth/theme/bootstrap/auth_hooks.py b/allianceauth/theme/bootstrap/auth_hooks.py index b888f5df..72fe265a 100644 --- a/allianceauth/theme/bootstrap/auth_hooks.py +++ b/allianceauth/theme/bootstrap/auth_hooks.py @@ -27,6 +27,7 @@ class BootstrapThemeHook(ThemeHook): self, "Bootstrap", "Powerful, extensible, and feature-packed frontend toolkit.", + html_tags={"data-theme": "bootstrap"}, css=CSS_STATICS, js=JS_STATICS, header_padding="3.5em" @@ -44,9 +45,9 @@ class BootstrapDarkThemeHook(ThemeHook): self, "Bootstrap Dark", "Powerful, extensible, and feature-packed frontend toolkit.", + html_tags={"data-theme": "bootstrap-dark"}, css=CSS_STATICS, js=JS_STATICS, - html_tags="data-bs-theme=dark", header_padding="3.5em" ) diff --git a/allianceauth/theme/darkly/auth_hooks.py b/allianceauth/theme/darkly/auth_hooks.py index a569e547..0affe359 100644 --- a/allianceauth/theme/darkly/auth_hooks.py +++ b/allianceauth/theme/darkly/auth_hooks.py @@ -13,6 +13,7 @@ class DarklyThemeHook(ThemeHook): self, "Darkly", "Flatly in night mode!", + html_tags={"data-theme": "darkly"}, css=[{ "url": "https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.3.3/darkly/bootstrap.min.css", "integrity": "sha512-HDszXqSUU0om4Yj5dZOUNmtwXGWDa5ppESlX98yzbBS+z+3HQ8a/7kcdI1dv+jKq+1V5b01eYurE7+yFjw6Rdg==" diff --git a/allianceauth/theme/flatly/auth_hooks.py b/allianceauth/theme/flatly/auth_hooks.py index b7dda2b3..cab72dc1 100644 --- a/allianceauth/theme/flatly/auth_hooks.py +++ b/allianceauth/theme/flatly/auth_hooks.py @@ -13,6 +13,7 @@ class FlatlyThemeHook(ThemeHook): self, "Flatly", "Flat and modern!", + html_tags={"data-theme": "flatly"}, css=[{ "url": "https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.3.3/flatly/bootstrap.min.css", "integrity": "sha512-qoT4KwnRpAQ9uczPsw7GunsNmhRnYwSlE2KRCUPRQHSkDuLulCtDXuC2P/P6oqr3M5hoGagUG9pgHDPkD2zCDA==" diff --git a/allianceauth/theme/hooks.py b/allianceauth/theme/hooks.py index 7a618676..dde11493 100644 --- a/allianceauth/theme/hooks.py +++ b/allianceauth/theme/hooks.py @@ -1,10 +1,10 @@ -from typing import List, Optional +from typing import List, Optional, Union class ThemeHook: """ - Theme hook for injecting a Bootstrap 5 Theme and associated JS into alliance auth. - these can be local or CDN delivered + Theme hook for injecting a Bootstrap 5 Theme and associated JS into alliance auth. + These can be local or CDN delivered. """ def __init__(self, @@ -14,7 +14,7 @@ class ThemeHook: js: List[dict], css_template: Optional[str] = None, js_template: Optional[str] = None, - html_tags: Optional[str] = "", + html_tags: Optional[Union[dict, str]] = None, header_padding: Optional[str] = "4em"): """ :param name: Theme python name @@ -29,6 +29,10 @@ class ThemeHook: :type css_template: Optional[str], optional :param js_template: _description_, defaults to None :type js_template: Optional[str], optional + :param html_tags: Attributes added to the `` tag, defaults to None + :type html_tags: Optional[dict|str], optional + :param header_padding: Top padding, defaults to "4em" + :type header_padding: Optional[str], optional """ self.name = name self.description = description @@ -41,7 +45,11 @@ class ThemeHook: self.css_template = css_template self.js_template = js_template - self.html_tags = html_tags + self.html_tags = ( + " ".join([f"{key}={value}" for key, value in html_tags.items()]) + if isinstance(html_tags, dict) + else html_tags + ) self.header_padding = header_padding def get_name(self): return f"{self.__class__.__module__}.{self.__class__.__name__}" diff --git a/allianceauth/theme/materia/auth_hooks.py b/allianceauth/theme/materia/auth_hooks.py index 8a0f5cfe..32d31916 100644 --- a/allianceauth/theme/materia/auth_hooks.py +++ b/allianceauth/theme/materia/auth_hooks.py @@ -13,6 +13,7 @@ class MateriaThemeHook(ThemeHook): self, "Materia", "Material is the metaphor", + html_tags={"data-theme": "materia"}, css=[{ "url": "https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.3.3/materia/bootstrap.min.css", "integrity": "sha512-2S9Do+uTmZmmJpdmAcOKdUrK/YslcvAuRfIF2ws8+BW9AvZXMRZM+o8Wq+PZrfISD6ZlIaeCWWZAdeprXIoYuQ==" From 59391ad3c58b4d75f3f5ea6a32f0f88e15447e05 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Sun, 11 Aug 2024 22:34:16 +0200 Subject: [PATCH 02/33] [ADD] Custom CSS module (First steps) --- allianceauth/custom_css/__init__.py | 3 + allianceauth/custom_css/admin.py | 22 + allianceauth/custom_css/apps.py | 13 + allianceauth/custom_css/forms.py | 21 + .../custom_css/migrations/0001_initial.py | 33 + .../migrations/0002_alter_customcss_css.py | 22 + .../migrations/0003_alter_customcss_css.py | 23 + .../migrations/0004_alter_customcss_css.py | 23 + .../custom_css/migrations/__init__.py | 0 allianceauth/custom_css/models.py | 35 + .../custom_css/javascript/custom-css.js | 16 + .../custom_css/javascript/custom-css.min.js | 2 + .../javascript/custom-css.min.js.map | 1 + .../highlight.js/11.10.0/highlight.min.js | 1232 +++++++++++++++++ .../highlight.js/11.10.0/languages/css.min.js | 31 + .../highlight.js/11.10.0/styles/dark.min.css | 1 + .../11.10.0/styles/default.min.css | 9 + .../11.10.0/styles/github-dark.min.css | 10 + .../11.10.0/styles/github.min.css | 10 + allianceauth/custom_css/widgets.py | 35 + allianceauth/framework/admin.py | 58 + allianceauth/framework/models.py | 47 + 22 files changed, 1647 insertions(+) create mode 100644 allianceauth/custom_css/__init__.py create mode 100644 allianceauth/custom_css/admin.py create mode 100644 allianceauth/custom_css/apps.py create mode 100644 allianceauth/custom_css/forms.py create mode 100644 allianceauth/custom_css/migrations/0001_initial.py create mode 100644 allianceauth/custom_css/migrations/0002_alter_customcss_css.py create mode 100644 allianceauth/custom_css/migrations/0003_alter_customcss_css.py create mode 100644 allianceauth/custom_css/migrations/0004_alter_customcss_css.py create mode 100644 allianceauth/custom_css/migrations/__init__.py create mode 100644 allianceauth/custom_css/models.py create mode 100644 allianceauth/custom_css/static/custom_css/javascript/custom-css.js create mode 100644 allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js create mode 100644 allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js.map create mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js create mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js create mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/dark.min.css create mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/default.min.css create mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github-dark.min.css create mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css create mode 100644 allianceauth/custom_css/widgets.py create mode 100644 allianceauth/framework/admin.py create mode 100644 allianceauth/framework/models.py diff --git a/allianceauth/custom_css/__init__.py b/allianceauth/custom_css/__init__.py new file mode 100644 index 00000000..b2dbc39c --- /dev/null +++ b/allianceauth/custom_css/__init__.py @@ -0,0 +1,3 @@ +""" +Initializes the custom_css module. +""" diff --git a/allianceauth/custom_css/admin.py b/allianceauth/custom_css/admin.py new file mode 100644 index 00000000..0b5f79ec --- /dev/null +++ b/allianceauth/custom_css/admin.py @@ -0,0 +1,22 @@ +""" +Admin classes for custom_css app +""" + +# Alliance Auth Custom CSS +from allianceauth.custom_css.models import CustomCSS +from allianceauth.custom_css.forms import CustomCSSAdminForm + +# Alliance Auth Framework +from allianceauth.framework.admin import SingletonModelAdmin + +# Django +from django.contrib import admin + + +@admin.register(CustomCSS) +class CustomCSSAdmin(SingletonModelAdmin): + """ + Custom CSS Admin + """ + + form = CustomCSSAdminForm diff --git a/allianceauth/custom_css/apps.py b/allianceauth/custom_css/apps.py new file mode 100644 index 00000000..614f3463 --- /dev/null +++ b/allianceauth/custom_css/apps.py @@ -0,0 +1,13 @@ +""" +Django app configuration for custom_css +""" + +# Django +from django.apps import AppConfig +from django.utils.translation import gettext_lazy as _ + + +class CustomCSSConfig(AppConfig): + name = "allianceauth.custom_css" + label = "custom_css" + verbose_name = _("Custom CSS") diff --git a/allianceauth/custom_css/forms.py b/allianceauth/custom_css/forms.py new file mode 100644 index 00000000..f9a1f205 --- /dev/null +++ b/allianceauth/custom_css/forms.py @@ -0,0 +1,21 @@ +""" +Forms for custom_css app +""" + +# Alliance Auth Custom CSS +from allianceauth.custom_css.models import CustomCSS +from allianceauth.custom_css.widgets import CssEditorWidget + +# Django +from django import forms + + +class CustomCSSAdminForm(forms.ModelForm): + """ + Form for editing custom CSS + """ + + class Meta: + model = CustomCSS + fields = ("css",) + widgets = {"css": CssEditorWidget(attrs={"style": "width: 90%; height: 100%;"})} diff --git a/allianceauth/custom_css/migrations/0001_initial.py b/allianceauth/custom_css/migrations/0001_initial.py new file mode 100644 index 00000000..97dfe866 --- /dev/null +++ b/allianceauth/custom_css/migrations/0001_initial.py @@ -0,0 +1,33 @@ +# Generated by Django 4.2.15 on 2024-08-10 15:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="CustomCSS", + fields=[ + ( + "id", + models.AutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("css", models.TextField()), + ], + options={ + "verbose_name": "Custom CSS", + "verbose_name_plural": "Custom CSS", + "default_permissions": (), + }, + ), + ] diff --git a/allianceauth/custom_css/migrations/0002_alter_customcss_css.py b/allianceauth/custom_css/migrations/0002_alter_customcss_css.py new file mode 100644 index 00000000..f4ba84da --- /dev/null +++ b/allianceauth/custom_css/migrations/0002_alter_customcss_css.py @@ -0,0 +1,22 @@ +# Generated by Django 4.2.15 on 2024-08-10 15:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("custom_css", "0001_initial"), + ] + + operations = [ + migrations.AlterField( + model_name="customcss", + name="css", + field=models.TextField( + blank=True, + help_text="Custom CSS that will be added to the site. This CSS will be added to the site after the default CSS.", + null=True, + ), + ), + ] diff --git a/allianceauth/custom_css/migrations/0003_alter_customcss_css.py b/allianceauth/custom_css/migrations/0003_alter_customcss_css.py new file mode 100644 index 00000000..28431cd2 --- /dev/null +++ b/allianceauth/custom_css/migrations/0003_alter_customcss_css.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.15 on 2024-08-10 15:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("custom_css", "0002_alter_customcss_css"), + ] + + operations = [ + migrations.AlterField( + model_name="customcss", + name="css", + field=models.TextField( + blank=True, + help_text="Custom CSS that will be added to the site. This CSS will be added to the site after the default CSS.", + null=True, + verbose_name="Your custom CSS", + ), + ), + ] diff --git a/allianceauth/custom_css/migrations/0004_alter_customcss_css.py b/allianceauth/custom_css/migrations/0004_alter_customcss_css.py new file mode 100644 index 00000000..2373652a --- /dev/null +++ b/allianceauth/custom_css/migrations/0004_alter_customcss_css.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.15 on 2024-08-10 15:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("custom_css", "0003_alter_customcss_css"), + ] + + operations = [ + migrations.AlterField( + model_name="customcss", + name="css", + field=models.TextField( + blank=True, + help_text="This CSS will be added to the site after the default CSS.", + null=True, + verbose_name="Your custom CSS", + ), + ), + ] diff --git a/allianceauth/custom_css/migrations/__init__.py b/allianceauth/custom_css/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/allianceauth/custom_css/models.py b/allianceauth/custom_css/models.py new file mode 100644 index 00000000..3fcc83d7 --- /dev/null +++ b/allianceauth/custom_css/models.py @@ -0,0 +1,35 @@ +""" +Models for the custom_css app +""" + +# Alliance Auth Framework +from allianceauth.framework.models import SingletonModel + +# Django +from django.db import models +from django.utils.translation import gettext_lazy as _ + + +class CustomCSS(SingletonModel): + """ + Model for storing custom CSS for the site + """ + + css = models.TextField( + blank=True, + null=True, + verbose_name=_("Your custom CSS"), + help_text=_("This CSS will be added to the site after the default CSS."), + ) + + class Meta: + """ + Meta for CustomCSS + """ + + default_permissions = () + verbose_name = _("Custom CSS") + verbose_name_plural = _("Custom CSS") + + def __str__(self) -> str: + return str(_("Custom CSS")) diff --git a/allianceauth/custom_css/static/custom_css/javascript/custom-css.js b/allianceauth/custom_css/static/custom_css/javascript/custom-css.js new file mode 100644 index 00000000..fa94d6c8 --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/javascript/custom-css.js @@ -0,0 +1,16 @@ +/* global django, hljs */ + +(() => { + 'use strict'; + + const $ = django.jQuery; + + $(document).ready(() => { + $('textarea.css-editor').each((idx, el) => { + if (typeof hljs !== 'undefined' && typeof hljs.highlightAll === 'function') { + console.log('highlighting'); + hljs.highlightAll(); + } + }); + }); +})(); diff --git a/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js b/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js new file mode 100644 index 00000000..42f04389 --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js @@ -0,0 +1,2 @@ +(()=>{const h=django.jQuery;h(document).ready(()=>{h("textarea.css-editor").each((h,e)=>{"undefined"!=typeof hljs&&"function"==typeof hljs.highlightAll&&(console.log("highlighting"),hljs.highlightAll())})})})(); +//# sourceMappingURL=custom-css.min.js.map \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js.map b/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js.map new file mode 100644 index 00000000..f2e119c4 --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["custom-css.js"],"names":["$","django","jQuery","document","ready","each","idx","el","hljs","highlightAll","console","log"],"mappings":"CAEA,KAGI,MAAMA,EAAIC,OAAOC,OAEjBF,EAAEG,QAAQ,EAAEC,MAAM,KACdJ,EAAE,qBAAqB,EAAEK,KAAK,CAACC,EAAKC,KACZ,aAAhB,OAAOC,MAAqD,YAA7B,OAAOA,KAAKC,eAC3CC,QAAQC,IAAI,cAAc,EAC1BH,KAAKC,aAAa,EAE1B,CAAC,CACL,CAAC,CACJ,GAAE"} \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js new file mode 100644 index 00000000..5442f21b --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js @@ -0,0 +1,1232 @@ +/*! + Highlight.js v11.10.0 (git: 366a8bd012) + (c) 2006-2024 Josh Goebel and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";function e(n){ +return n instanceof Map?n.clear=n.delete=n.set=()=>{ +throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{ +const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a) +})),n}class n{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function t(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] +;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope +;class r{constructor(e,n){ +this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ +this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{ +if(e.startsWith("language:"))return e.replace("language:","language-") +;if(e.includes(".")){const t=e.split(".") +;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") +}return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)} +closeNode(e){i(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const s=(e={})=>{const n={children:[]} +;return Object.assign(n,e),n};class o{constructor(){ +this.rootNode=s(),this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const n=s({scope:e}) +;this.add(n),this.stack.push(n)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ +return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), +n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e} +addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ +this.closeNode()}__addSublanguage(e,n){const t=e.root +;n&&(t.scope="language:"+n),this.add(t)}toHTML(){ +return new r(this,this.options).value()}finalize(){ +return this.closeAllNodes(),!0}}function c(e){ +return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")} +function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")} +function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{ +const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"} +function p(e){return RegExp(e.toString()+"|").exec("").length-1} +const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function h(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t +;let a=c(e),i="";for(;a.length>0;){const e=_.exec(a);if(!e){i+=a;break} +i+=a.substring(0,e.index), +a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], +"("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} +const f="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",w="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",N="\\b(0b[01]+)",v={ +begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[v]},x={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[v]},O=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n, +contains:[]},t);i.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const r=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return i.contains.push({begin:b(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i +},M=O("//","$"),A=O("/\\*","\\*/"),S=O("#","$");var C=Object.freeze({ +__proto__:null,APOS_STRING_MODE:k,BACKSLASH_ESCAPE:v,BINARY_NUMBER_MODE:{ +scope:"number",begin:N,relevance:0},BINARY_NUMBER_RE:N,COMMENT:O, +C_BLOCK_COMMENT_MODE:A,C_LINE_COMMENT_MODE:M,C_NUMBER_MODE:{scope:"number", +begin:w,relevance:0},C_NUMBER_RE:w,END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ +n.data._beginMatch!==e[1]&&n.ignoreMatch()}}),HASH_COMMENT_MODE:S,IDENT_RE:f, +MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+E,relevance:0}, +NUMBER_MODE:{scope:"number",begin:y,relevance:0},NUMBER_RE:y, +PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},QUOTE_STRING_MODE:x,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/, +end:/\/[gimuy]*/,contains:[v,{begin:/\[/,end:/\]/,relevance:0,contains:[v]}]}, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const n=/^#![ ]*\// +;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n, +end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, +TITLE_MODE:{scope:"title",begin:f,relevance:0},UNDERSCORE_IDENT_RE:E, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0}});function T(e,n){ +"."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){ +n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function I(e,n){ +Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function L(e,n){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function B(e,n){ +void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] +})),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={ +relevance:0,contains:[Object.assign(t,{endsParent:!0})] +},e.relevance=0,delete t.beforeMatch +},F=["of","and","for","in","not","or","if","then","parent","list","value"],z="keyword" +;function j(e,n,t=z){const a=Object.create(null) +;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ +Object.assign(a,j(e[t],n,t))})),a;function i(e,t){ +n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") +;a[t[0]]=[e,U(t[0],t[1])]}))}}function U(e,n){ +return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const P={},K=e=>{ +console.error(e)},q=(e,...n)=>{console.log("WARN: "+e,...n)},H=(e,n)=>{ +P[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),P[`${e}/${n}`]=!0) +},G=Error();function Z(e,n,{key:t}){let a=0;const i=e[t],r={},s={} +;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=p(n[e-1]) +;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function W(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +G +;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), +G;Z(e,e.begin,{key:"beginScope"}),e.begin=h(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +G +;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), +G;Z(e,e.end,{key:"endScope"}),e.end=h(e.end,{joinWith:""})}})(e)}function Q(e){ +function n(n,t){ +return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) +}class t{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,n){ +n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), +this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(h(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const n=this.matcherRe.exec(e);if(!n)return null +;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] +;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t +;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), +n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ +this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ +const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex +;let t=n.exec(e) +;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ +const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} +return t&&(this.regexIndex+=t.position+1, +this.regexIndex===this.count&&this.considerAll()),t}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=a(e.classNameAliases||{}),function t(r,s){const o=r +;if(r.isCompiled)return o +;[R,L,W,$].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))), +r.__beforeBegin=null,[D,I,B].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null +;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), +l=r.keywords.$pattern, +delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=j(r.keywords,e.case_insensitive)), +o.keywordPatternRe=n(l,!0), +s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), +r.end&&(o.endRe=n(o.end)), +o.terminatorEnd=c(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)), +r.illegal&&(o.illegalRe=n(r.illegal)), +r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{ +variants:null},n)))),e.cachedVariants?e.cachedVariants:X(e)?a(e,{ +starts:e.starts?a(e.starts):null +}):Object.isFrozen(e)?a(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o) +})),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new i +;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function X(e){ +return!!e&&(e.endsWithParent||X(e.starts))}class V extends Error{ +constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} +const J=t,Y=a,ee=Symbol("nomatch"),ne=t=>{ +const a=Object.create(null),i=Object.create(null),r=[];let s=!0 +;const o="Could not find the language '{}', did you forget to load/include a language module?",c={ +disableAutodetect:!0,name:"Plain text",contains:[]};let p={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:l};function _(e){ +return p.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" +;"object"==typeof n?(a=e, +t=n.ignoreIllegals,i=n.language):(H("10.7.0","highlight(lang, code, ...args) has been deprecated."), +H("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};O("before:highlight",r) +;const s=r.result?r.result:f(r.language,r.code,t) +;return s.code=r.code,O("after:highlight",s),s}function f(e,t,i,r){ +const l=Object.create(null);function c(){if(!O.keywords)return void A.addText(S) +;let e=0;O.keywordPatternRe.lastIndex=0;let n=O.keywordPatternRe.exec(S),t="" +;for(;n;){t+=S.substring(e,n.index) +;const i=N.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,O.keywords[a]);if(r){ +const[e,a]=r +;if(A.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{ +const t=N.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0] +;e=O.keywordPatternRe.lastIndex,n=O.keywordPatternRe.exec(S)}var a +;t+=S.substring(e),A.addText(t)}function d(){null!=O.subLanguage?(()=>{ +if(""===S)return;let e=null;if("string"==typeof O.subLanguage){ +if(!a[O.subLanguage])return void A.addText(S) +;e=f(O.subLanguage,S,!0,M[O.subLanguage]),M[O.subLanguage]=e._top +}else e=E(S,O.subLanguage.length?O.subLanguage:null) +;O.relevance>0&&(C+=e.relevance),A.__addSublanguage(e._emitter,e.language) +})():c(),S=""}function g(e,n){ +""!==e&&(A.startScope(n),A.addText(e),A.endScope())}function u(e,n){let t=1 +;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue} +const a=N.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(S=i,c(),S=""),t++}} +function b(e,n){ +return e.scope&&"string"==typeof e.scope&&A.openNode(N.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(g(S,N.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),O=Object.create(e,{parent:{ +value:O}}),O}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n) +;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e) +;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return m(e.parent,t,a)}function _(e){ +return 0===O.matcher.regexIndex?(S+=e[0],1):(D=!0,0)}function h(e){ +const n=e[0],a=t.substring(e.index),i=m(O,e,a);if(!i)return ee;const r=O +;O.endScope&&O.endScope._wrap?(d(), +g(n,O.endScope._wrap)):O.endScope&&O.endScope._multi?(d(), +u(O.endScope,e)):r.skip?S+=n:(r.returnEnd||r.excludeEnd||(S+=n), +d(),r.excludeEnd&&(S=n));do{ +O.scope&&A.closeNode(),O.skip||O.subLanguage||(C+=O.relevance),O=O.parent +}while(O!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length} +let y={};function w(a,r){const o=r&&r[0];if(S+=a,null==o)return d(),0 +;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===o){ +if(S+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) +;throw n.languageName=e,n.badRule=y.rule,n}return 1} +if(y=r,"begin"===r.type)return(e=>{ +const t=e[0],a=e.rule,i=new n(a),r=[a.__beforeBegin,a["on:begin"]] +;for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return _(t) +;return a.skip?S+=t:(a.excludeBegin&&(S+=t), +d(),a.returnBegin||a.excludeBegin||(S=t)),b(a,e),a.returnBegin?0:t.length})(r) +;if("illegal"===r.type&&!i){ +const e=Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"")+'"') +;throw e.mode=O,e}if("end"===r.type){const e=h(r);if(e!==ee)return e} +if("illegal"===r.type&&""===o)return 1 +;if(R>1e5&&R>3*r.index)throw Error("potential infinite loop, way more iterations than matches") +;return S+=o,o.length}const N=v(e) +;if(!N)throw K(o.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const k=Q(N);let x="",O=r||k;const M={},A=new p.__emitter(p);(()=>{const e=[] +;for(let n=O;n!==N;n=n.parent)n.scope&&e.unshift(n.scope) +;e.forEach((e=>A.openNode(e)))})();let S="",C=0,T=0,R=0,D=!1;try{ +if(N.__emitTokens)N.__emitTokens(t,A);else{for(O.matcher.considerAll();;){ +R++,D?D=!1:O.matcher.considerAll(),O.matcher.lastIndex=T +;const e=O.matcher.exec(t);if(!e)break;const n=w(t.substring(T,e.index),e) +;T=e.index+n}w(t.substring(T))}return A.finalize(),x=A.toHTML(),{language:e, +value:x,relevance:C,illegal:!1,_emitter:A,_top:O}}catch(n){ +if(n.message&&n.message.includes("Illegal"))return{language:e,value:J(t), +illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T, +context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:x},_emitter:A};if(s)return{ +language:e,value:J(t),illegal:!1,relevance:0,errorRaised:n,_emitter:A,_top:O} +;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{ +const n={value:J(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)} +;return n._emitter.addText(e),n})(e),i=n.filter(v).filter(x).map((n=>f(n,e,!1))) +;i.unshift(t);const r=i.sort(((e,n)=>{ +if(e.relevance!==n.relevance)return n.relevance-e.relevance +;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1 +;if(v(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,l=s +;return l.secondBest=o,l}function y(e){let n=null;const t=(e=>{ +let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" +;const t=p.languageDetectRe.exec(n);if(t){const n=v(t[1]) +;return n||(q(o.replace("{}",t[1])), +q("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} +return n.split(/\s+/).find((e=>_(e)||v(e)))})(e);if(_(t))return +;if(O("before:highlightElement",{el:e,language:t +}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e) +;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), +console.warn("The element with unescaped HTML:"), +console.warn(e)),p.throwUnescapedHTML))throw new V("One of your code blocks includes unescaped HTML.",e.innerHTML) +;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) +;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,n,t)=>{const a=n&&i[n]||t +;e.classList.add("hljs"),e.classList.add("language-"+a) +})(e,t,r.language),e.result={language:r.language,re:r.relevance, +relevance:r.relevance},r.secondBest&&(e.secondBest={ +language:r.secondBest.language,relevance:r.secondBest.relevance +}),O("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function N(){ +"loading"!==document.readyState?document.querySelectorAll(p.cssSelector).forEach(y):w=!0 +}function v(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} +function k(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +i[e.toLowerCase()]=n}))}function x(e){const n=v(e) +;return n&&!n.disableAutodetect}function O(e,n){const t=e;r.forEach((e=>{ +e[t]&&e[t](n)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +w&&N()}),!1),Object.assign(t,{highlight:h,highlightAuto:E,highlightAll:N, +highlightElement:y, +highlightBlock:e=>(H("10.7.0","highlightBlock will be removed entirely in v12.0"), +H("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=Y(p,e)}, +initHighlighting:()=>{ +N(),H("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +N(),H("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){ +if(K("Language definition for '{}' could not be registered.".replace("{}",e)), +!s)throw n;K(n),i=c} +i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&k(i.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete a[e] +;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, +listLanguages:()=>Object.keys(a),getLanguage:v,registerAliases:k, +autoDetection:x,inherit:Y,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ +e["before:highlightBlock"](Object.assign({block:n.el},n)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ +e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)}, +removePlugin:e=>{const n=r.indexOf(e);-1!==n&&r.splice(n,1)}}),t.debugMode=()=>{ +s=!1},t.safeMode=()=>{s=!0},t.versionString="11.10.0",t.regex={concat:b, +lookahead:d,either:m,optional:u,anyNumberOfTimes:g} +;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t +},te=ne({});te.newInstance=()=>ne({});const ae=e=>({IMPORTANT:{scope:"meta", +begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ +scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, +FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, +ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} +}),ie=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],re=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),se=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),oe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),le=["accent-color","align-content","align-items","align-self","alignment-baseline","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-end-end-radius","border-end-start-radius","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","cx","cy","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","empty-cells","enable-background","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","flood-color","flood-opacity","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","kerning","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","marker","marker-end","marker-mid","marker-start","mask","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","scale","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","speak","speak-as","src","tab-size","table-layout","text-anchor","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-offset","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","vector-effect","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index"].sort().reverse(),ce=se.concat(oe).sort().reverse() +;var de="[0-9](_*[0-9])*",ge=`\\.(${de})`,ue="[0-9a-fA-F](_*[0-9a-fA-F])*",be={ +className:"number",variants:[{ +begin:`(\\b(${de})((${ge})|\\.)?|(${ge}))[eE][+-]?(${de})[fFdD]?\\b`},{ +begin:`\\b(${de})((${ge})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${ge})[fFdD]?\\b`},{begin:`\\b(${de})[fFdD]\\b`},{ +begin:`\\b0[xX]((${ue})\\.?|(${ue})?\\.(${ue}))[pP][+-]?(${de})[fFdD]?\\b`},{ +begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ue})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function me(e,n,t){return-1===t?"":e.replace(n,(a=>me(e,n,t-1)))} +const pe="[A-Za-z$_][0-9A-Za-z$_]*",_e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],he=["true","false","null","undefined","NaN","Infinity"],fe=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Ee=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ye=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],we=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ne=[].concat(ye,fe,Ee) +;function ve(e){const n=e.regex,t=pe,a={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const t=e[0].length+e.index,a=e.input[t] +;if("<"===a||","===a)return void n.ignoreMatch();let i +;">"===a&&(((e,{after:n})=>{const t="e+"\\s*\\(")), +n.concat("(?!",v.join("|"),")")),t,n.lookahead(/\s*\(/)), +className:"title.function",relevance:0};var v;const k={ +begin:n.concat(/\./,n.lookahead(n.concat(t,/(?![0-9A-Za-z$_(])/))),end:t, +excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},x={ +match:[/get|set/,/\s+/,t,/(?=\()/],className:{1:"keyword",3:"title.function"}, +contains:[{begin:/\(\)/},f] +},O="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={ +match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[f]} +;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ +PARAMS_CONTAINS:h,CLASS_REFERENCE:y},illegal:/#(?![$_A-z])/, +contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,y,{ +className:"attr",begin:t+n.lookahead(":"),relevance:0},M,{ +begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{ +className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, +excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h}]}]},{begin:/,/,relevance:0 +},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, +"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ +begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},w,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[f,e.inherit(e.TITLE_MODE,{begin:t, +className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[f]},N,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},E,x,{match:/\$[(.]/}]}} +const ke=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),xe=["Protocol","Type"].map(ke),Oe=["init","self"].map(ke),Me=["Any","Self"],Ae=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Se=["false","nil","true"],Ce=["assignment","associativity","higherThan","left","lowerThan","none","right"],Te=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Re=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],De=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Ie=m(De,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Le=b(De,Ie,"*"),Be=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),$e=m(Be,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Fe=b(Be,$e,"*"),ze=b(/[A-Z]/,$e,"*"),je=["attached","autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,Fe,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Ue=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;var Pe=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ +begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} +;Object.assign(t,{className:"variable",variants:[{ +begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE] +},r=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(o);const l={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},c=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),d={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[c,e.SHEBANG(),d,l,r,s,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{ +className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}},grmr_c:e=>{ +const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 +},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ +keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},b=[c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:b.concat(["self"]),relevance:0}]),relevance:0},p={ +begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ +begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})], +relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/, +keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/, +end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s] +}]},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c, +strings:o,keywords:u}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ +contains:[{begin:/\\\n/}] +}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ +className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{ +begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)" +},{ +begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 +},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ +type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], +keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], +literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], +_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] +},b={className:"function.dispatch",relevance:0,keywords:{ +_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] +}, +begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) +},m=[b,c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],p={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:m.concat(["self"]),relevance:0}]),relevance:0},_={className:"function", +begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ +begin:g,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{ +begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{ +className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, +contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:u, +relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]}] +},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++", +aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"",keywords:u,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:u},{ +match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], +className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ +keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), +built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], +literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ +begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ +begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] +},r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, +keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, +end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ +},e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ +begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, +contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) +;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], +o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ +illegal:/\n/})];const g={variants:[{className:"string", +begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1 +},c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},u={begin:"<",end:">", +contains:[{beginKeywords:"in out"},t] +},b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ +begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], +keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, +contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ +begin:"\x3c!--|--\x3e"},{begin:""}]}] +}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", +end:"$",keywords:{ +keyword:"if else elif endif define undef warning error line region endregion pragma checksum" +}},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, +illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" +},t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", +relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, +contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", +begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ +className:"string",begin:/"/,end:/"/}]},{ +beginKeywords:"new return throw await else",relevance:0},{className:"function", +begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ +beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", +relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, +contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", +begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, +contains:[g,a,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ +const n=e.regex,t=ae(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ +name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ +keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, +contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ +},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 +},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+se.join("|")+")"},{begin:":(:)?("+oe.join("|")+")"}] +},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+le.join("|")+")\\b"},{ +begin:/:/,end:/[;}{]/, +contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, +excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", +relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ +},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:re.join(" ")},contains:[{ +begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ +className:"selector-tag",begin:"\\b("+ie.join("|")+")\\b"}]}},grmr_diff:e=>{ +const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ +className:"meta",relevance:10, +match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]}},grmr_go:e=>{const n={ +keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], +type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], +literal:["true","false","iota","nil"], +built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] +};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{const n=e.regex +;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1, +keywords:{ +keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], +literal:["true","false","null"]}, +contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ +scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", +begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, +end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ +scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)), +relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={ +className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{ +begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/, +end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{ +begin:/\$\{(.*?)\}/}]},r={className:"literal", +begin:/\bon|off|true|false|yes|no\b/},s={className:"string", +contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ +begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] +},o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 +},l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ +name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, +contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ +begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), +className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ +const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+me("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, +className:"string",contains:[e.BACKSLASH_ESCAPE] +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ +1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ +begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", +3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0, +contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,be,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},be,r]}},grmr_javascript:ve, +grmr_json:e=>{const n=["true","false","null"],t={scope:"literal", +beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{ +literal:n},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/, +relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}},grmr_kotlin:e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] +},l=be,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 +},e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{ +begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ +3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, +excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},l]}},grmr_less:e=>{ +const n=ae(e),t=ce,a="[\\w-]+",i="("+a+"|@\\{"+a+"\\})",r=[],s=[],o=e=>({ +className:"string",begin:"~?"+e+".*?"+e}),l=(e,n,t)=>({className:e,begin:n, +relevance:t}),c={$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:re.join(" ")},d={begin:"\\(",end:"\\)",contains:s,keywords:c, +relevance:0} +;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{ +begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", +excludeEnd:!0} +},n.HEXCOLOR,d,l("variable","@@?"+a,10),l("variable","@\\{"+a+"\\}"),l("built_in","~?`[^`]*?`"),{ +className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0 +},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=s.concat({ +begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0, +contains:[{beginKeywords:"and not"}].concat(s)},b={begin:i+"\\s*:", +returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ +},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+le.join("|")+")\\b", +end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}] +},m={className:"keyword", +begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", +starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:s,relevance:0}},p={ +className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a +}],starts:{end:"[;}]",returnEnd:!0,contains:g}},_={variants:[{ +begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0, +returnEnd:!0,illegal:"[<='$\"]",relevance:0, +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+a+"\\}"),{ +begin:"\\b("+ie.join("|")+")\\b",className:"selector-tag" +},n.CSS_NUMBER_MODE,l("selector-tag",i,0),l("selector-id","#"+i),l("selector-class","\\."+i,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ +className:"selector-pseudo",begin:":("+se.join("|")+")"},{ +className:"selector-pseudo",begin:":(:)?("+oe.join("|")+")"},{begin:/\(/, +end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},h={ +begin:a+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[_]} +;return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,p,h,b,_,u,n.FUNCTION_DISPATCH), +{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}}, +grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] +},i=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10 +})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, +literal:"true false nil", +keyword:"and break do else elseif end for goto if in local not or repeat return then until while", +built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" +},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", +contains:[e.inherit(e.TITLE_MODE,{ +begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", +begin:"\\(",endsWithParent:!0,contains:i}].concat(i) +},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", +begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ +className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{ +const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={ +variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ +begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{ +begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ +},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], +variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] +},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ +begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] +}),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) +;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) +})),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal", +match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}, +grmr_objectivec:e=>{const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, +keyword:["@interface","@class","@protocol","@implementation"]};return{ +name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], +keywords:{"variable.language":["this","super"],$pattern:n, +keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], +literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], +built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], +type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] +},illegal:"/,end:/$/,illegal:"\\n" +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", +begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, +contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, +relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ +$pattern:/[\w.]+/, +keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" +},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, +end:/\}/},s={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable", +variants:[{begin:/\$\d/},{ +begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") +},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={ +className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{ +match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{ +match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{ +match:/\b0b[0-1][0-1_]*\b/}],relevance:0 +},c=[e.BACKSLASH_ESCAPE,i,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],g=(e,a,i="\\1")=>{ +const r="\\1"===i?i:n.concat(i,a) +;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) +},u=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),b=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ +endsWithParent:!0}),r,{className:"string",contains:c,variants:[{ +begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", +end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ +begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", +relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", +contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ +begin:"-?\\w+\\s*=>",relevance:0}]},l,{ +begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", +keywords:"split return print reverse grep",relevance:0, +contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ +begin:g("s|tr|y",n.either(...d,{capture:!0}))},{begin:g("s|tr|y","\\(","\\)")},{ +begin:g("s|tr|y","\\[","\\]")},{begin:g("s|tr|y","\\{","\\}")}],relevance:2},{ +className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ +begin:u("(?:m|qr)?",/\//,/\//)},{begin:u("m|qr",n.either(...d,{capture:!0 +}),/\1/)},{begin:u("m|qr",/\(/,/\)/)},{begin:u("m|qr",/\[/,/\]/)},{ +begin:u("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method", +end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s] +},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5, +contains:[e.TITLE_MODE,s,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$", +end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$", +className:"comment"}]}];return i.contains=b,r.contains=b,{name:"Perl", +aliases:["pl","pm"],keywords:a,contains:b}},grmr_php:e=>{ +const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r={ +scope:"variable",match:"\\$+"+a},s={scope:"subst",variants:[{begin:/\$\w+/},{ +begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null +}),l="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ +illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),o,{ +begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/, +contains:e.QUOTE_STRING_MODE.contains.concat(s),"on:begin":(e,n)=>{ +n.data._beginMatch=e[1]||e[2]},"on:end":(e,n)=>{ +n.data._beginMatch!==e[1]&&n.ignoreMatch()}},e.END_SAME_AS_BEGIN({ +begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{ +begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ +begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ +begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" +}],relevance:0 +},g=["false","null","true"],u=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={ +keyword:u,literal:(e=>{const n=[];return e.forEach((e=>{ +n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) +})),n})(g),built_in:b},p=e=>e.map((e=>e.replace(/\|\d+$/,""))),_={variants:[{ +match:[/new/,n.concat(l,"+"),n.concat("(?!",p(b).join("\\b|"),"\\b)"),i],scope:{ +1:"keyword",4:"title.class"}}]},h=n.concat(a,"\\b(?!\\()"),f={variants:[{ +match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{2:"variable.constant" +}},{match:[/::/,/class/],scope:{2:"variable.language"}},{ +match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{1:"title.class", +3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], +scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", +3:"variable.language"}}]},E={scope:"attr", +match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},y={relevance:0, +begin:/\(/,end:/\)/,keywords:m,contains:[E,r,f,e.C_BLOCK_COMMENT_MODE,c,d,_] +},w={relevance:0, +match:[/\b/,n.concat("(?!fn\\b|function\\b|",p(u).join("\\b|"),"|",p(b).join("\\b|"),"\\b)"),a,n.concat(l,"*"),n.lookahead(/(?=\()/)], +scope:{3:"title.function.invoke"},contains:[y]};y.contains.push(w) +;const N=[E,f,e.C_BLOCK_COMMENT_MODE,c,d,_];return{case_insensitive:!1, +keywords:m,contains:[{begin:n.concat(/#\[\s*/,i),beginScope:"meta",end:/]/, +endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{ +begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]}, +contains:["self",...N]},...N,{scope:"meta",match:i}] +},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{ +scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, +keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, +contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ +begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ +begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,w,f,{ +match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},_,{ +scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, +excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" +},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", +begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m, +contains:["self",r,f,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{ +beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", +illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ +beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ +beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, +contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ +beginKeywords:"use",relevance:0,end:";",contains:[{ +match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]} +},grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ +begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", +end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 +},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, +skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, +contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", +aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ +const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ +$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, +built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], +literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], +type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] +},r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, +end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, +contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ +begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, +end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, +relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ +begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, +end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, +contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ +className:"number",relevance:0,variants:[{ +begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ +begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ +begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` +},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` +}]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, +contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ +className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, +end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, +contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ +name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, +illegal:/(<\/|\?)|=>/,contains:[r,u,{scope:"variable.language",match:/\bself\b/ +},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword" +},l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword", +3:"title.function"},contains:[m]},{variants:[{ +match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], +scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ +className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, +grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", +starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ +begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ +const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) +;return{name:"R",keywords:{$pattern:t, +keyword:"function if in break next repeat else for while", +literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", +built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" +},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, +starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), +endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ +scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 +}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] +}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], +variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ +}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', +relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ +1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, +match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ +2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, +match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ +match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", +contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ +const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ +"variable.constant":["__FILE__","__LINE__","__ENCODING__"], +"variable.language":["self","super"], +keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], +built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], +literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={ +begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s] +}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10 +}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/, +end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c], +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ +begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ +begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, +end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ +begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ +begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ +className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, +keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ +match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", +4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{ +2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{ +1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{ +match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ +begin:e.IDENT_RE+"::"},{className:"symbol", +begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, +relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", +keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], +illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ +begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", +end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) +;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} +},{className:"meta.prompt", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, +contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, +grmr_rust:e=>{ +const n=e.regex,t=/(r#)?/,a=n.concat(t,e.UNDERSCORE_IDENT_RE),i=n.concat(t,e.IDENT_RE),r={ +className:"title.function.invoke",relevance:0, +begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,n.lookahead(/\s*\(/)) +},s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],l=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] +;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:l, +keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"], +literal:["true","false","Some","None","Ok","Err"],built_in:o},illegal:""},r]}}, +grmr_scss:e=>{const n=ae(e),t=oe,a=se,i="@[a-z-]+",r={className:"variable", +begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", +case_insensitive:!0,illegal:"[=/|']", +contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ +className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ +className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 +},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", +begin:"\\b("+ie.join("|")+")\\b",relevance:0},{className:"selector-pseudo", +begin:":("+a.join("|")+")"},{className:"selector-pseudo", +begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, +contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", +begin:"\\b("+le.join("|")+")\\b"},{ +begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" +},{begin:/:/,end:/[;}{]/,relevance:0, +contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH] +},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ +begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, +keyword:"and or not only",attribute:re.join(" ")},contains:[{begin:i, +className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" +},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] +},n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]}),grmr_sql:e=>{ +const n=e.regex,t=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=r,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={ +begin:n.concat(/\b/,n.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} +;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ +$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t +;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) +})(l,{when:e=>e.length<3}),literal:a,type:i, +built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] +},contains:[{begin:n.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, +keyword:l.concat(s),literal:a,type:i}},{className:"type", +begin:n.either("double precision","large object","with timezone","without timezone") +},c,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string", +variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/, +contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{ +className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, +relevance:0}]}},grmr_swift:e=>{const n={match:/\s+/,relevance:0 +},t=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={ +match:[/\./,m(...xe,...Oe)],className:{2:"keyword"}},r={match:b(/\./,m(...Ae)), +relevance:0},s=Ae.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ +className:"keyword", +match:m(...Ae.filter((e=>"string"!=typeof e)).concat(Me).map(ke),...Oe)}]},l={ +$pattern:m(/\b\w+/,/#\w+/),keyword:s.concat(Te),literal:Se},c=[i,r,o],g=[{ +match:b(/\./,m(...Re)),relevance:0},{className:"built_in", +match:b(/\b/,m(...Re),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{ +className:"operator",relevance:0,variants:[{match:Le},{match:`\\.(\\.|${Ie})+`}] +}],_="([0-9]_*)+",h="([0-9a-fA-F]_*)+",f={className:"number",relevance:0, +variants:[{match:`\\b(${_})(\\.(${_}))?([eE][+-]?(${_}))?\\b`},{ +match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${_}))?\\b`},{match:/\b0o([0-7]_*)+\b/ +},{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{ +match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}] +}),y=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/) +}),w=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/ +}),N=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),y(e),w(e)] +}),v=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),w(e)]}),k={ +className:"string", +variants:[N(),N("#"),N("##"),N("###"),v(),v("#"),v("##"),v("###")] +},x=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0, +contains:[e.BACKSLASH_ESCAPE]}],O={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//, +contains:x},M=e=>{const n=b(e,/\//),t=b(/\//,e);return{begin:n,end:t, +contains:[...x,{scope:"comment",begin:`#(?!.*${t})`,end:/$/}]}},A={ +scope:"regexp",variants:[M("###"),M("##"),M("#"),O]},S={match:b(/`/,Fe,/`/) +},C=[S,{className:"variable",match:/\$\d+/},{className:"variable", +match:`\\$${$e}+`}],T=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{ +contains:[{begin:/\(/,end:/\)/,keywords:Ue,contains:[...p,f,k]}]}},{ +scope:"keyword",match:b(/@/,m(...je),d(m(/\(/,/\s+/)))},{scope:"meta", +match:b(/@/,Fe)}],R={match:d(/\b[A-Z]/),relevance:0,contains:[{className:"type", +match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,$e,"+") +},{className:"type",match:ze,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d(ze)),relevance:0}]},D={ +begin://,keywords:l,contains:[...a,...c,...T,u,R]};R.contains.push(D) +;const I={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ +match:b(Fe,/\s*:/),keywords:"_|0",relevance:0 +},...a,A,...c,...g,...p,f,k,...C,...T,R]},L={begin://, +keywords:"repeat each",contains:[...a,R]},B={begin:/\(/,end:/\)/,keywords:l, +contains:[{begin:m(d(b(Fe,/\s*:/)),d(b(Fe,/\s+/,Fe,/\s*:/))),end:/:/, +relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params", +match:Fe}]},...a,...c,...p,f,k,...T,R,I],endsParent:!0,illegal:/["']/},$={ +match:[/(func|macro)/,/\s+/,m(S.match,Fe,Le)],className:{1:"keyword", +3:"title.function"},contains:[L,B,n],illegal:[/\[/,/%/]},F={ +match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, +contains:[L,B,n],illegal:/\[|%/},z={match:[/operator/,/\s+/,Le],className:{ +1:"keyword",3:"title"}},j={begin:[/precedencegroup/,/\s+/,ze],className:{ +1:"keyword",3:"title"},contains:[R],keywords:[...Ce,...Se],end:/}/},U={ +begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Fe,/\s*/], +beginScope:{1:"keyword",3:"title.class"},keywords:l,contains:[L,...c,{begin:/:/, +end:/\{/,keywords:l,contains:[{scope:"title.class.inherited",match:ze},...c], +relevance:0}]};for(const e of k.variants){ +const n=e.contains.find((e=>"interpol"===e.label));n.keywords=l +;const t=[...c,...g,...p,f,k,...C];n.contains=[...t,{begin:/\(/,end:/\)/, +contains:["self",...t]}]}return{name:"Swift",keywords:l, +contains:[...a,$,F,U,z,j,{beginKeywords:"import",end:/$/,contains:[...a], +relevance:0},A,...c,...g,...p,f,k,...C,...T,R,I]}},grmr_typescript:e=>{ +const n=ve(e),t=pe,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={ +begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"} +},r={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{ +keyword:"interface extends",built_in:a},contains:[n.exports.CLASS_REFERENCE] +},s={$pattern:pe, +keyword:_e.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]), +literal:he,built_in:Ne.concat(a),"variable.language":we},o={className:"meta", +begin:"@"+t},l=(e,n,t)=>{const a=e.contains.findIndex((e=>e.label===n)) +;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} +;Object.assign(n.keywords,s),n.exports.PARAMS_CONTAINS.push(o) +;const c=n.contains.find((e=>"attr"===e.className)) +;return n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,c]), +n.contains=n.contains.concat([o,i,r]), +l(n,"shebang",e.SHEBANG()),l(n,"use_strict",{className:"meta",relevance:10, +begin:/^\s*['"]use strict['"]/ +}),n.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(n,{ +name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n},grmr_vbnet:e=>{ +const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ +className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ +begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ +begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] +},o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] +}),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) +;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, +classNameAliases:{label:"symbol"},keywords:{ +keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", +built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", +type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", +literal:"true false nothing"}, +illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ +className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, +end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, +variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ +},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ +begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ +className:"label",begin:/^\w+:/},o,l,{className:"meta", +begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, +end:/$/,keywords:{ +keyword:"const disable else elseif enable end externalsource if region then"}, +contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/) +;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, +keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] +},contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/], +className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ +match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ +begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", +3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, +className:"type"},{className:"keyword", +match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ +},{className:"number",relevance:0, +match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ +}]}},grmr_xml:e=>{ +const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{ +className:"meta",begin://,contains:[i,r,o,s]}]}] +},e.COMMENT(//,{relevance:10}),{begin://, +relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, +relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:n.concat(//,/>/,/\s/)))), +end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ +className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ +className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} +},grmr_yaml:e=>{ +const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},s={begin:/\{/, +end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]", +contains:[r],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{ +begin:/\w[\w :()\./-]*:(?=[ \t]|$)/},{begin:/"\w[\w :()\./-]*":(?=[ \t]|$)/},{ +begin:/'\w[\w :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", +begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,a],c=[...l] +;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:l}}});const Ke=te;for(const e of Object.keys(Pe)){ +const n=e.replace("grmr_","").replace("_","-");Ke.registerLanguage(n,Pe[e])} +return Ke}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js new file mode 100644 index 00000000..ddad6003 --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js @@ -0,0 +1,31 @@ +/*! `css` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),t=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),i=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),o=["accent-color","align-content","align-items","align-self","alignment-baseline","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-end-end-radius","border-end-start-radius","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","cx","cy","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","empty-cells","enable-background","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","flood-color","flood-opacity","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","kerning","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","marker","marker-end","marker-mid","marker-start","mask","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","scale","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","speak","speak-as","src","tab-size","table-layout","text-anchor","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-offset","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","vector-effect","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index"].sort().reverse() +;return n=>{const a=n.regex,l=(e=>({IMPORTANT:{scope:"meta",begin:"!important"}, +BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number", +begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{ +className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{ +scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} +}))(n),s=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", +case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, +classNameAliases:{keyframePosition:"selector-tag"},contains:[l.BLOCK_COMMENT,{ +begin:/-(webkit|moz|ms|o)-(?=[a-z])/},l.CSS_NUMBER_MODE,{ +className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{ +className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+t.join("|")+")"},{begin:":(:)?("+i.join("|")+")"}]},l.CSS_VARIABLE,{ +className:"attribute",begin:"\\b("+o.join("|")+")\\b"},{begin:/:/,end:/[;}{]/, +contains:[l.BLOCK_COMMENT,l.HEXCOLOR,l.IMPORTANT,l.CSS_NUMBER_MODE,...s,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[...s,{className:"string",begin:/[^)]/,endsWithParent:!0, +excludeEnd:!0}]},l.FUNCTION_DISPATCH]},{begin:a.lookahead(/@/),end:"[{;]", +relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ +},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:r.join(" ")},contains:[{ +begin:/[a-z-]+(?=:)/,className:"attribute"},...s,l.CSS_NUMBER_MODE]}]},{ +className:"selector-tag",begin:"\\b("+e.join("|")+")\\b"}]}}})() +;hljs.registerLanguage("css",e)})(); \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/dark.min.css b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/dark.min.css new file mode 100644 index 00000000..9ed546ba --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/dark.min.css @@ -0,0 +1 @@ +pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#ddd;background:#303030}.hljs-keyword,.hljs-link,.hljs-literal,.hljs-section,.hljs-selector-tag{color:#fff}.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-name,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable{color:#d88}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#979797}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700}.hljs-emphasis{font-style:italic} \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/default.min.css b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/default.min.css new file mode 100644 index 00000000..a75ea911 --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/default.min.css @@ -0,0 +1,9 @@ +/*! + Theme: Default + Description: Original highlight.js style + Author: (c) Ivan Sagalaev + Maintainer: @highlightjs/core-team + Website: https://highlightjs.org/ + License: see project LICENSE + Touched: 2021 +*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#f3f3f3;color:#444}.hljs-comment{color:#697070}.hljs-punctuation,.hljs-tag{color:#444a}.hljs-tag .hljs-attr,.hljs-tag .hljs-name{color:#444}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#ab5656}.hljs-literal{color:#695}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#38a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github-dark.min.css b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github-dark.min.css new file mode 100644 index 00000000..03b6da8b --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github-dark.min.css @@ -0,0 +1,10 @@ +pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! + Theme: GitHub Dark + Description: Dark theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-dark + Current colors taken from GitHub's CSS +*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c} \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css new file mode 100644 index 00000000..275239a7 --- /dev/null +++ b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css @@ -0,0 +1,10 @@ +pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! + Theme: GitHub + Description: Light theme as seen on github.com + Author: github.com + Maintainer: @Hirse + Updated: 2021-05-15 + + Outdated base version: https://github.com/primer/github-syntax-light + Current colors taken from GitHub's CSS +*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0} \ No newline at end of file diff --git a/allianceauth/custom_css/widgets.py b/allianceauth/custom_css/widgets.py new file mode 100644 index 00000000..1b7226f1 --- /dev/null +++ b/allianceauth/custom_css/widgets.py @@ -0,0 +1,35 @@ +""" +Form widgets for custom_css app +""" + +# Django +from django import forms + +# Alliance Auth +from allianceauth.custom_css.models import CustomCSS + + +class CssEditorWidget(forms.Textarea): + """ + Widget for editing CSS + """ + + def __init__(self, attrs=None): + default_attrs = {"class": "css-editor"} + + if attrs: + default_attrs.update(attrs) + + super().__init__(default_attrs) + + class Media: + css = { + "all": ( + "/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css", + ) + } + js = ( + "/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js", + "/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js", + "/static/custom_css/javascript/custom-css.min.js", + ) diff --git a/allianceauth/framework/admin.py b/allianceauth/framework/admin.py new file mode 100644 index 00000000..8fb8e678 --- /dev/null +++ b/allianceauth/framework/admin.py @@ -0,0 +1,58 @@ +""" +Admin classes for the framework app +""" + +from django.contrib import admin + + +class SingletonModelAdmin(admin.ModelAdmin): + """ + Singleton Model Admin + Prevents Django admin users deleting the singleton or adding extra rows. + """ + + actions = None # Removes the default delete action. + + def has_add_permission(self, request): # pylint: disable=unused-argument + """ + Has "add" permissions + + :param request: + :type request: + :return: + :rtype: + """ + + return self.model.objects.all().count() == 0 + + def has_change_permission( + self, request, obj=None # pylint: disable=unused-argument + ): + """ + Has "change" permissions + + :param request: + :type request: + :param obj: + :type obj: + :return: + :rtype: + """ + + return True + + def has_delete_permission( + self, request, obj=None # pylint: disable=unused-argument + ): + """ + Has "delete" permissions + + :param request: + :type request: + :param obj: + :type obj: + :return: + :rtype: + """ + + return False diff --git a/allianceauth/framework/models.py b/allianceauth/framework/models.py new file mode 100644 index 00000000..071de410 --- /dev/null +++ b/allianceauth/framework/models.py @@ -0,0 +1,47 @@ +""" +AA framework models +""" + +from django.db import models + + +class SingletonModel(models.Model): + """ + SingletonModel + """ + + class Meta: # pylint: disable=too-few-public-methods + """ + Model meta definitions + """ + + abstract = True + + def save(self, *args, **kwargs): + """ + "Save" action + + :param args: + :type args: + :param kwargs: + :type kwargs: + :return: + :rtype: + """ + + self.pk = 1 + super().save(*args, **kwargs) + + def delete(self, *args, **kwargs): + """ + "Delete" action + + :param args: + :type args: + :param kwargs: + :type kwargs: + :return: + :rtype: + """ + + pass # pylint: disable=unnecessary-pass From 96fe88d5c724542868e26da8f5fafce316017e93 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 11:53:02 +0200 Subject: [PATCH 03/33] [REMOVE] `highlight.js` and leave it as an example in the widget code --- .../custom_css/javascript/custom-css.js | 16 - .../custom_css/javascript/custom-css.min.js | 2 - .../javascript/custom-css.min.js.map | 1 - .../highlight.js/11.10.0/highlight.min.js | 1232 ----------------- .../highlight.js/11.10.0/languages/css.min.js | 31 - .../highlight.js/11.10.0/styles/dark.min.css | 1 - .../11.10.0/styles/default.min.css | 9 - .../11.10.0/styles/github-dark.min.css | 10 - .../11.10.0/styles/github.min.css | 10 - allianceauth/custom_css/widgets.py | 27 +- 10 files changed, 15 insertions(+), 1324 deletions(-) delete mode 100644 allianceauth/custom_css/static/custom_css/javascript/custom-css.js delete mode 100644 allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js delete mode 100644 allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js.map delete mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js delete mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js delete mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/dark.min.css delete mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/default.min.css delete mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github-dark.min.css delete mode 100644 allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css diff --git a/allianceauth/custom_css/static/custom_css/javascript/custom-css.js b/allianceauth/custom_css/static/custom_css/javascript/custom-css.js deleted file mode 100644 index fa94d6c8..00000000 --- a/allianceauth/custom_css/static/custom_css/javascript/custom-css.js +++ /dev/null @@ -1,16 +0,0 @@ -/* global django, hljs */ - -(() => { - 'use strict'; - - const $ = django.jQuery; - - $(document).ready(() => { - $('textarea.css-editor').each((idx, el) => { - if (typeof hljs !== 'undefined' && typeof hljs.highlightAll === 'function') { - console.log('highlighting'); - hljs.highlightAll(); - } - }); - }); -})(); diff --git a/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js b/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js deleted file mode 100644 index 42f04389..00000000 --- a/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{const h=django.jQuery;h(document).ready(()=>{h("textarea.css-editor").each((h,e)=>{"undefined"!=typeof hljs&&"function"==typeof hljs.highlightAll&&(console.log("highlighting"),hljs.highlightAll())})})})(); -//# sourceMappingURL=custom-css.min.js.map \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js.map b/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js.map deleted file mode 100644 index f2e119c4..00000000 --- a/allianceauth/custom_css/static/custom_css/javascript/custom-css.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["custom-css.js"],"names":["$","django","jQuery","document","ready","each","idx","el","hljs","highlightAll","console","log"],"mappings":"CAEA,KAGI,MAAMA,EAAIC,OAAOC,OAEjBF,EAAEG,QAAQ,EAAEC,MAAM,KACdJ,EAAE,qBAAqB,EAAEK,KAAK,CAACC,EAAKC,KACZ,aAAhB,OAAOC,MAAqD,YAA7B,OAAOA,KAAKC,eAC3CC,QAAQC,IAAI,cAAc,EAC1BH,KAAKC,aAAa,EAE1B,CAAC,CACL,CAAC,CACJ,GAAE"} \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js deleted file mode 100644 index 5442f21b..00000000 --- a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js +++ /dev/null @@ -1,1232 +0,0 @@ -/*! - Highlight.js v11.10.0 (git: 366a8bd012) - (c) 2006-2024 Josh Goebel and other contributors - License: BSD-3-Clause - */ -var hljs=function(){"use strict";function e(n){ -return n instanceof Map?n.clear=n.delete=n.set=()=>{ -throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{ -throw Error("set is read-only") -}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{ -const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a) -})),n}class n{constructor(e){ -void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} -ignoreMatch(){this.isMatchIgnored=!0}}function t(e){ -return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") -}function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] -;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope -;class r{constructor(e,n){ -this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ -this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{ -if(e.startsWith("language:"))return e.replace("language:","language-") -;if(e.includes(".")){const t=e.split(".") -;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") -}return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)} -closeNode(e){i(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ -this.buffer+=``}}const s=(e={})=>{const n={children:[]} -;return Object.assign(n,e),n};class o{constructor(){ -this.rootNode=s(),this.stack=[this.rootNode]}get top(){ -return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ -this.top.children.push(e)}openNode(e){const n=s({scope:e}) -;this.add(n),this.stack.push(n)}closeNode(){ -if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ -for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} -walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ -return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), -n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ -"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ -o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e} -addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ -this.closeNode()}__addSublanguage(e,n){const t=e.root -;n&&(t.scope="language:"+n),this.add(t)}toHTML(){ -return new r(this,this.options).value()}finalize(){ -return this.closeAllNodes(),!0}}function c(e){ -return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")} -function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")} -function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{ -const n=e[e.length-1] -;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} -})(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"} -function p(e){return RegExp(e.toString()+"|").exec("").length-1} -const _=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ -;function h(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t -;let a=c(e),i="";for(;a.length>0;){const e=_.exec(a);if(!e){i+=a;break} -i+=a.substring(0,e.index), -a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], -"("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} -const f="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",w="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",N="\\b(0b[01]+)",v={ -begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'", -illegal:"\\n",contains:[v]},x={scope:"string",begin:'"',end:'"',illegal:"\\n", -contains:[v]},O=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n, -contains:[]},t);i.contains.push({scope:"doctag", -begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", -end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) -;const r=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) -;return i.contains.push({begin:b(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i -},M=O("//","$"),A=O("/\\*","\\*/"),S=O("#","$");var C=Object.freeze({ -__proto__:null,APOS_STRING_MODE:k,BACKSLASH_ESCAPE:v,BINARY_NUMBER_MODE:{ -scope:"number",begin:N,relevance:0},BINARY_NUMBER_RE:N,COMMENT:O, -C_BLOCK_COMMENT_MODE:A,C_LINE_COMMENT_MODE:M,C_NUMBER_MODE:{scope:"number", -begin:w,relevance:0},C_NUMBER_RE:w,END_SAME_AS_BEGIN:e=>Object.assign(e,{ -"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ -n.data._beginMatch!==e[1]&&n.ignoreMatch()}}),HASH_COMMENT_MODE:S,IDENT_RE:f, -MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+E,relevance:0}, -NUMBER_MODE:{scope:"number",begin:y,relevance:0},NUMBER_RE:y, -PHRASAL_WORDS_MODE:{ -begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ -},QUOTE_STRING_MODE:x,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/, -end:/\/[gimuy]*/,contains:[v,{begin:/\[/,end:/\]/,relevance:0,contains:[v]}]}, -RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", -SHEBANG:(e={})=>{const n=/^#![ ]*\// -;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n, -end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, -TITLE_MODE:{scope:"title",begin:f,relevance:0},UNDERSCORE_IDENT_RE:E, -UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0}});function T(e,n){ -"."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){ -void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){ -n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", -e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, -void 0===e.relevance&&(e.relevance=0))}function I(e,n){ -Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function L(e,n){ -if(e.match){ -if(e.begin||e.end)throw Error("begin & end are not supported with match") -;e.begin=e.match,delete e.match}}function B(e,n){ -void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return -;if(e.starts)throw Error("beforeMatch cannot be used with starts") -;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] -})),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={ -relevance:0,contains:[Object.assign(t,{endsParent:!0})] -},e.relevance=0,delete t.beforeMatch -},F=["of","and","for","in","not","or","if","then","parent","list","value"],z="keyword" -;function j(e,n,t=z){const a=Object.create(null) -;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ -Object.assign(a,j(e[t],n,t))})),a;function i(e,t){ -n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") -;a[t[0]]=[e,U(t[0],t[1])]}))}}function U(e,n){ -return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const P={},K=e=>{ -console.error(e)},q=(e,...n)=>{console.log("WARN: "+e,...n)},H=(e,n)=>{ -P[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),P[`${e}/${n}`]=!0) -},G=Error();function Z(e,n,{key:t}){let a=0;const i=e[t],r={},s={} -;for(let e=1;e<=n.length;e++)s[e+a]=i[e],r[e+a]=!0,a+=p(n[e-1]) -;e[t]=s,e[t]._emit=r,e[t]._multi=!0}function W(e){(e=>{ -e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, -delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ -_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope -}),(e=>{if(Array.isArray(e.begin)){ -if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), -G -;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), -G;Z(e,e.begin,{key:"beginScope"}),e.begin=h(e.begin,{joinWith:""})}})(e),(e=>{ -if(Array.isArray(e.end)){ -if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), -G -;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), -G;Z(e,e.end,{key:"endScope"}),e.end=h(e.end,{joinWith:""})}})(e)}function Q(e){ -function n(n,t){ -return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) -}class t{constructor(){ -this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} -addRule(e,n){ -n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), -this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) -;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(h(e,{joinWith:"|" -}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex -;const n=this.matcherRe.exec(e);if(!n)return null -;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] -;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){ -this.rules=[],this.multiRegexes=[], -this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ -if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t -;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), -n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ -return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ -this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ -const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex -;let t=n.exec(e) -;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ -const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} -return t&&(this.regexIndex+=t.position+1, -this.regexIndex===this.count&&this.considerAll()),t}} -if(e.compilerExtensions||(e.compilerExtensions=[]), -e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") -;return e.classNameAliases=a(e.classNameAliases||{}),function t(r,s){const o=r -;if(r.isCompiled)return o -;[R,L,W,$].forEach((e=>e(r,s))),e.compilerExtensions.forEach((e=>e(r,s))), -r.__beforeBegin=null,[D,I,B].forEach((e=>e(r,s))),r.isCompiled=!0;let l=null -;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), -l=r.keywords.$pattern, -delete r.keywords.$pattern),l=l||/\w+/,r.keywords&&(r.keywords=j(r.keywords,e.case_insensitive)), -o.keywordPatternRe=n(l,!0), -s&&(r.begin||(r.begin=/\B|\b/),o.beginRe=n(o.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), -r.end&&(o.endRe=n(o.end)), -o.terminatorEnd=c(o.end)||"",r.endsWithParent&&s.terminatorEnd&&(o.terminatorEnd+=(r.end?"|":"")+s.terminatorEnd)), -r.illegal&&(o.illegalRe=n(r.illegal)), -r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{ -variants:null},n)))),e.cachedVariants?e.cachedVariants:X(e)?a(e,{ -starts:e.starts?a(e.starts):null -}):Object.isFrozen(e)?a(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{t(e,o) -})),r.starts&&t(r.starts,s),o.matcher=(e=>{const n=new i -;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" -}))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" -}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function X(e){ -return!!e&&(e.endsWithParent||X(e.starts))}class V extends Error{ -constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} -const J=t,Y=a,ee=Symbol("nomatch"),ne=t=>{ -const a=Object.create(null),i=Object.create(null),r=[];let s=!0 -;const o="Could not find the language '{}', did you forget to load/include a language module?",c={ -disableAutodetect:!0,name:"Plain text",contains:[]};let p={ -ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, -languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", -cssSelector:"pre code",languages:null,__emitter:l};function _(e){ -return p.noHighlightRe.test(e)}function h(e,n,t){let a="",i="" -;"object"==typeof n?(a=e, -t=n.ignoreIllegals,i=n.language):(H("10.7.0","highlight(lang, code, ...args) has been deprecated."), -H("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), -i=e,a=n),void 0===t&&(t=!0);const r={code:a,language:i};O("before:highlight",r) -;const s=r.result?r.result:f(r.language,r.code,t) -;return s.code=r.code,O("after:highlight",s),s}function f(e,t,i,r){ -const l=Object.create(null);function c(){if(!O.keywords)return void A.addText(S) -;let e=0;O.keywordPatternRe.lastIndex=0;let n=O.keywordPatternRe.exec(S),t="" -;for(;n;){t+=S.substring(e,n.index) -;const i=N.case_insensitive?n[0].toLowerCase():n[0],r=(a=i,O.keywords[a]);if(r){ -const[e,a]=r -;if(A.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{ -const t=N.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0] -;e=O.keywordPatternRe.lastIndex,n=O.keywordPatternRe.exec(S)}var a -;t+=S.substring(e),A.addText(t)}function d(){null!=O.subLanguage?(()=>{ -if(""===S)return;let e=null;if("string"==typeof O.subLanguage){ -if(!a[O.subLanguage])return void A.addText(S) -;e=f(O.subLanguage,S,!0,M[O.subLanguage]),M[O.subLanguage]=e._top -}else e=E(S,O.subLanguage.length?O.subLanguage:null) -;O.relevance>0&&(C+=e.relevance),A.__addSublanguage(e._emitter,e.language) -})():c(),S=""}function g(e,n){ -""!==e&&(A.startScope(n),A.addText(e),A.endScope())}function u(e,n){let t=1 -;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue} -const a=N.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(S=i,c(),S=""),t++}} -function b(e,n){ -return e.scope&&"string"==typeof e.scope&&A.openNode(N.classNameAliases[e.scope]||e.scope), -e.beginScope&&(e.beginScope._wrap?(g(S,N.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), -S=""):e.beginScope._multi&&(u(e.beginScope,n),S="")),O=Object.create(e,{parent:{ -value:O}}),O}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n) -;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e) -;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){ -for(;e.endsParent&&e.parent;)e=e.parent;return e}} -if(e.endsWithParent)return m(e.parent,t,a)}function _(e){ -return 0===O.matcher.regexIndex?(S+=e[0],1):(D=!0,0)}function h(e){ -const n=e[0],a=t.substring(e.index),i=m(O,e,a);if(!i)return ee;const r=O -;O.endScope&&O.endScope._wrap?(d(), -g(n,O.endScope._wrap)):O.endScope&&O.endScope._multi?(d(), -u(O.endScope,e)):r.skip?S+=n:(r.returnEnd||r.excludeEnd||(S+=n), -d(),r.excludeEnd&&(S=n));do{ -O.scope&&A.closeNode(),O.skip||O.subLanguage||(C+=O.relevance),O=O.parent -}while(O!==i.parent);return i.starts&&b(i.starts,e),r.returnEnd?0:n.length} -let y={};function w(a,r){const o=r&&r[0];if(S+=a,null==o)return d(),0 -;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===o){ -if(S+=t.slice(r.index,r.index+1),!s){const n=Error(`0 width match regex (${e})`) -;throw n.languageName=e,n.badRule=y.rule,n}return 1} -if(y=r,"begin"===r.type)return(e=>{ -const t=e[0],a=e.rule,i=new n(a),r=[a.__beforeBegin,a["on:begin"]] -;for(const n of r)if(n&&(n(e,i),i.isMatchIgnored))return _(t) -;return a.skip?S+=t:(a.excludeBegin&&(S+=t), -d(),a.returnBegin||a.excludeBegin||(S=t)),b(a,e),a.returnBegin?0:t.length})(r) -;if("illegal"===r.type&&!i){ -const e=Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"")+'"') -;throw e.mode=O,e}if("end"===r.type){const e=h(r);if(e!==ee)return e} -if("illegal"===r.type&&""===o)return 1 -;if(R>1e5&&R>3*r.index)throw Error("potential infinite loop, way more iterations than matches") -;return S+=o,o.length}const N=v(e) -;if(!N)throw K(o.replace("{}",e)),Error('Unknown language: "'+e+'"') -;const k=Q(N);let x="",O=r||k;const M={},A=new p.__emitter(p);(()=>{const e=[] -;for(let n=O;n!==N;n=n.parent)n.scope&&e.unshift(n.scope) -;e.forEach((e=>A.openNode(e)))})();let S="",C=0,T=0,R=0,D=!1;try{ -if(N.__emitTokens)N.__emitTokens(t,A);else{for(O.matcher.considerAll();;){ -R++,D?D=!1:O.matcher.considerAll(),O.matcher.lastIndex=T -;const e=O.matcher.exec(t);if(!e)break;const n=w(t.substring(T,e.index),e) -;T=e.index+n}w(t.substring(T))}return A.finalize(),x=A.toHTML(),{language:e, -value:x,relevance:C,illegal:!1,_emitter:A,_top:O}}catch(n){ -if(n.message&&n.message.includes("Illegal"))return{language:e,value:J(t), -illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T, -context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:x},_emitter:A};if(s)return{ -language:e,value:J(t),illegal:!1,relevance:0,errorRaised:n,_emitter:A,_top:O} -;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{ -const n={value:J(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)} -;return n._emitter.addText(e),n})(e),i=n.filter(v).filter(x).map((n=>f(n,e,!1))) -;i.unshift(t);const r=i.sort(((e,n)=>{ -if(e.relevance!==n.relevance)return n.relevance-e.relevance -;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1 -;if(v(n.language).supersetOf===e.language)return-1}return 0})),[s,o]=r,l=s -;return l.secondBest=o,l}function y(e){let n=null;const t=(e=>{ -let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" -;const t=p.languageDetectRe.exec(n);if(t){const n=v(t[1]) -;return n||(q(o.replace("{}",t[1])), -q("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} -return n.split(/\s+/).find((e=>_(e)||v(e)))})(e);if(_(t))return -;if(O("before:highlightElement",{el:e,language:t -}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e) -;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), -console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), -console.warn("The element with unescaped HTML:"), -console.warn(e)),p.throwUnescapedHTML))throw new V("One of your code blocks includes unescaped HTML.",e.innerHTML) -;n=e;const a=n.textContent,r=t?h(a,{language:t,ignoreIllegals:!0}):E(a) -;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,n,t)=>{const a=n&&i[n]||t -;e.classList.add("hljs"),e.classList.add("language-"+a) -})(e,t,r.language),e.result={language:r.language,re:r.relevance, -relevance:r.relevance},r.secondBest&&(e.secondBest={ -language:r.secondBest.language,relevance:r.secondBest.relevance -}),O("after:highlightElement",{el:e,result:r,text:a})}let w=!1;function N(){ -"loading"!==document.readyState?document.querySelectorAll(p.cssSelector).forEach(y):w=!0 -}function v(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} -function k(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ -i[e.toLowerCase()]=n}))}function x(e){const n=v(e) -;return n&&!n.disableAutodetect}function O(e,n){const t=e;r.forEach((e=>{ -e[t]&&e[t](n)}))} -"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ -w&&N()}),!1),Object.assign(t,{highlight:h,highlightAuto:E,highlightAll:N, -highlightElement:y, -highlightBlock:e=>(H("10.7.0","highlightBlock will be removed entirely in v12.0"), -H("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=Y(p,e)}, -initHighlighting:()=>{ -N(),H("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, -initHighlightingOnLoad:()=>{ -N(),H("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") -},registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){ -if(K("Language definition for '{}' could not be registered.".replace("{}",e)), -!s)throw n;K(n),i=c} -i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&k(i.aliases,{ -languageName:e})},unregisterLanguage:e=>{delete a[e] -;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, -listLanguages:()=>Object.keys(a),getLanguage:v,registerAliases:k, -autoDetection:x,inherit:Y,addPlugin:e=>{(e=>{ -e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ -e["before:highlightBlock"](Object.assign({block:n.el},n)) -}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ -e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),r.push(e)}, -removePlugin:e=>{const n=r.indexOf(e);-1!==n&&r.splice(n,1)}}),t.debugMode=()=>{ -s=!1},t.safeMode=()=>{s=!0},t.versionString="11.10.0",t.regex={concat:b, -lookahead:d,either:m,optional:u,anyNumberOfTimes:g} -;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t -},te=ne({});te.newInstance=()=>ne({});const ae=e=>({IMPORTANT:{scope:"meta", -begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ -scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, -FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, -ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", -contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ -scope:"number", -begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", -relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} -}),ie=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],re=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),se=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),oe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),le=["accent-color","align-content","align-items","align-self","alignment-baseline","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-end-end-radius","border-end-start-radius","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","cx","cy","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","empty-cells","enable-background","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","flood-color","flood-opacity","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","kerning","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","marker","marker-end","marker-mid","marker-start","mask","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","scale","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","speak","speak-as","src","tab-size","table-layout","text-anchor","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-offset","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","vector-effect","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index"].sort().reverse(),ce=se.concat(oe).sort().reverse() -;var de="[0-9](_*[0-9])*",ge=`\\.(${de})`,ue="[0-9a-fA-F](_*[0-9a-fA-F])*",be={ -className:"number",variants:[{ -begin:`(\\b(${de})((${ge})|\\.)?|(${ge}))[eE][+-]?(${de})[fFdD]?\\b`},{ -begin:`\\b(${de})((${ge})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ -begin:`(${ge})[fFdD]?\\b`},{begin:`\\b(${de})[fFdD]\\b`},{ -begin:`\\b0[xX]((${ue})\\.?|(${ue})?\\.(${ue}))[pP][+-]?(${de})[fFdD]?\\b`},{ -begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ue})[lL]?\\b`},{ -begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], -relevance:0};function me(e,n,t){return-1===t?"":e.replace(n,(a=>me(e,n,t-1)))} -const pe="[A-Za-z$_][0-9A-Za-z$_]*",_e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],he=["true","false","null","undefined","NaN","Infinity"],fe=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Ee=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ye=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],we=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ne=[].concat(ye,fe,Ee) -;function ve(e){const n=e.regex,t=pe,a={begin:/<[A-Za-z0-9\\._:-]+/, -end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ -const t=e[0].length+e.index,a=e.input[t] -;if("<"===a||","===a)return void n.ignoreMatch();let i -;">"===a&&(((e,{after:n})=>{const t="e+"\\s*\\(")), -n.concat("(?!",v.join("|"),")")),t,n.lookahead(/\s*\(/)), -className:"title.function",relevance:0};var v;const k={ -begin:n.concat(/\./,n.lookahead(n.concat(t,/(?![0-9A-Za-z$_(])/))),end:t, -excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},x={ -match:[/get|set/,/\s+/,t,/(?=\()/],className:{1:"keyword",3:"title.function"}, -contains:[{begin:/\(\)/},f] -},O="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",M={ -match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)], -keywords:"async",className:{1:"keyword",3:"title.function"},contains:[f]} -;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ -PARAMS_CONTAINS:h,CLASS_REFERENCE:y},illegal:/#(?![$_A-z])/, -contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ -label:"use_strict",className:"meta",relevance:10, -begin:/^\s*['"]use (strict|asm)['"]/ -},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,y,{ -className:"attr",begin:t+n.lookahead(":"),relevance:0},M,{ -begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", -keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{ -className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{ -className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ -className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, -excludeBegin:!0,excludeEnd:!0,keywords:i,contains:h}]}]},{begin:/,/,relevance:0 -},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{ -match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, -"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ -begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},w,{ -beginKeywords:"while if switch catch for"},{ -begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", -returnBegin:!0,label:"func.def",contains:[f,e.inherit(e.TITLE_MODE,{begin:t, -className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t, -relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, -contains:[f]},N,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, -className:"variable.constant"},E,x,{match:/\$[(.]/}]}} -const ke=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),xe=["Protocol","Type"].map(ke),Oe=["init","self"].map(ke),Me=["Any","Self"],Ae=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Se=["false","nil","true"],Ce=["assignment","associativity","higherThan","left","lowerThan","none","right"],Te=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Re=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],De=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Ie=m(De,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Le=b(De,Ie,"*"),Be=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),$e=m(Be,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Fe=b(Be,$e,"*"),ze=b(/[A-Z]/,$e,"*"),je=["attached","autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,Fe,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Ue=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] -;var Pe=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ -begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} -;Object.assign(t,{className:"variable",variants:[{ -begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ -className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE] -},r=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={ -begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, -end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/, -contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(o);const l={begin:/\$?\(\(/, -end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] -},c=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 -}),d={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, -contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ -name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, -keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"], -literal:["true","false"], -built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] -},contains:[c,e.SHEBANG(),d,l,r,s,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{ -className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}},grmr_c:e=>{ -const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] -}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ -className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ -match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{ -begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ -begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", -end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ -begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ -className:"number",variants:[{begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" -},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ -keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include" -},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ -className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ -className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 -},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ -keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], -type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"], -literal:"true false NULL", -built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" -},b=[c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{ -begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], -keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u, -contains:b.concat(["self"]),relevance:0}]),relevance:0},p={ -begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, -keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ -begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})], -relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/, -keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/, -end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s] -}]},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, -disableAutodetect:!0,illegal:"=]/,contains:[{ -beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c, -strings:o,keywords:u}}},grmr_cpp:e=>{const n=e.regex,t=e.COMMENT("//","$",{ -contains:[{begin:/\\\n/}] -}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",r="(?!struct)("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",s={ -className:"type",begin:"\\b[a-z\\d_]*_t\\b"},o={className:"string",variants:[{ -begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ -begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", -end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ -begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ -className:"number",variants:[{ -begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)" -},{ -begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)" -}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ -keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" -},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ -className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ -className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 -},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ -type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], -keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], -literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], -_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] -},b={className:"function.dispatch",relevance:0,keywords:{ -_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] -}, -begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/)) -},m=[b,c,s,t,e.C_BLOCK_COMMENT_MODE,l,o],p={variants:[{begin:/=/,end:/;/},{ -begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], -keywords:u,contains:m.concat([{begin:/\(/,end:/\)/,keywords:u, -contains:m.concat(["self"]),relevance:0}]),relevance:0},_={className:"function", -begin:"("+r+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, -keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ -begin:g,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{ -begin:/:/,endsWithParent:!0,contains:[o,l]},{relevance:0,match:/,/},{ -className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, -contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,s,{begin:/\(/,end:/\)/,keywords:u, -relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,s]}] -},s,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++", -aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:u,illegal:"",keywords:u,contains:["self",s]},{begin:e.IDENT_RE+"::",keywords:u},{ -match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], -className:{1:"keyword",3:"title.class"}}])}},grmr_csharp:e=>{const n={ -keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]), -built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"], -literal:["default","false","null","true"]},t=e.inherit(e.TITLE_MODE,{ -begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{ -begin:"\\b(0b[01']+)"},{ -begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{ -begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" -}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}] -},r=e.inherit(i,{illegal:/\n/}),s={className:"subst",begin:/\{/,end:/\}/, -keywords:n},o=e.inherit(s,{illegal:/\n/}),l={className:"string",begin:/\$"/, -end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/ -},e.BACKSLASH_ESCAPE,o]},c={className:"string",begin:/\$@"/,end:'"',contains:[{ -begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]},d=e.inherit(c,{illegal:/\n/, -contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]}) -;s.contains=[c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE], -o.contains=[d,l,r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{ -illegal:/\n/})];const g={variants:[{className:"string", -begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1 -},c,l,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},u={begin:"<",end:">", -contains:[{beginKeywords:"in out"},t] -},b=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",m={ -begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"], -keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0, -contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{ -begin:"\x3c!--|--\x3e"},{begin:""}]}] -}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#", -end:"$",keywords:{ -keyword:"if else elif endif define undef warning error line region endregion pragma checksum" -}},g,a,{beginKeywords:"class interface",relevance:0,end:/[{;=]/, -illegal:/[^\s:,]/,contains:[{beginKeywords:"where class" -},t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace", -relevance:0,end:/[{;=]/,illegal:/[^\s:]/, -contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ -beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/, -contains:[t,u,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta", -begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{ -className:"string",begin:/"/,end:/"/}]},{ -beginKeywords:"new return throw await else",relevance:0},{className:"function", -begin:"("+b+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, -end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{ -beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial", -relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0, -contains:[e.TITLE_MODE,u],relevance:0},{match:/\(\)/},{className:"params", -begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0, -contains:[g,a,e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},m]}},grmr_css:e=>{ -const n=e.regex,t=ae(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{ -name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{ -keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"}, -contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ -},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 -},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 -},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ -begin:":("+se.join("|")+")"},{begin:":(:)?("+oe.join("|")+")"}] -},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+le.join("|")+")\\b"},{ -begin:/:/,end:/[;}{]/, -contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ -begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" -},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, -excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", -relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ -},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ -$pattern:/[a-z-]+/,keyword:"and or not only",attribute:re.join(" ")},contains:[{ -begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ -className:"selector-tag",begin:"\\b("+ie.join("|")+")\\b"}]}},grmr_diff:e=>{ -const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ -className:"meta",relevance:10, -match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) -},{className:"comment",variants:[{ -begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), -end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ -className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, -end:/$/}]}},grmr_go:e=>{const n={ -keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"], -type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"], -literal:["true","false","iota","nil"], -built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"] -};return{name:"Go",aliases:["golang"],keywords:n,illegal:"{const n=e.regex -;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1, -keywords:{ -keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], -literal:["true","false","null"]}, -contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ -scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", -begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, -end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ -scope:"symbol",begin:n.concat(/[_A-Za-z][_0-9A-Za-z]*/,n.lookahead(/\s*:/)), -relevance:0}],illegal:[/[;<']/,/BEGIN/]}},grmr_ini:e=>{const n=e.regex,t={ -className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{ -begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/, -end:/$/}];const i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{ -begin:/\$\{(.*?)\}/}]},r={className:"literal", -begin:/\bon|off|true|false|yes|no\b/},s={className:"string", -contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{ -begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}] -},o={begin:/\[/,end:/\]/,contains:[a,r,i,s,t,"self"],relevance:0 -},l=n.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{ -name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/, -contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{ -begin:n.concat(l,"(\\s*\\.\\s*",l,")*",n.lookahead(/\s*=\s*[^#\s]/)), -className:"attr",starts:{end:/$/,contains:[a,o,r,i,s,t]}}]}},grmr_java:e=>{ -const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+me("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ -keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto"], -literal:["false","true","null"], -type:["char","boolean","long","float","int","byte","short","double"], -built_in:["super","this"]},r={className:"meta",begin:"@"+t,contains:[{ -begin:/\(/,end:/\)/,contains:["self"]}]},s={className:"params",begin:/\(/, -end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} -;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, -contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, -relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ -begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, -className:"string",contains:[e.BACKSLASH_ESCAPE] -},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ -match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ -1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ -begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", -3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", -3:"title.class"},contains:[s,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ -beginKeywords:"new throw return else",relevance:0},{ -begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ -2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, -end:/\)/,keywords:i,relevance:0, -contains:[r,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,be,e.C_BLOCK_COMMENT_MODE] -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},be,r]}},grmr_javascript:ve, -grmr_json:e=>{const n=["true","false","null"],t={scope:"literal", -beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{ -literal:n},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/, -relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0 -},e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], -illegal:"\\S"}},grmr_kotlin:e=>{const n={ -keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", -built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", -literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" -},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ -className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},r={className:"string", -variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", -illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, -contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(r);const s={ -className:"meta", -begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" -},o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, -end:/\)/,contains:[e.inherit(r,{className:"string"}),"self"]}] -},l=be,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ -variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, -contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], -{name:"Kotlin",aliases:["kt","kts"],keywords:n, -contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", -begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", -begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", -begin:/@\w+/}]}},t,s,o,{className:"function",beginKeywords:"fun",end:"[(]|$", -returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ -begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, -contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, -keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, -endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, -endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 -},e.C_LINE_COMMENT_MODE,c,s,o,r,e.C_NUMBER_MODE]},c]},{ -begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ -3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, -illegal:"extends implements",contains:[{ -beginKeywords:"public protected internal private constructor" -},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, -excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, -excludeBegin:!0,returnEnd:!0},s,o]},r,{className:"meta",begin:"^#!/usr/bin/env", -end:"$",illegal:"\n"},l]}},grmr_less:e=>{ -const n=ae(e),t=ce,a="[\\w-]+",i="("+a+"|@\\{"+a+"\\})",r=[],s=[],o=e=>({ -className:"string",begin:"~?"+e+".*?"+e}),l=(e,n,t)=>({className:e,begin:n, -relevance:t}),c={$pattern:/[a-z-]+/,keyword:"and or not only", -attribute:re.join(" ")},d={begin:"\\(",end:"\\)",contains:s,keywords:c, -relevance:0} -;s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),n.CSS_NUMBER_MODE,{ -begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", -excludeEnd:!0} -},n.HEXCOLOR,d,l("variable","@@?"+a,10),l("variable","@\\{"+a+"\\}"),l("built_in","~?`[^`]*?`"),{ -className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0 -},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);const g=s.concat({ -begin:/\{/,end:/\}/,contains:r}),u={beginKeywords:"when",endsWithParent:!0, -contains:[{beginKeywords:"and not"}].concat(s)},b={begin:i+"\\s*:", -returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/ -},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+le.join("|")+")\\b", -end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}] -},m={className:"keyword", -begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", -starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:s,relevance:0}},p={ -className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a -}],starts:{end:"[;}]",returnEnd:!0,contains:g}},_={variants:[{ -begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0, -returnEnd:!0,illegal:"[<='$\"]",relevance:0, -contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+a+"\\}"),{ -begin:"\\b("+ie.join("|")+")\\b",className:"selector-tag" -},n.CSS_NUMBER_MODE,l("selector-tag",i,0),l("selector-id","#"+i),l("selector-class","\\."+i,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{ -className:"selector-pseudo",begin:":("+se.join("|")+")"},{ -className:"selector-pseudo",begin:":(:)?("+oe.join("|")+")"},{begin:/\(/, -end:/\)/,relevance:0,contains:g},{begin:"!important"},n.FUNCTION_DISPATCH]},h={ -begin:a+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[_]} -;return r.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,p,h,b,_,u,n.FUNCTION_DISPATCH), -{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:r}}, -grmr_lua:e=>{const n="\\[=*\\[",t="\\]=*\\]",a={begin:n,end:t,contains:["self"] -},i=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[a],relevance:10 -})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE, -literal:"true false nil", -keyword:"and break do else elseif end for goto if in local not or repeat return then until while", -built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove" -},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)", -contains:[e.inherit(e.TITLE_MODE,{ -begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params", -begin:"\\(",endsWithParent:!0,contains:i}].concat(i) -},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string", -begin:n,end:t,contains:[a],relevance:5}])}},grmr_makefile:e=>{const n={ -className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", -contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{ -const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},t={ -variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ -begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, -relevance:2},{ -begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), -relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ -begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ -},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, -returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", -excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", -end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], -variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] -},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ -begin:/_(?![_\s])/,end:/_/,relevance:0}]},r=e.inherit(a,{contains:[] -}),s=e.inherit(i,{contains:[]});a.contains.push(s),i.contains.push(r) -;let o=[n,t];return[a,i,r,s].forEach((e=>{e.contains=e.contains.concat(o) -})),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ -className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ -begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", -contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", -end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, -end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ -begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ -begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", -contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ -begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ -className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ -className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal", -match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}, -grmr_objectivec:e=>{const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, -keyword:["@interface","@class","@protocol","@implementation"]};return{ -name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], -keywords:{"variable.language":["this","super"],$pattern:n, -keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], -literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], -built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], -type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] -},illegal:"/,end:/$/,illegal:"\\n" -},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", -begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, -contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, -relevance:0}]}},grmr_perl:e=>{const n=e.regex,t=/[dualxmsipngr]{0,12}/,a={ -$pattern:/[\w.]+/, -keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0" -},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},r={begin:/->\{/, -end:/\}/},s={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},o={scope:"variable", -variants:[{begin:/\$\d/},{ -begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])") -},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[s]},l={ -className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{ -match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{ -match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{ -match:/\b0b[0-1][0-1_]*\b/}],relevance:0 -},c=[e.BACKSLASH_ESCAPE,i,o],d=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],g=(e,a,i="\\1")=>{ -const r="\\1"===i?i:n.concat(i,a) -;return n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,r,/(?:\\.|[^\\\/])*?/,i,t) -},u=(e,a,i)=>n.concat(n.concat("(?:",e,")"),a,/(?:\\.|[^\\\/])*?/,i,t),b=[o,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{ -endsWithParent:!0}),r,{className:"string",contains:c,variants:[{ -begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[", -end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{ -begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">", -relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'", -contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`", -contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{ -begin:"-?\\w+\\s*=>",relevance:0}]},l,{ -begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*", -keywords:"split return print reverse grep",relevance:0, -contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{ -begin:g("s|tr|y",n.either(...d,{capture:!0}))},{begin:g("s|tr|y","\\(","\\)")},{ -begin:g("s|tr|y","\\[","\\]")},{begin:g("s|tr|y","\\{","\\}")}],relevance:2},{ -className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{ -begin:u("(?:m|qr)?",/\//,/\//)},{begin:u("m|qr",n.either(...d,{capture:!0 -}),/\1/)},{begin:u("m|qr",/\(/,/\)/)},{begin:u("m|qr",/\[/,/\]/)},{ -begin:u("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method", -end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,s] -},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5, -contains:[e.TITLE_MODE,s,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$", -end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$", -className:"comment"}]}];return i.contains=b,r.contains=b,{name:"Perl", -aliases:["pl","pm"],keywords:a,contains:b}},grmr_php:e=>{ -const n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,a=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),r={ -scope:"variable",match:"\\$+"+a},s={scope:"subst",variants:[{begin:/\$\w+/},{ -begin:/\{\$/,end:/\}/}]},o=e.inherit(e.APOS_STRING_MODE,{illegal:null -}),l="[ \t\n]",c={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{ -illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(s)}),o,{ -begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/, -contains:e.QUOTE_STRING_MODE.contains.concat(s),"on:begin":(e,n)=>{ -n.data._beginMatch=e[1]||e[2]},"on:end":(e,n)=>{ -n.data._beginMatch!==e[1]&&n.ignoreMatch()}},e.END_SAME_AS_BEGIN({ -begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{ -begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{ -begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{ -begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?" -}],relevance:0 -},g=["false","null","true"],u=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={ -keyword:u,literal:(e=>{const n=[];return e.forEach((e=>{ -n.push(e),e.toLowerCase()===e?n.push(e.toUpperCase()):n.push(e.toLowerCase()) -})),n})(g),built_in:b},p=e=>e.map((e=>e.replace(/\|\d+$/,""))),_={variants:[{ -match:[/new/,n.concat(l,"+"),n.concat("(?!",p(b).join("\\b|"),"\\b)"),i],scope:{ -1:"keyword",4:"title.class"}}]},h=n.concat(a,"\\b(?!\\()"),f={variants:[{ -match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{2:"variable.constant" -}},{match:[/::/,/class/],scope:{2:"variable.language"}},{ -match:[i,n.concat(/::/,n.lookahead(/(?!class\b)/)),h],scope:{1:"title.class", -3:"variable.constant"}},{match:[i,n.concat("::",n.lookahead(/(?!class\b)/))], -scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class", -3:"variable.language"}}]},E={scope:"attr", -match:n.concat(a,n.lookahead(":"),n.lookahead(/(?!::)/))},y={relevance:0, -begin:/\(/,end:/\)/,keywords:m,contains:[E,r,f,e.C_BLOCK_COMMENT_MODE,c,d,_] -},w={relevance:0, -match:[/\b/,n.concat("(?!fn\\b|function\\b|",p(u).join("\\b|"),"|",p(b).join("\\b|"),"\\b)"),a,n.concat(l,"*"),n.lookahead(/(?=\()/)], -scope:{3:"title.function.invoke"},contains:[y]};y.contains.push(w) -;const N=[E,f,e.C_BLOCK_COMMENT_MODE,c,d,_];return{case_insensitive:!1, -keywords:m,contains:[{begin:n.concat(/#\[\s*/,i),beginScope:"meta",end:/]/, -endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{ -begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]}, -contains:["self",...N]},...N,{scope:"meta",match:i}] -},e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{ -scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/, -keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE, -contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{ -begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{ -begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},r,w,f,{ -match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},_,{ -scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/, -excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use" -},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params", -begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m, -contains:["self",r,f,e.C_BLOCK_COMMENT_MODE,c,d]}]},{scope:"class",variants:[{ -beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait", -illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{ -beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{ -beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/, -contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{ -beginKeywords:"use",relevance:0,end:";",contains:[{ -match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},c,d]} -},grmr_php_template:e=>({name:"PHP template",subLanguage:"xml",contains:[{ -begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*", -end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0 -},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null, -skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null, -contains:null,skip:!0})]}]}),grmr_plaintext:e=>({name:"Plain text", -aliases:["text","txt"],disableAutodetect:!0}),grmr_python:e=>{ -const n=e.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,a=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={ -$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a, -built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], -literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], -type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] -},r={className:"meta",begin:/^(>>>|\.\.\.) /},s={className:"subst",begin:/\{/, -end:/\}/,keywords:i,illegal:/#/},o={begin:/\{\{/,relevance:0},l={ -className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, -contains:[e.BACKSLASH_ESCAPE,r],relevance:10},{ -begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, -end:/"""/,contains:[e.BACKSLASH_ESCAPE,r,o,s]},{begin:/([uU]|[rR])'/,end:/'/, -relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ -begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, -end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, -contains:[e.BACKSLASH_ESCAPE,o,s]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, -contains:[e.BACKSLASH_ESCAPE,o,s]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] -},c="[0-9](_?[0-9])*",d=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,g="\\b|"+a.join("|"),u={ -className:"number",relevance:0,variants:[{ -begin:`(\\b(${c})|(${d}))[eE][+-]?(${c})[jJ]?(?=${g})`},{begin:`(${d})[jJ]?`},{ -begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{ -begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})` -},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${c})[jJ](?=${g})` -}]},b={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:i, -contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ -className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, -end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i, -contains:["self",r,u,l,e.HASH_COMMENT_MODE]}]};return s.contains=[l,u,r],{ -name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i, -illegal:/(<\/|\?)|=>/,contains:[r,u,{scope:"variable.language",match:/\bself\b/ -},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword" -},l,b,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword", -3:"title.function"},contains:[m]},{variants:[{ -match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}], -scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ -className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[u,m,l]}]}}, -grmr_python_repl:e=>({aliases:["pycon"],contains:[{className:"meta.prompt", -starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{ -begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}),grmr_r:e=>{ -const n=e.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,r=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/) -;return{name:"R",keywords:{$pattern:t, -keyword:"function if in break next repeat else for while", -literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10", -built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm" -},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/, -starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)), -endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{ -scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0 -}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}] -}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE], -variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/ -}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"', -relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{ -1:"operator",2:"number"},match:[i,a]},{scope:{1:"operator",2:"number"}, -match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[r,a]},{scope:{ -2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"}, -match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{ -match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:r},{begin:"`",end:"`", -contains:[{begin:/\\./}]}]}},grmr_ruby:e=>{ -const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),r={ -"variable.constant":["__FILE__","__LINE__","__ENCODING__"], -"variable.language":["self","super"], -keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], -built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], -literal:["true","false","nil"]},s={className:"doctag",begin:"@[A-Za-z]+"},o={ -begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[s] -}),e.COMMENT("^=begin","^=end",{contains:[s],relevance:10 -}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/, -end:/\}/,keywords:r},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c], -variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ -begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ -begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, -end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ -begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ -begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ -begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ -begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ -begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), -contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, -contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", -relevance:0,variants:[{ -begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ -begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" -},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ -begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ -begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ -className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, -keywords:r}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ -match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", -4:"title.class.inherited"},keywords:r},{match:[/(include|extend)\s+/,i],scope:{ -2:"title.class"},keywords:r},{relevance:0,match:[i,/\.new[. (]/],scope:{ -1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, -className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{ -match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ -begin:e.IDENT_RE+"::"},{className:"symbol", -begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", -begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", -begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ -className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, -relevance:0,keywords:r},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", -keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], -illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ -begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", -end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) -;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} -},{className:"meta.prompt", -begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", -starts:{end:"$",keywords:r,contains:m}}];return l.unshift(o),{name:"Ruby", -aliases:["rb","gemspec","podspec","thor","irb"],keywords:r,illegal:/\/\*/, -contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, -grmr_rust:e=>{ -const n=e.regex,t=/(r#)?/,a=n.concat(t,e.UNDERSCORE_IDENT_RE),i=n.concat(t,e.IDENT_RE),r={ -className:"title.function.invoke",relevance:0, -begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,n.lookahead(/\s*\(/)) -},s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],l=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"] -;return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:l, -keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"], -literal:["true","false","Some","None","Ok","Err"],built_in:o},illegal:""},r]}}, -grmr_scss:e=>{const n=ae(e),t=oe,a=se,i="@[a-z-]+",r={className:"variable", -begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS", -case_insensitive:!0,illegal:"[=/|']", -contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,n.CSS_NUMBER_MODE,{ -className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ -className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 -},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", -begin:"\\b("+ie.join("|")+")\\b",relevance:0},{className:"selector-pseudo", -begin:":("+a.join("|")+")"},{className:"selector-pseudo", -begin:":(:)?("+t.join("|")+")"},r,{begin:/\(/,end:/\)/, -contains:[n.CSS_NUMBER_MODE]},n.CSS_VARIABLE,{className:"attribute", -begin:"\\b("+le.join("|")+")\\b"},{ -begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" -},{begin:/:/,end:/[;}{]/,relevance:0, -contains:[n.BLOCK_COMMENT,r,n.HEXCOLOR,n.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.IMPORTANT,n.FUNCTION_DISPATCH] -},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{ -begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, -keyword:"and or not only",attribute:re.join(" ")},contains:[{begin:i, -className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" -},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,n.HEXCOLOR,n.CSS_NUMBER_MODE] -},n.FUNCTION_DISPATCH]}},grmr_shell:e=>({name:"Shell Session", -aliases:["console","shellsession"],contains:[{className:"meta.prompt", -begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, -subLanguage:"bash"}}]}),grmr_sql:e=>{ -const n=e.regex,t=e.COMMENT("--","$"),a=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=r,l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!r.includes(e))),c={ -begin:n.concat(/\b/,n.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} -;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ -$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:n,when:t}={})=>{const a=t -;return n=n||[],e.map((e=>e.match(/\|\d+$/)||n.includes(e)?e:a(e)?e+"|0":e)) -})(l,{when:e=>e.length<3}),literal:a,type:i, -built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] -},contains:[{begin:n.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, -keyword:l.concat(s),literal:a,type:i}},{className:"type", -begin:n.either("double precision","large object","with timezone","without timezone") -},c,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string", -variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/, -contains:[{begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{ -className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/, -relevance:0}]}},grmr_swift:e=>{const n={match:/\s+/,relevance:0 -},t=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={ -match:[/\./,m(...xe,...Oe)],className:{2:"keyword"}},r={match:b(/\./,m(...Ae)), -relevance:0},s=Ae.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ -className:"keyword", -match:m(...Ae.filter((e=>"string"!=typeof e)).concat(Me).map(ke),...Oe)}]},l={ -$pattern:m(/\b\w+/,/#\w+/),keyword:s.concat(Te),literal:Se},c=[i,r,o],g=[{ -match:b(/\./,m(...Re)),relevance:0},{className:"built_in", -match:b(/\b/,m(...Re),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{ -className:"operator",relevance:0,variants:[{match:Le},{match:`\\.(\\.|${Ie})+`}] -}],_="([0-9]_*)+",h="([0-9a-fA-F]_*)+",f={className:"number",relevance:0, -variants:[{match:`\\b(${_})(\\.(${_}))?([eE][+-]?(${_}))?\\b`},{ -match:`\\b0x(${h})(\\.(${h}))?([pP][+-]?(${_}))?\\b`},{match:/\b0o([0-7]_*)+\b/ -},{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{ -match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}] -}),y=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/) -}),w=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/ -}),N=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),y(e),w(e)] -}),v=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),w(e)]}),k={ -className:"string", -variants:[N(),N("#"),N("##"),N("###"),v(),v("#"),v("##"),v("###")] -},x=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0, -contains:[e.BACKSLASH_ESCAPE]}],O={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//, -contains:x},M=e=>{const n=b(e,/\//),t=b(/\//,e);return{begin:n,end:t, -contains:[...x,{scope:"comment",begin:`#(?!.*${t})`,end:/$/}]}},A={ -scope:"regexp",variants:[M("###"),M("##"),M("#"),O]},S={match:b(/`/,Fe,/`/) -},C=[S,{className:"variable",match:/\$\d+/},{className:"variable", -match:`\\$${$e}+`}],T=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{ -contains:[{begin:/\(/,end:/\)/,keywords:Ue,contains:[...p,f,k]}]}},{ -scope:"keyword",match:b(/@/,m(...je),d(m(/\(/,/\s+/)))},{scope:"meta", -match:b(/@/,Fe)}],R={match:d(/\b[A-Z]/),relevance:0,contains:[{className:"type", -match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,$e,"+") -},{className:"type",match:ze,relevance:0},{match:/[?!]+/,relevance:0},{ -match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d(ze)),relevance:0}]},D={ -begin://,keywords:l,contains:[...a,...c,...T,u,R]};R.contains.push(D) -;const I={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ -match:b(Fe,/\s*:/),keywords:"_|0",relevance:0 -},...a,A,...c,...g,...p,f,k,...C,...T,R]},L={begin://, -keywords:"repeat each",contains:[...a,R]},B={begin:/\(/,end:/\)/,keywords:l, -contains:[{begin:m(d(b(Fe,/\s*:/)),d(b(Fe,/\s+/,Fe,/\s*:/))),end:/:/, -relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params", -match:Fe}]},...a,...c,...p,f,k,...T,R,I],endsParent:!0,illegal:/["']/},$={ -match:[/(func|macro)/,/\s+/,m(S.match,Fe,Le)],className:{1:"keyword", -3:"title.function"},contains:[L,B,n],illegal:[/\[/,/%/]},F={ -match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, -contains:[L,B,n],illegal:/\[|%/},z={match:[/operator/,/\s+/,Le],className:{ -1:"keyword",3:"title"}},j={begin:[/precedencegroup/,/\s+/,ze],className:{ -1:"keyword",3:"title"},contains:[R],keywords:[...Ce,...Se],end:/}/},U={ -begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Fe,/\s*/], -beginScope:{1:"keyword",3:"title.class"},keywords:l,contains:[L,...c,{begin:/:/, -end:/\{/,keywords:l,contains:[{scope:"title.class.inherited",match:ze},...c], -relevance:0}]};for(const e of k.variants){ -const n=e.contains.find((e=>"interpol"===e.label));n.keywords=l -;const t=[...c,...g,...p,f,k,...C];n.contains=[...t,{begin:/\(/,end:/\)/, -contains:["self",...t]}]}return{name:"Swift",keywords:l, -contains:[...a,$,F,U,z,j,{beginKeywords:"import",end:/$/,contains:[...a], -relevance:0},A,...c,...g,...p,f,k,...C,...T,R,I]}},grmr_typescript:e=>{ -const n=ve(e),t=pe,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={ -begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"} -},r={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{ -keyword:"interface extends",built_in:a},contains:[n.exports.CLASS_REFERENCE] -},s={$pattern:pe, -keyword:_e.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]), -literal:he,built_in:Ne.concat(a),"variable.language":we},o={className:"meta", -begin:"@"+t},l=(e,n,t)=>{const a=e.contains.findIndex((e=>e.label===n)) -;if(-1===a)throw Error("can not find mode to replace");e.contains.splice(a,1,t)} -;Object.assign(n.keywords,s),n.exports.PARAMS_CONTAINS.push(o) -;const c=n.contains.find((e=>"attr"===e.className)) -;return n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,c]), -n.contains=n.contains.concat([o,i,r]), -l(n,"shebang",e.SHEBANG()),l(n,"use_strict",{className:"meta",relevance:10, -begin:/^\s*['"]use strict['"]/ -}),n.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(n,{ -name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n},grmr_vbnet:e=>{ -const n=e.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,r=/\d{1,2}(:\d{1,2}){1,2}/,s={ -className:"literal",variants:[{begin:n.concat(/# */,n.either(a,t),/ *#/)},{ -begin:n.concat(/# */,r,/ *#/)},{begin:n.concat(/# */,i,/ *#/)},{ -begin:n.concat(/# */,n.either(a,t),/ +/,n.either(i,r),/ *#/)}] -},o=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}] -}),l=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]}) -;return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0, -classNameAliases:{label:"symbol"},keywords:{ -keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield", -built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort", -type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort", -literal:"true false nothing"}, -illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{ -className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/, -end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s,{className:"number",relevance:0, -variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/ -},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{ -begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{ -className:"label",begin:/^\w+:/},o,l,{className:"meta", -begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/, -end:/$/,keywords:{ -keyword:"const disable else elseif enable end externalsource if region then"}, -contains:[l]}]}},grmr_wasm:e=>{e.regex;const n=e.COMMENT(/\(;/,/;\)/) -;return n.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/, -keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"] -},contains:[e.COMMENT(/;;/,/$/),n,{match:[/(?:offset|align)/,/\s*/,/=/], -className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{ -match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{ -begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword", -3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/, -className:"type"},{className:"keyword", -match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/ -},{className:"number",relevance:0, -match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/ -}]}},grmr_xml:e=>{ -const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ -className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, -contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] -},r=e.inherit(i,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{ -className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ -endsWithParent:!0,illegal:/`]+/}]}]}]};return{ -name:"HTML, XML", -aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], -case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,o,s,r,{begin:/\[/,end:/\]/,contains:[{ -className:"meta",begin://,contains:[i,r,o,s]}]}] -},e.COMMENT(//,{relevance:10}),{begin://, -relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, -relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", -begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ -end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", -begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ -end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ -className:"tag",begin:/<>|<\/>/},{className:"tag", -begin:n.concat(//,/>/,/\s/)))), -end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ -className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ -className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} -},grmr_yaml:e=>{ -const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ -className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ -},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", -variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{ -variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),r={ -end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},s={begin:/\{/, -end:/\}/,contains:[r],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]", -contains:[r],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{ -begin:/\w[\w :()\./-]*:(?=[ \t]|$)/},{begin:/"\w[\w :()\./-]*":(?=[ \t]|$)/},{ -begin:/'\w[\w :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$", -relevance:10},{className:"string", -begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ -begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, -relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", -begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t -},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", -begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", -relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ -className:"number", -begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" -},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},s,o,a],c=[...l] -;return c.pop(),c.push(i),r.contains=c,{name:"YAML",case_insensitive:!0, -aliases:["yml"],contains:l}}});const Ke=te;for(const e of Object.keys(Pe)){ -const n=e.replace("grmr_","").replace("_","-");Ke.registerLanguage(n,Pe[e])} -return Ke}() -;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js deleted file mode 100644 index ddad6003..00000000 --- a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js +++ /dev/null @@ -1,31 +0,0 @@ -/*! `css` grammar compiled for Highlight.js 11.10.0 */ -(()=>{var e=(()=>{"use strict" -;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],r=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),t=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),i=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),o=["accent-color","align-content","align-items","align-self","alignment-baseline","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-end-end-radius","border-end-start-radius","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","cx","cy","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","empty-cells","enable-background","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","flood-color","flood-opacity","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","kerning","justify-content","justify-items","justify-self","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","marker","marker-end","marker-mid","marker-start","mask","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","scale","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","speak","speak-as","src","tab-size","table-layout","text-anchor","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-offset","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","vector-effect","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index"].sort().reverse() -;return n=>{const a=n.regex,l=(e=>({IMPORTANT:{scope:"meta",begin:"!important"}, -BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number", -begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{ -className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{ -scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", -contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ -scope:"number", -begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", -relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} -}))(n),s=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", -case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, -classNameAliases:{keyframePosition:"selector-tag"},contains:[l.BLOCK_COMMENT,{ -begin:/-(webkit|moz|ms|o)-(?=[a-z])/},l.CSS_NUMBER_MODE,{ -className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{ -className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 -},l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ -begin:":("+t.join("|")+")"},{begin:":(:)?("+i.join("|")+")"}]},l.CSS_VARIABLE,{ -className:"attribute",begin:"\\b("+o.join("|")+")\\b"},{begin:/:/,end:/[;}{]/, -contains:[l.BLOCK_COMMENT,l.HEXCOLOR,l.IMPORTANT,l.CSS_NUMBER_MODE,...s,{ -begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" -},contains:[...s,{className:"string",begin:/[^)]/,endsWithParent:!0, -excludeEnd:!0}]},l.FUNCTION_DISPATCH]},{begin:a.lookahead(/@/),end:"[{;]", -relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ -},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ -$pattern:/[a-z-]+/,keyword:"and or not only",attribute:r.join(" ")},contains:[{ -begin:/[a-z-]+(?=:)/,className:"attribute"},...s,l.CSS_NUMBER_MODE]}]},{ -className:"selector-tag",begin:"\\b("+e.join("|")+")\\b"}]}}})() -;hljs.registerLanguage("css",e)})(); \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/dark.min.css b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/dark.min.css deleted file mode 100644 index 9ed546ba..00000000 --- a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/dark.min.css +++ /dev/null @@ -1 +0,0 @@ -pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#ddd;background:#303030}.hljs-keyword,.hljs-link,.hljs-literal,.hljs-section,.hljs-selector-tag{color:#fff}.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-name,.hljs-string,.hljs-symbol,.hljs-template-tag,.hljs-template-variable,.hljs-title,.hljs-type,.hljs-variable{color:#d88}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#979797}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-title,.hljs-type{font-weight:700}.hljs-emphasis{font-style:italic} \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/default.min.css b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/default.min.css deleted file mode 100644 index a75ea911..00000000 --- a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/default.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - Theme: Default - Description: Original highlight.js style - Author: (c) Ivan Sagalaev - Maintainer: @highlightjs/core-team - Website: https://highlightjs.org/ - License: see project LICENSE - Touched: 2021 -*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#f3f3f3;color:#444}.hljs-comment{color:#697070}.hljs-punctuation,.hljs-tag{color:#444a}.hljs-tag .hljs-attr,.hljs-tag .hljs-name{color:#444}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-operator,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#ab5656}.hljs-literal{color:#695}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#38a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github-dark.min.css b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github-dark.min.css deleted file mode 100644 index 03b6da8b..00000000 --- a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github-dark.min.css +++ /dev/null @@ -1,10 +0,0 @@ -pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! - Theme: GitHub Dark - Description: Dark theme as seen on github.com - Author: github.com - Maintainer: @Hirse - Updated: 2021-05-15 - - Outdated base version: https://github.com/primer/github-syntax-dark - Current colors taken from GitHub's CSS -*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c} \ No newline at end of file diff --git a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css b/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css deleted file mode 100644 index 275239a7..00000000 --- a/allianceauth/custom_css/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css +++ /dev/null @@ -1,10 +0,0 @@ -pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*! - Theme: GitHub - Description: Light theme as seen on github.com - Author: github.com - Maintainer: @Hirse - Updated: 2021-05-15 - - Outdated base version: https://github.com/primer/github-syntax-light - Current colors taken from GitHub's CSS -*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0} \ No newline at end of file diff --git a/allianceauth/custom_css/widgets.py b/allianceauth/custom_css/widgets.py index 1b7226f1..32ed07dd 100644 --- a/allianceauth/custom_css/widgets.py +++ b/allianceauth/custom_css/widgets.py @@ -15,21 +15,24 @@ class CssEditorWidget(forms.Textarea): """ def __init__(self, attrs=None): - default_attrs = {"class": "css-editor"} + default_attrs = {"class": "custom-css-editor"} if attrs: default_attrs.update(attrs) super().__init__(default_attrs) - class Media: - css = { - "all": ( - "/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css", - ) - } - js = ( - "/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js", - "/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js", - "/static/custom_css/javascript/custom-css.min.js", - ) + # For when we want to add some sort of syntax highlight to it, which is not that + # easy to do on a textarea field though. + # `highlight.js` is just used as an example here, and doesn't work on a textarea field. + # class Media: + # css = { + # "all": ( + # "/static/custom_css/libs/highlight.js/11.10.0/styles/github.min.css", + # ) + # } + # js = ( + # "/static/custom_css/libs/highlight.js/11.10.0/highlight.min.js", + # "/static/custom_css/libs/highlight.js/11.10.0/languages/css.min.js", + # "/static/custom_css/javascript/custom-css.min.js", + # ) From 79a1fa3d7cdbfa679fb2324fe5c779182788cd19 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 12:42:52 +0200 Subject: [PATCH 04/33] [ADD] CSS compression on save --- allianceauth/custom_css/models.py | 101 ++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/allianceauth/custom_css/models.py b/allianceauth/custom_css/models.py index 3fcc83d7..27c22f67 100644 --- a/allianceauth/custom_css/models.py +++ b/allianceauth/custom_css/models.py @@ -2,10 +2,15 @@ Models for the custom_css app """ +import hashlib +import re +import sys + # Alliance Auth Framework from allianceauth.framework.models import SingletonModel # Django +from django.conf import settings from django.db import models from django.utils.translation import gettext_lazy as _ @@ -21,6 +26,7 @@ class CustomCSS(SingletonModel): verbose_name=_("Your custom CSS"), help_text=_("This CSS will be added to the site after the default CSS."), ) + timestamp = models.DateTimeField(auto_now=True) class Meta: """ @@ -32,4 +38,99 @@ class CustomCSS(SingletonModel): verbose_name_plural = _("Custom CSS") def __str__(self) -> str: + """ + String representation of CustomCSS + + :return: + :rtype: + """ + return str(_("Custom CSS")) + + def save(self, *args, **kwargs): + """ + Save method for CustomCSS + + :param args: + :type args: + :param kwargs: + :type kwargs: + :return: + :rtype: + """ + + self.pk = 1 + + custom_css_file = open( + f"{settings.STATIC_ROOT}allianceauth/custom-styles.css", "w+" + ) + custom_css_file.write(self.compress_css()) + custom_css_file.close() + + super().save(*args, **kwargs) + + def compress_css(self) -> str: + """ + Compress CSS + + :return: + :rtype: + """ + + css = self.css + new_css = "" + + # Remove comments + css = re.sub(pattern=r"\s*/\*\s*\*/", repl="$$HACK1$$", string=css) + css = re.sub(pattern=r"/\*[\s\S]*?\*/", repl="", string=css) + css = css.replace("$$HACK1$$", "/**/") + + # url() doesn't need quotes + css = re.sub(pattern=r'url\((["\'])([^)]*)\1\)', repl=r"url(\2)", string=css) + + # Spaces may be safely collapsed as generated content will collapse them anyway. + css = re.sub(pattern=r"\s+", repl=" ", string=css) + + # Shorten collapsable colors: #aabbcc to #abc + css = re.sub( + pattern=r"#([0-9a-f])\1([0-9a-f])\2([0-9a-f])\3(\s|;)", + repl=r"#\1\2\3\4", + string=css, + ) + + # Fragment values can loose zeros + css = re.sub( + pattern=r":\s*0(\.\d+([cm]m|e[mx]|in|p[ctx]))\s*;", repl=r":\1;", string=css + ) + + for rule in re.findall(pattern=r"([^{]+){([^}]*)}", string=css): + # We don't need spaces around operators + selectors = [ + re.sub( + pattern=r"(?<=[\[\(>+=])\s+|\s+(?=[=~^$*|>+\]\)])", + repl=r"", + string=selector.strip(), + ) + for selector in rule[0].split(",") + ] + + # Order is important, but we still want to discard repetitions + properties = {} + porder = [] + + for prop in re.findall(pattern="(.*?):(.*?)(;|$)", string=rule[1]): + key = prop[0].strip().lower() + + if key not in porder: + porder.append(key) + + properties[key] = prop[1].strip() + + # output rule if it contains any declarations + if properties: + new_css += "{}{{{}}}".format( + ",".join(selectors), + "".join([f"{key}:{properties[key]};" for key in porder])[:-1], + ) + + return new_css From 0fe2855faab8708cb3ff69ffa6d4dd70a7f9f701 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 12:44:23 +0200 Subject: [PATCH 05/33] [ADD] Custom CSS to base file Check if the CSS file exists and add it to the HTML output --- .../migrations/0005_customcss_timestamp.py | 18 ++++++++ .../custom_css/bundles/custom-css.html | 3 ++ .../custom_css/templatetags/__init__.py | 3 ++ .../custom_css/templatetags/custom_css.py | 44 +++++++++++++++++++ .../templates/allianceauth/base-bs5.html | 2 + 5 files changed, 70 insertions(+) create mode 100644 allianceauth/custom_css/migrations/0005_customcss_timestamp.py create mode 100644 allianceauth/custom_css/templates/custom_css/bundles/custom-css.html create mode 100644 allianceauth/custom_css/templatetags/__init__.py create mode 100644 allianceauth/custom_css/templatetags/custom_css.py diff --git a/allianceauth/custom_css/migrations/0005_customcss_timestamp.py b/allianceauth/custom_css/migrations/0005_customcss_timestamp.py new file mode 100644 index 00000000..8fb15877 --- /dev/null +++ b/allianceauth/custom_css/migrations/0005_customcss_timestamp.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.15 on 2024-08-14 09:35 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("custom_css", "0004_alter_customcss_css"), + ] + + operations = [ + migrations.AddField( + model_name="customcss", + name="timestamp", + field=models.DateTimeField(auto_now=True), + ), + ] diff --git a/allianceauth/custom_css/templates/custom_css/bundles/custom-css.html b/allianceauth/custom_css/templates/custom_css/bundles/custom-css.html new file mode 100644 index 00000000..4dd634ed --- /dev/null +++ b/allianceauth/custom_css/templates/custom_css/bundles/custom-css.html @@ -0,0 +1,3 @@ +{% load custom_css %} + +{% custom_css_static 'allianceauth/custom-styles.css' %} diff --git a/allianceauth/custom_css/templatetags/__init__.py b/allianceauth/custom_css/templatetags/__init__.py new file mode 100644 index 00000000..e0365e18 --- /dev/null +++ b/allianceauth/custom_css/templatetags/__init__.py @@ -0,0 +1,3 @@ +""" +Init file for custom_css templatetags +""" diff --git a/allianceauth/custom_css/templatetags/custom_css.py b/allianceauth/custom_css/templatetags/custom_css.py new file mode 100644 index 00000000..2f355d45 --- /dev/null +++ b/allianceauth/custom_css/templatetags/custom_css.py @@ -0,0 +1,44 @@ +""" +Custom template tags for custom_css app +""" + +# Alliance Auth Custom CSS +from allianceauth.custom_css.models import CustomCSS + +# Django +from django.conf import settings +from django.template.defaulttags import register +from django.templatetags.static import static +from django.utils.safestring import mark_safe + +from pathlib import Path + + +@register.simple_tag +def custom_css_static(path: str) -> str: + """ + Versioned static URL + This is to make sure to break the browser cache on CSS updates. + + Example: /static/allianceauth/custom-styles.css?v=1234567890 + + :param path: + :type path: + :return: + :rtype: + """ + + custom_css_changed = CustomCSS.objects.first().timestamp.timestamp() + custom_css_version = ( + str(custom_css_changed).replace(" ", "").replace(":", "").replace("-", "") + ) # remove spaces, colons, and dashes + static_url = static(path) + + try: + Path(f"{settings.STATIC_ROOT}allianceauth/custom-styles.css").resolve(strict=True) + except FileNotFoundError: + return "" + else: + versioned_url = static_url + "?v=" + custom_css_version + + return mark_safe(f'') diff --git a/allianceauth/templates/allianceauth/base-bs5.html b/allianceauth/templates/allianceauth/base-bs5.html index 58235b9e..4e9a31eb 100644 --- a/allianceauth/templates/allianceauth/base-bs5.html +++ b/allianceauth/templates/allianceauth/base-bs5.html @@ -35,6 +35,8 @@ {% block extra_css %}{% endblock extra_css %} + + {% include 'custom_css/bundles/custom-css.html' %} From d2f048f8fed9facff5a8ca1ade85f9fea11f1d83 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 12:45:47 +0200 Subject: [PATCH 06/33] [ADD Example template for admin overrides For when we might want to add syntax highlight ti it, which is a completely different can of worms though. --- allianceauth/custom_css/admin.py | 3 ++ allianceauth/custom_css/forms.py | 10 +++- .../custom_css/admin/change_form.html | 48 +++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 allianceauth/custom_css/templates/custom_css/admin/change_form.html diff --git a/allianceauth/custom_css/admin.py b/allianceauth/custom_css/admin.py index 0b5f79ec..debc4f16 100644 --- a/allianceauth/custom_css/admin.py +++ b/allianceauth/custom_css/admin.py @@ -20,3 +20,6 @@ class CustomCSSAdmin(SingletonModelAdmin): """ form = CustomCSSAdminForm + + # Leave this here for when we decide to add syntax highlighting to the CSS editor + # change_form_template = 'custom_css/admin/change_form.html' diff --git a/allianceauth/custom_css/forms.py b/allianceauth/custom_css/forms.py index f9a1f205..6823b204 100644 --- a/allianceauth/custom_css/forms.py +++ b/allianceauth/custom_css/forms.py @@ -18,4 +18,12 @@ class CustomCSSAdminForm(forms.ModelForm): class Meta: model = CustomCSS fields = ("css",) - widgets = {"css": CssEditorWidget(attrs={"style": "width: 90%; height: 100%;"})} + widgets = { + "css": CssEditorWidget( + attrs={ + "style": "width: 90%; height: 100%;", + "data-editor": "code-highlight", + "data-language": "css", + } + ) + } diff --git a/allianceauth/custom_css/templates/custom_css/admin/change_form.html b/allianceauth/custom_css/templates/custom_css/admin/change_form.html new file mode 100644 index 00000000..d8c921f2 --- /dev/null +++ b/allianceauth/custom_css/templates/custom_css/admin/change_form.html @@ -0,0 +1,48 @@ +{% extends "admin/change_form.html" %} + +{% block field_sets %} + {% for fieldset in adminform %} +
+ {% if fieldset.name %}

{{ fieldset.name }}

{% endif %} + + {% if fieldset.description %} +
{{ fieldset.description|safe }}
+ {% endif %} + + {% for line in fieldset %} +
+ {% if line.fields|length == 1 %}{{ line.errors }}{% else %}
{% endif %} + + {% for field in line %} +
+ {% if not line.fields|length == 1 and not field.is_readonly %}{{ field.errors }}{% endif %} + +
+ {% if field.is_checkbox %} + {{ field.field }}{{ field.label_tag }} + {% else %} + {{ field.label_tag }} + {% if field.is_readonly %} +
{{ field.contents }}
+ {% else %} + {{ field.field }} + {% endif %} + {% endif %} +
+ + {% if field.field.help_text %} +
+
{{ field.field.help_text|safe }}
+
+ {% endif %} +
+ {% endfor %} + + {% if not line.fields|length == 1 %}
{% endif %} +
+ {% endfor %} +
+ {% endfor %} +{% endblock %} + +{% block after_field_sets %}{% endblock %} From 3315ae7778cf47787d095788b745cc0176da448a Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 12:47:38 +0200 Subject: [PATCH 07/33] [ADD] Module to base settings file --- allianceauth/project_template/project_name/settings/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/allianceauth/project_template/project_name/settings/base.py b/allianceauth/project_template/project_name/settings/base.py index 0291913b..14469132 100644 --- a/allianceauth/project_template/project_name/settings/base.py +++ b/allianceauth/project_template/project_name/settings/base.py @@ -39,6 +39,7 @@ INSTALLED_APPS = [ 'allianceauth.theme.darkly', 'allianceauth.theme.flatly', 'allianceauth.theme.materia', + "allianceauth.custom_css", ] SECRET_KEY = "wow I'm a really bad default secret key" From a8271c418902a220f161c0c0d2d43a660de60913 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 12:58:01 +0200 Subject: [PATCH 08/33] [CHANGE] Remove custom CSS file when it will be empty --- allianceauth/custom_css/models.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/allianceauth/custom_css/models.py b/allianceauth/custom_css/models.py index 27c22f67..d3c3cebd 100644 --- a/allianceauth/custom_css/models.py +++ b/allianceauth/custom_css/models.py @@ -3,6 +3,7 @@ Models for the custom_css app """ import hashlib +import os import re import sys @@ -61,11 +62,19 @@ class CustomCSS(SingletonModel): self.pk = 1 - custom_css_file = open( - f"{settings.STATIC_ROOT}allianceauth/custom-styles.css", "w+" - ) - custom_css_file.write(self.compress_css()) - custom_css_file.close() + if len(self.css.replace(" ", "")) > 0: + # Write the custom CSS to a file + custom_css_file = open( + f"{settings.STATIC_ROOT}allianceauth/custom-styles.css", "w+" + ) + custom_css_file.write(self.compress_css()) + custom_css_file.close() + else: + # Remove the custom CSS file + try: + os.remove(f"{settings.STATIC_ROOT}allianceauth/custom-styles.css") + except FileNotFoundError: + pass super().save(*args, **kwargs) From 3c2c137dad277cccfb3dfdb66a64bfb844fe721a Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 13:05:32 +0200 Subject: [PATCH 09/33] [CHANGE] improve try block in template tag --- allianceauth/custom_css/templatetags/custom_css.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/allianceauth/custom_css/templatetags/custom_css.py b/allianceauth/custom_css/templatetags/custom_css.py index 2f355d45..d3a935a9 100644 --- a/allianceauth/custom_css/templatetags/custom_css.py +++ b/allianceauth/custom_css/templatetags/custom_css.py @@ -28,17 +28,16 @@ def custom_css_static(path: str) -> str: :rtype: """ - custom_css_changed = CustomCSS.objects.first().timestamp.timestamp() - custom_css_version = ( - str(custom_css_changed).replace(" ", "").replace(":", "").replace("-", "") - ) # remove spaces, colons, and dashes - static_url = static(path) - try: - Path(f"{settings.STATIC_ROOT}allianceauth/custom-styles.css").resolve(strict=True) + Path(f"{settings.STATIC_ROOT}{path}").resolve(strict=True) except FileNotFoundError: return "" else: + custom_css_changed = CustomCSS.objects.first().timestamp.timestamp() + custom_css_version = ( + str(custom_css_changed).replace(" ", "").replace(":", "").replace("-", "") + ) # remove spaces, colons, and dashes + static_url = static(path) versioned_url = static_url + "?v=" + custom_css_version return mark_safe(f'') From 710149ec21d36d390e024871bc31b2c6a2f60396 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 13:22:23 +0200 Subject: [PATCH 10/33] [FIX] Check if the CustomCSS object exists --- .../custom_css/templatetags/custom_css.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/allianceauth/custom_css/templatetags/custom_css.py b/allianceauth/custom_css/templatetags/custom_css.py index d3a935a9..3c01602f 100644 --- a/allianceauth/custom_css/templatetags/custom_css.py +++ b/allianceauth/custom_css/templatetags/custom_css.py @@ -33,11 +33,16 @@ def custom_css_static(path: str) -> str: except FileNotFoundError: return "" else: - custom_css_changed = CustomCSS.objects.first().timestamp.timestamp() - custom_css_version = ( - str(custom_css_changed).replace(" ", "").replace(":", "").replace("-", "") - ) # remove spaces, colons, and dashes - static_url = static(path) - versioned_url = static_url + "?v=" + custom_css_version + try: + custom_css = CustomCSS.objects.get(pk=1) + except CustomCSS.DoesNotExist: + return "" + else: + custom_css_changed = custom_css.timestamp.timestamp() + custom_css_version = ( + str(custom_css_changed).replace(" ", "").replace(":", "").replace("-", "") + ) # remove spaces, colons, and dashes + static_url = static(path) + versioned_url = static_url + "?v=" + custom_css_version - return mark_safe(f'') + return mark_safe(f'') From ecc9e68330b420dfa4fc04f962f9e768baba6886 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Wed, 14 Aug 2024 13:25:49 +0200 Subject: [PATCH 11/33] [CHANGE] Consolidate migrations --- .../custom_css/migrations/0001_initial.py | 13 +++++++++-- .../migrations/0002_alter_customcss_css.py | 22 ------------------ .../migrations/0003_alter_customcss_css.py | 23 ------------------- .../migrations/0004_alter_customcss_css.py | 23 ------------------- .../migrations/0005_customcss_timestamp.py | 18 --------------- 5 files changed, 11 insertions(+), 88 deletions(-) delete mode 100644 allianceauth/custom_css/migrations/0002_alter_customcss_css.py delete mode 100644 allianceauth/custom_css/migrations/0003_alter_customcss_css.py delete mode 100644 allianceauth/custom_css/migrations/0004_alter_customcss_css.py delete mode 100644 allianceauth/custom_css/migrations/0005_customcss_timestamp.py diff --git a/allianceauth/custom_css/migrations/0001_initial.py b/allianceauth/custom_css/migrations/0001_initial.py index 97dfe866..8ce51302 100644 --- a/allianceauth/custom_css/migrations/0001_initial.py +++ b/allianceauth/custom_css/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.15 on 2024-08-10 15:53 +# Generated by Django 4.2.15 on 2024-08-14 11:25 from django.db import migrations, models @@ -22,7 +22,16 @@ class Migration(migrations.Migration): verbose_name="ID", ), ), - ("css", models.TextField()), + ( + "css", + models.TextField( + blank=True, + help_text="This CSS will be added to the site after the default CSS.", + null=True, + verbose_name="Your custom CSS", + ), + ), + ("timestamp", models.DateTimeField(auto_now=True)), ], options={ "verbose_name": "Custom CSS", diff --git a/allianceauth/custom_css/migrations/0002_alter_customcss_css.py b/allianceauth/custom_css/migrations/0002_alter_customcss_css.py deleted file mode 100644 index f4ba84da..00000000 --- a/allianceauth/custom_css/migrations/0002_alter_customcss_css.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.2.15 on 2024-08-10 15:56 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("custom_css", "0001_initial"), - ] - - operations = [ - migrations.AlterField( - model_name="customcss", - name="css", - field=models.TextField( - blank=True, - help_text="Custom CSS that will be added to the site. This CSS will be added to the site after the default CSS.", - null=True, - ), - ), - ] diff --git a/allianceauth/custom_css/migrations/0003_alter_customcss_css.py b/allianceauth/custom_css/migrations/0003_alter_customcss_css.py deleted file mode 100644 index 28431cd2..00000000 --- a/allianceauth/custom_css/migrations/0003_alter_customcss_css.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.2.15 on 2024-08-10 15:58 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("custom_css", "0002_alter_customcss_css"), - ] - - operations = [ - migrations.AlterField( - model_name="customcss", - name="css", - field=models.TextField( - blank=True, - help_text="Custom CSS that will be added to the site. This CSS will be added to the site after the default CSS.", - null=True, - verbose_name="Your custom CSS", - ), - ), - ] diff --git a/allianceauth/custom_css/migrations/0004_alter_customcss_css.py b/allianceauth/custom_css/migrations/0004_alter_customcss_css.py deleted file mode 100644 index 2373652a..00000000 --- a/allianceauth/custom_css/migrations/0004_alter_customcss_css.py +++ /dev/null @@ -1,23 +0,0 @@ -# Generated by Django 4.2.15 on 2024-08-10 15:58 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("custom_css", "0003_alter_customcss_css"), - ] - - operations = [ - migrations.AlterField( - model_name="customcss", - name="css", - field=models.TextField( - blank=True, - help_text="This CSS will be added to the site after the default CSS.", - null=True, - verbose_name="Your custom CSS", - ), - ), - ] diff --git a/allianceauth/custom_css/migrations/0005_customcss_timestamp.py b/allianceauth/custom_css/migrations/0005_customcss_timestamp.py deleted file mode 100644 index 8fb15877..00000000 --- a/allianceauth/custom_css/migrations/0005_customcss_timestamp.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.2.15 on 2024-08-14 09:35 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("custom_css", "0004_alter_customcss_css"), - ] - - operations = [ - migrations.AddField( - model_name="customcss", - name="timestamp", - field=models.DateTimeField(auto_now=True), - ), - ] From e0d76dc268791e5deaaece107de172879f735d99 Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Tue, 20 Aug 2024 14:41:43 +0200 Subject: [PATCH 12/33] [CHANGE] Switch to Django Solo --- allianceauth/custom_css/admin.py | 12 ++-- allianceauth/custom_css/models.py | 8 +-- allianceauth/framework/admin.py | 58 ------------------- allianceauth/framework/models.py | 47 --------------- .../project_name/settings/base.py | 1 + pyproject.toml | 1 + 6 files changed, 11 insertions(+), 116 deletions(-) delete mode 100644 allianceauth/framework/admin.py delete mode 100644 allianceauth/framework/models.py diff --git a/allianceauth/custom_css/admin.py b/allianceauth/custom_css/admin.py index debc4f16..093e18e8 100644 --- a/allianceauth/custom_css/admin.py +++ b/allianceauth/custom_css/admin.py @@ -2,16 +2,16 @@ Admin classes for custom_css app """ +# Django +from django.contrib import admin + +# Django Solos +from solo.admin import SingletonModelAdmin + # Alliance Auth Custom CSS from allianceauth.custom_css.models import CustomCSS from allianceauth.custom_css.forms import CustomCSSAdminForm -# Alliance Auth Framework -from allianceauth.framework.admin import SingletonModelAdmin - -# Django -from django.contrib import admin - @admin.register(CustomCSS) class CustomCSSAdmin(SingletonModelAdmin): diff --git a/allianceauth/custom_css/models.py b/allianceauth/custom_css/models.py index d3c3cebd..c831cf6b 100644 --- a/allianceauth/custom_css/models.py +++ b/allianceauth/custom_css/models.py @@ -2,13 +2,11 @@ Models for the custom_css app """ -import hashlib import os import re -import sys -# Alliance Auth Framework -from allianceauth.framework.models import SingletonModel +# Django Solo +from solo.models import SingletonModel # Django from django.conf import settings @@ -62,7 +60,7 @@ class CustomCSS(SingletonModel): self.pk = 1 - if len(self.css.replace(" ", "")) > 0: + if self.css and len(self.css.replace(" ", "")) > 0: # Write the custom CSS to a file custom_css_file = open( f"{settings.STATIC_ROOT}allianceauth/custom-styles.css", "w+" diff --git a/allianceauth/framework/admin.py b/allianceauth/framework/admin.py deleted file mode 100644 index 8fb8e678..00000000 --- a/allianceauth/framework/admin.py +++ /dev/null @@ -1,58 +0,0 @@ -""" -Admin classes for the framework app -""" - -from django.contrib import admin - - -class SingletonModelAdmin(admin.ModelAdmin): - """ - Singleton Model Admin - Prevents Django admin users deleting the singleton or adding extra rows. - """ - - actions = None # Removes the default delete action. - - def has_add_permission(self, request): # pylint: disable=unused-argument - """ - Has "add" permissions - - :param request: - :type request: - :return: - :rtype: - """ - - return self.model.objects.all().count() == 0 - - def has_change_permission( - self, request, obj=None # pylint: disable=unused-argument - ): - """ - Has "change" permissions - - :param request: - :type request: - :param obj: - :type obj: - :return: - :rtype: - """ - - return True - - def has_delete_permission( - self, request, obj=None # pylint: disable=unused-argument - ): - """ - Has "delete" permissions - - :param request: - :type request: - :param obj: - :type obj: - :return: - :rtype: - """ - - return False diff --git a/allianceauth/framework/models.py b/allianceauth/framework/models.py deleted file mode 100644 index 071de410..00000000 --- a/allianceauth/framework/models.py +++ /dev/null @@ -1,47 +0,0 @@ -""" -AA framework models -""" - -from django.db import models - - -class SingletonModel(models.Model): - """ - SingletonModel - """ - - class Meta: # pylint: disable=too-few-public-methods - """ - Model meta definitions - """ - - abstract = True - - def save(self, *args, **kwargs): - """ - "Save" action - - :param args: - :type args: - :param kwargs: - :type kwargs: - :return: - :rtype: - """ - - self.pk = 1 - super().save(*args, **kwargs) - - def delete(self, *args, **kwargs): - """ - "Delete" action - - :param args: - :type args: - :param kwargs: - :type kwargs: - :return: - :rtype: - """ - - pass # pylint: disable=unnecessary-pass diff --git a/allianceauth/project_template/project_name/settings/base.py b/allianceauth/project_template/project_name/settings/base.py index 14469132..cf26fe4a 100644 --- a/allianceauth/project_template/project_name/settings/base.py +++ b/allianceauth/project_template/project_name/settings/base.py @@ -22,6 +22,7 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'django.contrib.humanize', 'django_celery_beat', + 'solo', 'bootstrapform', 'django_bootstrap5', # https://github.com/zostera/django-bootstrap5 'sortedm2m', diff --git a/pyproject.toml b/pyproject.toml index a2568a40..35edbe64 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,6 +50,7 @@ dependencies = [ "django-esi>=5", "django-redis>=5.2", "django-registration<3.4,>=3.3", + "django-solo", "django-sortedm2m", "dnspython", "mysqlclient>=2.1", From 98efb9f8874341fb08253b21d978c65079e4c3bd Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:24:17 +1000 Subject: [PATCH 13/33] split maintenance tasks into bare metal / docker --- docs/features/apps/autogroups.md | 28 ++++++- docs/features/apps/corpstats.md | 26 +++++- docs/features/apps/fleetactivitytracking.md | 26 +++++- docs/features/apps/hrapplications.md | 26 +++++- docs/features/apps/optimer.md | 26 +++++- docs/features/apps/permissions_tool.md | 28 ++++++- docs/features/apps/srp.md | 26 +++++- docs/features/apps/timerboard.md | 26 +++++- docs/features/services/discord.md | 36 ++++++-- docs/features/services/discourse.md | 34 +++++++- docs/features/services/xenforo.md | 34 +++++++- docs/maintenance/apps.md | 92 +++++++++++++++++++-- 12 files changed, 380 insertions(+), 28 deletions(-) diff --git a/docs/features/apps/autogroups.md b/docs/features/apps/autogroups.md index 7bce5ebf..0394c1bc 100644 --- a/docs/features/apps/autogroups.md +++ b/docs/features/apps/autogroups.md @@ -4,9 +4,33 @@ Auto Groups allows you to automatically place users of certain states into corp ## Installation -This is an optional app that needs to be installed. +- Add `'allianceauth.eveonline.autogroups',` to `INSTALLED_APPS` in your `local.py` -To install this app add `'allianceauth.eveonline.autogroups',` to your `INSTALLED_APPS` list and run migrations. All other settings are controlled via the admin panel under the `Eve_Autogroups` section. +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: + +All other settings are controlled via the admin panel under the `Eve_Autogroups` section. ## Configuring a group diff --git a/docs/features/apps/corpstats.md b/docs/features/apps/corpstats.md index c96d4240..bdedaf54 100644 --- a/docs/features/apps/corpstats.md +++ b/docs/features/apps/corpstats.md @@ -8,7 +8,31 @@ This module is used to check the registration status of Corp members and to dete Corp Stats requires access to the `esi-corporations.read_corporation_membership.v1` SSO scope. Update your application on the [EVE Developers site](https://developers.eveonline.com) to ensure it is available. -Add `'allianceauth.corputils',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.corputils',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Creating a Corp Stats diff --git a/docs/features/apps/fleetactivitytracking.md b/docs/features/apps/fleetactivitytracking.md index d34c3794..ea4bef2c 100644 --- a/docs/features/apps/fleetactivitytracking.md +++ b/docs/features/apps/fleetactivitytracking.md @@ -8,7 +8,31 @@ The Fleet Activity Tracking (FAT) app allows you to track fleet participation. Fleet Activity Tracking requires access to the `esi-location.read_location.v1`, `esi-location.read_ship_type.v1`, and `esi-universe.read_structures.v1` SSO scopes. Update your application on the [EVE Developers site](https://developers.eveonline.com) to ensure these are available. -Add `'allianceauth.fleetactivitytracking',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +Add `'allianceauth.fleetactivitytracking',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Permissions diff --git a/docs/features/apps/hrapplications.md b/docs/features/apps/hrapplications.md index 9833591d..4524f9c5 100644 --- a/docs/features/apps/hrapplications.md +++ b/docs/features/apps/hrapplications.md @@ -10,7 +10,31 @@ This app allows you to manage applications for multiple corporations in your all ## Installation -Add `'allianceauth.hrapplications',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.hrapplications',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Management diff --git a/docs/features/apps/optimer.md b/docs/features/apps/optimer.md index 91bbb3e2..4a6540bb 100644 --- a/docs/features/apps/optimer.md +++ b/docs/features/apps/optimer.md @@ -6,7 +6,31 @@ Fleet Operations is an app for organizing and communicating fleet schedules. ## Installation -Add `'allianceauth.optimer',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.optimer',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Permissions diff --git a/docs/features/apps/permissions_tool.md b/docs/features/apps/permissions_tool.md index 419971f3..6fae5eff 100644 --- a/docs/features/apps/permissions_tool.md +++ b/docs/features/apps/permissions_tool.md @@ -2,9 +2,33 @@ Access to most of Alliance Auth's features is controlled by Django's permissions system. To help you secure your services, Alliance Auth provides a permission auditing tool. -This is an optional app that needs to be installed. +## Installation -To install it add `'allianceauth.permissions_tool',` to your `INSTALLED_APPS` list in your auth project's settings file. +- Add `'allianceauth.permissions_tool',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Usage diff --git a/docs/features/apps/srp.md b/docs/features/apps/srp.md index 7663bb04..e76ebf97 100644 --- a/docs/features/apps/srp.md +++ b/docs/features/apps/srp.md @@ -6,7 +6,31 @@ Ship Replacement helps you to organize ship replacement programs (SRP) for your ## Installation -Add `'allianceauth.srp',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.srp',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Permissions diff --git a/docs/features/apps/timerboard.md b/docs/features/apps/timerboard.md index 6a134b2c..a79bb62b 100644 --- a/docs/features/apps/timerboard.md +++ b/docs/features/apps/timerboard.md @@ -6,7 +6,31 @@ Structure Timers helps you keep track of both offensive and defensive structure ## Installation -Add `'allianceauth.timerboard',` to your `INSTALLED_APPS` list in your auth project's settings file. Run migrations to complete installation. +- Add `'allianceauth.timerboard',` to `INSTALLED_APPS` in your `local.py` + +Perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: ## Permissions diff --git a/docs/features/services/discord.md b/docs/features/services/discord.md index 106ac480..7f04ed8d 100644 --- a/docs/features/services/discord.md +++ b/docs/features/services/discord.md @@ -6,13 +6,13 @@ Discord is a web-based instant messaging client with voice. Kind of like TeamSpe Discord is very popular amongst ad-hoc small groups and larger organizations seeking a modern technology. Alternative voice communications should be investigated for larger than small-medium groups for more advanced features. -## Setup +## Setup Auth ### Prepare Your Settings File Make the following changes in your auth project's settings file (`local.py`): -- Add `'allianceauth.services.modules.discord',` to `INSTALLED_APPS` +- Add `'allianceauth.services.modules.discord',` to `INSTALLED_APPS` in your `local.py` - Append the following to the bottom of the settings file: ```python @@ -37,6 +37,34 @@ CELERYBEAT_SCHEDULE['discord.update_all_usernames'] = { You will have to add most of the values for these settings, e.g., your Discord server ID (aka guild ID), later in the setup process. ::: +### Preparing Auth + +Before continuing, it is essential to perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: + +## Setup Discord + ### Creating a Server Navigate to the [Discord site](https://discord.com/) and register an account, or log in if you have one already. @@ -67,10 +95,6 @@ Update your auth project's settings file with these pieces of information from t - From the OAuth2 > General panel, `DISCORD_APP_SECRET` is the Client Secret - From the Bot panel, `DISCORD_BOT_TOKEN` is the Token -### Preparing Auth - -Before continuing, it is essential to run migrations and restart Gunicorn and Celery. - ### Adding a Bot to the Server Once created, navigate to the "Services" page of your Alliance Auth install as the superuser account. At the top there is a big green button labeled "Link Discord Server". Click it, then from the drop-down select the server you created, and then Authorize. diff --git a/docs/features/services/discourse.md b/docs/features/services/discourse.md index 0f383d61..7ed2082e 100644 --- a/docs/features/services/discourse.md +++ b/docs/features/services/discourse.md @@ -1,11 +1,13 @@ # Discourse -## Prepare Your Settings +## Setup Auth + +### Prepare Your Settings File In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.discourse',` to your `INSTALLED_APPS` list -- Append the following to your local.py settings file: +- Add `'allianceauth.services.modules.discourse',` to `INSTALLED_APPS` in your `local.py` +- Append the following to your `local.py` settings file: ```python # Discourse Configuration @@ -15,6 +17,32 @@ DISCOURSE_API_KEY = '' DISCOURSE_SSO_SECRET = '' ``` +### Preparing Auth + +Before continuing, it is essential to perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: + ## Install Docker ```shell diff --git a/docs/features/services/xenforo.md b/docs/features/services/xenforo.md index c83d0475..2d20abb4 100644 --- a/docs/features/services/xenforo.md +++ b/docs/features/services/xenforo.md @@ -4,12 +4,14 @@ [XenForo](https://xenforo.com/) is a popular, paid forum. This guide will assume that you already have XenForo installed with a valid license (please keep in mind that XenForo is not free nor open-source, therefore, you need to purchase a license first). If you come across any problems related with the installation of XenForo please contact their support service. -## Prepare Your Settings +## Setup Auth + +### Prepare Your Settings In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.xenforo',` to your `INSTALLED_APPS` list -- Append the following to your local.py settings file: +- Add `'allianceauth.services.modules.xenforo',` to `INSTALLED_APPS` in your `local.py` +- Append the following to your `local.py` settings file: ```python # XenForo Configuration @@ -18,6 +20,32 @@ XENFORO_DEFAULT_GROUP = 0 XENFORO_APIKEY = 'yourapikey' ``` +### Preparing Auth + +Before continuing, it is essential to perform Django Maintenance and restart our Web Service and Workers. + +::::{tabs} +:::{group-tab} Bare Metal + +```shell +python manage.py migrate +python manage.py collectstatic --noinput +supervisorctl restart myauth: +``` + +::: +:::{group-tab} Containerized + +```shell +docker compose --env-file=.env up -d +docker compose exec allianceauth_gunicorn bash +auth migrate +auth collectstatic +``` + +::: +:::: + ## XenAPI By default, XenForo does not support any kind of API, however, there is a third-party package called [XenAPI](https://github.com/Contex/XenAPI) which provides a simple REST interface by which we can access XenForo's functions to create and edit users. diff --git a/docs/maintenance/apps.md b/docs/maintenance/apps.md index 762269e4..37695083 100644 --- a/docs/maintenance/apps.md +++ b/docs/maintenance/apps.md @@ -4,10 +4,25 @@ Your auth project is just a regular Django project - you can add in [other Django apps](https://djangopackages.org/) as desired. Most come with dedicated setup guides, but here is the general procedure: -1. add `'appname',` to your `INSTALLED_APPS` setting in `local.py` -2. run `python manage.py migrate` -3. run `python manage.py collectstatic --noinput` -4. restart AA with `supervisorctl restart myauth:` +::::{tabs} +:::{group-tab} Bare Metal + +1. Add `'appname',` to `INSTALLED_APPS` setting in `local.py` +1. Run Migrations `python manage.py migrate` +1. Collect Static Files `python manage.py collectstatic --noinput` +1. Restart our Web Service and Workers `supervisorctl restart myauth:` + +::: +:::{group-tab} Containerized + +1. Add `'appname',` to `INSTALLED_APPS` setting in `local.py` +1. Restart our Web Service and Workers `docker compose --env-file=.env up -d` +1. Enter a Docker Container `docker compose exec allianceauth_gunicorn bash` +1. Run Migrations `auth migrate` +1. Collect Static Files `auth collectstatic` + +::: +:::: ## Removing Apps @@ -25,20 +40,38 @@ First, we want to remove the app related tables from the database. Let's first try the automatic approach by running the following command: +::::{tabs} +:::{group-tab} Bare Metal + ```shell python manage.py migrate appname zero ``` +::: +:::{group-tab} Containerized + +```shell +docker compose exec allianceauth_gunicorn bash +python manage.py migrate appname zero +``` + +::: +:::: + If that works, you'll get a confirmation message. -If that did not work, and you got error messages, you will need to remove the tables manually. This is pretty common btw, because many apps use sophisticated table setups, which cannot be removed automatically by Django. +If that did not work, and you got error messages, you will need to remove the tables manually. +> This is pretty common, because many apps use sophisticated table setups, which cannot be removed automatically by Django. #### Manual table removal +::::{tabs} +:::{group-tab} Bare Metal + First, tell Django that these migrations are no longer in effect (note the additional `--fake`): ```shell -python manage.py migrate appname zero --fake +python manage.py appname zero --fake ``` Then, open the mysql tool and connect to your Alliance Auth database: @@ -75,6 +108,53 @@ SET FOREIGN_KEY_CHECKS=1; exit; ``` +::: +:::{group-tab} Containerized + +First, tell Django that these migrations are no longer in effect (note the additional `--fake`): + +```shell +auth migrate appname zero --fake +``` + +Here we need to swap containers, if you are still inside allianceauth_gunicorn, exit with `exit` + +```shell +docker compose exec auth_mysql bash +sudo mysql -u root +use alliance_auth; +``` + +Next, disable foreign key check. This makes it much easier to drop tables in any order. + +```shell +SET FOREIGN_KEY_CHECKS=0; +``` + +Then get a list of all tables. All tables belonging to the app in question will start with `appname_`. + +```shell +show tables; +``` + +Now, drop the tables from the app one by one like so: + +```shell +drop table appname_model_1; +drop table appname_model_2; +... +``` + +And finally, but very importantly, re-enable foreign key checks again and then exit: + +```shell +SET FOREIGN_KEY_CHECKS=1; +exit; +``` + +::: +:::: + ### Step 2 - Remove the app from Alliance Auth Once the tables have been removed, you can remove the app from Alliance Auth. This is done by removing the applabel from the `INSTALLED_APPS` list in your local settings file. From 618ee81f9bbd994e372262c2428e4df4a90dedbf Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:24:37 +1000 Subject: [PATCH 14/33] remove unneeded analytics docs for removed features --- docs/features/core/analytics.md | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/docs/features/core/analytics.md b/docs/features/core/analytics.md index 368f8e6a..d610edb6 100644 --- a/docs/features/core/analytics.md +++ b/docs/features/core/analytics.md @@ -33,23 +33,6 @@ Our Daily Stats contain the following: - A task to send a List of Installed Apps - Each Task contains the UUID and Alliance Auth Version -Our Celery Events contain the following: - -- Unique Identifier (The UUID) -- Celery Namespace of the task e.g., allianceauth.eveonline -- Celery Task -- Task Success or Exception -- A context number for bulk tasks or sometimes a binary True/False - -Our Page Views contain the following: - -- Unique Identifier (The UUID) -- Page Path -- Page Title -- The locale of the users browser -- The User-Agent of the user's browser -- The Alliance Auth Version - ## Why This data allows Alliance Auth development to gather accurate statistics on our installation base, as well as how those installations are used. From 0c090f14866899fd1115afa41c0677f29ddf4873 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:25:01 +1000 Subject: [PATCH 15/33] Ubuntu 2004 should not be reccommended for new isntalls --- docs/installation/allianceauth.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation/allianceauth.md b/docs/installation/allianceauth.md index 117b8fd7..4a9f9f9d 100644 --- a/docs/installation/allianceauth.md +++ b/docs/installation/allianceauth.md @@ -14,7 +14,7 @@ Alliance Auth can be installed on any in-support *nix operating system. Our install documentation targets the following operating systems. -- Ubuntu 20.04 +- Ubuntu 20.04 - Not Recommended for new installs - Ubuntu 22.04 - Centos 7 - CentOS Stream 8 @@ -279,7 +279,7 @@ mysql_secure_installation ### User Account -For security and permissions, it’s highly recommended you create a separate user to install auth under. Do not log in as this account. +For security and permissions, it's highly recommended you create a separate user to install auth under. Do not log in as this account. ::::{tabs} :::{group-tab} Ubuntu 2004, 2204 From 9767ce79d84586441ba952d01ed8559d0fa5b77b Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:26:31 +1000 Subject: [PATCH 16/33] cleanup some local.py references --- docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md | 2 +- docs/features/services/mumble-docker.md | 2 +- docs/features/services/openfire-docker.md | 2 +- docs/features/services/openfire.md | 4 ++-- docs/features/services/phpbb3.md | 2 +- docs/features/services/smf.md | 2 +- docs/features/services/teamspeak3-docker.md | 6 +++--- docs/features/services/teamspeak3.md | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md b/docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md index 9d828abb..64a68a5d 100644 --- a/docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md +++ b/docs/development/dev_setup/aa-dev-setup-wsl-vsc-v2.md @@ -337,7 +337,7 @@ To deactivate, click on the debug icon to switch to the debug view. Then uncheck ### AA debug config -In VSC, click on Debug / Add Configuration and choose "Django". Should Django not appear as an option, make sure to first open a Django file (e.g., the local.py settings) to help VSC detect that you are using Django. +In VSC, click on Debug / Add Configuration and choose "Django". Should Django not appear as an option, make sure to first open a Django file (e.g., the `local.py` settings) to help VSC detect that you are using Django. The result should look something like this: diff --git a/docs/features/services/mumble-docker.md b/docs/features/services/mumble-docker.md index 09df8458..974a3d6b 100644 --- a/docs/features/services/mumble-docker.md +++ b/docs/features/services/mumble-docker.md @@ -8,7 +8,7 @@ Mumble is a free voice chat server. While not as flashy as TeamSpeak, it has all In your auth project's settings file (`aa-docker/conf/local.py`), do the following: -- Add `'allianceauth.services.modules.mumble',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.mumble',` to `INSTALLED_APPS` in your `local.py` - Append the following to your auth project's settings file: ```python diff --git a/docs/features/services/openfire-docker.md b/docs/features/services/openfire-docker.md index e2947f24..cc994f26 100644 --- a/docs/features/services/openfire-docker.md +++ b/docs/features/services/openfire-docker.md @@ -8,7 +8,7 @@ Openfire is a Jabber (XMPP) server. In your auth project's settings file (`aa-docker/conf/local.py`), do the following: -- Add `'allianceauth.services.modules.openfire',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.openfire',` to `INSTALLED_APPS` in your `local.py` - Append the following to your auth project's settings file: ```python diff --git a/docs/features/services/openfire.md b/docs/features/services/openfire.md index c9cd5b84..3897efa0 100644 --- a/docs/features/services/openfire.md +++ b/docs/features/services/openfire.md @@ -4,7 +4,7 @@ Openfire is a Jabber (XMPP) server. ## Prepare Your Settings -- Add `'allianceauth.services.modules.openfire',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.openfire',` to `INSTALLED_APPS` in your `local.py` - Append the following to your auth project's settings file: ```python @@ -108,7 +108,7 @@ exit; The remainder of the setup occurs through Openfire’s web interface. Navigate to , or if you’re behind CloudFlare, go straight to your server’s IP:9090. -Select your language. I sure hope it’s English if you’re reading this guide. +Select your language. Under Server Settings, set the Domain to `example.com` replacing it with your actual domain. Don’t touch the rest. diff --git a/docs/features/services/phpbb3.md b/docs/features/services/phpbb3.md index dadd5eb0..08749788 100644 --- a/docs/features/services/phpbb3.md +++ b/docs/features/services/phpbb3.md @@ -12,7 +12,7 @@ phpBB3 requires PHP installed in your web server. Apache has `mod_php`, NGINX re In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.phpbb3',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.phpbb3',` to `INSTALLED_APPS` in your `local.py` - Append the following to the bottom of the settings file: ```python diff --git a/docs/features/services/smf.md b/docs/features/services/smf.md index 3a39334e..378832f9 100644 --- a/docs/features/services/smf.md +++ b/docs/features/services/smf.md @@ -12,7 +12,7 @@ SMF requires PHP installed in your web server. Apache has `mod_php`, NGINX requi In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.smf',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.smf',` to `INSTALLED_APPS` in your `local.py` - Append the following to the bottom of the settings file: ```python diff --git a/docs/features/services/teamspeak3-docker.md b/docs/features/services/teamspeak3-docker.md index 81c2f24d..909da783 100644 --- a/docs/features/services/teamspeak3-docker.md +++ b/docs/features/services/teamspeak3-docker.md @@ -14,7 +14,7 @@ Sticking with TS3? Alright, I tried. In your auth project's settings file (`aa-docker/conf/local.py`), do the following: -- Add `'allianceauth.services.modules.teamspeak',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.teamspeak',` to `INSTALLED_APPS` in your `local.py` - Append the following to your auth project's settings file: ```python @@ -32,7 +32,7 @@ CELERYBEAT_SCHEDULE['run_ts3_group_update'] = { } ``` -Add the following lines to your `.env` file +- Add the following lines to your `.env` file ```env # Temspeak @@ -152,7 +152,7 @@ If you have SSH access to the server hosting it, you need to locate the teamspea ### `520 invalid loginname or password` -The serverquery account login specified in local.py is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them. +The serverquery account login specified in `local.py` is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them. ### `2568 insufficient client permissions` diff --git a/docs/features/services/teamspeak3.md b/docs/features/services/teamspeak3.md index 8f2baee0..4c58ac21 100644 --- a/docs/features/services/teamspeak3.md +++ b/docs/features/services/teamspeak3.md @@ -14,7 +14,7 @@ Sticking with TS3? Alright, I tried. In your auth project's settings file, do the following: -- Add `'allianceauth.services.modules.teamspeak3',` to your `INSTALLED_APPS` list +- Add `'allianceauth.services.modules.teamspeak3',` to `INSTALLED_APPS` in your `local.py` - Append the following to the bottom of the settings file: ```python @@ -170,7 +170,7 @@ If you have SSH access to the server hosting it, you need to locate the teamspea ### `520 invalid loginname or password` -The serverquery account login specified in local.py is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them. +The serverquery account login specified in `local.py` is incorrect. Please verify `TEAMSPEAK3_SERVERQUERY_USER` and `TEAMSPEAK3_SERVERQUERY_PASSWORD`. The [installation section](#update-settings) describes where to get them. ### `2568 insufficient client permissions` From 7051e06564ebe128ff36c283c49b9e543758dbb8 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:26:43 +1000 Subject: [PATCH 17/33] update features from readme --- docs/features/overview.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/features/overview.md b/docs/features/overview.md index d62882c9..78cb3227 100644 --- a/docs/features/overview.md +++ b/docs/features/overview.md @@ -4,9 +4,9 @@ It has the following key features: -- Automatically grants or revokes users access to external services (e.g. Discord, Mumble) and web apps (e.g. SRP requests) based on the user's current membership to [in-game organizations](/features/core/states) and [groups](/features/core/groups) +- Automatically grants or revokes user access to external services (e.g. Discord, Mumble) and web apps (e.g. SRP requests) based on the user's current membership to [in-game organizations](/features/core/states) and [groups](/features/core/groups) -- Provides a central website where users can directly access web apps (e.g., SRP requests) and manage their access to external services and groups. +- Provides a central web site where users can directly access web apps (e.g. SRP requests, Fleet Schedule) and manage their access to external services and groups. - Includes a set of connectors (called ["services"](/features/services/index)) for integrating access management with many popular external services like Discord, Mumble, Teamspeak 3, SMF and others @@ -14,4 +14,4 @@ It has the following key features: - It can be easily extended with additional services and apps. Many are provided by the [community](/features/community/index). -- Chinese, English, German and Spanish localization +- English :flag_gb:, Chinese :flag_cn:, German :flag_de:, Spanish :flag_es:, Korean :flag_kr:, Russian :flag_ru:, Italian :flag_it:, French :flag_fr:, Japanese :flag_jp: and Ukrainian :flag_ua: Localization From 46020973991da4747a322a6b03839364f7d51a7e Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:27:02 +1000 Subject: [PATCH 18/33] remove DB step from mumble install, sqlite has been reccommended for a while --- docs/features/services/mumble.md | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/docs/features/services/mumble.md b/docs/features/services/mumble.md index 6a7112fc..ded2d835 100644 --- a/docs/features/services/mumble.md +++ b/docs/features/services/mumble.md @@ -58,17 +58,7 @@ pip install -r requirements.txt ## Configuring Mumble Server -The mumble server needs its own database. Open an SQL shell with `mysql -u root -p` and execute the SQL commands to create it: - -```sql -CREATE DATABASE alliance_mumble CHARACTER SET utf8mb4; -``` - -```sql -GRANT ALL PRIVILEGES ON alliance_mumble . * TO 'allianceserver'@'localhost'; -``` - -Mumble ships with a configuration file that needs customization. By default, it’s located at `/etc/mumble-server.ini`. Open it with your favorite text editor: +Mumble ships with a configuration file that needs customization. By default, it's located at `/etc/mumble-server.ini`. Open it with your favorite text editor: ```shell sudo nano /etc/mumble-server.ini @@ -79,15 +69,6 @@ We need to enable the ICE authenticator. Edit the following: - `icesecretwrite=MY_CLEVER_PASSWORD`, obviously choosing a secure password - ensure the line containing `Ice="tcp -h 127.0.0.1 -p 6502"` is uncommented -We also want to enable Mumble to use the previously created MySQL / MariaDB database, edit the following: - -- uncomment the database line, and change it to `database=alliance_mumble` -- `dbDriver=QMYSQL` -- `dbUsername=allianceserver` or whatever you called the Alliance Auth MySQL user -- `dbPassword=` that user’s password -- `dbPort=3306` -- `dbPrefix=murmur_` - To name your root channel, uncomment and set `registerName=` to whatever cool name you want Save and close the file. @@ -98,7 +79,7 @@ To get Mumble superuser account credentials, run the following: sudo dpkg-reconfigure mumble-server ``` -Set the password to something you’ll remember and write it down. This is your superuser password and later needed to manage ACLs. +Set the password to something you'll remember and write it down. This is your superuser password and later needed to manage ACLs. Now restart the server to see the changes reflected. @@ -106,7 +87,7 @@ Now restart the server to see the changes reflected. sudo service mumble-server restart ``` -That’s it! Your server is ready to be connected to at example.com:64738 +That's it! Your server is ready to be connected to at example.com:64738 ## Configuring Mumble Authenticator From c34efebacf58194a35f6d08237f9e223b2b0d899 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Tue, 3 Sep 2024 12:27:50 +1000 Subject: [PATCH 19/33] define charsets for db backed apps --- docs/features/services/phpbb3.md | 1 + docs/features/services/smf.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/features/services/phpbb3.md b/docs/features/services/phpbb3.md index 08749788..4c2c69c1 100644 --- a/docs/features/services/phpbb3.md +++ b/docs/features/services/phpbb3.md @@ -25,6 +25,7 @@ DATABASES['phpbb3'] = { 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '3306', + 'OPTIONS': {'charset': 'utf8mb4'}, } ``` diff --git a/docs/features/services/smf.md b/docs/features/services/smf.md index 378832f9..aada3b78 100644 --- a/docs/features/services/smf.md +++ b/docs/features/services/smf.md @@ -25,6 +25,7 @@ DATABASES['smf'] = { 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '3306', + 'OPTIONS': {'charset': 'utf8mb4'}, } ``` From 737e02293a87ce5302127a4224fe6cb4c7e0000f Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Mon, 9 Sep 2024 12:59:49 +1000 Subject: [PATCH 20/33] expand mumble service install docs --- docs/features/services/mumble.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/features/services/mumble.md b/docs/features/services/mumble.md index ded2d835..2e9c7253 100644 --- a/docs/features/services/mumble.md +++ b/docs/features/services/mumble.md @@ -14,11 +14,11 @@ This guide is currently for Ubuntu only. ### Installing Mumble Server -::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 - The mumble server package can be retrieved from a repository, which we need to add: +::::{tabs} +:::{group-tab} Ubuntu 2004, 2204, 2404 + ```shell sudo apt-add-repository ppa:mumble/release ``` @@ -30,9 +30,16 @@ sudo apt-get update Now three packages need to be installed: ```shell -sudo apt-get install python-software-properties mumble-server libqt5sql5-mysql +sudo apt-get install software-properties-common mumble-server libqt5sql5-mysql ``` +::: +:::{group-tab} CentOS 7, Stream 8, Stream 9 + +sudo yum install epel-release +sudo yum update +sudo yum install mumble-server + ::: :::: From dd15a221aaa020df3779a38e5ea7ed43681f32f6 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Mon, 9 Sep 2024 13:32:06 +1000 Subject: [PATCH 21/33] split repo from install --- docs/features/services/mumble.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/features/services/mumble.md b/docs/features/services/mumble.md index 2e9c7253..1c08a468 100644 --- a/docs/features/services/mumble.md +++ b/docs/features/services/mumble.md @@ -23,12 +23,20 @@ The mumble server package can be retrieved from a repository, which we need to a sudo apt-add-repository ppa:mumble/release ``` -```shell -sudo apt-get update -``` +::: +:::{group-tab} CentOS 7, Stream 8, Stream 9 + +sudo yum install epel-release +sudo yum update + +::: +:::: Now three packages need to be installed: +::::{tabs} +:::{group-tab} Ubuntu 2004, 2204, 2404 + ```shell sudo apt-get install software-properties-common mumble-server libqt5sql5-mysql ``` @@ -36,8 +44,6 @@ sudo apt-get install software-properties-common mumble-server libqt5sql5-mysql ::: :::{group-tab} CentOS 7, Stream 8, Stream 9 -sudo yum install epel-release -sudo yum update sudo yum install mumble-server ::: From 4a4258d0e60fe9386db03331dbd91f3c28591004 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Mon, 9 Sep 2024 13:32:18 +1000 Subject: [PATCH 22/33] use docker command inside docker --- docs/maintenance/apps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/maintenance/apps.md b/docs/maintenance/apps.md index 37695083..6e0463bb 100644 --- a/docs/maintenance/apps.md +++ b/docs/maintenance/apps.md @@ -52,7 +52,7 @@ python manage.py migrate appname zero ```shell docker compose exec allianceauth_gunicorn bash -python manage.py migrate appname zero +auth migrate appname zero ``` ::: From 0fcb517b0bbfd4e00fd875176c64dd7b828dae1e Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Mon, 9 Sep 2024 03:57:21 +0000 Subject: [PATCH 23/33] Timerboard Improvements --- allianceauth/locale/en/LC_MESSAGES/django.po | 369 ++++++++++-------- allianceauth/timerboard/form.py | 43 +- ...bjective_alter_timer_structure_and_more.py | 28 ++ allianceauth/timerboard/models.py | 80 ++-- .../timerboard/dashboard.timers.html | 2 +- .../templates/timerboard/timertable.html | 193 +++------ allianceauth/timerboard/tests.py | 8 +- 7 files changed, 360 insertions(+), 363 deletions(-) create mode 100644 allianceauth/timerboard/migrations/0006_alter_timer_objective_alter_timer_structure_and_more.py diff --git a/allianceauth/locale/en/LC_MESSAGES/django.po b/allianceauth/locale/en/LC_MESSAGES/django.po index 3af9554b..10044dba 100644 --- a/allianceauth/locale/en/LC_MESSAGES/django.po +++ b/allianceauth/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -88,27 +88,31 @@ msgstr "" msgid "Ukrainian" msgstr "" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "" @@ -120,27 +124,27 @@ msgstr "" msgid "Dashboard" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -149,12 +153,12 @@ msgstr "" msgid "Name" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -164,7 +168,7 @@ msgstr "" msgid "Membership" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "" @@ -395,6 +399,19 @@ msgstr "" msgid "Failed to gather corporation statistics with selected token." msgstr "" +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -487,8 +504,8 @@ msgstr "" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "" @@ -807,7 +824,7 @@ msgstr "" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "" @@ -899,7 +916,7 @@ msgid "Hidden" msgstr "" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "" @@ -1375,16 +1392,16 @@ msgstr "" msgid "Super User" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1534,7 +1551,7 @@ msgid "Form Up System" msgstr "" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "" @@ -1729,17 +1746,17 @@ msgid "" msgstr "" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "" @@ -1819,12 +1836,12 @@ msgstr "" msgid "Deactivated IPSuite4 account." msgstr "" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "" @@ -2386,56 +2403,56 @@ msgstr "" msgid "Your Server received an ESI error response code of " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2444,11 +2461,11 @@ msgid "" " " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "" @@ -2477,105 +2494,203 @@ msgstr "" msgid "Select Theme" msgstr "" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "" + #: allianceauth/timerboard/models.py:14 -msgid "Not Specified" +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" msgstr "" #: allianceauth/timerboard/models.py:15 -msgid "Shield" -msgstr "" - -#: allianceauth/timerboard/models.py:16 -msgid "Armor" -msgstr "" - -#: allianceauth/timerboard/models.py:17 -msgid "Hull" +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" msgstr "" #: allianceauth/timerboard/models.py:18 -msgid "Final" +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" msgstr "" #: allianceauth/timerboard/models.py:19 -msgid "Anchoring" +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" msgstr "" #: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "" + +#: allianceauth/timerboard/models.py:45 +msgid "Not Specified" +msgstr "" + +#: allianceauth/timerboard/models.py:46 +msgid "Shield" +msgstr "" + +#: allianceauth/timerboard/models.py:47 +msgid "Armor" +msgstr "" + +#: allianceauth/timerboard/models.py:48 +msgid "Hull" +msgstr "" + +#: allianceauth/timerboard/models.py:49 +msgid "Final" +msgstr "" + +#: allianceauth/timerboard/models.py:50 +msgid "Anchoring" +msgstr "" + +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "" @@ -2584,7 +2699,7 @@ msgstr "" msgid "Upcoming Timers" msgstr "" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "" @@ -2628,78 +2743,14 @@ msgstr "" msgid "Structure" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "" diff --git a/allianceauth/timerboard/form.py b/allianceauth/timerboard/form.py index e42cc10c..52aab92d 100644 --- a/allianceauth/timerboard/form.py +++ b/allianceauth/timerboard/form.py @@ -1,11 +1,12 @@ -import logging import datetime +import logging + from django import forms -from django.utils import timezone from django.core.validators import MaxValueValidator, MinValueValidator +from django.utils import timezone from django.utils.translation import gettext_lazy as _ -from .models import Timer, TimerType +from .models import Timer logger = logging.getLogger(__name__) @@ -32,54 +33,28 @@ class TimerForm(forms.ModelForm): kwargs.update({'initial': initial}) super().__init__(*args, **kwargs) - structure_choices = [('POCO', 'POCO'), - ('I-HUB', 'I-HUB'), - ('TCU', 'TCU'), - ('POS[S]', 'POS[S]'), - ('POS[M]', 'POS[M]'), - ('POS[L]', 'POS[L]'), - ('Astrahus', 'Astrahus'), - ('Fortizar', 'Fortizar'), - ('Keepstar', 'Keepstar'), - ('Raitaru', 'Raitaru'), - ('Azbel', 'Azbel'), - ('Sotiyo', 'Sotiyo'), - ('Athanor', 'Athanor'), - ('Tatara', 'Tatara'), - ('Pharolux Cyno Beacon', 'Pharolux Cyno Beacon'), - ('Tenebrex Cyno Jammer', 'Tenebrex Cyno Jammer'), - ('Ansiblex Jump Gate', 'Ansiblex Jump Gate'), - ('Moon Mining Cycle', 'Moon Mining Cycle'), - (_('Other'), _('Other'))] - objective_choices = [('Friendly', _('Friendly')), - ('Hostile', _('Hostile')), - ('Neutral', _('Neutral'))] - details = forms.CharField(max_length=254, required=True, label=_('Details')) system = forms.CharField(max_length=254, required=True, label=_("System")) planet_moon = forms.CharField(max_length=254, label=_("Planet/Moon"), required=False, initial="") - structure = forms.ChoiceField(choices=structure_choices, required=True, label=_("Structure Type")) - timer_type = forms.ChoiceField(choices=TimerType.choices, label=_("Timer Type")) - objective = forms.ChoiceField(choices=objective_choices, required=True, label=_("Objective")) + structure = forms.ChoiceField(choices=Timer.Structure.choices, required=True, label=_("Structure Type")) + timer_type = forms.ChoiceField(choices=Timer.TimerType.choices, label=_("Timer Type")) + objective = forms.ChoiceField(choices=Timer.Objective.choices, required=True, label=_("Objective")) absolute_checkbox = forms.BooleanField(label=_("Absolute Timer"), required=False, initial=False) absolute_time = forms.CharField(required=False,label=_("Date and Time")) days_left = forms.IntegerField(required=False, label=_("Days Remaining"), validators=[MinValueValidator(0)]) hours_left = forms.IntegerField(required=False, label=_("Hours Remaining"), validators=[MinValueValidator(0), MaxValueValidator(23)]) - minutes_left = forms.IntegerField(required=False, label=_("Minutes Remaining"), - validators=[MinValueValidator(0), MaxValueValidator(59)]) + minutes_left = forms.IntegerField(required=False, label=_("Minutes Remaining"), validators=[MinValueValidator(0), MaxValueValidator(59)]) important = forms.BooleanField(label=_("Important"), required=False) corp_timer = forms.BooleanField(label=_("Corp-Restricted"), required=False) - def save(self, commit=True): timer = super().save(commit=False) # Get character character = self.user.profile.main_character corporation = character.corporation - logger.debug("Determined timer save request on behalf " - "of character {} corporation {}".format(character, corporation)) + logger.debug(f"Determined timer save request on behalf of character {character} corporation {corporation}") days_left = self.cleaned_data['days_left'] hours_left = self.cleaned_data['hours_left'] diff --git a/allianceauth/timerboard/migrations/0006_alter_timer_objective_alter_timer_structure_and_more.py b/allianceauth/timerboard/migrations/0006_alter_timer_objective_alter_timer_structure_and_more.py new file mode 100644 index 00000000..a6ff915b --- /dev/null +++ b/allianceauth/timerboard/migrations/0006_alter_timer_objective_alter_timer_structure_and_more.py @@ -0,0 +1,28 @@ +# Generated by Django 4.2 on 2024-09-09 03:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('timerboard', '0005_alter_timer_planet_moon'), + ] + + operations = [ + migrations.AlterField( + model_name='timer', + name='objective', + field=models.CharField(choices=[('Friendly', 'Friendly'), ('Hostile', 'Hostile'), ('Neutral', 'Neutral')], default='Neutral', max_length=254), + ), + migrations.AlterField( + model_name='timer', + name='structure', + field=models.CharField(choices=[('POCO', 'POCO'), ('Orbital Skyhook', 'Orbital Skyhook'), ('I-HUB', 'I-HUB'), ('TCU', 'TCU'), ('POS[S]', 'POS [S]'), ('POS[M]', 'POS [M]'), ('POS[L]', 'POS [L]'), ('Astrahus', 'Astrahus'), ('Fortizar', 'Fortizar'), ('Keepstar', 'Keepstar'), ('Raitaru', 'Raitaru'), ('Azbel', 'Azbel'), ('Sotiyo', 'Sotiyo'), ('Athanor', 'Athanor'), ('Tatara', 'Tatara'), ('Pharolux Cyno Beacon', 'Pharolux Cyno Beacon'), ('Tenebrex Cyno Jammer', 'Tenebrex Cyno Jammer'), ('Ansiblex Jump Gate', 'Ansiblex Jump Gate'), ('Moon Mining Cycle', 'Moon Mining Cycle'), ('Metenox Moon Drill', 'Metenox Moon Drill'), ('Other', 'Other')], default='Other', max_length=254), + ), + migrations.AlterField( + model_name='timer', + name='timer_type', + field=models.CharField(choices=[('UNSPECIFIED', 'Not Specified'), ('SHIELD', 'Shield'), ('ARMOR', 'Armor'), ('HULL', 'Hull'), ('FINAL', 'Final'), ('ANCHORING', 'Anchoring'), ('UNANCHORING', 'Unanchoring'), ('ABANDONED', 'Abandoned')], default='UNSPECIFIED', max_length=254), + ), + ] diff --git a/allianceauth/timerboard/models.py b/allianceauth/timerboard/models.py index bceafa29..d4127c9b 100644 --- a/allianceauth/timerboard/models.py +++ b/allianceauth/timerboard/models.py @@ -6,34 +6,63 @@ from allianceauth.eveonline.models import EveCharacter from allianceauth.eveonline.models import EveCorporationInfo -class TimerType(models.TextChoices): - """ - Choices for Timer Type - """ - - UNSPECIFIED = "UNSPECIFIED", _("Not Specified") - SHIELD = "SHIELD", _("Shield") - ARMOR = "ARMOR", _("Armor") - HULL = "HULL", _("Hull") - FINAL = "FINAL", _("Final") - ANCHORING = "ANCHORING", _("Anchoring") - UNANCHORING = "UNANCHORING", _("Unanchoring") - - class Timer(models.Model): - class Meta: - ordering = ['eve_time'] + class Objective(models.TextChoices): + """ + Choices for Objective Type + """ + + FRIENDLY = "Friendly", _("Friendly") + HOSTILE = "Hostile", _("Hostile") + NEUTRAL = "Neutral", _("Neutral") + + class Structure(models.TextChoices): + """ + Choices for Structure Type + """ + + POCO = "POCO", _("POCO") + ORBITALSKYHOOK = "Orbital Skyhook", _("Orbital Skyhook") + IHUB = "I-HUB", _("I-HUB") + TCU = "TCU", _("TCU") # Pending Remval + POSS = "POS[S]", _("POS [S]") + POSM = "POS[M]", _("POS [M]") + POSL = "POS[L]", _("POS [L]") + ASTRAHUS = "Astrahus", _("Astrahus") + FORTIZAR = "Fortizar", _("Fortizar") + KEEPSTAR = "Keepstar", _("Keepstar") + RAITARU = "Raitaru", _("Raitaru") + AZBEL = "Azbel", _("Azbel") + SOTIYO = "Sotiyo", _("Sotiyo") + ATHANOR = "Athanor", _("Athanor") + TATARA = "Tatara", _("Tatara") + PHAROLUX = "Pharolux Cyno Beacon", _("Pharolux Cyno Beacon") + TENEBREX = "Tenebrex Cyno Jammer", _("Tenebrex Cyno Jammer") + ANSIBLEX = "Ansiblex Jump Gate", _("Ansiblex Jump Gate") + MOONPOP = "Moon Mining Cycle", _("Moon Mining Cycle") + METENOX = "Metenox Moon Drill", _("Metenox Moon Drill") + OTHER = "Other", _("Other") + + class TimerType(models.TextChoices): + """ + Choices for Timer Type + """ + + UNSPECIFIED = "UNSPECIFIED", _("Not Specified") + SHIELD = "SHIELD", _("Shield") + ARMOR = "ARMOR", _("Armor") + HULL = "HULL", _("Hull") + FINAL = "FINAL", _("Final") + ANCHORING = "ANCHORING", _("Anchoring") + UNANCHORING = "UNANCHORING", _("Unanchoring") + ABANDONED = "ABANDONED", _("Abandoned") details = models.CharField(max_length=254, default="") system = models.CharField(max_length=254, default="") planet_moon = models.CharField(max_length=254, blank=True, default="") - structure = models.CharField(max_length=254, default="") - timer_type = models.CharField( - max_length=254, - choices=TimerType.choices, - default=TimerType.UNSPECIFIED, - ) - objective = models.CharField(max_length=254, default="") + structure = models.CharField(max_length=254,choices=Structure.choices,default=Structure.OTHER) + timer_type = models.CharField(max_length=254,choices=TimerType.choices,default=TimerType.UNSPECIFIED) + objective = models.CharField(max_length=254, choices=Objective.choices, default=Objective.NEUTRAL) eve_time = models.DateTimeField() important = models.BooleanField(default=False) eve_character = models.ForeignKey(EveCharacter, null=True, on_delete=models.SET_NULL) @@ -41,5 +70,8 @@ class Timer(models.Model): corp_timer = models.BooleanField(default=False) user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL) - def __str__(self): + def __str__(self) -> str: return str(self.system) + ' ' + str(self.details) + + class Meta: + ordering = ['eve_time'] diff --git a/allianceauth/timerboard/templates/timerboard/dashboard.timers.html b/allianceauth/timerboard/templates/timerboard/dashboard.timers.html index 4b6d9a5a..f22bc26e 100644 --- a/allianceauth/timerboard/templates/timerboard/dashboard.timers.html +++ b/allianceauth/timerboard/templates/timerboard/dashboard.timers.html @@ -40,7 +40,7 @@ {% endif %} {% if timer.objective == "Neutral" %} -
+
{% translate "Neutral" %}
{% endif %} diff --git a/allianceauth/timerboard/templates/timerboard/timertable.html b/allianceauth/timerboard/templates/timerboard/timertable.html index 3fbef666..c1d5c818 100644 --- a/allianceauth/timerboard/templates/timerboard/timertable.html +++ b/allianceauth/timerboard/templates/timerboard/timertable.html @@ -18,174 +18,85 @@ {% for timer in timers %} - {% if timer.important == True %} - - {% else %} - - {% endif %} + {{ timer.details }} {% if timer.timer_type != 'UNSPECIFIED' %} -
({{ timer.get_timer_type_display }}) +
+ ({{ timer.get_timer_type_display }}) {% endif %} {% if timer.objective == "Hostile" %} -
- {% translate "Hostile" %} -
- {% endif %} - - {% if timer.objective == "Friendly" %} -
- {% translate "Friendly" %} -
- {% endif %} - - {% if timer.objective == "Neutral" %} -
- {% translate "Neutral" %} -
+
{% translate "Hostile" %}
+ {% elif timer.objective == "Friendly" %} +
{% translate "Friendly" %}
+ {% elif timer.objective == "Neutral" %} +
{% translate "Neutral" %}
{% endif %} - - {{ timer.system }} {{ timer.planet_moon }} - + {{ timer.system }} {{ timer.planet_moon }} {% if timer.structure == "POCO" %} -
- {% translate "POCO" %} -
- {% endif %} - - {% if timer.structure == "I-HUB" %} -
- {% translate "I-HUB" %} -
- {% endif %} - - {% if timer.structure == "TCU" %} -
- {% translate "TCU" %} -
- {% endif %} - - {% if timer.structure == "POS[S]" %} -
- {% translate "POS [S]" %} -
- {% endif %} - - {% if timer.structure == "POS[M]" %} -
- {% translate "POS [M]" %} -
- {% endif %} - - {% if timer.structure == "POS[L]" %} -
- {% translate "POS [L]" %} -
- {% endif %} - - {% if timer.structure == "Citadel[M]" or timer.structure == "Astrahus" %} -
- {% translate "Astrahus" %} -
- {% endif %} - - {% if timer.structure == "Citadel[L]" or timer.structure == "Fortizar" %} -
- {% translate "Fortizar" %} -
- {% endif %} - - {% if timer.structure == "Citadel[XL]" or timer.structure == "Keepstar" %} -
- {% translate "Keepstar" %} -
- {% endif %} - - {% if timer.structure == "Engineering Complex[M]" or timer.structure == "Raitaru" %} -
- {% translate "Raitaru" %} -
- {% endif %} - - {% if timer.structure == "Engineering Complex[L]" or timer.structure == "Azbel" %} -
- {% translate "Azbel" %} -
- {% endif %} - - {% if timer.structure == "Engineering Complex[XL]" or timer.structure == "Sotiyo" %} -
- {% translate "Sotiyo" %} -
- {% endif %} - - {% if timer.structure == "Refinery[M]" or timer.structure == "Athanor" %} -
- {% translate "Athanor" %} -
- {% endif %} - - {% if timer.structure == "Refinery[L]" or timer.structure == "Tatara"%} -
- {% translate "Tatara" %} -
- {% endif %} - - {% if timer.structure == "Cyno Beacon" or timer.structure == "Pharolux Cyno Beacon" %} -
- {% translate "Cyno Beacon" %} -
- {% endif %} - - {% if timer.structure == "Cyno Jammer" or timer.structure == "Tenebrex Cyno Jammer" %} -
- {% translate "Cyno Jammer" %} -
- {% endif %} - - {% if timer.structure == "Jump Gate" or timer.structure == "Ansiblex Jump Gate" %} -
- {% translate "Ansiblex Jump Gate" %} -
- {% endif %} - - {% if timer.structure == "Moon Mining Cycle" %} -
- {% translate "Moon Mining Cycle" %} -
- {% endif %} - - {% if timer.structure == "Other" %} -
- {% translate "Other" %} -
+
{% translate "POCO" %}
+ {% elif timer.structure == "Orbital Skyhook" %} +
{% translate "Orbital Skyhook" %}
+ {% elif timer.structure == "I-HUB" %} +
{% translate "I-HUB" %}
+ {% elif timer.structure == "TCU" %} {% comment %} Pending Removal {% endcomment %} +
{% translate "TCU" %}
+ {% elif timer.structure == "POS[S]" %} +
{% translate "POS [S]" %}
+ {% elif timer.structure == "POS[M]" %} +
{% translate "POS [M]" %}
+ {% elif timer.structure == "POS[L]" %} +
{% translate "POS [L]" %}
+ {% elif timer.structure == "Citadel[M]" or timer.structure == "Astrahus" %} +
{% translate "Astrahus" %}
+ {% elif timer.structure == "Citadel[L]" or timer.structure == "Fortizar" %} +
{% translate "Fortizar" %}
+ {% elif timer.structure == "Citadel[XL]" or timer.structure == "Keepstar" %} +
{% translate "Keepstar" %}
+ {% elif timer.structure == "Engineering Complex[M]" or timer.structure == "Raitaru" %} +
{% translate "Raitaru" %}
+ {% elif timer.structure == "Engineering Complex[L]" or timer.structure == "Azbel" %} +
{% translate "Azbel" %}
+ {% elif timer.structure == "Engineering Complex[XL]" or timer.structure == "Sotiyo" %} +
{% translate "Sotiyo" %}
+ {% elif timer.structure == "Refinery[M]" or timer.structure == "Athanor" %} +
{% translate "Athanor" %}
+ {% elif timer.structure == "Refinery[L]" or timer.structure == "Tatara" %} +
{% translate "Tatara" %}
+ {% elif timer.structure == "Cyno Beacon" or timer.structure == "Pharolux Cyno Beacon" %} +
{% translate "Cyno Beacon" %}
+ {% elif timer.structure == "Cyno Jammer" or timer.structure == "Tenebrex Cyno Jammer" %} +
{% translate "Cyno Jammer" %}
+ {% elif timer.structure == "Jump Gate" or timer.structure == "Ansiblex Jump Gate" %} +
{% translate "Ansiblex Jump Gate" %}
+ {% elif timer.structure == "Moon Mining Cycle" %} +
{% translate "Moon Mining Cycle" %}
+ {% elif timer.structure == "Metenox Moon Drill" %} +
{% translate "Metenox Moon Drill" %}
+ {% elif timer.structure == "Other" %} +
{% translate "Other" %}
{% endif %} - - {{ timer.eve_time | date:"Y-m-d H:i" }} - + {{ timer.eve_time | date:"Y-m-d H:i" }}
- - {{ timer.eve_character.character_name }} - + {{ timer.eve_character.character_name }} {% if perms.auth.timer_management %} diff --git a/allianceauth/timerboard/tests.py b/allianceauth/timerboard/tests.py index 715f3d61..26e7ef00 100644 --- a/allianceauth/timerboard/tests.py +++ b/allianceauth/timerboard/tests.py @@ -167,8 +167,8 @@ class TimerboardViewsTestCase(WebTest): form['details'] = 'details' form['system'] = 'jita' form['planet_moon'] = '4-4' - form['structure'] = TimerForm.structure_choices[0][0] - form['objective'] = TimerForm.objective_choices[0][0] + form['structure'] = Timer.Structure.choices[0][0] + form['objective'] = Timer.Objective.choices[0][0] form['days_left'] = 1 form['hours_left'] = 2 form['minutes_left'] = 3 @@ -206,8 +206,8 @@ class TimerboardViewsTestCase(WebTest): form['details'] = 'detailsUNIQUE' form['system'] = 'jita' form['planet_moon'] = '4-4' - form['structure'] = TimerForm.structure_choices[0][0] - form['objective'] = TimerForm.objective_choices[0][0] + form['structure'] = Timer.Structure.choices[0][0] + form['objective'] = Timer.Objective.choices[0][0] form['days_left'] = 1 form['hours_left'] = 2 form['minutes_left'] = 3 From 9b4321281ad60762d36b10ddba6052403f3ec6da Mon Sep 17 00:00:00 2001 From: colcrunch Date: Mon, 9 Sep 2024 03:58:47 +0000 Subject: [PATCH 24/33] [Docs] Add shell option to adduser command for Ubuntu install docs --- docs/installation/allianceauth.md | 18 +++++++++--------- docs/installation/apache.md | 6 +++--- docs/installation/nginx.md | 2 +- docs/installation/upgrade_python.md | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/installation/allianceauth.md b/docs/installation/allianceauth.md index 117b8fd7..de0f9de4 100644 --- a/docs/installation/allianceauth.md +++ b/docs/installation/allianceauth.md @@ -27,7 +27,7 @@ To install on your favorite flavour of Linux, identify and install equivalent pa It is recommended to ensure your OS is fully up-to-date before proceeding. We may also add Package Repositories here, used later in the documentation. ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell sudo apt-get update @@ -70,7 +70,7 @@ Install Python 3.11 and related tools on your system. ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell sudo add-apt-repository ppa:deadsnakes/ppa @@ -128,7 +128,7 @@ sudo make altinstall It's recommended to use a database service instead of SQLite. Many options are available, but this guide will use MariaDB 10.11 ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 Follow the instructions at to add the MariaDB repository to your host. ```shell @@ -164,7 +164,7 @@ sudo dnf install mariadb mariadb-server mariadb-devel :::::{important} ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 If you don't plan on running the database on the same server as auth you still need to install the `libmysqlclient-dev` package ::: :::{group-tab} CentOS 7 @@ -185,7 +185,7 @@ A few extra utilities are also required for the installation of packages. ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg @@ -282,10 +282,10 @@ mysql_secure_installation For security and permissions, it’s highly recommended you create a separate user to install auth under. Do not log in as this account. ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell -sudo adduser --disabled-login allianceserver +sudo adduser --disabled-login allianceserver --shell /bin/bash ``` ::: @@ -497,7 +497,7 @@ exit ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell sudo apt-get install supervisor @@ -554,7 +554,7 @@ sudo systemctl start supervisord.service Once installed, it needs a configuration file to know which processes to watch. Your Alliance Auth project comes with a ready-to-use template which will ensure the Celery workers, Celery task scheduler and Gunicorn are all running. ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell ln -s /home/allianceserver/myauth/supervisor.conf /etc/supervisor/conf.d/myauth.conf diff --git a/docs/installation/apache.md b/docs/installation/apache.md index ab911057..1065eb50 100644 --- a/docs/installation/apache.md +++ b/docs/installation/apache.md @@ -10,7 +10,7 @@ If you're using a small VPS to host services with very limited memory, consider ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell apt-get install apache2 @@ -50,7 +50,7 @@ CentOS 7, Stream 8, Stream 9 Apache needs to be able to read the folder containing your auth project's static files. ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell chown -R www-data:www-data /var/www/myauth/static @@ -87,7 +87,7 @@ Apache serves sites through defined virtual hosts. These are located in `/etc/ap A virtual host for auth needs only proxy requests to your WSGI server (Gunicorn if you followed the installation guide) and serve static files. Examples can be found below. Create your config in its own file e.g. `myauth.conf` ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 To proxy and modify headers a few mods need to be enabled. ```shell diff --git a/docs/installation/nginx.md b/docs/installation/nginx.md index ed8136e2..ba6ea3c7 100644 --- a/docs/installation/nginx.md +++ b/docs/installation/nginx.md @@ -42,7 +42,7 @@ You will need to have [Gunicorn](gunicorn.md) or some other WSGI server setup fo ## Install ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell sudo apt-get install nginx diff --git a/docs/installation/upgrade_python.md b/docs/installation/upgrade_python.md index 8bbff7ab..4449c574 100644 --- a/docs/installation/upgrade_python.md +++ b/docs/installation/upgrade_python.md @@ -25,7 +25,7 @@ sudo dnf install python39 python39-devel ::: ::::{tabs} -:::{group-tab} Ubuntu 2004, 2204 +:::{group-tab} Ubuntu 2004, 2204, 2404 ```shell sudo add-apt-repository ppa:deadsnakes/ppa From 4ed1c5b7c4896431dd0126f8e60b05ad1a909d67 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Mon, 9 Sep 2024 13:59:43 +1000 Subject: [PATCH 25/33] bring test celery in line with project --- tests/celery.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/celery.py b/tests/celery.py index d43e8a52..dfbc2779 100644 --- a/tests/celery.py +++ b/tests/celery.py @@ -1,4 +1,5 @@ import os + from celery import Celery # set the default Django settings module for the 'celery' program. @@ -12,6 +13,10 @@ app = Celery('devauth') # the configuration object to child processes. app.config_from_object('django.conf:settings') +# Automatically try to establish the connection to the AMQP broker on +# Celery startup if it is unavailable. +app.conf.broker_connection_retry_on_startup = True + # setup priorities ( 0 Highest, 9 Lowest ) app.conf.broker_transport_options = { 'priority_steps': list(range(10)), # setup que to have 10 steps From bd17b95cac9e95e4db9da667e417b190d8c7938f Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Mon, 9 Sep 2024 14:05:58 +1000 Subject: [PATCH 26/33] Version Bump 4.3.0 --- allianceauth/__init__.py | 2 +- docker/.env.example | 2 +- docker/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/allianceauth/__init__.py b/allianceauth/__init__.py index 4edd6674..71615843 100644 --- a/allianceauth/__init__.py +++ b/allianceauth/__init__.py @@ -5,7 +5,7 @@ manage online service access. # This will make sure the app is always imported when # Django starts so that shared_task will use this app. -__version__ = '4.2.2' +__version__ = '4.3.0' __title__ = 'Alliance Auth' __url__ = 'https://gitlab.com/allianceauth/allianceauth' NAME = f'{__title__} v{__version__}' diff --git a/docker/.env.example b/docker/.env.example index 24c7c446..c03bde36 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -1,7 +1,7 @@ PROTOCOL=https:// AUTH_SUBDOMAIN=%AUTH_SUBDOMAIN% DOMAIN=%DOMAIN% -AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.2.2 +AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.3.0 # Nginx Proxy Manager PROXY_HTTP_PORT=80 diff --git a/docker/Dockerfile b/docker/Dockerfile index 2f4d70e3..4eaebbbf 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ FROM python:3.11-slim -ARG AUTH_VERSION=v4.2.2 +ARG AUTH_VERSION=v4.3.0 ARG AUTH_PACKAGE=allianceauth==${AUTH_VERSION} ENV AUTH_USER=allianceauth ENV AUTH_GROUP=allianceauth From efff946a561c85286167e6458c25d5102007f127 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Fri, 13 Sep 2024 08:55:07 +0000 Subject: [PATCH 27/33] Updates for project Alliance Auth --- .../locale/cs_CZ/LC_MESSAGES/django.po | 2827 ++++++++++++++++ allianceauth/locale/de/LC_MESSAGES/django.po | 357 ++- allianceauth/locale/es/LC_MESSAGES/django.po | 357 ++- .../locale/fr_FR/LC_MESSAGES/django.po | 357 ++- .../locale/it_IT/LC_MESSAGES/django.po | 357 ++- allianceauth/locale/ja/LC_MESSAGES/django.po | 357 ++- .../locale/ko_KR/LC_MESSAGES/django.po | 359 ++- .../locale/nl_NL/LC_MESSAGES/django.po | 2840 +++++++++++++++++ .../locale/pl_PL/LC_MESSAGES/django.po | 357 ++- allianceauth/locale/ru/LC_MESSAGES/django.po | 357 ++- allianceauth/locale/uk/LC_MESSAGES/django.po | 357 ++- .../locale/zh_Hans/LC_MESSAGES/django.po | 375 ++- 12 files changed, 7717 insertions(+), 1540 deletions(-) create mode 100644 allianceauth/locale/cs_CZ/LC_MESSAGES/django.po create mode 100644 allianceauth/locale/nl_NL/LC_MESSAGES/django.po diff --git a/allianceauth/locale/cs_CZ/LC_MESSAGES/django.po b/allianceauth/locale/cs_CZ/LC_MESSAGES/django.po new file mode 100644 index 00000000..6d578cb4 --- /dev/null +++ b/allianceauth/locale/cs_CZ/LC_MESSAGES/django.po @@ -0,0 +1,2827 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Tomas Skarecky , 2024 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"PO-Revision-Date: 2023-11-08 13:50+0000\n" +"Last-Translator: Tomas Skarecky , 2024\n" +"Language-Team: Czech (Czech Republic) (https://app.transifex.com/alliance-auth/teams/107430/cs_CZ/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs_CZ\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" + +#: allianceauth/analytics/models.py:26 +msgid "Google Analytics Universal" +msgstr "Google Analytics Universal" + +#: allianceauth/analytics/models.py:27 +msgid "Google Analytics V4" +msgstr "Google Analytics V4" + +#: allianceauth/authentication/constants.py:6 +msgid "" +"This software has exceeded the error limit for ESI. If you are a user, " +"please contact the maintainer of this software. If you are a " +"developer/maintainer, please make a greater effort in the future to receive " +"valid responses. For tips on how, come have a chat with us in ##3rd-party-" +"dev-and-esi on the EVE Online Discord. https://www.eveonline.com/discord" +msgstr "" + +#: allianceauth/authentication/decorators.py:52 +msgid "A main character is required to perform that action. Add one below." +msgstr "Pro provedení akce je potřeba hlavní postava. Přidejte ji níže" + +#: allianceauth/authentication/forms.py:12 +msgid "Email" +msgstr "Email" + +#: allianceauth/authentication/forms.py:62 +#, python-format +msgid "You are not allowed to add or remove these restricted groups: %s" +msgstr "" +"Nemáte oprávnění k přidávání a odebírání těchto skupin s omezeným " +"přístupem:%s" + +#: allianceauth/authentication/models.py:71 +msgid "English" +msgstr "Angličtina" + +#: allianceauth/authentication/models.py:72 +msgid "German" +msgstr "Němčina" + +#: allianceauth/authentication/models.py:73 +msgid "Spanish" +msgstr "Španělština" + +#: allianceauth/authentication/models.py:74 +msgid "Chinese Simplified" +msgstr "Zjednodušená čínština" + +#: allianceauth/authentication/models.py:75 +msgid "Russian" +msgstr "Ruština" + +#: allianceauth/authentication/models.py:76 +msgid "Korean" +msgstr "Korejština" + +#: allianceauth/authentication/models.py:77 +msgid "French" +msgstr "Francouzština" + +#: allianceauth/authentication/models.py:78 +msgid "Japanese" +msgstr "Japonština" + +#: allianceauth/authentication/models.py:79 +msgid "Italian" +msgstr "Italština" + +#: allianceauth/authentication/models.py:80 +msgid "Ukrainian" +msgstr "Ukrajinština" + +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 +#: allianceauth/menu/templates/menu/menu-user.html:42 +msgid "Language" +msgstr "Jazyk" + +#: allianceauth/authentication/models.py:102 +#: allianceauth/templates/allianceauth/night-toggle.html:6 +msgid "Night Mode" +msgstr "Noční režim" + +#: allianceauth/authentication/models.py:106 +#: allianceauth/menu/templates/menu/menu-user.html:46 +msgid "Theme" +msgstr "Motiv" + +#: allianceauth/authentication/models.py:123 +#, python-format +msgid "State changed to: %s" +msgstr "Status změněn na: %s" + +#: allianceauth/authentication/models.py:124 +#, python-format +msgid "Your user's state is now: %(state)s" +msgstr "Váš uživatelský status je nyní: %(state)s" + +#: allianceauth/authentication/templates/authentication/dashboard.html:5 +#: allianceauth/authentication/templates/authentication/dashboard.html:7 +#: allianceauth/menu/templates/menu/sortable-side-menu.html:14 +#: allianceauth/templates/allianceauth/side-menu.html:10 +msgid "Dashboard" +msgstr "" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 +#: allianceauth/hrapplications/templates/hrapplications/view.html:54 +msgid "Characters" +msgstr "Postavy" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6 +msgid "Add Character" +msgstr "Přidat postavu" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12 +msgid "Change Main" +msgstr "Změnit postavu" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 +#: allianceauth/hrapplications/templates/hrapplications/view.html:61 +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:32 +msgid "Name" +msgstr "Jméno" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 +msgid "Corp" +msgstr "Korporace" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/corputils/templates/corputils/corpstats.html:125 +#: allianceauth/hrapplications/templates/hrapplications/view.html:63 +msgid "Alliance" +msgstr "Aliance" + +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:5 +msgid "Membership" +msgstr "Členství" + +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 +msgid "State:" +msgstr "Stav:" + +#: allianceauth/authentication/templates/authentication/tokens.html:6 +#: allianceauth/authentication/templates/authentication/tokens.html:10 +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62 +msgid "Token Management" +msgstr "Správa Tokenů" + +#: allianceauth/authentication/templates/authentication/tokens.html:16 +msgid "" +"This page is a best attempt, but backups or database logs can still contain " +"your tokens. Always revoke tokens on " +"https://community.eveonline.com/support/third-party-applications/ where " +"possible." +msgstr "" +"Tato stránka je nejlepší snahou, ale zálohy nebo databázové záznamy stále " +"mohou obsahovat vaše tokeny. Pokud je to možné, vždy je odebírejte na adrese" +" https://community.eveonline.com/support/third-party-applications/ " + +#: allianceauth/authentication/templates/authentication/tokens.html:22 +msgid "Scopes" +msgstr "" + +#: allianceauth/authentication/templates/authentication/tokens.html:23 +#: allianceauth/hrapplications/templates/hrapplications/management.html:37 +#: allianceauth/hrapplications/templates/hrapplications/management.html:124 +#: allianceauth/hrapplications/templates/hrapplications/management.html:168 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35 +#: allianceauth/hrapplications/templates/hrapplications/view.html:94 +#: allianceauth/srp/templates/srp/data.html:82 +#: allianceauth/srp/templates/srp/management.html:53 +msgid "Actions" +msgstr "Akce" + +#: allianceauth/authentication/templates/authentication/tokens.html:24 +#: allianceauth/corputils/templates/corputils/corpstats.html:123 +#: allianceauth/corputils/templates/corputils/corpstats.html:163 +#: allianceauth/corputils/templates/corputils/corpstats.html:210 +#: allianceauth/corputils/templates/corputils/search.html:16 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:36 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:41 +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:29 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:28 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:55 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:118 +msgid "Character" +msgstr "Postava" + +#: allianceauth/authentication/templates/public/login.html:6 +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:69 +msgid "Login" +msgstr "Přihlášení" + +#: allianceauth/authentication/templates/public/login.html:10 +msgid "Login with Eve SSO" +msgstr "Přihlášení pomocí EVE SSO" + +#: allianceauth/authentication/templates/public/middle_box.html:25 +msgid "For information on SSO, ESI and security read the CCP Dev Blog" +msgstr "Více informací o SSO, ESI a bezpečnosti najdete na blogu CCP Dev" + +#: allianceauth/authentication/templates/public/middle_box.html:27 +msgid "Introducing ESI - A New API For EVE Online" +msgstr "Představení ESI - Nové API pro Eve Online" + +#: allianceauth/authentication/templates/public/middle_box.html:33 +msgid "Manage ESI Applications" +msgstr "Správa ESI aplikací" + +#: allianceauth/authentication/templates/public/register.html:6 +msgid "Registration" +msgstr "Registrace" + +#: allianceauth/authentication/templates/public/register.html:23 +msgid "Register" +msgstr "Registrace" + +#: allianceauth/authentication/templates/registration/activate.html:6 +msgid "Invalid or expired activation link." +msgstr "Nevalidní, nebo expirovaný aktivační odkaz." + +#: allianceauth/authentication/views.py:158 +#, python-format +msgid "" +"Cannot change main character to %(char)s: character owned by a different " +"account." +msgstr "" +"Není možné změnit hlavní postavu na %(char)s: postava patří pod jiný účet." + +#: allianceauth/authentication/views.py:165 +#, python-format +msgid "Changed main character to %s" +msgstr "Hlavní postava změněna na %s" + +#: allianceauth/authentication/views.py:179 +#, python-format +msgid "Added %(name)s to your account." +msgstr "%(name)spřidána k vačenu účtu" + +#: allianceauth/authentication/views.py:181 +#, python-format +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" + +#: allianceauth/authentication/views.py:226 +msgid "" +"Unable to authenticate as the selected character. Please log in with the " +"main character associated with this account." +msgstr "" +"Není možné váš ověřit pomocí vybrané postavu. Prosím přihlaste se pomocí " +"hlavní postavy spojené s tímto účtem." + +#: allianceauth/authentication/views.py:293 +msgid "Registration token has expired." +msgstr "Registrační token expiroval" + +#: allianceauth/authentication/views.py:354 +msgid "" +"Sent confirmation email. Please follow the link to confirm your email " +"address." +msgstr "" +"Byl vám odeslán potvrzovací email. Otevřete prosím odkaz pro potvrzení " +"emailové adresy. " + +#: allianceauth/authentication/views.py:360 +msgid "Confirmed your email address. Please login to continue." +msgstr "Emailová adresa potvrzena. Přihlaste se prosím." + +#: allianceauth/authentication/views.py:366 +msgid "Registration of new accounts is not allowed at this time." +msgstr "Momentálně není povolena registrace nových účtů." + +#: allianceauth/corputils/auth_hooks.py:12 +msgid "Corporation Stats" +msgstr "Statistiky korporace" + +#: allianceauth/corputils/templates/corputils/base.html:6 +#: allianceauth/corputils/templates/corputils/base.html:10 +msgid "Corporation Member Data" +msgstr "" + +#: allianceauth/corputils/templates/corputils/base.html:16 +msgid "Corporations" +msgstr "Korporace" + +#: allianceauth/corputils/templates/corputils/base.html:35 +msgid "Add corporation" +msgstr "Přidat korporaci" + +#: allianceauth/corputils/templates/corputils/base.html:51 +msgid "Search all corporations..." +msgstr "Vyhledat všechny korporace" + +#: allianceauth/corputils/templates/corputils/corpstats.html:45 +msgid "Mains" +msgstr "Hlavní postavy" + +#: allianceauth/corputils/templates/corputils/corpstats.html:59 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:34 +msgid "Members" +msgstr "Členové" + +#: allianceauth/corputils/templates/corputils/corpstats.html:73 +msgid "Unregistered" +msgstr "" + +#: allianceauth/corputils/templates/corputils/corpstats.html:79 +msgid "Last update:" +msgstr "Poslední aktualizace:" + +#: allianceauth/corputils/templates/corputils/corpstats.html:85 +msgid "Update Now" +msgstr "Aktualizovat" + +#: allianceauth/corputils/templates/corputils/corpstats.html:100 +msgid "Main character" +msgstr "Hlavní postava" + +#: allianceauth/corputils/templates/corputils/corpstats.html:101 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:29 +msgid "Registered characters" +msgstr "Registrované postavy" + +#: allianceauth/corputils/templates/corputils/corpstats.html:124 +#: allianceauth/corputils/templates/corputils/search.html:17 +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:30 +#: allianceauth/hrapplications/templates/hrapplications/management.html:35 +#: allianceauth/hrapplications/templates/hrapplications/management.html:122 +#: allianceauth/hrapplications/templates/hrapplications/management.html:166 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:33 +#: allianceauth/hrapplications/templates/hrapplications/view.html:62 +msgid "Corporation" +msgstr "Korporace" + +#: allianceauth/corputils/templates/corputils/corpstats.html:141 +#: allianceauth/corputils/templates/corputils/corpstats.html:177 +#: allianceauth/corputils/templates/corputils/corpstats.html:190 +#: allianceauth/corputils/templates/corputils/corpstats.html:222 +#: allianceauth/corputils/templates/corputils/search.html:30 +msgid "Killboard" +msgstr "" + +#: allianceauth/corputils/templates/corputils/corpstats.html:165 +#: allianceauth/corputils/templates/corputils/search.html:19 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:32 +#: allianceauth/hrapplications/templates/hrapplications/management.html:121 +#: allianceauth/hrapplications/templates/hrapplications/management.html:165 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:32 +#: allianceauth/hrapplications/templates/hrapplications/view.html:42 +msgid "Main Character" +msgstr "Hlavní postava" + +#: allianceauth/corputils/templates/corputils/corpstats.html:166 +#: allianceauth/corputils/templates/corputils/search.html:20 +msgid "Main Corporation" +msgstr "Hlavní korporace" + +#: allianceauth/corputils/templates/corputils/corpstats.html:167 +#: allianceauth/corputils/templates/corputils/search.html:21 +msgid "Main Alliance" +msgstr "Hlavní aliance" + +#: allianceauth/corputils/templates/corputils/search.html:8 +msgid "Search Results" +msgstr "Výslekdy vyhledávání" + +#: allianceauth/corputils/templates/corputils/search.html:18 +msgid "zKillboard" +msgstr "zKillboard" + +#: allianceauth/corputils/views.py:54 +msgid "Selected corp already has a statistics module." +msgstr "Vybraná korporace již má statistický modul" + +#: allianceauth/corputils/views.py:56 +msgid "Failed to gather corporation statistics with selected token." +msgstr "Nepodařilo se získat statistiky korporace pomocí vybraného tokenu." + +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + +#: allianceauth/fleetactivitytracking/auth_hooks.py:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:10 +msgid "Fleet Activity Tracking" +msgstr "" + +#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8 +#: allianceauth/srp/templates/srp/management.html:44 +msgid "Fleet Name" +msgstr "Jméno flotily" + +#: allianceauth/fleetactivitytracking/forms.py:7 +msgid "Duration of fat-link" +msgstr "" + +#: allianceauth/fleetactivitytracking/forms.py:7 +msgid "Duration of the fat-link in minutes" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:6 +msgid "Fleet Participation" +msgstr "Účast na flotile" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:15 +msgid "Character not found!" +msgstr "Postava nenalezena!" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:35 +msgid "Character not registered!" +msgstr "Postava není registrována!" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:38 +msgid "This character is not associated with an auth account." +msgstr "Tato postava není přiřazena k auth účtu." + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:39 +msgid "Add it here" +msgstr "Přidat zde" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:40 +msgid "before attempting to click fleet attendance links." +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:7 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:16 +msgid "Create Fatlink" +msgstr "Vytvoř Fatlink" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:21 +msgid "Bad request!" +msgstr "Chybný požadavek!" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:31 +msgid "Fatlink details" +msgstr "Detaily fatlinku" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:43 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:79 +msgid "Create fatlink" +msgstr "vytvoř Fatlink" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:6 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:6 +msgid "Fatlink view" +msgstr "Zobraz Fatlink" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:16 +msgid "Edit fatlink" +msgstr "Uprav Fatlink" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:21 +msgid "Are you sure?" +msgstr "Jste si jistý?" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:22 +msgid "Delete fat" +msgstr "Smazat Fatlink" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35 +#: allianceauth/hrapplications/templates/hrapplications/view.html:41 +msgid "User" +msgstr "Uživatel" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/timertable.html:9 +msgid "System" +msgstr "Systém" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:38 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:44 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:43 +msgid "Ship" +msgstr "Loď" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:39 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92 +#: allianceauth/templates/allianceauth/top-menu.html:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:11 +msgid "Eve Time" +msgstr "Čas EVE" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52 +msgid "Docked in" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:6 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:6 +msgid "Personal fatlink statistics" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:16 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:16 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:16 +#, python-format +msgid "Participation data statistics for %(month)s, %(year)s" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:22 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:20 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:20 +msgid "Previous month" +msgstr "Předchozí měsíc" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:25 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:23 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:23 +msgid "Next month" +msgstr "Následující měsíc" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:33 +#, python-format +msgid "%(user)s has collected one link this month." +msgid_plural "%(user)s has collected %(links)s links this month." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:45 +msgid "Times used" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:62 +#, python-format +msgid "%(user)s has created one link this month." +msgid_plural "%(user)s has created %(links)s links this month." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:73 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:40 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:91 +msgid "Fleet" +msgstr "Flotila" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:74 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:90 +#: allianceauth/timerboard/templates/timerboard/timertable.html:13 +msgid "Creator" +msgstr "Tvůrce" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:76 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:93 +#: allianceauth/optimer/form.py:18 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:15 +msgid "Duration" +msgstr "Trvání" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:77 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:94 +msgid "Edit" +msgstr "Upravit" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:16 +#, python-format +msgid "Participation data statistics for %(year)s" +msgstr "Statistika účasti za %(year)s" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:20 +msgid "Previous year" +msgstr "Předchozí rok" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:23 +msgid "Next year" +msgstr "Následující rok" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:30 +msgid "Month" +msgstr "Měsíc" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:31 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:34 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:35 +msgid "Fats" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:6 +msgid "Fatlink Corp Statistics" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:36 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:37 +msgid "Average fats" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:6 +msgid "Fatlink Statistics" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:32 +msgid "Ticker" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:15 +msgid "Participation data" +msgstr "Data účasatníků" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:23 +msgid "Most recent clicked fatlinks" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:29 +msgid "Personal statistics" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:63 +msgid "No fleet activity on record." +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:72 +msgid "Most recent fatlinks" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:76 +msgid "View statistics" +msgstr "" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:119 +msgid "No created fatlinks on record." +msgstr "" + +#: allianceauth/fleetactivitytracking/views.py:218 +msgid "Character does not exist" +msgstr "" + +#: allianceauth/fleetactivitytracking/views.py:221 +msgid "User does not exist" +msgstr "" + +#: allianceauth/fleetactivitytracking/views.py:299 +msgid "Fleet participation registered." +msgstr "" + +#: allianceauth/fleetactivitytracking/views.py:318 +msgid "FAT link has expired." +msgstr "" + +#: allianceauth/fleetactivitytracking/views.py:323 +#, python-brace-format +msgid "" +"Cannot register the fleet participation for {character.character_name}. The " +"character needs to be online." +msgstr "" + +#: allianceauth/groupmanagement/auth_hooks.py:18 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:17 +msgid "Group Management" +msgstr "" + +#: allianceauth/groupmanagement/auth_hooks.py:51 +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34 +#: allianceauth/templates/allianceauth/side-menu.html:15 +msgid "Groups" +msgstr "" + +#: allianceauth/groupmanagement/forms.py:18 +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:33 +msgid "Users" +msgstr "" + +#: allianceauth/groupmanagement/forms.py:52 +msgid "This name has been reserved and can not be used for groups." +msgstr "" + +#: allianceauth/groupmanagement/forms.py:62 +msgid "(auto)" +msgstr "" + +#: allianceauth/groupmanagement/forms.py:71 +msgid "There already exists a group with that name." +msgstr "" + +#: allianceauth/groupmanagement/models.py:104 +msgid "" +"Internal group, users cannot see, join or request to join this " +"group.
Used for groups such as Members, Corp_*, Alliance_* " +"etc.
Overrides Hidden and Open options when selected." +msgstr "" + +#: allianceauth/groupmanagement/models.py:112 +msgid "Group is hidden from users but can still join with the correct link." +msgstr "" + +#: allianceauth/groupmanagement/models.py:118 +msgid "" +"Group is open and users will be automatically added upon request.
If the " +"group is not open users will need their request manually approved." +msgstr "" + +#: allianceauth/groupmanagement/models.py:125 +msgid "" +"Group is public. Any registered user is able to join this group, with " +"visibility based on the other options set for this group.
Auth will not " +"remove users from this group automatically when they are no longer " +"authenticated." +msgstr "" + +#: allianceauth/groupmanagement/models.py:134 +msgid "" +"Group is restricted. This means that adding or removing users for this group" +" requires a superuser admin." +msgstr "" + +#: allianceauth/groupmanagement/models.py:143 +msgid "" +"Group leaders can process requests for this group. Use the " +"auth.group_management permission to allow a user to manage all " +"groups.
" +msgstr "" + +#: allianceauth/groupmanagement/models.py:153 +msgid "" +"Members of leader groups can process requests for this group. Use the " +"auth.group_management permission to allow a user to manage all " +"groups.
" +msgstr "" + +#: allianceauth/groupmanagement/models.py:162 +msgid "" +"States listed here will have the ability to join this group provided they " +"have the proper permissions.
" +msgstr "" + +#: allianceauth/groupmanagement/models.py:170 +msgid "" +"Short description (max. 512 characters) of the group shown to users." +msgstr "" + +#: allianceauth/groupmanagement/models.py:177 +msgid "Can request non-public groups" +msgstr "" + +#: allianceauth/groupmanagement/models.py:208 +msgid "name" +msgstr "" + +#: allianceauth/groupmanagement/models.py:211 +msgid "Name that can not be used for groups." +msgstr "" + +#: allianceauth/groupmanagement/models.py:214 +msgid "reason" +msgstr "" + +#: allianceauth/groupmanagement/models.py:214 +msgid "Reason why this name is reserved." +msgstr "" + +#: allianceauth/groupmanagement/models.py:217 +msgid "created by" +msgstr "" + +#: allianceauth/groupmanagement/models.py:222 +msgid "created at" +msgstr "" + +#: allianceauth/groupmanagement/models.py:222 +msgid "Date when this entry was created" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:8 +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:12 +msgid "Audit Log" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:17 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:18 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:21 +#: allianceauth/timerboard/templates/timerboard/index_button.html:4 +msgid "Back" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:27 +msgid "Date/Time" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:28 +msgid "Requestor" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +msgid "Type" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:32 +#: allianceauth/notifications/templates/notifications/list_partial.html:8 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:16 +msgid "Action" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:33 +msgid "Actor" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:47 +msgid "Removed" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:59 +msgid "All times displayed are EVE/UTC." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:66 +msgid "No entries found for this group." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:9 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:13 +msgid "Group Members" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:29 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:56 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:119 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:32 +msgid "Organization" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:49 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:75 +msgid "Group leader" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:60 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:85 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:148 +#: allianceauth/permissions_tool/templates/permissions_tool/audit_row.html:18 +msgid "(unknown)" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:65 +msgid "Remove from group" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:80 +msgid "No group members to list." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:6 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:7 +msgid "Groups Membership" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:13 +msgid "Join/Leave Requests" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:24 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:32 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:10 +msgid "Description" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:25 +#: allianceauth/hrapplications/templates/hrapplications/management.html:36 +#: allianceauth/hrapplications/templates/hrapplications/management.html:123 +#: allianceauth/hrapplications/templates/hrapplications/management.html:167 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34 +#: allianceauth/srp/templates/srp/data.html:80 +msgid "Status" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:26 +msgid "Member Count" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:42 +msgid "Hidden" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 +msgid "Open" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:47 +msgid "Requestable" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:56 +msgid "View Members" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:60 +msgid "Audit Members" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:64 +msgid "Copy Direct Join Link" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:75 +msgid "No groups to list." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:7 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:11 +msgid "Available Groups" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:34 +msgid "Leaders" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:36 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:57 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:120 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:29 +#: allianceauth/services/modules/openfire/forms.py:6 +msgid "Group" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:69 +msgid "Leave" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:73 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:88 +#: 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:116 +#: allianceauth/srp/templates/srp/management.html:87 +msgid "Pending" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:79 +msgid "Join" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:83 +msgid "Request" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:98 +msgid "No groups available." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:9 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:13 +msgid "Groups Management" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:19 +msgid "Join Requests" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:30 +msgid "Leave Requests" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:41 +#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:9 +msgid "Group Membership" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:93 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:156 +msgid "Accept" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:96 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:160 +#: allianceauth/hrapplications/templates/hrapplications/view.html:104 +msgid "Reject" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:106 +msgid "No group add requests." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:169 +msgid "No group leave requests." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:6 +msgid "Group Requests" +msgstr "" + +#: allianceauth/groupmanagement/views.py:166 +#, python-format +msgid "Removed user %(user)s from group %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:168 +msgid "User does not exist in that group" +msgstr "" + +#: allianceauth/groupmanagement/views.py:171 +msgid "Group does not exist" +msgstr "" + +#: allianceauth/groupmanagement/views.py:198 +#, python-format +msgid "Accepted application from %(mainchar)s to %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:204 +#: allianceauth/groupmanagement/views.py:235 +#, python-format +msgid "" +"An unhandled error occurred while processing the application from " +"%(mainchar)s to %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:229 +#, python-format +msgid "Rejected application from %(mainchar)s to %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:264 +#, python-format +msgid "Accepted application from %(mainchar)s to leave %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:269 +#: allianceauth/groupmanagement/views.py:301 +#, python-format +msgid "" +"An unhandled error occurred while processing the application from " +"%(mainchar)s to leave %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:295 +#, python-format +msgid "Rejected application from %(mainchar)s to leave %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:348 +#: allianceauth/groupmanagement/views.py:358 +msgid "You cannot join that group" +msgstr "" + +#: allianceauth/groupmanagement/views.py:353 +msgid "You are already a member of that group." +msgstr "" + +#: allianceauth/groupmanagement/views.py:370 +msgid "You already have a pending application for that group." +msgstr "" + +#: allianceauth/groupmanagement/views.py:379 +#, python-format +msgid "Applied to group %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:389 +msgid "You cannot leave that group" +msgstr "" + +#: allianceauth/groupmanagement/views.py:393 +msgid "You are not a member of that group" +msgstr "" + +#: allianceauth/groupmanagement/views.py:405 +msgid "You already have a pending leave request for that group." +msgstr "" + +#: allianceauth/groupmanagement/views.py:421 +#, python-format +msgid "Applied to leave group %(group)s." +msgstr "" + +#: allianceauth/hrapplications/auth_hooks.py:15 +msgid "Applications" +msgstr "" + +#: allianceauth/hrapplications/forms.py:6 +#: allianceauth/hrapplications/templates/hrapplications/view.html:115 +msgid "Comment" +msgstr "" + +#: allianceauth/hrapplications/forms.py:10 +msgid "Search String" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:6 +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:15 +msgid "Choose a Corp" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:10 +#: allianceauth/hrapplications/templates/hrapplications/create.html:11 +#: allianceauth/hrapplications/templates/hrapplications/management.html:7 +#: allianceauth/hrapplications/templates/hrapplications/management.html:11 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:7 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:11 +#: allianceauth/hrapplications/templates/hrapplications/view.html:11 +msgid "HR Application Management" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:21 +msgid "Available Corps" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:37 +msgid "No corps are accepting applications at this time." +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/create.html:7 +#: allianceauth/hrapplications/templates/hrapplications/create.html:17 +msgid "Apply To" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/create.html:23 +msgid "Application form" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/create.html:57 +msgid "Submit" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:16 +msgid "Personal Applications" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:22 +#: allianceauth/hrapplications/templates/hrapplications/management.html:25 +msgid "Create Application" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:34 +#: allianceauth/hrapplications/templates/hrapplications/management.html:120 +#: allianceauth/hrapplications/templates/hrapplications/management.html:164 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:31 +#: allianceauth/services/templates/services/service_username.html:4 +msgid "Username" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:48 +#: allianceauth/hrapplications/templates/hrapplications/management.html:141 +#: allianceauth/hrapplications/templates/hrapplications/management.html:185 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48 +#: allianceauth/hrapplications/templates/hrapplications/view.html:21 +#: allianceauth/srp/templates/srp/data.html:108 +msgid "Approved" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:50 +#: allianceauth/hrapplications/templates/hrapplications/management.html:143 +#: allianceauth/hrapplications/templates/hrapplications/management.html:187 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50 +#: allianceauth/srp/templates/srp/data.html:112 +msgid "Rejected" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:72 +msgid "Application Management" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:78 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:23 +msgid "Search Applications" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:109 +msgid "Reviewed" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:119 +#: allianceauth/hrapplications/templates/hrapplications/management.html:163 +msgid "Date" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:136 +#: allianceauth/hrapplications/templates/hrapplications/management.html:180 +#: allianceauth/hrapplications/templates/hrapplications/view.html:29 +msgid "Reviewer:" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:155 +msgid "No pending applications." +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:205 +msgid "No reviewed applications." +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:11 +msgid "Application Search" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:14 +#: allianceauth/hrapplications/templates/hrapplications/view.html:162 +#: allianceauth/templates/allianceauth/messages-bs5.html:22 +#: allianceauth/templates/allianceauth/messages.html:6 +msgid "Close" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:24 +msgid "Search" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:17 +msgid "Application Search Results" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:30 +msgid "Application ID" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:7 +#: allianceauth/hrapplications/templates/hrapplications/view.html:16 +msgid "View Application" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:23 +msgid "Denied" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:35 +msgid "Applicant" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:101 +msgid "Approve" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:107 +msgid "Delete" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:110 +msgid "Mark in Progress" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:124 +#: allianceauth/services/forms.py:17 +msgid "Comments" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:143 +msgid "No comments" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:159 +msgid "Add Comment" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:172 +msgid "Add comment" +msgstr "" + +#: allianceauth/menu/admin.py:63 +#, python-format +msgid "Add %s menu item" +msgstr "" + +#: allianceauth/menu/admin.py:71 +#, python-format +msgid "Change %s menu item" +msgstr "" + +#: allianceauth/menu/admin.py:82 +msgid "children" +msgstr "" + +#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21 +msgid "text" +msgstr "" + +#: allianceauth/menu/admin.py:96 +msgid "user defined" +msgstr "" + +#: allianceauth/menu/admin.py:100 +msgid "visible" +msgstr "" + +#: allianceauth/menu/constants.py:16 +msgid "app" +msgstr "" + +#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37 +msgid "folder" +msgstr "" + +#: allianceauth/menu/constants.py:18 +msgid "link" +msgstr "" + +#: allianceauth/menu/filters.py:12 +msgid "type" +msgstr "" + +#: allianceauth/menu/models.py:22 +msgid "Text to show on menu" +msgstr "" + +#: allianceauth/menu/models.py:27 +msgid "order" +msgstr "" + +#: allianceauth/menu/models.py:28 +msgid "Order of the menu. Lowest First" +msgstr "" + +#: allianceauth/menu/models.py:38 +msgid "Folder this item is in (optional)" +msgstr "" + +#: allianceauth/menu/models.py:42 +msgid "is hidden" +msgstr "" + +#: allianceauth/menu/models.py:44 +msgid "" +"Hide this menu item.If this item is a folder all items under it will be " +"hidden too" +msgstr "" + +#: allianceauth/menu/models.py:59 +msgid "icon classes" +msgstr "" + +#: allianceauth/menu/models.py:61 +msgid "" +"Font Awesome classes to show as icon on menu, e.g. fa-solid fa-" +"house" +msgstr "" + +#: allianceauth/menu/models.py:67 +msgid "url" +msgstr "" + +#: allianceauth/menu/models.py:68 +msgid "External URL this menu items will link to" +msgstr "" + +#: allianceauth/menu/templates/admin/menu/menuitem/change_list.html:10 +msgid "Add folder" +msgstr "" + +#: allianceauth/menu/templates/menu/menu-notification-block.html:12 +#: allianceauth/notifications/templates/notifications/list.html:7 +#: allianceauth/notifications/templates/notifications/list.html:11 +#: allianceauth/templates/allianceauth/notifications_menu_item.html:6 +msgid "Notifications" +msgstr "" + +#: allianceauth/menu/templates/menu/menu-user.html:56 +msgid "Super User" +msgstr "" + +#: allianceauth/menu/templates/menu/menu-user.html:70 +#: allianceauth/templates/allianceauth/top-menu-admin.html:9 +msgid "Admin" +msgstr "" + +#: allianceauth/menu/templates/menu/menu-user.html:82 +msgid "Sign Out" +msgstr "" + +#: allianceauth/menu/templates/menu/menu-user.html:86 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 +msgid "Sign In" +msgstr "" + +#: allianceauth/notifications/models.py:21 +msgid "danger" +msgstr "" + +#: allianceauth/notifications/models.py:22 +msgid "warning" +msgstr "" + +#: allianceauth/notifications/models.py:23 +msgid "info" +msgstr "" + +#: allianceauth/notifications/models.py:24 +msgid "success" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list.html:17 +msgid "Unread" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list.html:24 +msgid "Read" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list.html:32 +msgid "Mark all notifications as read" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list.html:38 +msgid "Delete all read notifications" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list_partial.html:6 +msgid "Timestamp" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list_partial.html:7 +msgid "Title" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list_partial.html:28 +msgid "No notifications." +msgstr "" + +#: allianceauth/notifications/templates/notifications/view.html:5 +#: allianceauth/notifications/templates/notifications/view.html:9 +msgid "View Notification" +msgstr "" + +#: allianceauth/notifications/views.py:52 +msgid "You are not authorized to view that notification." +msgstr "" + +#: allianceauth/notifications/views.py:68 +msgid "Deleted notification." +msgstr "" + +#: allianceauth/notifications/views.py:75 +msgid "Failed to locate notification." +msgstr "" + +#: allianceauth/notifications/views.py:83 +msgid "Marked all notifications as read." +msgstr "" + +#: allianceauth/notifications/views.py:91 +msgid "Deleted all read notifications." +msgstr "" + +#: allianceauth/optimer/auth_hooks.py:12 +msgid "Fleet Operations" +msgstr "" + +#: allianceauth/optimer/form.py:12 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:11 +msgid "Doctrine" +msgstr "" + +#: allianceauth/optimer/form.py:14 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:13 +msgid "Start Time" +msgstr "" + +#: allianceauth/optimer/form.py:15 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:9 +msgid "Operation Name" +msgstr "" + +#: allianceauth/optimer/form.py:16 +msgid "Operation Type" +msgstr "" + +#: allianceauth/optimer/form.py:17 +#: allianceauth/srp/templates/srp/management.html:47 +msgid "Fleet Commander" +msgstr "" + +#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14 +#: allianceauth/srp/templates/srp/data.html:71 +msgid "Additional Info" +msgstr "" + +#: allianceauth/optimer/form.py:23 +msgid "(Optional) Describe the operation with a couple of short words." +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:8 +#: allianceauth/optimer/templates/optimer/management.html:18 +msgid "Create Operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:12 +#: allianceauth/optimer/templates/optimer/management.html:11 +#: allianceauth/optimer/templates/optimer/update.html:12 +msgid "Fleet Operation Timers" +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:21 +msgid "Create Fleet Operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:27 +#: allianceauth/optimer/templates/optimer/update.html:27 +msgid "Fleet operation details" +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:40 +msgid "Create fleet operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:7 +msgid "Upcoming Fleets" +msgstr "" + +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:14 +msgid "Operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:16 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:12 +msgid "Form Up System" +msgstr "" + +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 +msgid "EVE Time" +msgstr "" + +#: allianceauth/optimer/templates/optimer/fleetoptable.html:14 +#: allianceauth/timerboard/templates/timerboard/timertable.html:12 +msgid "Local Time" +msgstr "" + +#: allianceauth/optimer/templates/optimer/fleetoptable.html:16 +msgid "FC" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:7 +msgid "Fleet Operation Management" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:28 +#: allianceauth/timerboard/templates/timerboard/view.html:31 +msgid "Current Eve Time:" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:36 +msgid "Next Fleet Operations" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:44 +#: allianceauth/timerboard/templates/timerboard/view.html:62 +msgid "No upcoming timers." +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:52 +msgid "Past Fleet Operations" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:60 +#: allianceauth/timerboard/templates/timerboard/view.html:80 +msgid "No past timers." +msgstr "" + +#: allianceauth/optimer/templates/optimer/update.html:8 +#: allianceauth/optimer/templates/optimer/update.html:21 +msgid "Update Fleet Operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/update.html:40 +msgid "Update fleet operation" +msgstr "" + +#: allianceauth/optimer/views.py:91 +#, python-format +msgid "Created operation timer for %(opname)s." +msgstr "" + +#: allianceauth/optimer/views.py:120 +#, python-format +msgid "Removed operation timer for %(opname)s." +msgstr "" + +#: allianceauth/optimer/views.py:171 +#, python-format +msgid "Saved changes to operation timer for %(opname)s." +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:6 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:10 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:16 +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:10 +msgid "Permissions Audit" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:31 +msgid "User / Character" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:6 +msgid "Permissions Overview" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:17 +msgid "Showing only applied permissions" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:18 +msgid "Show All" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:20 +msgid "Showing all permissions" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:21 +msgid "Show Applied" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:29 +msgid "App" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:30 +msgid "Model" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:31 +msgid "Code Name" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:35 +msgid "States" +msgstr "" + +#: allianceauth/services/abstract.py:72 +msgid "That service account already exists" +msgstr "" + +#: allianceauth/services/abstract.py:103 +#, python-brace-format +msgid "Successfully set your {self.service_name} password" +msgstr "" + +#: allianceauth/services/auth_hooks.py:12 +msgid "Services" +msgstr "" + +#: allianceauth/services/forms.py:6 +msgid "Name of Fleet:" +msgstr "" + +#: allianceauth/services/forms.py:7 +msgid "Fleet Commander:" +msgstr "" + +#: allianceauth/services/forms.py:8 +msgid "Fleet Comms:" +msgstr "" + +#: allianceauth/services/forms.py:9 +msgid "Fleet Type:" +msgstr "" + +#: allianceauth/services/forms.py:10 +msgid "Ship Priorities:" +msgstr "" + +#: allianceauth/services/forms.py:11 +msgid "Formup Location:" +msgstr "" + +#: allianceauth/services/forms.py:12 +msgid "Formup Time:" +msgstr "" + +#: allianceauth/services/forms.py:13 +msgid "Expected Duration:" +msgstr "" + +#: allianceauth/services/forms.py:14 +msgid "Purpose:" +msgstr "" + +#: allianceauth/services/forms.py:15 +msgid "Reimbursable?*" +msgstr "" + +#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16 +msgid "Yes" +msgstr "" + +#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16 +msgid "No" +msgstr "" + +#: allianceauth/services/forms.py:16 +msgid "Important?*" +msgstr "" + +#: allianceauth/services/forms.py:21 allianceauth/services/forms.py:31 +msgid "Password" +msgstr "" + +#: allianceauth/services/forms.py:26 allianceauth/services/forms.py:36 +msgid "Password must be at least 8 characters long." +msgstr "" + +#: allianceauth/services/modules/discord/models.py:187 +msgid "Discord Account Disabled" +msgstr "" + +#: allianceauth/services/modules/discord/models.py:189 +msgid "" +"Your Discord account was disabled automatically by Auth. If you think this " +"was a mistake, please contact an admin." +msgstr "" + +#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 +msgid "Activate" +msgstr "" + +#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 +msgid "Reset Password" +msgstr "" + +#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 +msgid "Deactivate" +msgstr "" + +#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:45 +msgid "Link Discord Server" +msgstr "" + +#: allianceauth/services/modules/discord/views.py:30 +msgid "Deactivated Discord account." +msgstr "" + +#: allianceauth/services/modules/discord/views.py:36 +#: allianceauth/services/modules/discord/views.py:59 +msgid "An error occurred while processing your Discord account." +msgstr "" + +#: allianceauth/services/modules/discord/views.py:102 +msgid "Your Discord account has been successfully activated." +msgstr "" + +#: allianceauth/services/modules/discord/views.py:108 +msgid "" +"An error occurred while trying to activate your Discord account. Please try " +"again." +msgstr "" + +#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5 +msgid "Discourse" +msgstr "" + +#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:18 +msgid "SSO login active" +msgstr "" + +#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:23 +msgid "Go to forums" +msgstr "" + +#: allianceauth/services/modules/discourse/views.py:29 +msgid "You are not authorized to access Discourse." +msgstr "" + +#: allianceauth/services/modules/discourse/views.py:34 +msgid "You must have a main character set to access Discourse." +msgstr "" + +#: allianceauth/services/modules/discourse/views.py:44 +msgid "" +"No SSO payload or signature. Please contact support if this problem " +"persists." +msgstr "" + +#: allianceauth/services/modules/discourse/views.py:54 +#: allianceauth/services/modules/discourse/views.py:62 +msgid "Invalid payload. Please contact support if this problem persists." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:31 +msgid "Activated IPSuite4 account." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:39 +#: allianceauth/services/modules/ips4/views.py:60 +#: allianceauth/services/modules/ips4/views.py:81 +#: allianceauth/services/modules/ips4/views.py:101 +msgid "An error occurred while processing your IPSuite4 account." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:52 +msgid "Reset IPSuite4 password." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:78 +msgid "Set IPSuite4 password." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:98 +msgid "Deactivated IPSuite4 account." +msgstr "" + +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 +#: allianceauth/services/templates/services/service_password.html:26 +msgid "Set Password" +msgstr "" + +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 +msgid "Connect" +msgstr "" + +#: allianceauth/services/modules/openfire/auth_hooks.py:27 +msgid "Jabber" +msgstr "" + +#: allianceauth/services/modules/openfire/auth_hooks.py:80 +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:7 +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:11 +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:19 +msgid "Jabber Broadcast" +msgstr "" + +#: allianceauth/services/modules/openfire/auth_hooks.py:95 +msgid "Fleet Broadcast Formatter" +msgstr "" + +#: allianceauth/services/modules/openfire/forms.py:7 +msgid "Message" +msgstr "" + +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:28 +msgid "Broadcast Sent!!" +msgstr "" + +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:38 +msgid "Broadcast" +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:35 +msgid "Activated Jabber account." +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:43 +#: allianceauth/services/modules/openfire/views.py:56 +#: allianceauth/services/modules/openfire/views.py:76 +#: allianceauth/services/modules/openfire/views.py:147 +msgid "An error occurred while processing your Jabber account." +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:69 +msgid "Reset Jabber password." +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:115 +#, python-format +msgid "Sent Jabber broadcast to %s" +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:144 +msgid "Set jabber password." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:34 +msgid "Activated forum account." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:42 +#: allianceauth/services/modules/phpbb3/views.py:56 +#: allianceauth/services/modules/phpbb3/views.py:78 +#: allianceauth/services/modules/phpbb3/views.py:101 +msgid "An error occurred while processing your forum account." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:53 +msgid "Deactivated forum account." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:70 +msgid "Reset forum password." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:98 +msgid "Set forum password." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:52 +msgid "Activated SMF account." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:65 +#: allianceauth/services/modules/smf/views.py:81 +#: allianceauth/services/modules/smf/views.py:102 +#: allianceauth/services/modules/smf/views.py:124 +msgid "An error occurred while processing your SMF account." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:78 +msgid "Deactivated SMF account." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:95 +msgid "Reset SMF password." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:121 +msgid "Set SMF password." +msgstr "" + +#: allianceauth/services/modules/teamspeak3/forms.py:14 +#, python-format +msgid "Unable to locate user %s on server" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/admin/teamspeak3/authts/change_list.html:10 +msgid "Update TeamSpeak3 groups" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeak3_service_ctrl.html:6 +msgid "Teamspeak 3" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:6 +msgid "Verify TeamSpeak3" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:10 +msgid "Verify TeamSpeak3 Identity" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:15 +msgid "Join Server" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:23 +#: allianceauth/services/templates/services/service_credentials.html:30 +#: allianceauth/srp/templates/srp/add.html:51 +msgid "Continue" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/views.py:35 +msgid "Activated TeamSpeak3 account." +msgstr "" + +#: allianceauth/services/modules/teamspeak3/views.py:38 +#: allianceauth/services/modules/teamspeak3/views.py:74 +#: allianceauth/services/modules/teamspeak3/views.py:100 +msgid "An error occurred while processing your TeamSpeak3 account." +msgstr "" + +#: allianceauth/services/modules/teamspeak3/views.py:71 +msgid "Deactivated TeamSpeak3 account." +msgstr "" + +#: allianceauth/services/modules/teamspeak3/views.py:97 +msgid "Reset TeamSpeak3 permission key." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:30 +msgid "Activated XenForo account." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:40 +#: allianceauth/services/modules/xenforo/views.py:52 +#: allianceauth/services/modules/xenforo/views.py:73 +#: allianceauth/services/modules/xenforo/views.py:94 +msgid "An error occurred while processing your XenForo account." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:50 +msgid "Deactivated XenForo account." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:65 +msgid "Reset XenForo account password." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:91 +msgid "Changed XenForo password." +msgstr "" + +#: allianceauth/services/templates/services/fleetformattertool.html:6 +#: allianceauth/services/templates/services/fleetformattertool.html:10 +msgid "Fleet Formatter Tool" +msgstr "" + +#: allianceauth/services/templates/services/fleetformattertool.html:18 +msgid "Fleet Details" +msgstr "" + +#: allianceauth/services/templates/services/fleetformattertool.html:37 +msgid "Format" +msgstr "" + +#: allianceauth/services/templates/services/service_confirm_delete.html:6 +#: allianceauth/services/templates/services/service_confirm_delete.html:16 +#, python-format +msgid "Delete %(service_name)s Account?" +msgstr "" + +#: allianceauth/services/templates/services/service_confirm_delete.html:10 +#: allianceauth/services/templates/services/service_credentials.html:10 +#: allianceauth/services/templates/services/service_password.html:11 +#: allianceauth/services/templates/services/services.html:9 +msgid "Available Services" +msgstr "" + +#: allianceauth/services/templates/services/service_confirm_delete.html:24 +#, python-format +msgid "" +"Are you sure you want to delete your %(service_name)s account %(object)s?" +msgstr "" + +#: allianceauth/services/templates/services/service_credentials.html:6 +#: allianceauth/services/templates/services/service_credentials.html:16 +#, python-format +msgid "%(service_name)s Credentials" +msgstr "" + +#: allianceauth/services/templates/services/service_password.html:7 +#, python-format +msgid "%(service_name)s Password Change" +msgstr "" + +#: allianceauth/services/templates/services/service_password.html:17 +#, python-format +msgid "Set %(service_name)s Password" +msgstr "" + +#: allianceauth/services/templates/services/service_status.html:5 +msgid "Enabled" +msgstr "" + +#: allianceauth/services/templates/services/service_status.html:7 +#: allianceauth/srp/templates/srp/management.html:78 +msgid "Disabled" +msgstr "" + +#: allianceauth/services/templates/services/services.html:5 +msgid "Services Management" +msgstr "" + +#: allianceauth/services/templates/services/services.html:20 +msgid "Legend" +msgstr "" + +#: allianceauth/services/templates/services/services.html:27 +msgid "Click to activate the service for your user." +msgstr "" + +#: allianceauth/services/templates/services/services.html:36 +msgid "Click to manually set your password." +msgstr "" + +#: allianceauth/services/templates/services/services.html:45 +msgid "Click to randomly generate your password." +msgstr "" + +#: allianceauth/services/templates/services/services.html:54 +msgid "Click to deactivate the service for your user" +msgstr "" + +#: allianceauth/services/templates/services/services.html:60 +msgid "" +"Some services provide different options. Hover over the buttons to see more." +msgstr "" + +#: allianceauth/srp/auth_hooks.py:14 +msgid "Ship Replacement" +msgstr "" + +#: allianceauth/srp/form.py:9 +#: allianceauth/srp/templates/srp/management.html:45 +msgid "Fleet Time" +msgstr "" + +#: allianceauth/srp/form.py:10 +#: allianceauth/srp/templates/srp/management.html:46 +msgid "Fleet Doctrine" +msgstr "" + +#: allianceauth/srp/form.py:16 +msgid "Killboard Link (zkillboard.com or kb.evetools.org)" +msgstr "" + +#: allianceauth/srp/form.py:34 +msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org" +msgstr "" + +#: allianceauth/srp/form.py:46 +msgid "Invalid Link. Please post a direct link to a killmail." +msgstr "" + +#: allianceauth/srp/form.py:53 +msgid "After Action Report Link" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:7 +msgid "SRP Fleet Create" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:11 +#: allianceauth/srp/templates/srp/data.html:11 +#: allianceauth/srp/templates/srp/management.html:11 +#: allianceauth/srp/templates/srp/request.html:11 +#: allianceauth/srp/templates/srp/update.html:11 +msgid "Ship Replacement Program" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:20 +msgid "Create SRP Fleet" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:26 +msgid "SRP fleet details" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:40 +msgid "Create SRP fleet" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:46 +msgid "Give this link to the line members." +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:7 +#: allianceauth/srp/templates/srp/data.html:38 +msgid "SRP Fleet Data" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:16 +msgid "View Fleets" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:25 +msgid "Mark Incomplete" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:29 +msgid "Mark Completed" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:47 +#: allianceauth/srp/templates/srp/data.html:138 +msgid "Total Losses:" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:48 +#: allianceauth/srp/templates/srp/data.html:139 +#: allianceauth/srp/templates/srp/management.html:36 +msgid "Total ISK Cost:" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:59 +#: allianceauth/srp/templates/srp/data.html:150 +msgid "Are you sure you want to delete SRP requests?" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:69 +msgid "Pilot Name" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:70 +msgid "Killboard Link" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:72 +msgid "Ship Type" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:73 +msgid "Killboard Loss Amt" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:75 +msgid "SRP ISK Cost" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:76 +msgid "Click value to edit Enter to save & next ESC to cancel" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:79 +msgid "Post Time" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:98 +#: allianceauth/srp/templates/srp/management.html:70 +msgid "Link" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:159 +msgid "No SRP requests for this fleet." +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:7 +msgid "SRP Management" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:18 +msgid "View All" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:27 +msgid "Add SRP Fleet" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:48 +msgid "Fleet AAR" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:49 +msgid "Fleet SRP Code" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:50 +msgid "Fleet ISK Cost" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:51 +msgid "SRP Status" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:52 +msgid "Pending Requests" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:91 +msgid "Completed" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:108 +msgid "Are you sure you want to delete this SRP code and its contents?" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:129 +msgid "No SRP fleets created." +msgstr "" + +#: allianceauth/srp/templates/srp/request.html:7 +msgid "SRP Request" +msgstr "" + +#: allianceauth/srp/templates/srp/request.html:16 +msgid "Create SRP Request" +msgstr "" + +#: allianceauth/srp/templates/srp/request.html:22 +msgid "Your SRP request" +msgstr "" + +#: allianceauth/srp/templates/srp/request.html:35 +msgid "Create SRP request" +msgstr "" + +#: allianceauth/srp/templates/srp/update.html:7 +#: allianceauth/srp/templates/srp/update.html:16 +msgid "Update AAR Link" +msgstr "" + +#: allianceauth/srp/templates/srp/update.html:22 +msgid "After Action Report" +msgstr "" + +#: allianceauth/srp/templates/srp/update.html:31 +msgid "SRP Fleet Does Not Exist" +msgstr "" + +#: allianceauth/srp/templates/srp/update.html:40 +msgid "Update AAR link" +msgstr "" + +#: allianceauth/srp/views.py:85 +#, python-format +msgid "Created SRP fleet %(fleetname)s." +msgstr "" + +#: allianceauth/srp/views.py:103 +#, python-format +msgid "Removed SRP fleet %(fleetname)s." +msgstr "" + +#: allianceauth/srp/views.py:115 +#, python-format +msgid "Disabled SRP fleet %(fleetname)s." +msgstr "" + +#: allianceauth/srp/views.py:127 +#, python-format +msgid "Enabled SRP fleet %(fleetname)s." +msgstr "" + +#: allianceauth/srp/views.py:140 +#, python-format +msgid "Marked SRP fleet %(fleetname)s as completed." +msgstr "" + +#: allianceauth/srp/views.py:153 +#, python-format +msgid "Marked SRP fleet %(fleetname)s as incomplete." +msgstr "" + +#: allianceauth/srp/views.py:165 +#, python-format +msgid "Unable to locate SRP code with ID %(srpfleetid)s" +msgstr "" + +#: allianceauth/srp/views.py:179 +msgid "This kill mail has already been posted." +msgstr "" + +#: allianceauth/srp/views.py:200 +msgid "" +"Your SRP request Killmail link is invalid. Please make sure you are using " +"zKillboard." +msgstr "" + +#: allianceauth/srp/views.py:212 +#, python-format +msgid "Submitted SRP request for your %(ship)s." +msgstr "" + +#: allianceauth/srp/views.py:216 +#, python-format +msgid "" +"Character %(charid)s does not belong to your Auth account. Please add the " +"API key for this character and try again" +msgstr "" + +#: allianceauth/srp/views.py:236 allianceauth/srp/views.py:262 +#: allianceauth/srp/views.py:300 +msgid "No SRP requests selected" +msgstr "" + +#: allianceauth/srp/views.py:247 allianceauth/srp/views.py:285 +msgid "Unable to locate selected SRP request." +msgstr "" + +#: allianceauth/srp/views.py:250 +#, python-format +msgid "Deleted %(numrequests)s SRP requests" +msgstr "" + +#: allianceauth/srp/views.py:288 +#, python-format +msgid "Approved %(numrequests)s SRP requests" +msgstr "" + +#: allianceauth/srp/views.py:320 +msgid "Unable to locate selected SRP request" +msgstr "" + +#: allianceauth/srp/views.py:323 +#, python-format +msgid "Rejected %(numrequests)s SRP requests." +msgstr "" + +#: allianceauth/srp/views.py:336 +#, python-format +msgid "Unable to locate SRP request with ID %(requestid)s" +msgstr "" + +#: allianceauth/srp/views.py:360 +#, python-format +msgid "Saved changes to SRP fleet %(fleetname)s" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/esi_check.html:4 +msgid "Your Server received an ESI error response code of " +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 +msgid "Alliance Auth Notifications" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 +msgid "Closed" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 +msgid "No notifications at this time" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 +msgid "Powered by GitLab" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 +msgid "Support Discord" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 +msgid "Software Version" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 +msgid "Current" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 +msgid "Latest Stable" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 +msgid "Update available" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 +msgid "Latest Pre-Release" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 +msgid "Pre-Release available" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 +msgid "Task Queue" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 +#, python-format +msgid "" +"\n" +" Status of %(total)s processed tasks • last %(latest)s\n" +" " +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 +msgid "running" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 +msgid "queued" +msgstr "" + +#: allianceauth/templates/allianceauth/top-menu-admin.html:19 +msgid "AA Documentation" +msgstr "" + +#: allianceauth/templates/allianceauth/top-menu-admin.html:26 +msgid "AA Support Discord" +msgstr "" + +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:10 +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:16 +msgid "User Menu" +msgstr "" + +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:67 +msgid "Logout" +msgstr "" + +#: allianceauth/templates/allianceauth/top-menu.html:8 +msgid "Toggle navigation" +msgstr "" + +#: allianceauth/theme/templates/theme/theme_select.html:7 +msgid "Select Theme" +msgstr "" + +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/timertable.html:7 +msgid "Details" +msgstr "" + +#: allianceauth/timerboard/form.py:38 +msgid "Planet/Moon" +msgstr "" + +#: allianceauth/timerboard/form.py:39 +msgid "Structure Type" +msgstr "" + +#: allianceauth/timerboard/form.py:40 +msgid "Timer Type" +msgstr "" + +#: allianceauth/timerboard/form.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:8 +msgid "Objective" +msgstr "" + +#: allianceauth/timerboard/form.py:42 +msgid "Absolute Timer" +msgstr "" + +#: allianceauth/timerboard/form.py:43 +msgid "Date and Time" +msgstr "" + +#: allianceauth/timerboard/form.py:44 +msgid "Days Remaining" +msgstr "" + +#: allianceauth/timerboard/form.py:45 +msgid "Hours Remaining" +msgstr "" + +#: allianceauth/timerboard/form.py:47 +msgid "Minutes Remaining" +msgstr "" + +#: allianceauth/timerboard/form.py:48 +msgid "Important" +msgstr "" + +#: allianceauth/timerboard/form.py:49 +msgid "Corp-Restricted" +msgstr "" + +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "" + +#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "" + +#: allianceauth/timerboard/models.py:45 +msgid "Not Specified" +msgstr "" + +#: allianceauth/timerboard/models.py:46 +msgid "Shield" +msgstr "" + +#: allianceauth/timerboard/models.py:47 +msgid "Armor" +msgstr "" + +#: allianceauth/timerboard/models.py:48 +msgid "Hull" +msgstr "" + +#: allianceauth/timerboard/models.py:49 +msgid "Final" +msgstr "" + +#: allianceauth/timerboard/models.py:50 +msgid "Anchoring" +msgstr "" + +#: allianceauth/timerboard/models.py:51 +msgid "Unanchoring" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 +#: allianceauth/timerboard/templates/timerboard/view.html:53 +msgid "Upcoming Timers" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +msgid "Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/form.html:10 +#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10 +#: allianceauth/timerboard/templates/timerboard/view.html:13 +msgid "Structure Timers" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/form.html:25 +msgid "Structure Timer Details" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:6 +#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:15 +msgid "Delete Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:26 +#, python-format +msgid "Are you sure you want to delete timer \"%(object)s\"?" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:5 +#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:13 +msgid "Create Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9 +#: allianceauth/timerboard/templates/timerboard/view.html:21 +msgid "Create Structure Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:5 +#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:9 +#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:13 +msgid "Update Structure Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timertable.html:10 +msgid "Structure" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +msgid "Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +msgid "Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/view.html:9 +msgid "Structure Timer Management" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/view.html:40 +msgid "Corporation Timers" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/view.html:71 +msgid "Past Timers" +msgstr "" + +#: allianceauth/timerboard/views.py:85 +#, python-format +msgid "Added new timer in %(system)s at %(time)s." +msgstr "" + +#: allianceauth/timerboard/views.py:95 +msgid "Saved changes to the timer." +msgstr "" + +#: allianceauth/views.py:55 +msgid "Bad Request" +msgstr "" + +#: allianceauth/views.py:57 allianceauth/views.py:87 +msgid "" +"Auth encountered an error processing your request, please try again. If the " +"error persists, please contact the administrators." +msgstr "" + +#: allianceauth/views.py:65 +msgid "Permission Denied" +msgstr "" + +#: allianceauth/views.py:67 +msgid "" +"You do not have permission to access the requested page. If you believe this" +" is in error please contact the administrators." +msgstr "" + +#: allianceauth/views.py:75 +msgid "Page Not Found" +msgstr "" + +#: allianceauth/views.py:77 +msgid "" +"Page does not exist. If you believe this is in error please contact the " +"administrators. " +msgstr "" + +#: allianceauth/views.py:85 +msgid "Internal Server Error" +msgstr "" diff --git a/allianceauth/locale/de/LC_MESSAGES/django.po b/allianceauth/locale/de/LC_MESSAGES/django.po index 046275f2..489602a5 100644 --- a/allianceauth/locale/de/LC_MESSAGES/django.po +++ b/allianceauth/locale/de/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Peter Pfeufer, 2024\n" "Language-Team: German (https://app.transifex.com/alliance-auth/teams/107430/de/)\n" @@ -101,27 +101,31 @@ msgstr "Italienisch" msgid "Ukrainian" msgstr "Ukrainisch" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "Polnisch" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Sprache" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Nachtmodus" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Theme" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "Status geändert zu %s" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Dein Nutzerstatus ist nun %(state)s" @@ -133,27 +137,27 @@ msgstr "Dein Nutzerstatus ist nun %(state)s" msgid "Dashboard" msgstr "Dashboard" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "Charaktere" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "Charakter hinzufügen" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "Hauptcharakter ändern" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -162,12 +166,12 @@ msgstr "Hauptcharakter ändern" msgid "Name" msgstr "Name" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "Corp" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -177,7 +181,7 @@ msgstr "Allianz" msgid "Membership" msgstr "Mitgliedschaft" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "Status:" @@ -423,6 +427,19 @@ msgstr "Ausgewählte Corp hat bereits ein Statistik Modul." msgid "Failed to gather corporation statistics with selected token." msgstr "Fehler beim Sammeln von Corpstatistiken mit ausgewählten Token." +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "Eigenes CSS" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "Dein eigenes CSS" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "Dieses CSS wird der Site nach dem Standard-CSS hinzugefügt." + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -515,8 +532,8 @@ msgstr "Benutzername" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "System" @@ -863,7 +880,7 @@ msgstr "Antragsteller" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "Typ" @@ -955,7 +972,7 @@ msgid "Hidden" msgstr "Verborgen" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "Öffnen" @@ -1439,16 +1456,16 @@ msgstr "Benachrichtigungen" msgid "Super User" msgstr "Super User" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "Admin" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "Ausloggen" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1598,7 +1615,7 @@ msgid "Form Up System" msgstr "Startsystem" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "EVE Zeit" @@ -1795,17 +1812,17 @@ msgstr "" " dies war ein Fehler, kontaktiere bitte einen Administrator." #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "Aktivieren" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "Passwort zurücksetzen" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "Deaktivieren" @@ -1893,12 +1910,12 @@ msgstr "Setze IPSuite4 Passwort." msgid "Deactivated IPSuite4 account." msgstr "IP4Suite Konto deaktiviert." -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "Setze Passwort" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "Verbinden" @@ -2473,56 +2490,56 @@ msgstr "Änderungen der SRP Flotte %(fleetname)s gespeichert" msgid "Your Server received an ESI error response code of " msgstr "Der Server hat einen ESI-Fehlerantwortcode erhalten" -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "Alliance Auth Benachrichtigungen" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "Geschlossen" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "Derzeit liegen keine Benachrichtigungen vor" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "Unterstützt durch GitLab" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "Support Discord" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "Software Version" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "Aktuell" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "Aktuellste stabile Version" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "Update verfügbar" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "Aktuellste Testversion" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "Testversion verfügbar" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "Task-Warteschlange" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2532,11 +2549,11 @@ msgstr "" "\n" "Status von %(total)s verarbeiten Aufgaben • in den letzten %(latest)s" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "laufend" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "eingereiht" @@ -2565,105 +2582,203 @@ msgstr "Navigation umschalten" msgid "Select Theme" msgstr "Theme auswählen" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "Anderes" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "Freundlich" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "Feindlich" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "Neutral" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "Details" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "Planet/Mond" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "Strukturen Typ" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "Timer Typ" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "Ziel" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "Absoluter Timer" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "Datum und Uhrzeit" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "Tage verbleibend" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "Stunden verbleibend" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "Minuten verbleibend" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "Wichtig" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "Auf Corp beschränkt" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "Freundlich" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "Feindlich" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "Neutral" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "POCO" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "Orbital Skyhook" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "I-HUB" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "TCU" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "POS [S]" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "POS [M]" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "POS [L]" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "Astrahus" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "Fortizar" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "Keepstar" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "Raitaru" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "Azbel" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "Sotiyo" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "Athanor" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "Tatara" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "Pharolux Cyno Beacon" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "Tenebrex Cyno Jammer" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "Ansiblex Jump Gate" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "Moon Mining Cycle" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "Metenox Moon Drill" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "Anderes" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "Keine Angabe" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "Schild" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "Panzerung" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "Hülle" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "Final" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "Ankernd" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "Entankernd" @@ -2672,7 +2787,7 @@ msgstr "Entankernd" msgid "Upcoming Timers" msgstr "Bevorstehende Timefr" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "Timer" @@ -2716,78 +2831,14 @@ msgstr "Strukturen Timer aktualisieren" msgid "Structure" msgstr "Struktur" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "POCO" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "I-HUB" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "TCU" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "POS [S]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "POS [M]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "POS [L]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "Astrahus" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "Fortizar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "Keepstar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "Raitaru" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "Azbel" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "Sotiyo" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "Athanor" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "Tatara" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "Cyno Jammer" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "Ansiblex Jump Gate" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "Moon Mining Cycle" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "Strukturen Timer Verwaltung" diff --git a/allianceauth/locale/es/LC_MESSAGES/django.po b/allianceauth/locale/es/LC_MESSAGES/django.po index 0ed6164f..5188cf85 100644 --- a/allianceauth/locale/es/LC_MESSAGES/django.po +++ b/allianceauth/locale/es/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: trenus, 2023\n" "Language-Team: Spanish (https://app.transifex.com/alliance-auth/teams/107430/es/)\n" @@ -97,27 +97,31 @@ msgstr "Italiano" msgid "Ukrainian" msgstr "" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Idioma" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Modo Nocturno" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "Estado cambiado a: %s" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "El estado de su usuario es ahora: %(state)s" @@ -129,27 +133,27 @@ msgstr "El estado de su usuario es ahora: %(state)s" msgid "Dashboard" msgstr "Página principal" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "Personajes" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "Agregar Personaje" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "Cambiar Personaje Principal" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -158,12 +162,12 @@ msgstr "Cambiar Personaje Principal" msgid "Name" msgstr "Nombre" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "Corporación" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -173,7 +177,7 @@ msgstr "Allianza" msgid "Membership" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "" @@ -415,6 +419,19 @@ msgid "Failed to gather corporation statistics with selected token." msgstr "" "Se fallo en obtener las estadisticas corporativas con el token seleccionado" +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -507,8 +524,8 @@ msgstr "Usuario" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "Sistema" @@ -856,7 +873,7 @@ msgstr "Solicitante" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "Tipo" @@ -948,7 +965,7 @@ msgid "Hidden" msgstr "Escondido" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "Abierto" @@ -1429,16 +1446,16 @@ msgstr "Notificaciones" msgid "Super User" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "Administrador" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1588,7 +1605,7 @@ msgid "Form Up System" msgstr "Sistema de encuentro" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "" @@ -1785,17 +1802,17 @@ msgstr "" "que se trata de un error, ponte en contacto con un administrador." #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "" @@ -1882,12 +1899,12 @@ msgstr "Establecer contraseña de IPSuite4." msgid "Deactivated IPSuite4 account." msgstr "Cuenta IPSuite4 desactivada." -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "Cambiar Contraseña" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "" @@ -2456,56 +2473,56 @@ msgstr "Se guardaron los cambios en el SRP de la flota %(fleetname)s" msgid "Your Server received an ESI error response code of " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "Notificaciones de Alliance Auth" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "Cerrado" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "Desarrollado por GitLab" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "Soporte Discord" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "Versión del Software" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "Actual" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "Último Estable" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "Actualizacion Disponible" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "Último Pre-Lanzamiento" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "Pre-Lanzamiento disponible" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "Cola de Tareas" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2513,11 +2530,11 @@ msgid "" " " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "" @@ -2546,105 +2563,203 @@ msgstr "Navegacion" msgid "Select Theme" msgstr "" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "Otro" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "Amigable" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "Hostil" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "Neutral" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "Detalles" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "Planeta/Luna" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "Tipo de Estructura" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "Tipo de temporizador" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "Objetivo" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "Dias restantes" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "Horas Restantes" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "Minutos Restantes" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "Importante" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "Restringido a Corp" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "Amigable" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "Hostil" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "Neutral" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "Otro" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "Sin especificación" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "Escudo" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "Armadura" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "Tipo" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "Final" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "Anclando" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "Desanclando" @@ -2653,7 +2768,7 @@ msgstr "Desanclando" msgid "Upcoming Timers" msgstr "" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "" @@ -2697,78 +2812,14 @@ msgstr "Actualizar Timer de Estructura" msgid "Structure" msgstr "Estructura" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "Manejo de Timers Estructurales" diff --git a/allianceauth/locale/fr_FR/LC_MESSAGES/django.po b/allianceauth/locale/fr_FR/LC_MESSAGES/django.po index 2537a2e5..3d1a7a91 100644 --- a/allianceauth/locale/fr_FR/LC_MESSAGES/django.po +++ b/allianceauth/locale/fr_FR/LC_MESSAGES/django.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Joel Falknau , 2024\n" "Language-Team: French (France) (https://app.transifex.com/alliance-auth/teams/107430/fr_FR/)\n" @@ -109,27 +109,31 @@ msgstr "Italien" msgid "Ukrainian" msgstr "Ukrainien" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Langue" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Mode Nuit" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Thème" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "État changé à: %s" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "L'état de votre personnage est maintenant: %(state)s" @@ -141,27 +145,27 @@ msgstr "L'état de votre personnage est maintenant: %(state)s" msgid "Dashboard" msgstr "Écran de bord" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "Personnages" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "Ajouter un Personnage" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "Changer de Personnage Principal" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -170,12 +174,12 @@ msgstr "Changer de Personnage Principal" msgid "Name" msgstr "Nom" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "Corpo" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -185,7 +189,7 @@ msgstr "Alliance" msgid "Membership" msgstr "Appartenance" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "État:" @@ -431,6 +435,19 @@ msgid "Failed to gather corporation statistics with selected token." msgstr "" "Impossible d'obtenir les statistiques de la corpo avec le code choisi." +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -523,8 +540,8 @@ msgstr "Utilisateur" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "Système" @@ -873,7 +890,7 @@ msgstr "Demandeur" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "Type" @@ -965,7 +982,7 @@ msgid "Hidden" msgstr "Caché" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "Ouvert" @@ -1449,16 +1466,16 @@ msgstr "Alertes" msgid "Super User" msgstr "Super Utilisateur" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "Administrateur" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "Se Déconnecter" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1608,7 +1625,7 @@ msgid "Form Up System" msgstr "Système de départ" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "Temps EVE" @@ -1805,17 +1822,17 @@ msgstr "" "pensez que c'est une erreur, veuillez contacter un administrateur." #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "Activer" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "Réinitialiser le mot de passe" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "Désactiver" @@ -1902,12 +1919,12 @@ msgstr "Définir le mot de passe IPSuite4." msgid "Deactivated IPSuite4 account." msgstr "Compte IPSuite4 désactivé." -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "Définir le mot de passe" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "Connecter" @@ -2480,56 +2497,56 @@ msgstr "Modifications enregistrées de la flotte SRP%(fleetname)s" msgid "Your Server received an ESI error response code of " msgstr "Votre serveur a reçu une erreur ESI avec pour code" -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "Alertes Alliance Auth" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "Fermé" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "Aucune notification pour le moment" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "Propulsé par Gitlab" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "Support Discord" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "Version du logiciel" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "Actuelle" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "Dernière version stable" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "Mise à jour disponible" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "Dernière Pre-Release" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "Pre-Release disponible" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "File d'attente des tâches" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2539,11 +2556,11 @@ msgstr "" "\n" " Status de %(total)s tâches traitées • %(latest)s restantes" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "en cours d'exécution" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "en attente" @@ -2572,105 +2589,203 @@ msgstr "Activer navigation" msgid "Select Theme" msgstr "Sélectionner un thème" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "Autre" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "Amical" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "Hostile" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "Neutre" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "Details" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "Planète/Lune" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "Type de structure" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "Type de timer" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "Objectif" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "Minuterie absolue" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "Date et heure" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "Jour restants" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "Heures restantes" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "Minutes restantes" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "Important" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "Limité à la Corporation" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "Amical" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "Hostile" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "Neutre" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "POCO" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "I-HUB" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "TCU" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "POS [S]" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "POS [M]" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "POS [L]" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "Astrahus" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "Fortizar" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "Keepstar" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "Raitaru" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "Azbel" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "Sotiyo" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "Athanor" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "Tatara" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "Porte de saut Ansiblex" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "Cycle d’extraction de lune" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "Autre" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "Non Spécifié" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "Bouclier" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "Armure" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "Coque" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "Final" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "Ancrage" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "Désancrage" @@ -2679,7 +2794,7 @@ msgstr "Désancrage" msgid "Upcoming Timers" msgstr "Prochaines Échéances" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "Échéances" @@ -2723,78 +2838,14 @@ msgstr "Mettre à jour le minuteur de structure" msgid "Structure" msgstr "Structure" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "POCO" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "I-HUB" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "TCU" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "POS [S]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "POS [M]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "POS [L]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "Astrahus" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "Fortizar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "Keepstar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "Raitaru" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "Azbel" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "Sotiyo" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "Athanor" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "Tatara" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "Balise Cyno" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "Brouilleur de Cyno" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "Porte de saut Ansiblex" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "Cycle d’extraction de lune" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "Gestion des minuteurs de structure" diff --git a/allianceauth/locale/it_IT/LC_MESSAGES/django.po b/allianceauth/locale/it_IT/LC_MESSAGES/django.po index e391019a..dce12a7a 100644 --- a/allianceauth/locale/it_IT/LC_MESSAGES/django.po +++ b/allianceauth/locale/it_IT/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Tuz, 2024\n" "Language-Team: Italian (Italy) (https://app.transifex.com/alliance-auth/teams/107430/it_IT/)\n" @@ -101,27 +101,31 @@ msgstr "Italiano" msgid "Ukrainian" msgstr "Ucraino" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Lingua" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Modalità scura" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Tema" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "Stato modificato a: %s" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Il tuo stato utente è ora: %(state)s" @@ -133,27 +137,27 @@ msgstr "Il tuo stato utente è ora: %(state)s" msgid "Dashboard" msgstr "Pannello di controllo" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "Personaggi" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "Aggiungi personaggio" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "Cambia personaggio principale" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -162,12 +166,12 @@ msgstr "Cambia personaggio principale" msgid "Name" msgstr "Nome" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "Corp" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -177,7 +181,7 @@ msgstr "Alleanza" msgid "Membership" msgstr "Appartenenza" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "Stato:" @@ -424,6 +428,19 @@ msgstr "" "Impossibile raccogliere le statistiche sulla corporazione con il token " "selezionato." +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -517,8 +534,8 @@ msgstr "Utente" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "Sistema" @@ -867,7 +884,7 @@ msgstr "Richiedente" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "Tipo" @@ -959,7 +976,7 @@ msgid "Hidden" msgstr "Nascosto" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "Aperto" @@ -1446,16 +1463,16 @@ msgstr "Notifiche" msgid "Super User" msgstr "Super User" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "Amministratore" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "Sign Out" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1605,7 +1622,7 @@ msgid "Form Up System" msgstr "Sistema di partenza" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "" @@ -1802,17 +1819,17 @@ msgstr "" "pensi questo sia un errore per favore contatta un ammistratore." #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "Attivare" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "Reset Password" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "Deattivare" @@ -1899,12 +1916,12 @@ msgstr "Imposta password IPSuite4." msgid "Deactivated IPSuite4 account." msgstr "Disattiva account IPSuite4." -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "Imposta password" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "Connect" @@ -2480,56 +2497,56 @@ msgstr "Salvati i cambiamenti al SRP della flotta %(fleetname)s" msgid "Your Server received an ESI error response code of " msgstr "Il server ha ricevuto un codice di risposta di errore ESI pari a " -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "Notifiche Auth Alleanza" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "Chiuso" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "Nessuna notifica al momento" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "Powered by GitLab" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "Discord di supporto" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "Versione del software" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "Attuale" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "Ultima versione stabile" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "Aggiornamento disponibile" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "Ultima versione preliminare" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "Versione preliminare disponibile" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "Coda delle attività" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2537,11 +2554,11 @@ msgid "" " " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "in esecuzione" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "in coda" @@ -2570,105 +2587,203 @@ msgstr "Attiva/disattiva navigazione" msgid "Select Theme" msgstr "Seleziona Tema" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "Altro" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "Amichevole" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "Ostile" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "Neutrale" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "Dettagli" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "Pianeta/Luna" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "Tipologia di struttura" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "Tipologia di timer" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "Obiettivo" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "Timer Assoluto" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "Data e Ora" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "Giorni rimanenti" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "Ore rimanenti" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "Minuti rimanenti " -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "Importante" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "Limitato alla corporazione" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "Amichevole" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "Ostile" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "Neutrale" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "POCO" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "I-HUB" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "TCU" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "POS [S]" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "POS [M]" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "POS [L]" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "Astrahus" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "Fortizar" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "Keepstar" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "Raitaru" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "Azbel" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "Sotiyo" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "Athanor" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "Tatara" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "Ansiblex Jump Gate" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "Moon Mining Cycle" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "Altro" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "Non specificato" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "Scudo" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "Armatura" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "Struttura" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "Ultimo" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "In ancoraggio" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "In disancoraggio" @@ -2677,7 +2792,7 @@ msgstr "In disancoraggio" msgid "Upcoming Timers" msgstr "Prossimi Timer" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "Timer" @@ -2721,78 +2836,14 @@ msgstr "Aggiorna timer struttura" msgid "Structure" msgstr "Struttura" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "POCO" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "I-HUB" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "TCU" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "POS [S]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "POS [M]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "POS [L]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "Astrahus" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "Fortizar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "Keepstar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "Raitaru" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "Azbel" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "Sotiyo" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "Athanor" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "Tatara" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "Cyno Jammer" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "Ansiblex Jump Gate" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "Moon Mining Cycle" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "Gestione timer strutture" diff --git a/allianceauth/locale/ja/LC_MESSAGES/django.po b/allianceauth/locale/ja/LC_MESSAGES/django.po index 1e07fc81..7e166989 100644 --- a/allianceauth/locale/ja/LC_MESSAGES/django.po +++ b/allianceauth/locale/ja/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: kotaneko, 2024\n" "Language-Team: Japanese (https://app.transifex.com/alliance-auth/teams/107430/ja/)\n" @@ -96,27 +96,31 @@ msgstr "イタリア語" msgid "Ukrainian" msgstr "ウクライナ語" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "言語" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "ナイトモード" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "テーマ" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "分類が%sに変更されました。" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "あなたの分類は%(state)sになりました。" @@ -128,27 +132,27 @@ msgstr "あなたの分類は%(state)sになりました。" msgid "Dashboard" msgstr "ダッシュボード" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "キャラクター" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "キャラクターを追加" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "メンキャラクターを変更" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -157,12 +161,12 @@ msgstr "メンキャラクターを変更" msgid "Name" msgstr "名前" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "コーポ" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -172,7 +176,7 @@ msgstr "アライアンス" msgid "Membership" msgstr "メンバーシップ" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "状態:" @@ -407,6 +411,19 @@ msgstr "選択されたCorpはすでにStatistics Moduleを導入済みです。 msgid "Failed to gather corporation statistics with selected token." msgstr "選択されたTokenではCorporation Statisticsを取得できませんでした。" +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -499,8 +516,8 @@ msgstr "ユーザ" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "星系" @@ -827,7 +844,7 @@ msgstr "依頼者" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "タイプ" @@ -919,7 +936,7 @@ msgid "Hidden" msgstr "閉じる" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "開く" @@ -1395,16 +1412,16 @@ msgstr "通知" msgid "Super User" msgstr "スーパーユーザ" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "管理者" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "サインアウト" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1554,7 +1571,7 @@ msgid "Form Up System" msgstr "フォームアップ星系" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "EVE内時間" @@ -1750,17 +1767,17 @@ msgstr "" "DiscordアカウントはAuthによって自動的に無効化されました。これが何らかの間違いによるものだと思われる場合は、管理者に連絡してください。" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "有効化" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "パスワードをリセット" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "非アクティブ化" @@ -1841,12 +1858,12 @@ msgstr "IPSuite4 のパスワードを設定します。" msgid "Deactivated IPSuite4 account." msgstr "IPSuite4 アカウントを非アクティブ化しました。" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "パスワード設定" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "接続" @@ -2413,56 +2430,56 @@ msgstr "SRP フリートへの変更を保存 %(fleetname)s" msgid "Your Server received an ESI error response code of " msgstr "サーバーが ESI エラー応答コードを受信しました " -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "アライアンスAuth 通知" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "クローズド" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "現時点では通知はありません" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "Powered by GitLab" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "サポートディスコード" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "ソフトウェアバージョン" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "現在" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "最新安定版" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "アップデート可能" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "最新のプレリリース" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "プレリリース利用可能" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "タスク待ち" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2473,11 +2490,11 @@ msgstr "" " ステータス %(total)s 処理済みタスク • 残り %(latest)s\n" " " -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "実行中" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "実行待ち" @@ -2506,105 +2523,203 @@ msgstr "ナビゲーションを切り替え" msgid "Select Theme" msgstr "テーマを選択" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "その他" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "味方" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "敵性" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "中立" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "詳細" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "惑星/月" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "ストラクチャタイプ" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "タイマータイプ" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "目標" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "アブソルートタイマー" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "日付と時刻" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "残り日数" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "残り時間" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "残り分数" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "重要" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "コーポレーション制限付き" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "味方" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "敵性" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "中立" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "POCO" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "I-HUB" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "TCU" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "POS [S]" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "POS [M]" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "POS [L]" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "Astrahus" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "Fortizar" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "Keepstar" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "Raitaru" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "Azbel" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "Sotiyo" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "Athanor" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "Tatara" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "Ansiblex Jump Gate" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "Moon Mining Cycle" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "その他" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "指定なし" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "シールド" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "アーマー" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "ハル" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "最終" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "Anchoring" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "Unanchoring" @@ -2613,7 +2728,7 @@ msgstr "Unanchoring" msgid "Upcoming Timers" msgstr "今後予定されているタイマー" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "タイマー" @@ -2657,78 +2772,14 @@ msgstr "ストラクチャタイマーを更新" msgid "Structure" msgstr "ストラクチャ" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "POCO" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "I-HUB" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "TCU" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "POS [S]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "POS [M]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "POS [L]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "Astrahus" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "Fortizar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "Keepstar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "Raitaru" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "Azbel" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "Sotiyo" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "Athanor" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "Tatara" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "Cyno Jammer" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "Ansiblex Jump Gate" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "Moon Mining Cycle" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "ストラクチャタイマー管理" diff --git a/allianceauth/locale/ko_KR/LC_MESSAGES/django.po b/allianceauth/locale/ko_KR/LC_MESSAGES/django.po index 013b3e25..5f1b4eda 100644 --- a/allianceauth/locale/ko_KR/LC_MESSAGES/django.po +++ b/allianceauth/locale/ko_KR/LC_MESSAGES/django.po @@ -5,7 +5,7 @@ # # Translators: # Joel Falknau , 2023 -# None None , 2023 +# Nox , 2023 # ThatRagingKid, 2023 # Lahty , 2023 # Olgeda Choi , 2023 @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Woojin Kang, 2024\n" "Language-Team: Korean (Korea) (https://app.transifex.com/alliance-auth/teams/107430/ko_KR/)\n" @@ -102,27 +102,31 @@ msgstr "이탈리아어" msgid "Ukrainian" msgstr "우크라이나어" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "언어" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "야간 모드" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "테마" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "상태가 %s로 변경됐습니다." -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "사용자의 상태는 %(state)s입니다." @@ -134,27 +138,27 @@ msgstr "사용자의 상태는 %(state)s입니다." msgid "Dashboard" msgstr "대시보드" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "캐릭터" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "캐릭터 추가" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "주 캐릭터 변경" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -163,12 +167,12 @@ msgstr "주 캐릭터 변경" msgid "Name" msgstr "이름" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "코퍼레이션" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -178,7 +182,7 @@ msgstr "얼라이언스" msgid "Membership" msgstr "멤버쉽" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "상태:" @@ -413,6 +417,19 @@ msgstr "선택한 코퍼레이션은 이미 통계 모듈을 갖고 있습니다 msgid "Failed to gather corporation statistics with selected token." msgstr "선택한 토큰으로 코퍼레이션 통계 수집에 실패했습니다." +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -505,8 +522,8 @@ msgstr "사용자" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "시스템" @@ -836,7 +853,7 @@ msgstr "요청인" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "타입" @@ -928,7 +945,7 @@ msgid "Hidden" msgstr "숨김" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "열기" @@ -1404,16 +1421,16 @@ msgstr "알림" msgid "Super User" msgstr "Super User" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "어드민" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "탈퇴" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1563,7 +1580,7 @@ msgid "Form Up System" msgstr "폼업 성계" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "인게임 시간" @@ -1758,17 +1775,17 @@ msgid "" msgstr "Auth에 의해 자동으로 Discord 계정이 비활성화됐습니다. 원치 않는 사항일 경우, 관리자에게 문의해 주세요." #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "활성화" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "비밀번호 초기화" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "비활성화" @@ -1849,12 +1866,12 @@ msgstr "IPSuite4 비밀번호 설정" msgid "Deactivated IPSuite4 account." msgstr "IPSuite4 계정 비활성화 완료" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "비밀번호 설정" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "연결" @@ -2418,56 +2435,56 @@ msgstr "SRP 보상 요청 함대 %(fleetname)s의 변경 사항이 저장되었 msgid "Your Server received an ESI error response code of " msgstr "당신의 서버에 ESI 에러가 발생하였습니다. 응답코드 :" -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "얼라이언스 Auth 알림" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "닫혔음" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "이번에는 알림을 울리지 않기" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "GitLab 제공" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "Support Discord" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "소프트웨어 버전" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "현재" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "최신 안정화 버전" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "업데이트 가능" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "최신 사전 출시 버전" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "사전 출시 사용 가능" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "작업 대기열" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2477,11 +2494,11 @@ msgstr "" "\n" " %(total)s 의 진행된 작업 상태 • 잔여 %(latest)s" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "진행중" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "대기중" @@ -2510,105 +2527,203 @@ msgstr "네비게이션 전환" msgid "Select Theme" msgstr "테마 선택" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "기타" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "우호" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "적대" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "중립" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "설명" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "행성/달" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "스트럭처 종류" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "타이머 종류" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "목표 대상" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "절대 타이머" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "날짜와 시간" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "남은 일수" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "남은 시간" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "남은 분" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "중요" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "코퍼레이션 제한" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "우호" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "적대" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "중립" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "포코(POCO)" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "I-HUB" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "TCU" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "POS [S]" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "POS [M]" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "POS [L]" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "아스트라허스(Astrahus)" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "포르티자(Fortizar)" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "킵스타(Keepstar)" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "라이타루(Raitaru)" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "아즈벨(Azbel)" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "소티요(Sotiyo)" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "아타노르(Athanor)" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "타타라(Tatara)" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "엔서블렉스 점프 게이트(Ansiblex Jump Gate)" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "문 마이닝 주기" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "기타" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "명시되지 않음" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "실드" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "장갑" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "선체" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "최종" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "고정" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "미고정" @@ -2617,7 +2732,7 @@ msgstr "미고정" msgid "Upcoming Timers" msgstr "예정 타이머" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "타이머" @@ -2661,78 +2776,14 @@ msgstr "구조물 타이머 수정" msgid "Structure" msgstr "구조물" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "포코(POCO)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "I-HUB" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "TCU" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "POS [S]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "POS [M]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "POS [L]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "아스트라허스(Astrahus)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "포르티자(Fortizar)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "킵스타(Keepstar)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "라이타루(Raitaru)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "아즈벨(Azbel)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "소티요(Sotiyo)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "아타노르(Athanor)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "타타라(Tatara)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "사이노 비컨(Cyno Beacon)" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "사이노 재머(Cyno Jammer)" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "엔서블렉스 점프 게이트(Ansiblex Jump Gate)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "문 마이닝 주기" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "구조물 타이머 관리" diff --git a/allianceauth/locale/nl_NL/LC_MESSAGES/django.po b/allianceauth/locale/nl_NL/LC_MESSAGES/django.po new file mode 100644 index 00000000..724b91f7 --- /dev/null +++ b/allianceauth/locale/nl_NL/LC_MESSAGES/django.po @@ -0,0 +1,2840 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# John Vaille, 2024 +# Agent Fuse, 2024 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"PO-Revision-Date: 2023-11-08 13:50+0000\n" +"Last-Translator: Agent Fuse, 2024\n" +"Language-Team: Dutch (Netherlands) (https://app.transifex.com/alliance-auth/teams/107430/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: allianceauth/analytics/models.py:26 +msgid "Google Analytics Universal" +msgstr "Google Analytics Universeel" + +#: allianceauth/analytics/models.py:27 +msgid "Google Analytics V4" +msgstr "Google Analytics V4" + +#: allianceauth/authentication/constants.py:6 +msgid "" +"This software has exceeded the error limit for ESI. If you are a user, " +"please contact the maintainer of this software. If you are a " +"developer/maintainer, please make a greater effort in the future to receive " +"valid responses. For tips on how, come have a chat with us in ##3rd-party-" +"dev-and-esi on the EVE Online Discord. https://www.eveonline.com/discord" +msgstr "" +"Deze software heeft de foutlimiet voor ESI overschreden. Als u een gebruiker" +" bent, neem dan contact op met de beheerder van deze software. Als u een " +"ontwikkelaar/beheerder bent, doe dan in de toekomst meer moeite om geldige " +"antwoorden te ontvangen. Voor tips hierover kunt u met ons chatten in ##3rd-" +"party-dev-and-esi op de EVE Online Discord. " +"https://www.eveonline.com/discord" + +#: allianceauth/authentication/decorators.py:52 +msgid "A main character is required to perform that action. Add one below." +msgstr "" +"Een hoofdpersonage is nodig om die actie uitvoeren. Voeg er hieronder een " +"toe." + +#: allianceauth/authentication/forms.py:12 +msgid "Email" +msgstr "Email" + +#: allianceauth/authentication/forms.py:62 +#, python-format +msgid "You are not allowed to add or remove these restricted groups: %s" +msgstr "" +"Je bent niet gemachtigd om de volgende beperkte groepen te verwijderen: %s" + +#: allianceauth/authentication/models.py:71 +msgid "English" +msgstr "Engels" + +#: allianceauth/authentication/models.py:72 +msgid "German" +msgstr "Duits" + +#: allianceauth/authentication/models.py:73 +msgid "Spanish" +msgstr "Spaans" + +#: allianceauth/authentication/models.py:74 +msgid "Chinese Simplified" +msgstr "Vereenvoudigd Chinees" + +#: allianceauth/authentication/models.py:75 +msgid "Russian" +msgstr "Russisch" + +#: allianceauth/authentication/models.py:76 +msgid "Korean" +msgstr "Koreaans" + +#: allianceauth/authentication/models.py:77 +msgid "French" +msgstr "Frans" + +#: allianceauth/authentication/models.py:78 +msgid "Japanese" +msgstr "Japans" + +#: allianceauth/authentication/models.py:79 +msgid "Italian" +msgstr "Italiaans" + +#: allianceauth/authentication/models.py:80 +msgid "Ukrainian" +msgstr "Oekraïens" + +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 +#: allianceauth/menu/templates/menu/menu-user.html:42 +msgid "Language" +msgstr "Taal" + +#: allianceauth/authentication/models.py:102 +#: allianceauth/templates/allianceauth/night-toggle.html:6 +msgid "Night Mode" +msgstr "Nachtstand" + +#: allianceauth/authentication/models.py:106 +#: allianceauth/menu/templates/menu/menu-user.html:46 +msgid "Theme" +msgstr "Thema" + +#: allianceauth/authentication/models.py:123 +#, python-format +msgid "State changed to: %s" +msgstr "State gewijzigd naar: %s" + +#: allianceauth/authentication/models.py:124 +#, python-format +msgid "Your user's state is now: %(state)s" +msgstr "De gebruikers staat is nu: %(state)s" + +#: allianceauth/authentication/templates/authentication/dashboard.html:5 +#: allianceauth/authentication/templates/authentication/dashboard.html:7 +#: allianceauth/menu/templates/menu/sortable-side-menu.html:14 +#: allianceauth/templates/allianceauth/side-menu.html:10 +msgid "Dashboard" +msgstr "Dashboard" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 +#: allianceauth/hrapplications/templates/hrapplications/view.html:54 +msgid "Characters" +msgstr "Karakter" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:12 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6 +msgid "Add Character" +msgstr "Personages toevoegen" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:15 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12 +msgid "Change Main" +msgstr "Verander Main" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 +#: allianceauth/hrapplications/templates/hrapplications/view.html:61 +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:32 +msgid "Name" +msgstr "Naam" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 +msgid "Corp" +msgstr "Corp" + +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/corputils/templates/corputils/corpstats.html:125 +#: allianceauth/hrapplications/templates/hrapplications/view.html:63 +msgid "Alliance" +msgstr "Alliantie" + +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:5 +msgid "Membership" +msgstr "Lidmaatschap" + +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 +msgid "State:" +msgstr "Status:" + +#: allianceauth/authentication/templates/authentication/tokens.html:6 +#: allianceauth/authentication/templates/authentication/tokens.html:10 +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62 +msgid "Token Management" +msgstr "Tokenbeheer" + +#: allianceauth/authentication/templates/authentication/tokens.html:16 +msgid "" +"This page is a best attempt, but backups or database logs can still contain " +"your tokens. Always revoke tokens on " +"https://community.eveonline.com/support/third-party-applications/ where " +"possible." +msgstr "" +"Deze pagina is een beste poging, maar back-ups of database-logs kunnen nog " +"steeds uw tokens bevatten. Herroep altijd tokens op " +"https://community.eveonline.com/support/third-party-applications/ indien " +"mogelijk." + +#: allianceauth/authentication/templates/authentication/tokens.html:22 +msgid "Scopes" +msgstr "Scopes" + +#: allianceauth/authentication/templates/authentication/tokens.html:23 +#: allianceauth/hrapplications/templates/hrapplications/management.html:37 +#: allianceauth/hrapplications/templates/hrapplications/management.html:124 +#: allianceauth/hrapplications/templates/hrapplications/management.html:168 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35 +#: allianceauth/hrapplications/templates/hrapplications/view.html:94 +#: allianceauth/srp/templates/srp/data.html:82 +#: allianceauth/srp/templates/srp/management.html:53 +msgid "Actions" +msgstr "Acties" + +#: allianceauth/authentication/templates/authentication/tokens.html:24 +#: allianceauth/corputils/templates/corputils/corpstats.html:123 +#: allianceauth/corputils/templates/corputils/corpstats.html:163 +#: allianceauth/corputils/templates/corputils/corpstats.html:210 +#: allianceauth/corputils/templates/corputils/search.html:16 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:36 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:41 +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:29 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:28 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:55 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:118 +msgid "Character" +msgstr "Karakter" + +#: allianceauth/authentication/templates/public/login.html:6 +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:69 +msgid "Login" +msgstr "Inloggen" + +#: allianceauth/authentication/templates/public/login.html:10 +msgid "Login with Eve SSO" +msgstr "Inloggen met Eve SSO" + +#: allianceauth/authentication/templates/public/middle_box.html:25 +msgid "For information on SSO, ESI and security read the CCP Dev Blog" +msgstr "Voor informatie over SSO, ESI en beveiliging, lees de CCP Dev Blog." + +#: allianceauth/authentication/templates/public/middle_box.html:27 +msgid "Introducing ESI - A New API For EVE Online" +msgstr "Introductie van ESI - Een nieuwe API voor EVE Online" + +#: allianceauth/authentication/templates/public/middle_box.html:33 +msgid "Manage ESI Applications" +msgstr "Beheer ESI-toepassingen" + +#: allianceauth/authentication/templates/public/register.html:6 +msgid "Registration" +msgstr "Registratie" + +#: allianceauth/authentication/templates/public/register.html:23 +msgid "Register" +msgstr "Registreer" + +#: allianceauth/authentication/templates/registration/activate.html:6 +msgid "Invalid or expired activation link." +msgstr "Ongeldige of verlopen activeringslink." + +#: allianceauth/authentication/views.py:158 +#, python-format +msgid "" +"Cannot change main character to %(char)s: character owned by a different " +"account." +msgstr "" +"Het hoofdkarakter kan niet worden gewijzigd naar %(char)s: Karakter is " +"eigendom van een ander account." + +#: allianceauth/authentication/views.py:165 +#, python-format +msgid "Changed main character to %s" +msgstr "Hoofdkarakter veranderd naar %s" + +#: allianceauth/authentication/views.py:179 +#, python-format +msgid "Added %(name)s to your account." +msgstr "%(name)s aan uw account toegevoegd." + +#: allianceauth/authentication/views.py:181 +#, python-format +msgid "Failed to add %(name)s to your account: they already have an account." +msgstr "" +"Toevoegen van %(name)s aan uw account is mislukt: ze hebben al een account." + +#: allianceauth/authentication/views.py:226 +msgid "" +"Unable to authenticate as the selected character. Please log in with the " +"main character associated with this account." +msgstr "" +"Niet mogelijk om te authenticeren als de geselecteerde karakter. Log " +"alstublieft in met het hoofdkarakter dat aan dit account is gekoppeld." + +#: allianceauth/authentication/views.py:293 +msgid "Registration token has expired." +msgstr "Registratietoken is verlopen." + +#: allianceauth/authentication/views.py:354 +msgid "" +"Sent confirmation email. Please follow the link to confirm your email " +"address." +msgstr "" +"E-mail met bevestiging verzonden. Volg de link om uw e-mailadres te " +"bevestigen." + +#: allianceauth/authentication/views.py:360 +msgid "Confirmed your email address. Please login to continue." +msgstr "Uw e-mailadres is bevestigd. Gelieve in te loggen om verder te gaan." + +#: allianceauth/authentication/views.py:366 +msgid "Registration of new accounts is not allowed at this time." +msgstr "Registratie van nieuwe accounts in momenteel niet toegestaan." + +#: allianceauth/corputils/auth_hooks.py:12 +msgid "Corporation Stats" +msgstr "Bedrijfsstatistieken" + +#: allianceauth/corputils/templates/corputils/base.html:6 +#: allianceauth/corputils/templates/corputils/base.html:10 +msgid "Corporation Member Data" +msgstr "Gegevens van bedrijfsleden" + +#: allianceauth/corputils/templates/corputils/base.html:16 +msgid "Corporations" +msgstr "Bedrijven" + +#: allianceauth/corputils/templates/corputils/base.html:35 +msgid "Add corporation" +msgstr "Voeg bedrijf toe" + +#: allianceauth/corputils/templates/corputils/base.html:51 +msgid "Search all corporations..." +msgstr "Zoek in alle bedrijven..." + +#: allianceauth/corputils/templates/corputils/corpstats.html:45 +msgid "Mains" +msgstr "Mains" + +#: allianceauth/corputils/templates/corputils/corpstats.html:59 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:34 +msgid "Members" +msgstr "Leden" + +#: allianceauth/corputils/templates/corputils/corpstats.html:73 +msgid "Unregistered" +msgstr "Ongeregistreerde" + +#: allianceauth/corputils/templates/corputils/corpstats.html:79 +msgid "Last update:" +msgstr "Laatste update:" + +#: allianceauth/corputils/templates/corputils/corpstats.html:85 +msgid "Update Now" +msgstr "Update nu" + +#: allianceauth/corputils/templates/corputils/corpstats.html:100 +msgid "Main character" +msgstr "Hoofd Character" + +#: allianceauth/corputils/templates/corputils/corpstats.html:101 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:29 +msgid "Registered characters" +msgstr "Geregistreerde karakters" + +#: allianceauth/corputils/templates/corputils/corpstats.html:124 +#: allianceauth/corputils/templates/corputils/search.html:17 +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:30 +#: allianceauth/hrapplications/templates/hrapplications/management.html:35 +#: allianceauth/hrapplications/templates/hrapplications/management.html:122 +#: allianceauth/hrapplications/templates/hrapplications/management.html:166 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:33 +#: allianceauth/hrapplications/templates/hrapplications/view.html:62 +msgid "Corporation" +msgstr "Corporation" + +#: allianceauth/corputils/templates/corputils/corpstats.html:141 +#: allianceauth/corputils/templates/corputils/corpstats.html:177 +#: allianceauth/corputils/templates/corputils/corpstats.html:190 +#: allianceauth/corputils/templates/corputils/corpstats.html:222 +#: allianceauth/corputils/templates/corputils/search.html:30 +msgid "Killboard" +msgstr "Killboard" + +#: allianceauth/corputils/templates/corputils/corpstats.html:165 +#: allianceauth/corputils/templates/corputils/search.html:19 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:32 +#: allianceauth/hrapplications/templates/hrapplications/management.html:121 +#: allianceauth/hrapplications/templates/hrapplications/management.html:165 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:32 +#: allianceauth/hrapplications/templates/hrapplications/view.html:42 +msgid "Main Character" +msgstr "Hoofd Character" + +#: allianceauth/corputils/templates/corputils/corpstats.html:166 +#: allianceauth/corputils/templates/corputils/search.html:20 +msgid "Main Corporation" +msgstr "Hoofd Corp" + +#: allianceauth/corputils/templates/corputils/corpstats.html:167 +#: allianceauth/corputils/templates/corputils/search.html:21 +msgid "Main Alliance" +msgstr "Hoofd Alliance" + +#: allianceauth/corputils/templates/corputils/search.html:8 +msgid "Search Results" +msgstr "Zoekresultaten" + +#: allianceauth/corputils/templates/corputils/search.html:18 +msgid "zKillboard" +msgstr "zKillboard" + +#: allianceauth/corputils/views.py:54 +msgid "Selected corp already has a statistics module." +msgstr "Geselecteerd bedrijf heeft al een statistiekenmodule." + +#: allianceauth/corputils/views.py:56 +msgid "Failed to gather corporation statistics with selected token." +msgstr "" +"Het is niet gelukt om bedrijfsstatistieken te verzamelen met het " +"geselecteerde token." + +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + +#: allianceauth/fleetactivitytracking/auth_hooks.py:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:10 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:10 +msgid "Fleet Activity Tracking" +msgstr "Fleetactiviteit Tracking" + +#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8 +#: allianceauth/srp/templates/srp/management.html:44 +msgid "Fleet Name" +msgstr "Fleet naam" + +#: allianceauth/fleetactivitytracking/forms.py:7 +msgid "Duration of fat-link" +msgstr "Duur van de fat-link" + +#: allianceauth/fleetactivitytracking/forms.py:7 +msgid "Duration of the fat-link in minutes" +msgstr "Duur van de fat-link in minuten" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:6 +msgid "Fleet Participation" +msgstr "Fleetdeelname" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:15 +msgid "Character not found!" +msgstr "Character niet gevonden!" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:35 +msgid "Character not registered!" +msgstr "Character niet geregistreerd!" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:38 +msgid "This character is not associated with an auth account." +msgstr "Dit personage is niet gekoppeld aan een geverifieerd account." + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:39 +msgid "Add it here" +msgstr "Voeg het hier toe" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:40 +msgid "before attempting to click fleet attendance links." +msgstr "Voordat je probeert op fleet deelnamelinks te klikken." + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:7 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:16 +msgid "Create Fatlink" +msgstr "Creeër Fatlink" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:21 +msgid "Bad request!" +msgstr "Fout verzoek!" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:31 +msgid "Fatlink details" +msgstr "Fatlink details" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:43 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:79 +msgid "Create fatlink" +msgstr "Creeër fatlink" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:6 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:6 +msgid "Fatlink view" +msgstr "Fatlink weergave" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:16 +msgid "Edit fatlink" +msgstr "Fatlink bewerken" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:21 +msgid "Are you sure?" +msgstr "Weet je het zeker?" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:22 +msgid "Delete fat" +msgstr "Verwijder fat" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35 +#: allianceauth/hrapplications/templates/hrapplications/view.html:41 +msgid "User" +msgstr "Gebruiker" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/timertable.html:9 +msgid "System" +msgstr "Systeem" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:38 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:44 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:43 +msgid "Ship" +msgstr "Schip" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:39 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92 +#: allianceauth/templates/allianceauth/top-menu.html:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:11 +msgid "Eve Time" +msgstr "Eve Tijd" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52 +msgid "Docked in" +msgstr "Docked in" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:6 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:6 +msgid "Personal fatlink statistics" +msgstr "Persoonlijke Fatlink statistieken" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:16 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:16 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:16 +#, python-format +msgid "Participation data statistics for %(month)s, %(year)s" +msgstr "Deelname gegevens voor %(month)s,%(year)s" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:22 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:20 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:20 +msgid "Previous month" +msgstr "Vorige maand" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:25 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:23 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:23 +msgid "Next month" +msgstr "Volgende maand" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:33 +#, python-format +msgid "%(user)s has collected one link this month." +msgid_plural "%(user)s has collected %(links)s links this month." +msgstr[0] "%(user)s heeft links verzameld deze maand." +msgstr[1] "%(user)s heeft %(links)s links verzameld deze maand." + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:45 +msgid "Times used" +msgstr "Hoeveel keer gebruikt" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:62 +#, python-format +msgid "%(user)s has created one link this month." +msgid_plural "%(user)s has created %(links)s links this month." +msgstr[0] "%(user)s heeft deze maand één link gemaakt." +msgstr[1] "%(user)s heeft %(links)s links gecreëerd deze maand." + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:73 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:40 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:91 +msgid "Fleet" +msgstr "Fleet" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:74 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:90 +#: allianceauth/timerboard/templates/timerboard/timertable.html:13 +msgid "Creator" +msgstr "Maker" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:76 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:93 +#: allianceauth/optimer/form.py:18 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:15 +msgid "Duration" +msgstr "Duur" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:77 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:94 +msgid "Edit" +msgstr "Bewerk" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:16 +#, python-format +msgid "Participation data statistics for %(year)s" +msgstr "Deelname gegevens voor %(year)s" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:20 +msgid "Previous year" +msgstr "Vorig jaar" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:23 +msgid "Next year" +msgstr "Volgend jaar" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:30 +msgid "Month" +msgstr "Maand" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:31 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:34 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:35 +msgid "Fats" +msgstr "Fats" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:6 +msgid "Fatlink Corp Statistics" +msgstr "Fatlink Corp Statistieken" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:36 +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:37 +msgid "Average fats" +msgstr "Gemiddelde fats" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:6 +msgid "Fatlink Statistics" +msgstr "Fatlink Statistieken" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:32 +msgid "Ticker" +msgstr "Ticker" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:15 +msgid "Participation data" +msgstr "Deelname gegevens" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:23 +msgid "Most recent clicked fatlinks" +msgstr "Meest recente geklikte fatlinks" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:29 +msgid "Personal statistics" +msgstr "Persoonlijke statistieken" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:63 +msgid "No fleet activity on record." +msgstr "Geen fleet activiteit geregistreerd." + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:72 +msgid "Most recent fatlinks" +msgstr "Meest recente fatlinks" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:76 +msgid "View statistics" +msgstr "Zie statistieken" + +#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:119 +msgid "No created fatlinks on record." +msgstr "Geen aangemaakte fatlinks geregistreerd." + +#: allianceauth/fleetactivitytracking/views.py:218 +msgid "Character does not exist" +msgstr "Character bestaat niet" + +#: allianceauth/fleetactivitytracking/views.py:221 +msgid "User does not exist" +msgstr "Gebruiker bestaat niet" + +#: allianceauth/fleetactivitytracking/views.py:299 +msgid "Fleet participation registered." +msgstr "Vloot participatie geregistreerd " + +#: allianceauth/fleetactivitytracking/views.py:318 +msgid "FAT link has expired." +msgstr "FAT link ongeldig." + +#: allianceauth/fleetactivitytracking/views.py:323 +#, python-brace-format +msgid "" +"Cannot register the fleet participation for {character.character_name}. The " +"character needs to be online." +msgstr "" +"Kan vloot registratie niet voltooien voor {character.character_name]. Het " +"personage moet online zijn." + +#: allianceauth/groupmanagement/auth_hooks.py:18 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:17 +msgid "Group Management" +msgstr "Groep Management" + +#: allianceauth/groupmanagement/auth_hooks.py:51 +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34 +#: allianceauth/templates/allianceauth/side-menu.html:15 +msgid "Groups" +msgstr "Groepen" + +#: allianceauth/groupmanagement/forms.py:18 +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:33 +msgid "Users" +msgstr "Gebruikers" + +#: allianceauth/groupmanagement/forms.py:52 +msgid "This name has been reserved and can not be used for groups." +msgstr "Deze naam is gereserveerd en kan niet gebruikt worden voor groepen." + +#: allianceauth/groupmanagement/forms.py:62 +msgid "(auto)" +msgstr "auto" + +#: allianceauth/groupmanagement/forms.py:71 +msgid "There already exists a group with that name." +msgstr "Er bestaat al een groep met deze naam." + +#: allianceauth/groupmanagement/models.py:104 +msgid "" +"Internal group, users cannot see, join or request to join this " +"group.
Used for groups such as Members, Corp_*, Alliance_* " +"etc.
Overrides Hidden and Open options when selected." +msgstr "" + +#: allianceauth/groupmanagement/models.py:112 +msgid "Group is hidden from users but can still join with the correct link." +msgstr "" + +#: allianceauth/groupmanagement/models.py:118 +msgid "" +"Group is open and users will be automatically added upon request.
If the " +"group is not open users will need their request manually approved." +msgstr "" + +#: allianceauth/groupmanagement/models.py:125 +msgid "" +"Group is public. Any registered user is able to join this group, with " +"visibility based on the other options set for this group.
Auth will not " +"remove users from this group automatically when they are no longer " +"authenticated." +msgstr "" + +#: allianceauth/groupmanagement/models.py:134 +msgid "" +"Group is restricted. This means that adding or removing users for this group" +" requires a superuser admin." +msgstr "" + +#: allianceauth/groupmanagement/models.py:143 +msgid "" +"Group leaders can process requests for this group. Use the " +"auth.group_management permission to allow a user to manage all " +"groups.
" +msgstr "" + +#: allianceauth/groupmanagement/models.py:153 +msgid "" +"Members of leader groups can process requests for this group. Use the " +"auth.group_management permission to allow a user to manage all " +"groups.
" +msgstr "" + +#: allianceauth/groupmanagement/models.py:162 +msgid "" +"States listed here will have the ability to join this group provided they " +"have the proper permissions.
" +msgstr "" + +#: allianceauth/groupmanagement/models.py:170 +msgid "" +"Short description (max. 512 characters) of the group shown to users." +msgstr "" + +#: allianceauth/groupmanagement/models.py:177 +msgid "Can request non-public groups" +msgstr "" + +#: allianceauth/groupmanagement/models.py:208 +msgid "name" +msgstr "Naam" + +#: allianceauth/groupmanagement/models.py:211 +msgid "Name that can not be used for groups." +msgstr "" + +#: allianceauth/groupmanagement/models.py:214 +msgid "reason" +msgstr "Reden" + +#: allianceauth/groupmanagement/models.py:214 +msgid "Reason why this name is reserved." +msgstr "" + +#: allianceauth/groupmanagement/models.py:217 +msgid "created by" +msgstr "aangemaakt door" + +#: allianceauth/groupmanagement/models.py:222 +msgid "created at" +msgstr "aangemaakt op" + +#: allianceauth/groupmanagement/models.py:222 +msgid "Date when this entry was created" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:8 +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:12 +msgid "Audit Log" +msgstr "Audit log" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:17 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:18 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:21 +#: allianceauth/timerboard/templates/timerboard/index_button.html:4 +msgid "Back" +msgstr "Terug" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:27 +msgid "Date/Time" +msgstr "Datum/Tijd" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:28 +msgid "Requestor" +msgstr "Aanvrager" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +msgid "Type" +msgstr "Type" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:32 +#: allianceauth/notifications/templates/notifications/list_partial.html:8 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:16 +msgid "Action" +msgstr "Actie" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:33 +msgid "Actor" +msgstr "Acteur" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:47 +msgid "Removed" +msgstr "Verwijderd" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:59 +msgid "All times displayed are EVE/UTC." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:66 +msgid "No entries found for this group." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:9 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:13 +msgid "Group Members" +msgstr "Groep Leden" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:29 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:56 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:119 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:32 +msgid "Organization" +msgstr "Organisatie" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:49 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:75 +msgid "Group leader" +msgstr "Groep leider" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:60 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:85 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:148 +#: allianceauth/permissions_tool/templates/permissions_tool/audit_row.html:18 +msgid "(unknown)" +msgstr "(onbekend)" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:65 +msgid "Remove from group" +msgstr "Verwijder van groep" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:80 +msgid "No group members to list." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:6 +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:7 +msgid "Groups Membership" +msgstr "Groep lidmaatschap" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:13 +msgid "Join/Leave Requests" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:24 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:32 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:10 +msgid "Description" +msgstr "Beschrijving" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:25 +#: allianceauth/hrapplications/templates/hrapplications/management.html:36 +#: allianceauth/hrapplications/templates/hrapplications/management.html:123 +#: allianceauth/hrapplications/templates/hrapplications/management.html:167 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34 +#: allianceauth/srp/templates/srp/data.html:80 +msgid "Status" +msgstr "Status" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:26 +msgid "Member Count" +msgstr "Leden Aantal" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:42 +msgid "Hidden" +msgstr "verborgen" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 +msgid "Open" +msgstr "Open" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:47 +msgid "Requestable" +msgstr "Aanvraagbaar" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:56 +msgid "View Members" +msgstr "Bekijk Leden" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:60 +msgid "Audit Members" +msgstr "Verifieer Lid" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:64 +msgid "Copy Direct Join Link" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:75 +msgid "No groups to list." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:7 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:11 +msgid "Available Groups" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:34 +msgid "Leaders" +msgstr "Leiders" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:36 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:57 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:120 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:29 +#: allianceauth/services/modules/openfire/forms.py:6 +msgid "Group" +msgstr "Groep" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:69 +msgid "Leave" +msgstr "Verlaat" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:73 +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:88 +#: 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:116 +#: allianceauth/srp/templates/srp/management.html:87 +msgid "Pending" +msgstr "In behandeling" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:79 +msgid "Join" +msgstr "Toetreden" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:83 +msgid "Request" +msgstr "Aanvraag" + +#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:98 +msgid "No groups available." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:9 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:13 +msgid "Groups Management" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:19 +msgid "Join Requests" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:30 +msgid "Leave Requests" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:41 +#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:9 +msgid "Group Membership" +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:93 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:156 +msgid "Accept" +msgstr "Aanvaarden" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:96 +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:160 +#: allianceauth/hrapplications/templates/hrapplications/view.html:104 +msgid "Reject" +msgstr "Afwijzen" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:106 +msgid "No group add requests." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/index.html:169 +msgid "No group leave requests." +msgstr "" + +#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:6 +msgid "Group Requests" +msgstr "" + +#: allianceauth/groupmanagement/views.py:166 +#, python-format +msgid "Removed user %(user)s from group %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:168 +msgid "User does not exist in that group" +msgstr "" + +#: allianceauth/groupmanagement/views.py:171 +msgid "Group does not exist" +msgstr "" + +#: allianceauth/groupmanagement/views.py:198 +#, python-format +msgid "Accepted application from %(mainchar)s to %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:204 +#: allianceauth/groupmanagement/views.py:235 +#, python-format +msgid "" +"An unhandled error occurred while processing the application from " +"%(mainchar)s to %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:229 +#, python-format +msgid "Rejected application from %(mainchar)s to %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:264 +#, python-format +msgid "Accepted application from %(mainchar)s to leave %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:269 +#: allianceauth/groupmanagement/views.py:301 +#, python-format +msgid "" +"An unhandled error occurred while processing the application from " +"%(mainchar)s to leave %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:295 +#, python-format +msgid "Rejected application from %(mainchar)s to leave %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:348 +#: allianceauth/groupmanagement/views.py:358 +msgid "You cannot join that group" +msgstr "" + +#: allianceauth/groupmanagement/views.py:353 +msgid "You are already a member of that group." +msgstr "" + +#: allianceauth/groupmanagement/views.py:370 +msgid "You already have a pending application for that group." +msgstr "" + +#: allianceauth/groupmanagement/views.py:379 +#, python-format +msgid "Applied to group %(group)s." +msgstr "" + +#: allianceauth/groupmanagement/views.py:389 +msgid "You cannot leave that group" +msgstr "" + +#: allianceauth/groupmanagement/views.py:393 +msgid "You are not a member of that group" +msgstr "" + +#: allianceauth/groupmanagement/views.py:405 +msgid "You already have a pending leave request for that group." +msgstr "" + +#: allianceauth/groupmanagement/views.py:421 +#, python-format +msgid "Applied to leave group %(group)s." +msgstr "" + +#: allianceauth/hrapplications/auth_hooks.py:15 +msgid "Applications" +msgstr "Applicaties" + +#: allianceauth/hrapplications/forms.py:6 +#: allianceauth/hrapplications/templates/hrapplications/view.html:115 +msgid "Comment" +msgstr "Commentaar" + +#: allianceauth/hrapplications/forms.py:10 +msgid "Search String" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:6 +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:15 +msgid "Choose a Corp" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:10 +#: allianceauth/hrapplications/templates/hrapplications/create.html:11 +#: allianceauth/hrapplications/templates/hrapplications/management.html:7 +#: allianceauth/hrapplications/templates/hrapplications/management.html:11 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:7 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:11 +#: allianceauth/hrapplications/templates/hrapplications/view.html:11 +msgid "HR Application Management" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:21 +msgid "Available Corps" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:37 +msgid "No corps are accepting applications at this time." +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/create.html:7 +#: allianceauth/hrapplications/templates/hrapplications/create.html:17 +msgid "Apply To" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/create.html:23 +msgid "Application form" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/create.html:57 +msgid "Submit" +msgstr "Indienen" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:16 +msgid "Personal Applications" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:22 +#: allianceauth/hrapplications/templates/hrapplications/management.html:25 +msgid "Create Application" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:34 +#: allianceauth/hrapplications/templates/hrapplications/management.html:120 +#: allianceauth/hrapplications/templates/hrapplications/management.html:164 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:31 +#: allianceauth/services/templates/services/service_username.html:4 +msgid "Username" +msgstr "Gebruikersnaam" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:48 +#: allianceauth/hrapplications/templates/hrapplications/management.html:141 +#: allianceauth/hrapplications/templates/hrapplications/management.html:185 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48 +#: allianceauth/hrapplications/templates/hrapplications/view.html:21 +#: allianceauth/srp/templates/srp/data.html:108 +msgid "Approved" +msgstr "Aanvaard" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:50 +#: allianceauth/hrapplications/templates/hrapplications/management.html:143 +#: allianceauth/hrapplications/templates/hrapplications/management.html:187 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50 +#: allianceauth/srp/templates/srp/data.html:112 +msgid "Rejected" +msgstr "Afgewezen" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:72 +msgid "Application Management" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:78 +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:23 +msgid "Search Applications" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:109 +msgid "Reviewed" +msgstr "Beoordeeld" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:119 +#: allianceauth/hrapplications/templates/hrapplications/management.html:163 +msgid "Date" +msgstr "Datum" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:136 +#: allianceauth/hrapplications/templates/hrapplications/management.html:180 +#: allianceauth/hrapplications/templates/hrapplications/view.html:29 +msgid "Reviewer:" +msgstr "Beoordeler" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:155 +msgid "No pending applications." +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/management.html:205 +msgid "No reviewed applications." +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:11 +msgid "Application Search" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:14 +#: allianceauth/hrapplications/templates/hrapplications/view.html:162 +#: allianceauth/templates/allianceauth/messages-bs5.html:22 +#: allianceauth/templates/allianceauth/messages.html:6 +msgid "Close" +msgstr "Sluiten" + +#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:24 +msgid "Search" +msgstr "Zoeken" + +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:17 +msgid "Application Search Results" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/searchview.html:30 +msgid "Application ID" +msgstr "Applicatie ID" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:7 +#: allianceauth/hrapplications/templates/hrapplications/view.html:16 +msgid "View Application" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:23 +msgid "Denied" +msgstr "Afgewezen" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:35 +msgid "Applicant" +msgstr "Aanvrager" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:101 +msgid "Approve" +msgstr "Aanvaarden" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:107 +msgid "Delete" +msgstr "Verwijderen" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:110 +msgid "Mark in Progress" +msgstr "" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:124 +#: allianceauth/services/forms.py:17 +msgid "Comments" +msgstr "Commentaren" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:143 +msgid "No comments" +msgstr "Geen Commentaren" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:159 +msgid "Add Comment" +msgstr "Voeg Commentaar toe" + +#: allianceauth/hrapplications/templates/hrapplications/view.html:172 +msgid "Add comment" +msgstr "Voeg Commentaar toe" + +#: allianceauth/menu/admin.py:63 +#, python-format +msgid "Add %s menu item" +msgstr "" + +#: allianceauth/menu/admin.py:71 +#, python-format +msgid "Change %s menu item" +msgstr "" + +#: allianceauth/menu/admin.py:82 +msgid "children" +msgstr "Kinderen" + +#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21 +msgid "text" +msgstr "Tekst" + +#: allianceauth/menu/admin.py:96 +msgid "user defined" +msgstr "" + +#: allianceauth/menu/admin.py:100 +msgid "visible" +msgstr "Zichtbaar" + +#: allianceauth/menu/constants.py:16 +msgid "app" +msgstr "" + +#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37 +msgid "folder" +msgstr "folder" + +#: allianceauth/menu/constants.py:18 +msgid "link" +msgstr "link" + +#: allianceauth/menu/filters.py:12 +msgid "type" +msgstr "type" + +#: allianceauth/menu/models.py:22 +msgid "Text to show on menu" +msgstr "" + +#: allianceauth/menu/models.py:27 +msgid "order" +msgstr "" + +#: allianceauth/menu/models.py:28 +msgid "Order of the menu. Lowest First" +msgstr "" + +#: allianceauth/menu/models.py:38 +msgid "Folder this item is in (optional)" +msgstr "" + +#: allianceauth/menu/models.py:42 +msgid "is hidden" +msgstr "" + +#: allianceauth/menu/models.py:44 +msgid "" +"Hide this menu item.If this item is a folder all items under it will be " +"hidden too" +msgstr "" + +#: allianceauth/menu/models.py:59 +msgid "icon classes" +msgstr "" + +#: allianceauth/menu/models.py:61 +msgid "" +"Font Awesome classes to show as icon on menu, e.g. fa-solid fa-" +"house" +msgstr "" + +#: allianceauth/menu/models.py:67 +msgid "url" +msgstr "" + +#: allianceauth/menu/models.py:68 +msgid "External URL this menu items will link to" +msgstr "" + +#: allianceauth/menu/templates/admin/menu/menuitem/change_list.html:10 +msgid "Add folder" +msgstr "" + +#: allianceauth/menu/templates/menu/menu-notification-block.html:12 +#: allianceauth/notifications/templates/notifications/list.html:7 +#: allianceauth/notifications/templates/notifications/list.html:11 +#: allianceauth/templates/allianceauth/notifications_menu_item.html:6 +msgid "Notifications" +msgstr "Notificatie" + +#: allianceauth/menu/templates/menu/menu-user.html:56 +msgid "Super User" +msgstr "" + +#: allianceauth/menu/templates/menu/menu-user.html:70 +#: allianceauth/templates/allianceauth/top-menu-admin.html:9 +msgid "Admin" +msgstr "Administrator" + +#: allianceauth/menu/templates/menu/menu-user.html:82 +msgid "Sign Out" +msgstr "" + +#: allianceauth/menu/templates/menu/menu-user.html:86 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 +#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 +msgid "Sign In" +msgstr "" + +#: allianceauth/notifications/models.py:21 +msgid "danger" +msgstr "Gevaar" + +#: allianceauth/notifications/models.py:22 +msgid "warning" +msgstr "Waarschuwing" + +#: allianceauth/notifications/models.py:23 +msgid "info" +msgstr "Informatie" + +#: allianceauth/notifications/models.py:24 +msgid "success" +msgstr "Success" + +#: allianceauth/notifications/templates/notifications/list.html:17 +msgid "Unread" +msgstr "Ongelezen" + +#: allianceauth/notifications/templates/notifications/list.html:24 +msgid "Read" +msgstr "Gelezen" + +#: allianceauth/notifications/templates/notifications/list.html:32 +msgid "Mark all notifications as read" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list.html:38 +msgid "Delete all read notifications" +msgstr "" + +#: allianceauth/notifications/templates/notifications/list_partial.html:6 +msgid "Timestamp" +msgstr "Tijdsaanduiding" + +#: allianceauth/notifications/templates/notifications/list_partial.html:7 +msgid "Title" +msgstr "Titel" + +#: allianceauth/notifications/templates/notifications/list_partial.html:28 +msgid "No notifications." +msgstr "" + +#: allianceauth/notifications/templates/notifications/view.html:5 +#: allianceauth/notifications/templates/notifications/view.html:9 +msgid "View Notification" +msgstr "" + +#: allianceauth/notifications/views.py:52 +msgid "You are not authorized to view that notification." +msgstr "" + +#: allianceauth/notifications/views.py:68 +msgid "Deleted notification." +msgstr "" + +#: allianceauth/notifications/views.py:75 +msgid "Failed to locate notification." +msgstr "" + +#: allianceauth/notifications/views.py:83 +msgid "Marked all notifications as read." +msgstr "" + +#: allianceauth/notifications/views.py:91 +msgid "Deleted all read notifications." +msgstr "" + +#: allianceauth/optimer/auth_hooks.py:12 +msgid "Fleet Operations" +msgstr "" + +#: allianceauth/optimer/form.py:12 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:11 +msgid "Doctrine" +msgstr "Doctrine" + +#: allianceauth/optimer/form.py:14 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:13 +msgid "Start Time" +msgstr "" + +#: allianceauth/optimer/form.py:15 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:9 +msgid "Operation Name" +msgstr "" + +#: allianceauth/optimer/form.py:16 +msgid "Operation Type" +msgstr "" + +#: allianceauth/optimer/form.py:17 +#: allianceauth/srp/templates/srp/management.html:47 +msgid "Fleet Commander" +msgstr "" + +#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14 +#: allianceauth/srp/templates/srp/data.html:71 +msgid "Additional Info" +msgstr "" + +#: allianceauth/optimer/form.py:23 +msgid "(Optional) Describe the operation with a couple of short words." +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:8 +#: allianceauth/optimer/templates/optimer/management.html:18 +msgid "Create Operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:12 +#: allianceauth/optimer/templates/optimer/management.html:11 +#: allianceauth/optimer/templates/optimer/update.html:12 +msgid "Fleet Operation Timers" +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:21 +msgid "Create Fleet Operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:27 +#: allianceauth/optimer/templates/optimer/update.html:27 +msgid "Fleet operation details" +msgstr "" + +#: allianceauth/optimer/templates/optimer/add.html:40 +msgid "Create fleet operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:7 +msgid "Upcoming Fleets" +msgstr "" + +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:14 +msgid "Operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:16 +#: allianceauth/optimer/templates/optimer/fleetoptable.html:12 +msgid "Form Up System" +msgstr "" + +#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 +msgid "EVE Time" +msgstr "" + +#: allianceauth/optimer/templates/optimer/fleetoptable.html:14 +#: allianceauth/timerboard/templates/timerboard/timertable.html:12 +msgid "Local Time" +msgstr "" + +#: allianceauth/optimer/templates/optimer/fleetoptable.html:16 +msgid "FC" +msgstr "Vloot Commandant" + +#: allianceauth/optimer/templates/optimer/management.html:7 +msgid "Fleet Operation Management" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:28 +#: allianceauth/timerboard/templates/timerboard/view.html:31 +msgid "Current Eve Time:" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:36 +msgid "Next Fleet Operations" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:44 +#: allianceauth/timerboard/templates/timerboard/view.html:62 +msgid "No upcoming timers." +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:52 +msgid "Past Fleet Operations" +msgstr "" + +#: allianceauth/optimer/templates/optimer/management.html:60 +#: allianceauth/timerboard/templates/timerboard/view.html:80 +msgid "No past timers." +msgstr "" + +#: allianceauth/optimer/templates/optimer/update.html:8 +#: allianceauth/optimer/templates/optimer/update.html:21 +msgid "Update Fleet Operation" +msgstr "" + +#: allianceauth/optimer/templates/optimer/update.html:40 +msgid "Update fleet operation" +msgstr "" + +#: allianceauth/optimer/views.py:91 +#, python-format +msgid "Created operation timer for %(opname)s." +msgstr "" + +#: allianceauth/optimer/views.py:120 +#, python-format +msgid "Removed operation timer for %(opname)s." +msgstr "" + +#: allianceauth/optimer/views.py:171 +#, python-format +msgid "Saved changes to operation timer for %(opname)s." +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:6 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:10 +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:16 +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:10 +msgid "Permissions Audit" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:31 +msgid "User / Character" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:6 +msgid "Permissions Overview" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:17 +msgid "Showing only applied permissions" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:18 +msgid "Show All" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:20 +msgid "Showing all permissions" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:21 +msgid "Show Applied" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:29 +msgid "App" +msgstr "App" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:30 +msgid "Model" +msgstr "Model" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:31 +msgid "Code Name" +msgstr "" + +#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:35 +msgid "States" +msgstr "" + +#: allianceauth/services/abstract.py:72 +msgid "That service account already exists" +msgstr "" + +#: allianceauth/services/abstract.py:103 +#, python-brace-format +msgid "Successfully set your {self.service_name} password" +msgstr "" + +#: allianceauth/services/auth_hooks.py:12 +msgid "Services" +msgstr "" + +#: allianceauth/services/forms.py:6 +msgid "Name of Fleet:" +msgstr "" + +#: allianceauth/services/forms.py:7 +msgid "Fleet Commander:" +msgstr "" + +#: allianceauth/services/forms.py:8 +msgid "Fleet Comms:" +msgstr "" + +#: allianceauth/services/forms.py:9 +msgid "Fleet Type:" +msgstr "" + +#: allianceauth/services/forms.py:10 +msgid "Ship Priorities:" +msgstr "" + +#: allianceauth/services/forms.py:11 +msgid "Formup Location:" +msgstr "" + +#: allianceauth/services/forms.py:12 +msgid "Formup Time:" +msgstr "" + +#: allianceauth/services/forms.py:13 +msgid "Expected Duration:" +msgstr "" + +#: allianceauth/services/forms.py:14 +msgid "Purpose:" +msgstr "Doel:" + +#: allianceauth/services/forms.py:15 +msgid "Reimbursable?*" +msgstr "Terugbetaalbaar?*" + +#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16 +msgid "Yes" +msgstr "Ja" + +#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16 +msgid "No" +msgstr "Nee" + +#: allianceauth/services/forms.py:16 +msgid "Important?*" +msgstr "Belangrijk?*" + +#: allianceauth/services/forms.py:21 allianceauth/services/forms.py:31 +msgid "Password" +msgstr "Wachtwoord" + +#: allianceauth/services/forms.py:26 allianceauth/services/forms.py:36 +msgid "Password must be at least 8 characters long." +msgstr "" + +#: allianceauth/services/modules/discord/models.py:187 +msgid "Discord Account Disabled" +msgstr "" + +#: allianceauth/services/modules/discord/models.py:189 +msgid "" +"Your Discord account was disabled automatically by Auth. If you think this " +"was a mistake, please contact an admin." +msgstr "" + +#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 +msgid "Activate" +msgstr "" + +#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 +msgid "Reset Password" +msgstr "" + +#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 +msgid "Deactivate" +msgstr "" + +#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:45 +msgid "Link Discord Server" +msgstr "" + +#: allianceauth/services/modules/discord/views.py:30 +msgid "Deactivated Discord account." +msgstr "" + +#: allianceauth/services/modules/discord/views.py:36 +#: allianceauth/services/modules/discord/views.py:59 +msgid "An error occurred while processing your Discord account." +msgstr "" + +#: allianceauth/services/modules/discord/views.py:102 +msgid "Your Discord account has been successfully activated." +msgstr "" + +#: allianceauth/services/modules/discord/views.py:108 +msgid "" +"An error occurred while trying to activate your Discord account. Please try " +"again." +msgstr "" + +#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5 +msgid "Discourse" +msgstr "" + +#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:18 +msgid "SSO login active" +msgstr "" + +#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:23 +msgid "Go to forums" +msgstr "" + +#: allianceauth/services/modules/discourse/views.py:29 +msgid "You are not authorized to access Discourse." +msgstr "" + +#: allianceauth/services/modules/discourse/views.py:34 +msgid "You must have a main character set to access Discourse." +msgstr "" + +#: allianceauth/services/modules/discourse/views.py:44 +msgid "" +"No SSO payload or signature. Please contact support if this problem " +"persists." +msgstr "" + +#: allianceauth/services/modules/discourse/views.py:54 +#: allianceauth/services/modules/discourse/views.py:62 +msgid "Invalid payload. Please contact support if this problem persists." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:31 +msgid "Activated IPSuite4 account." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:39 +#: allianceauth/services/modules/ips4/views.py:60 +#: allianceauth/services/modules/ips4/views.py:81 +#: allianceauth/services/modules/ips4/views.py:101 +msgid "An error occurred while processing your IPSuite4 account." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:52 +msgid "Reset IPSuite4 password." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:78 +msgid "Set IPSuite4 password." +msgstr "" + +#: allianceauth/services/modules/ips4/views.py:98 +msgid "Deactivated IPSuite4 account." +msgstr "" + +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 +#: allianceauth/services/templates/services/service_password.html:26 +msgid "Set Password" +msgstr "" + +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 +msgid "Connect" +msgstr "" + +#: allianceauth/services/modules/openfire/auth_hooks.py:27 +msgid "Jabber" +msgstr "Jabber" + +#: allianceauth/services/modules/openfire/auth_hooks.py:80 +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:7 +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:11 +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:19 +msgid "Jabber Broadcast" +msgstr "" + +#: allianceauth/services/modules/openfire/auth_hooks.py:95 +msgid "Fleet Broadcast Formatter" +msgstr "" + +#: allianceauth/services/modules/openfire/forms.py:7 +msgid "Message" +msgstr "Bericht" + +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:28 +msgid "Broadcast Sent!!" +msgstr "" + +#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:38 +msgid "Broadcast" +msgstr "Broadcast" + +#: allianceauth/services/modules/openfire/views.py:35 +msgid "Activated Jabber account." +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:43 +#: allianceauth/services/modules/openfire/views.py:56 +#: allianceauth/services/modules/openfire/views.py:76 +#: allianceauth/services/modules/openfire/views.py:147 +msgid "An error occurred while processing your Jabber account." +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:69 +msgid "Reset Jabber password." +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:115 +#, python-format +msgid "Sent Jabber broadcast to %s" +msgstr "" + +#: allianceauth/services/modules/openfire/views.py:144 +msgid "Set jabber password." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:34 +msgid "Activated forum account." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:42 +#: allianceauth/services/modules/phpbb3/views.py:56 +#: allianceauth/services/modules/phpbb3/views.py:78 +#: allianceauth/services/modules/phpbb3/views.py:101 +msgid "An error occurred while processing your forum account." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:53 +msgid "Deactivated forum account." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:70 +msgid "Reset forum password." +msgstr "" + +#: allianceauth/services/modules/phpbb3/views.py:98 +msgid "Set forum password." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:52 +msgid "Activated SMF account." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:65 +#: allianceauth/services/modules/smf/views.py:81 +#: allianceauth/services/modules/smf/views.py:102 +#: allianceauth/services/modules/smf/views.py:124 +msgid "An error occurred while processing your SMF account." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:78 +msgid "Deactivated SMF account." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:95 +msgid "Reset SMF password." +msgstr "" + +#: allianceauth/services/modules/smf/views.py:121 +msgid "Set SMF password." +msgstr "" + +#: allianceauth/services/modules/teamspeak3/forms.py:14 +#, python-format +msgid "Unable to locate user %s on server" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/admin/teamspeak3/authts/change_list.html:10 +msgid "Update TeamSpeak3 groups" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeak3_service_ctrl.html:6 +msgid "Teamspeak 3" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:6 +msgid "Verify TeamSpeak3" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:10 +msgid "Verify TeamSpeak3 Identity" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:15 +msgid "Join Server" +msgstr "" + +#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:23 +#: allianceauth/services/templates/services/service_credentials.html:30 +#: allianceauth/srp/templates/srp/add.html:51 +msgid "Continue" +msgstr "Ga verder" + +#: allianceauth/services/modules/teamspeak3/views.py:35 +msgid "Activated TeamSpeak3 account." +msgstr "" + +#: allianceauth/services/modules/teamspeak3/views.py:38 +#: allianceauth/services/modules/teamspeak3/views.py:74 +#: allianceauth/services/modules/teamspeak3/views.py:100 +msgid "An error occurred while processing your TeamSpeak3 account." +msgstr "" + +#: allianceauth/services/modules/teamspeak3/views.py:71 +msgid "Deactivated TeamSpeak3 account." +msgstr "" + +#: allianceauth/services/modules/teamspeak3/views.py:97 +msgid "Reset TeamSpeak3 permission key." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:30 +msgid "Activated XenForo account." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:40 +#: allianceauth/services/modules/xenforo/views.py:52 +#: allianceauth/services/modules/xenforo/views.py:73 +#: allianceauth/services/modules/xenforo/views.py:94 +msgid "An error occurred while processing your XenForo account." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:50 +msgid "Deactivated XenForo account." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:65 +msgid "Reset XenForo account password." +msgstr "" + +#: allianceauth/services/modules/xenforo/views.py:91 +msgid "Changed XenForo password." +msgstr "" + +#: allianceauth/services/templates/services/fleetformattertool.html:6 +#: allianceauth/services/templates/services/fleetformattertool.html:10 +msgid "Fleet Formatter Tool" +msgstr "" + +#: allianceauth/services/templates/services/fleetformattertool.html:18 +msgid "Fleet Details" +msgstr "" + +#: allianceauth/services/templates/services/fleetformattertool.html:37 +msgid "Format" +msgstr "formaat" + +#: allianceauth/services/templates/services/service_confirm_delete.html:6 +#: allianceauth/services/templates/services/service_confirm_delete.html:16 +#, python-format +msgid "Delete %(service_name)s Account?" +msgstr "" + +#: allianceauth/services/templates/services/service_confirm_delete.html:10 +#: allianceauth/services/templates/services/service_credentials.html:10 +#: allianceauth/services/templates/services/service_password.html:11 +#: allianceauth/services/templates/services/services.html:9 +msgid "Available Services" +msgstr "" + +#: allianceauth/services/templates/services/service_confirm_delete.html:24 +#, python-format +msgid "" +"Are you sure you want to delete your %(service_name)s account %(object)s?" +msgstr "" + +#: allianceauth/services/templates/services/service_credentials.html:6 +#: allianceauth/services/templates/services/service_credentials.html:16 +#, python-format +msgid "%(service_name)s Credentials" +msgstr "" + +#: allianceauth/services/templates/services/service_password.html:7 +#, python-format +msgid "%(service_name)s Password Change" +msgstr "" + +#: allianceauth/services/templates/services/service_password.html:17 +#, python-format +msgid "Set %(service_name)s Password" +msgstr "" + +#: allianceauth/services/templates/services/service_status.html:5 +msgid "Enabled" +msgstr "" + +#: allianceauth/services/templates/services/service_status.html:7 +#: allianceauth/srp/templates/srp/management.html:78 +msgid "Disabled" +msgstr "Uitgeschakeld" + +#: allianceauth/services/templates/services/services.html:5 +msgid "Services Management" +msgstr "" + +#: allianceauth/services/templates/services/services.html:20 +msgid "Legend" +msgstr "" + +#: allianceauth/services/templates/services/services.html:27 +msgid "Click to activate the service for your user." +msgstr "" + +#: allianceauth/services/templates/services/services.html:36 +msgid "Click to manually set your password." +msgstr "" + +#: allianceauth/services/templates/services/services.html:45 +msgid "Click to randomly generate your password." +msgstr "" + +#: allianceauth/services/templates/services/services.html:54 +msgid "Click to deactivate the service for your user" +msgstr "" + +#: allianceauth/services/templates/services/services.html:60 +msgid "" +"Some services provide different options. Hover over the buttons to see more." +msgstr "" + +#: allianceauth/srp/auth_hooks.py:14 +msgid "Ship Replacement" +msgstr "" + +#: allianceauth/srp/form.py:9 +#: allianceauth/srp/templates/srp/management.html:45 +msgid "Fleet Time" +msgstr "" + +#: allianceauth/srp/form.py:10 +#: allianceauth/srp/templates/srp/management.html:46 +msgid "Fleet Doctrine" +msgstr "" + +#: allianceauth/srp/form.py:16 +msgid "Killboard Link (zkillboard.com or kb.evetools.org)" +msgstr "" + +#: allianceauth/srp/form.py:34 +msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org" +msgstr "" + +#: allianceauth/srp/form.py:46 +msgid "Invalid Link. Please post a direct link to a killmail." +msgstr "" + +#: allianceauth/srp/form.py:53 +msgid "After Action Report Link" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:7 +msgid "SRP Fleet Create" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:11 +#: allianceauth/srp/templates/srp/data.html:11 +#: allianceauth/srp/templates/srp/management.html:11 +#: allianceauth/srp/templates/srp/request.html:11 +#: allianceauth/srp/templates/srp/update.html:11 +msgid "Ship Replacement Program" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:20 +msgid "Create SRP Fleet" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:26 +msgid "SRP fleet details" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:40 +msgid "Create SRP fleet" +msgstr "" + +#: allianceauth/srp/templates/srp/add.html:46 +msgid "Give this link to the line members." +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:7 +#: allianceauth/srp/templates/srp/data.html:38 +msgid "SRP Fleet Data" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:16 +msgid "View Fleets" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:25 +msgid "Mark Incomplete" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:29 +msgid "Mark Completed" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:47 +#: allianceauth/srp/templates/srp/data.html:138 +msgid "Total Losses:" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:48 +#: allianceauth/srp/templates/srp/data.html:139 +#: allianceauth/srp/templates/srp/management.html:36 +msgid "Total ISK Cost:" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:59 +#: allianceauth/srp/templates/srp/data.html:150 +msgid "Are you sure you want to delete SRP requests?" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:69 +msgid "Pilot Name" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:70 +msgid "Killboard Link" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:72 +msgid "Ship Type" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:73 +msgid "Killboard Loss Amt" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:75 +msgid "SRP ISK Cost" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:76 +msgid "Click value to edit Enter to save & next ESC to cancel" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:79 +msgid "Post Time" +msgstr "" + +#: allianceauth/srp/templates/srp/data.html:98 +#: allianceauth/srp/templates/srp/management.html:70 +msgid "Link" +msgstr "Link" + +#: allianceauth/srp/templates/srp/data.html:159 +msgid "No SRP requests for this fleet." +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:7 +msgid "SRP Management" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:18 +msgid "View All" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:27 +msgid "Add SRP Fleet" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:48 +msgid "Fleet AAR" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:49 +msgid "Fleet SRP Code" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:50 +msgid "Fleet ISK Cost" +msgstr "Vloot ISK Kost" + +#: allianceauth/srp/templates/srp/management.html:51 +msgid "SRP Status" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:52 +msgid "Pending Requests" +msgstr "Lopende Aanvragen" + +#: allianceauth/srp/templates/srp/management.html:91 +msgid "Completed" +msgstr "Voltooid" + +#: allianceauth/srp/templates/srp/management.html:108 +msgid "Are you sure you want to delete this SRP code and its contents?" +msgstr "" + +#: allianceauth/srp/templates/srp/management.html:129 +msgid "No SRP fleets created." +msgstr "" + +#: allianceauth/srp/templates/srp/request.html:7 +msgid "SRP Request" +msgstr "SRP Aanvraag" + +#: allianceauth/srp/templates/srp/request.html:16 +msgid "Create SRP Request" +msgstr "Genereer SRP aanvraag" + +#: allianceauth/srp/templates/srp/request.html:22 +msgid "Your SRP request" +msgstr "Jou SRP aanvraag" + +#: allianceauth/srp/templates/srp/request.html:35 +msgid "Create SRP request" +msgstr "Genereer SRP aanvraag" + +#: allianceauth/srp/templates/srp/update.html:7 +#: allianceauth/srp/templates/srp/update.html:16 +msgid "Update AAR Link" +msgstr "Update AAR link" + +#: allianceauth/srp/templates/srp/update.html:22 +msgid "After Action Report" +msgstr "Na Actie Rapport" + +#: allianceauth/srp/templates/srp/update.html:31 +msgid "SRP Fleet Does Not Exist" +msgstr "" + +#: allianceauth/srp/templates/srp/update.html:40 +msgid "Update AAR link" +msgstr "" + +#: allianceauth/srp/views.py:85 +#, python-format +msgid "Created SRP fleet %(fleetname)s." +msgstr "" + +#: allianceauth/srp/views.py:103 +#, python-format +msgid "Removed SRP fleet %(fleetname)s." +msgstr "" + +#: allianceauth/srp/views.py:115 +#, python-format +msgid "Disabled SRP fleet %(fleetname)s." +msgstr "" + +#: allianceauth/srp/views.py:127 +#, python-format +msgid "Enabled SRP fleet %(fleetname)s." +msgstr "" + +#: allianceauth/srp/views.py:140 +#, python-format +msgid "Marked SRP fleet %(fleetname)s as completed." +msgstr "" + +#: allianceauth/srp/views.py:153 +#, python-format +msgid "Marked SRP fleet %(fleetname)s as incomplete." +msgstr "" + +#: allianceauth/srp/views.py:165 +#, python-format +msgid "Unable to locate SRP code with ID %(srpfleetid)s" +msgstr "" + +#: allianceauth/srp/views.py:179 +msgid "This kill mail has already been posted." +msgstr "" + +#: allianceauth/srp/views.py:200 +msgid "" +"Your SRP request Killmail link is invalid. Please make sure you are using " +"zKillboard." +msgstr "" + +#: allianceauth/srp/views.py:212 +#, python-format +msgid "Submitted SRP request for your %(ship)s." +msgstr "" + +#: allianceauth/srp/views.py:216 +#, python-format +msgid "" +"Character %(charid)s does not belong to your Auth account. Please add the " +"API key for this character and try again" +msgstr "" + +#: allianceauth/srp/views.py:236 allianceauth/srp/views.py:262 +#: allianceauth/srp/views.py:300 +msgid "No SRP requests selected" +msgstr "" + +#: allianceauth/srp/views.py:247 allianceauth/srp/views.py:285 +msgid "Unable to locate selected SRP request." +msgstr "" + +#: allianceauth/srp/views.py:250 +#, python-format +msgid "Deleted %(numrequests)s SRP requests" +msgstr "" + +#: allianceauth/srp/views.py:288 +#, python-format +msgid "Approved %(numrequests)s SRP requests" +msgstr "" + +#: allianceauth/srp/views.py:320 +msgid "Unable to locate selected SRP request" +msgstr "" + +#: allianceauth/srp/views.py:323 +#, python-format +msgid "Rejected %(numrequests)s SRP requests." +msgstr "" + +#: allianceauth/srp/views.py:336 +#, python-format +msgid "Unable to locate SRP request with ID %(requestid)s" +msgstr "" + +#: allianceauth/srp/views.py:360 +#, python-format +msgid "Saved changes to SRP fleet %(fleetname)s" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/esi_check.html:4 +msgid "Your Server received an ESI error response code of " +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 +msgid "Alliance Auth Notifications" +msgstr "Alliantie Authenticatie Notificaties" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 +msgid "Closed" +msgstr "Gesloten" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 +msgid "No notifications at this time" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 +msgid "Powered by GitLab" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 +msgid "Support Discord" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 +msgid "Software Version" +msgstr "Software Versie" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 +msgid "Current" +msgstr "Huidige" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 +msgid "Latest Stable" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 +msgid "Update available" +msgstr "Update Beschikbaar" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 +msgid "Latest Pre-Release" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 +msgid "Pre-Release available" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 +msgid "Task Queue" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 +#, python-format +msgid "" +"\n" +" Status of %(total)s processed tasks • last %(latest)s\n" +" " +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 +msgid "running" +msgstr "" + +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 +msgid "queued" +msgstr "" + +#: allianceauth/templates/allianceauth/top-menu-admin.html:19 +msgid "AA Documentation" +msgstr "AA Documentatie" + +#: allianceauth/templates/allianceauth/top-menu-admin.html:26 +msgid "AA Support Discord" +msgstr "AA Ondersteunings Discord" + +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:10 +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:16 +msgid "User Menu" +msgstr "Gebruikers Menu" + +#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:67 +msgid "Logout" +msgstr "Uitloggen" + +#: allianceauth/templates/allianceauth/top-menu.html:8 +msgid "Toggle navigation" +msgstr "" + +#: allianceauth/theme/templates/theme/theme_select.html:7 +msgid "Select Theme" +msgstr "Selecteer Thema" + +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/timertable.html:7 +msgid "Details" +msgstr "Details" + +#: allianceauth/timerboard/form.py:38 +msgid "Planet/Moon" +msgstr "Planeet/Maan" + +#: allianceauth/timerboard/form.py:39 +msgid "Structure Type" +msgstr "" + +#: allianceauth/timerboard/form.py:40 +msgid "Timer Type" +msgstr "Timer Type" + +#: allianceauth/timerboard/form.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:8 +msgid "Objective" +msgstr "Doel" + +#: allianceauth/timerboard/form.py:42 +msgid "Absolute Timer" +msgstr "Absolute Timer" + +#: allianceauth/timerboard/form.py:43 +msgid "Date and Time" +msgstr "Datum en Tijd" + +#: allianceauth/timerboard/form.py:44 +msgid "Days Remaining" +msgstr "Resterende Dagen" + +#: allianceauth/timerboard/form.py:45 +msgid "Hours Remaining" +msgstr "Resterende Uren" + +#: allianceauth/timerboard/form.py:47 +msgid "Minutes Remaining" +msgstr "Resterende Minuten" + +#: allianceauth/timerboard/form.py:48 +msgid "Important" +msgstr "Belangrijk" + +#: allianceauth/timerboard/form.py:49 +msgid "Corp-Restricted" +msgstr "" + +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "Vriendelijk" + +#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "Vijandig" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "Neutraal" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "Astrahus" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "Fortizar" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "Keepstar" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "Raitaru" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "Sotiyo" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "Sotiyo" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "Athanor" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "Tatara" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "Ansiblex Jump Gate" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "Maan mijn Cyclus" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "Andere" + +#: allianceauth/timerboard/models.py:45 +msgid "Not Specified" +msgstr "Niet gespecifieerd" + +#: allianceauth/timerboard/models.py:46 +msgid "Shield" +msgstr "Schild" + +#: allianceauth/timerboard/models.py:47 +msgid "Armor" +msgstr "Pantser" + +#: allianceauth/timerboard/models.py:48 +msgid "Hull" +msgstr "Romp" + +#: allianceauth/timerboard/models.py:49 +msgid "Final" +msgstr "Laatste" + +#: allianceauth/timerboard/models.py:50 +msgid "Anchoring" +msgstr "Ankeren" + +#: allianceauth/timerboard/models.py:51 +msgid "Unanchoring" +msgstr "ontankeren" + +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 +#: allianceauth/timerboard/templates/timerboard/view.html:53 +msgid "Upcoming Timers" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +msgid "Timer" +msgstr "Timer" + +#: allianceauth/timerboard/templates/timerboard/form.html:10 +#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10 +#: allianceauth/timerboard/templates/timerboard/view.html:13 +msgid "Structure Timers" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/form.html:25 +msgid "Structure Timer Details" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:6 +#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:15 +msgid "Delete Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:26 +#, python-format +msgid "Are you sure you want to delete timer \"%(object)s\"?" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:5 +#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:13 +msgid "Create Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9 +#: allianceauth/timerboard/templates/timerboard/view.html:21 +msgid "Create Structure Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:5 +#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:9 +#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:13 +msgid "Update Structure Timer" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/timertable.html:10 +msgid "Structure" +msgstr "Constructie" + +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +msgid "Cyno Beacon" +msgstr "Cyno Beacon" + +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +msgid "Cyno Jammer" +msgstr "Cyno Jammer" + +#: allianceauth/timerboard/templates/timerboard/view.html:9 +msgid "Structure Timer Management" +msgstr "" + +#: allianceauth/timerboard/templates/timerboard/view.html:40 +msgid "Corporation Timers" +msgstr "Corporatie Timers" + +#: allianceauth/timerboard/templates/timerboard/view.html:71 +msgid "Past Timers" +msgstr "Verlopen Timers." + +#: allianceauth/timerboard/views.py:85 +#, python-format +msgid "Added new timer in %(system)s at %(time)s." +msgstr "" + +#: allianceauth/timerboard/views.py:95 +msgid "Saved changes to the timer." +msgstr "" + +#: allianceauth/views.py:55 +msgid "Bad Request" +msgstr "Foutief Verzoek" + +#: allianceauth/views.py:57 allianceauth/views.py:87 +msgid "" +"Auth encountered an error processing your request, please try again. If the " +"error persists, please contact the administrators." +msgstr "" + +#: allianceauth/views.py:65 +msgid "Permission Denied" +msgstr "Toegang Geweigerd" + +#: allianceauth/views.py:67 +msgid "" +"You do not have permission to access the requested page. If you believe this" +" is in error please contact the administrators." +msgstr "" + +#: allianceauth/views.py:75 +msgid "Page Not Found" +msgstr "Pagina Niet Gevonden" + +#: allianceauth/views.py:77 +msgid "" +"Page does not exist. If you believe this is in error please contact the " +"administrators. " +msgstr "" +"Pagina bestaat niet. Vermoed je dat dit een error is, contacteer dan de " +"administrator." + +#: allianceauth/views.py:85 +msgid "Internal Server Error" +msgstr "Interne Server Error" diff --git a/allianceauth/locale/pl_PL/LC_MESSAGES/django.po b/allianceauth/locale/pl_PL/LC_MESSAGES/django.po index b241c0ef..2a55917d 100644 --- a/allianceauth/locale/pl_PL/LC_MESSAGES/django.po +++ b/allianceauth/locale/pl_PL/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: MisBimbrownik, 2024\n" "Language-Team: Polish (Poland) (https://app.transifex.com/alliance-auth/teams/107430/pl_PL/)\n" @@ -102,27 +102,31 @@ msgstr "Włoski" msgid "Ukrainian" msgstr "Ukraiński" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Język" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Tryb nocny" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Styl" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "Stan został zmieniony na: %s" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Stan twojego użytkownika to: %(state)s" @@ -134,27 +138,27 @@ msgstr "Stan twojego użytkownika to: %(state)s" msgid "Dashboard" msgstr "Tablica" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "Postacie" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "Dodaj postać" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "Zmień główną postać" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -163,12 +167,12 @@ msgstr "Zmień główną postać" msgid "Name" msgstr "Nazwa" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "Korporacja" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -178,7 +182,7 @@ msgstr "Sojusz" msgid "Membership" msgstr "Członkowstwo" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "Stan:" @@ -425,6 +429,19 @@ msgstr "Wybrana Korporacja ma już włączony moduł statystyk." msgid "Failed to gather corporation statistics with selected token." msgstr "Nie udało się pobrać statystyk korporacji używając wybranego Tokenu." +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -517,8 +534,8 @@ msgstr "Użytkownik" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "System" @@ -865,7 +882,7 @@ msgstr "Wnioskujący" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "Typ" @@ -957,7 +974,7 @@ msgid "Hidden" msgstr "Ukryte" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "Otwarta" @@ -1441,16 +1458,16 @@ msgstr "Powiadomienia" msgid "Super User" msgstr "Super-Użytkownik" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "Administrator" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "Wyloguj" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1600,7 +1617,7 @@ msgid "Form Up System" msgstr "Miejsce zbiórki" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "Czas EVE" @@ -1797,17 +1814,17 @@ msgstr "" " uważasz, że to pomyłka - skontaktuj się z Adminem." #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "Włącz" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "Zresetuj hasło" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "Wyłącz" @@ -1892,12 +1909,12 @@ msgstr "Ustaw hasło IPSuite4." msgid "Deactivated IPSuite4 account." msgstr "Wyłączono konto IPSuite4." -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "Ustaw hasło" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "Połącz" @@ -2470,56 +2487,56 @@ msgstr "Zapisano zmiany we Flocie z SRP %(fleetname)s" msgid "Your Server received an ESI error response code of " msgstr "Twój Serwer otrzymał błąd ESI o kodzie" -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "Powiadomienia z Autoryzacji Sojuszu (AA)" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "Zakończone" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "Brak nowych powiadomień" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "Utworzone przy użyciu GitLab" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "Potrzebujesz pomocy? Użyj Discord" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "Wersja oprogramowania" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "Aktualne" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "Ostatnia stabilna" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "Aktualizacja jest dostępna" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "Ostatnie przed-produkcyjna" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "Przed-produkcyjna jest dostępna" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "Kolejka Zadań" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2529,11 +2546,11 @@ msgstr "" "\n" "Status %(total)s przeprocesowanych Zadań • ostatnie %(latest)s" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "w trakcie" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "oczekujące" @@ -2562,105 +2579,203 @@ msgstr "Przełącz nawigację" msgid "Select Theme" msgstr "Wybierz styl" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "Inny" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "Przyjaciel" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "Wróg" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "Neutralny" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "Szczegóły" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "Planeta/Księżyc" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "Typ Struktury" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "Typ Licznika" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "Cel" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "Licznik bezwzględny" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "Data i Czas" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "Pozostało dni" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "Pozostało godzin" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "Pozostało minut" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "Ważny" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "Wewnętrzny dla Korporacji" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "Przyjaciel" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "Wróg" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "Neutralny" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "POCO" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "I-HUB" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "TCU" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "POS (Mały)" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "POS (Średni)" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "POS (Duży)" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "Astrahus" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "Fortizar" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "Keepstar" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "Raitaru" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "Azbel" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "Sotiyo" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "Athanor" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "Tatara" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "Ansiblex Jump Gate" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "Cykl Koparki Księżycowej" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "Inny" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "Nie określono" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "Pole siłowe" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "Armor" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "Struktura" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "Ostateczny" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "Kotwiczenie" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "Usunięcie kotwiczenia" @@ -2669,7 +2784,7 @@ msgstr "Usunięcie kotwiczenia" msgid "Upcoming Timers" msgstr "Nadczodzące zdarzenia" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "Zdarzenie" @@ -2713,78 +2828,14 @@ msgstr "Zaktualizuj Zdarzenie powiązane z Obiektami" msgid "Structure" msgstr "Obiekt" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "POCO" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "I-HUB" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "TCU" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "POS (Mały)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "POS (Średni)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "POS (Duży)" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "Astrahus" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "Fortizar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "Keepstar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "Raitaru" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "Azbel" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "Sotiyo" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "Athanor" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "Tatara" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "Cyno Jammer" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "Ansiblex Jump Gate" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "Cykl Koparki Księżycowej" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "Zarządzanie Zdarzeniami Obiektu" diff --git a/allianceauth/locale/ru/LC_MESSAGES/django.po b/allianceauth/locale/ru/LC_MESSAGES/django.po index eeae90db..203c356a 100644 --- a/allianceauth/locale/ru/LC_MESSAGES/django.po +++ b/allianceauth/locale/ru/LC_MESSAGES/django.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Joel Falknau , 2024\n" "Language-Team: Russian (https://app.transifex.com/alliance-auth/teams/107430/ru/)\n" @@ -97,27 +97,31 @@ msgstr "Итальянский" msgid "Ukrainian" msgstr "Украинский" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Язык" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Ночной режим" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "Статус изменен: %s" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Статус пилота: %(state)s" @@ -129,27 +133,27 @@ msgstr "Статус пилота: %(state)s" msgid "Dashboard" msgstr "Панель показателей" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "Персонажи" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "Добавить Персонажа" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "Сменить основного персонажа" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -158,12 +162,12 @@ msgstr "Сменить основного персонажа" msgid "Name" msgstr "Имя" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "Корпорация" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -173,7 +177,7 @@ msgstr "Альянс" msgid "Membership" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "" @@ -409,6 +413,19 @@ msgstr "Выбранная корпорация уже в модуле стат msgid "Failed to gather corporation statistics with selected token." msgstr "Невозможно получить статистику корпорации по данному токену." +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -501,8 +518,8 @@ msgstr "Пользователь" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "Система" @@ -854,7 +871,7 @@ msgstr "Запрос от" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "Тип" @@ -946,7 +963,7 @@ msgid "Hidden" msgstr "Скрытые" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "Открыть" @@ -1426,16 +1443,16 @@ msgstr "Уведомления" msgid "Super User" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "Администратор" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1585,7 +1602,7 @@ msgid "Form Up System" msgstr "Система сбора" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "EVE Время" @@ -1782,17 +1799,17 @@ msgstr "" "произошло по ошибке, пожалуйста свяжитесь с админом." #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "Активировать" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "Сброс пароля" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "Дизактивировать" @@ -1883,12 +1900,12 @@ msgstr "Установить пароль IPSuite4." msgid "Deactivated IPSuite4 account." msgstr "Деактивированный аккаунт IPSuite4." -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "Установить Пароль" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "Подключить" @@ -2456,56 +2473,56 @@ msgstr "Сохранены изменения в SRP флот %(fleetname)s" msgid "Your Server received an ESI error response code of " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "Уведомления об Альянсовых авторизациях" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "Закрыт" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "При поддержке GitLab" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "Поддержка Discord" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "Версия приложения" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "Текущий" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "Стабильная Версия" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "Доступно обновление" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "Предрелизная Версия" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "Предрелизная Версия" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "Список задач" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2513,11 +2530,11 @@ msgid "" " " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "" @@ -2546,105 +2563,203 @@ msgstr "Проложить маршрут" msgid "Select Theme" msgstr "" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "Прочие" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "Дружественный" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "Вражеский" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "Нейтрал" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "Детали" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "Планета / Луна" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "Тип структуры" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "Тип таймера" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "Задача" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "Дней осталось" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "Часов осталось" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "Минут осталось" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "Важно" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "Корпорация зарегистрированна" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "Дружественный" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "Вражеский" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "Нейтрал" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "Прочие" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "Не указано" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "Щит" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "Броня" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "Структура" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "Финальный" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "Постановка на якорь" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "Снятие с якоря" @@ -2653,7 +2768,7 @@ msgstr "Снятие с якоря" msgid "Upcoming Timers" msgstr "" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "" @@ -2697,78 +2812,14 @@ msgstr "Обновить Структурный Таймер" msgid "Structure" msgstr "Структура" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "Управление Структурными Таймерами" diff --git a/allianceauth/locale/uk/LC_MESSAGES/django.po b/allianceauth/locale/uk/LC_MESSAGES/django.po index 674542dd..1e27ce0e 100644 --- a/allianceauth/locale/uk/LC_MESSAGES/django.po +++ b/allianceauth/locale/uk/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Andrii Yukhymchak, 2024\n" "Language-Team: Ukrainian (https://app.transifex.com/alliance-auth/teams/107430/uk/)\n" @@ -100,27 +100,31 @@ msgstr "Італійська" msgid "Ukrainian" msgstr "Українська" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Мова" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Нічний режим" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Тема" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "Стан змінено на: %s" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Стан вашого користувача зараз: %(state)s" @@ -132,27 +136,27 @@ msgstr "Стан вашого користувача зараз: %(state)s" msgid "Dashboard" msgstr "Панель приладів" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "Персонажі" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "Додати персонажа" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "Змінити основного персонажа" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -161,12 +165,12 @@ msgstr "Змінити основного персонажа" msgid "Name" msgstr "Ім'я" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "Корпорація" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -176,7 +180,7 @@ msgstr "Альянс" msgid "Membership" msgstr "Членство" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "Стан:" @@ -425,6 +429,19 @@ msgstr "Вибрана корпорація вже має модуль стат msgid "Failed to gather corporation statistics with selected token." msgstr "Не вдалося зібрати статистику корпорації з обраним токеном." +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -517,8 +534,8 @@ msgstr "Користувач" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "Система" @@ -868,7 +885,7 @@ msgstr "Запитувач" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "Тип" @@ -960,7 +977,7 @@ msgid "Hidden" msgstr "Прихована" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "Відкрита" @@ -1444,16 +1461,16 @@ msgstr "Повідомлення" msgid "Super User" msgstr "Супер користувач" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "Адміністратор" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "Вийти" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1603,7 +1620,7 @@ msgid "Form Up System" msgstr "Система збору флоту" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "Час за EVE" @@ -1800,17 +1817,17 @@ msgstr "" "думаєте, що це помилка, будь ласка, зверніться до адміністратора." #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "Активувати" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "Скинути пароль" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "Деактивувати" @@ -1897,12 +1914,12 @@ msgstr "Встановити пароль IPSuite4." msgid "Deactivated IPSuite4 account." msgstr "Деактивовано обліковий запис IPSuite4." -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "Встановити пароль" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "Підєднатись" @@ -2477,56 +2494,56 @@ msgstr "Збережено зміни до флоту SRP %(fleetname)s" msgid "Your Server received an ESI error response code of " msgstr "Ваш сервер отримав код відповіді на помилку ESI " -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "Сповіщення Alliance Auth" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "Закрито" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "На даний момент сповіщень немає" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "Powered by GitLab" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "Discord підтримки" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "Версія програмного забезпечення" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "Поточна" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "Остання стабільна" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "Є доступне оновлення" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "Останній передрелізний випуск" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "Доступний Попередній Реліз" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "Черга Завдань" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2537,11 +2554,11 @@ msgstr "" " Статус %(total)s оброблених завдань • останні %(latest)s\n" " " -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "в праці" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "у черзі" @@ -2570,105 +2587,203 @@ msgstr "Перемикання навігації" msgid "Select Theme" msgstr "Виберіть тему" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "Інше" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "Дружній" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "Ворожий" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "Нейтральний" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "Деталі" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "Планета/місяць" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "Тип структури" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "Тип таймера" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "Мета" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "Абсолютний таймер" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "Дата/Час" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "Залишилося днів" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "Залишилося годин" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "Залишилося хвилин" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "Важливо" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "Обмежено для корпорації" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "Дружній" + #: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "Ворожий" + +#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "Нейтральний" + +#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" +msgstr "POCO" + +#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "I-HUB" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "TCU" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "POS [S]" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "POS [M]" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "POS [L]" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "Астрахус" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "Фортізар" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "Кіпстар" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "Райтару" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "Азбел" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "Сотійо" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "Атанор" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "Татара" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "Мост Ансіблекс" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "Цикл видобутку супутника" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "Інше" + +#: allianceauth/timerboard/models.py:45 msgid "Not Specified" msgstr "Не визначено" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:46 msgid "Shield" msgstr "Щит" -#: allianceauth/timerboard/models.py:16 +#: allianceauth/timerboard/models.py:47 msgid "Armor" msgstr "Броня" -#: allianceauth/timerboard/models.py:17 +#: allianceauth/timerboard/models.py:48 msgid "Hull" msgstr "Корпус" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:49 msgid "Final" msgstr "Фінальна" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "Постановка на якір" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "Зняття з якорю" @@ -2677,7 +2792,7 @@ msgstr "Зняття з якорю" msgid "Upcoming Timers" msgstr "Майбутні таймери" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "Таймер" @@ -2721,78 +2836,14 @@ msgstr "Оновити таймер структури" msgid "Structure" msgstr "Структура" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "POCO" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "I-HUB" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "TCU" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "POS [S]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "POS [M]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "POS [L]" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "Астрахус" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "Фортізар" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "Кіпстар" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "Райтару" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "Азбел" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "Сотійо" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "Атанор" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "Татара" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "Циномаяк" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "Циноглушник" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "Мост Ансіблекс" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "Цикл видобутку супутника" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "Керування таймерами структур" diff --git a/allianceauth/locale/zh_Hans/LC_MESSAGES/django.po b/allianceauth/locale/zh_Hans/LC_MESSAGES/django.po index bbde9067..5f77094f 100644 --- a/allianceauth/locale/zh_Hans/LC_MESSAGES/django.po +++ b/allianceauth/locale/zh_Hans/LC_MESSAGES/django.po @@ -5,7 +5,7 @@ # # Translators: # Shen Yang, 2023 -# Jesse . , 2023 +# 85b931f94c2441449e78b527e0a313ae_baf2e99 <639a60f913241ffb1c9bd90bc93a541f_869335>, 2023 # Aaron BuBu <351793078@qq.com>, 2023 # Joel Falknau , 2023 # @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" +"POT-Creation-Date: 2024-09-09 13:05+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Joel Falknau , 2023\n" "Language-Team: Chinese Simplified (https://app.transifex.com/alliance-auth/teams/107430/zh-Hans/)\n" @@ -94,27 +94,31 @@ msgstr "意大利语" msgid "Ukrainian" msgstr "" -#: allianceauth/authentication/models.py:96 +#: allianceauth/authentication/models.py:81 +msgid "Polish" +msgstr "" + +#: allianceauth/authentication/models.py:97 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "语言" -#: allianceauth/authentication/models.py:101 +#: allianceauth/authentication/models.py:102 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "夜间模式" -#: allianceauth/authentication/models.py:105 +#: allianceauth/authentication/models.py:106 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "" -#: allianceauth/authentication/models.py:122 +#: allianceauth/authentication/models.py:123 #, python-format msgid "State changed to: %s" msgstr "" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:124 #, python-format msgid "Your user's state is now: %(state)s" msgstr "" @@ -126,27 +130,27 @@ msgstr "" msgid "Dashboard" msgstr "账户总览" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:5 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 #: allianceauth/hrapplications/templates/hrapplications/view.html:54 msgid "Characters" msgstr "角色" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:11 +#: 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:6 msgid "Add Character" msgstr "添加角色" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 +#: 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:12 msgid "Change Main" msgstr "修改主要角色" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 @@ -155,12 +159,12 @@ msgstr "修改主要角色" msgid "Name" msgstr "角色名" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:23 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 msgid "Corp" msgstr "所在公司" -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 +#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 #: allianceauth/corputils/templates/corputils/corpstats.html:125 #: allianceauth/hrapplications/templates/hrapplications/view.html:63 msgid "Alliance" @@ -170,7 +174,7 @@ msgstr "所在联盟" msgid "Membership" msgstr "" -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 +#: allianceauth/authentication/templates/authentication/dashboard_groups.html:10 msgid "State:" msgstr "" @@ -402,6 +406,19 @@ msgstr "选定的军团已经有了一个统计模块" msgid "Failed to gather corporation statistics with selected token." msgstr "未能使用指定的令牌收集军团信息" +#: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 +#: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 +msgid "Custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:25 +msgid "Your custom CSS" +msgstr "" + +#: allianceauth/custom_css/models.py:26 +msgid "This CSS will be added to the site after the default CSS." +msgstr "" + #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 @@ -494,8 +511,8 @@ msgstr "用户" #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 +#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:37 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 #: allianceauth/timerboard/templates/timerboard/timertable.html:9 msgid "System" msgstr "星系" @@ -813,7 +830,7 @@ msgstr "申请人" #: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 msgid "Type" msgstr "类型" @@ -905,7 +922,7 @@ msgid "Hidden" msgstr "已隐藏" #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 +#: allianceauth/templates/allianceauth/admin-status/overview.html:16 msgid "Open" msgstr "公开" @@ -1381,16 +1398,16 @@ msgstr "通知" msgid "Super User" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:68 +#: allianceauth/menu/templates/menu/menu-user.html:70 #: allianceauth/templates/allianceauth/top-menu-admin.html:9 msgid "Admin" msgstr "管理员" -#: allianceauth/menu/templates/menu/menu-user.html:80 +#: allianceauth/menu/templates/menu/menu-user.html:82 msgid "Sign Out" msgstr "" -#: allianceauth/menu/templates/menu/menu-user.html:84 +#: allianceauth/menu/templates/menu/menu-user.html:86 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 msgid "Sign In" @@ -1540,7 +1557,7 @@ msgid "Form Up System" msgstr "集结点" #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 msgid "EVE Time" msgstr "" @@ -1735,17 +1752,17 @@ msgid "" msgstr "" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 msgid "Activate" msgstr "" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 msgid "Reset Password" msgstr "" #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 msgid "Deactivate" msgstr "" @@ -1826,12 +1843,12 @@ msgstr "修改IPSuite4密码" msgid "Deactivated IPSuite4 account." msgstr "停用IPSuite4账户" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:28 #: allianceauth/services/templates/services/service_password.html:26 msgid "Set Password" msgstr "设置密码" -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 +#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:46 msgid "Connect" msgstr "" @@ -2394,56 +2411,56 @@ msgstr "你做的修改已经保存到%(fleetname)s这个补损舰队啦,尽 msgid "Your Server received an ESI error response code of " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 +#: allianceauth/templates/allianceauth/admin-status/overview.html:8 msgid "Alliance Auth Notifications" msgstr "系统通知" -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 +#: allianceauth/templates/allianceauth/admin-status/overview.html:18 msgid "Closed" msgstr "已关闭" -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 +#: allianceauth/templates/allianceauth/admin-status/overview.html:24 msgid "No notifications at this time" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 +#: allianceauth/templates/allianceauth/admin-status/overview.html:33 msgid "Powered by GitLab" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 +#: allianceauth/templates/allianceauth/admin-status/overview.html:39 msgid "Support Discord" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 +#: allianceauth/templates/allianceauth/admin-status/overview.html:53 +#: allianceauth/templates/allianceauth/admin-status/overview.html:57 msgid "Software Version" msgstr "软件版本" -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 +#: allianceauth/templates/allianceauth/admin-status/overview.html:60 msgid "Current" msgstr "当前版本" -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 +#: allianceauth/templates/allianceauth/admin-status/overview.html:67 msgid "Latest Stable" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 +#: allianceauth/templates/allianceauth/admin-status/overview.html:72 msgid "Update available" msgstr "有更新!" -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 +#: allianceauth/templates/allianceauth/admin-status/overview.html:80 msgid "Latest Pre-Release" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 +#: allianceauth/templates/allianceauth/admin-status/overview.html:85 msgid "Pre-Release available" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 +#: allianceauth/templates/allianceauth/admin-status/overview.html:95 msgid "Task Queue" msgstr "任务队列" -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 +#: allianceauth/templates/allianceauth/admin-status/overview.html:100 #, python-format msgid "" "\n" @@ -2451,11 +2468,11 @@ msgid "" " " msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 +#: allianceauth/templates/allianceauth/admin-status/overview.html:116 msgid "running" msgstr "" -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 +#: allianceauth/templates/allianceauth/admin-status/overview.html:117 msgid "queued" msgstr "" @@ -2484,105 +2501,203 @@ msgstr "打开导航栏" msgid "Select Theme" msgstr "" -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "其他" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "蓝加" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "红减" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "白名" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 +#: allianceauth/timerboard/form.py:36 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 #: allianceauth/timerboard/templates/timerboard/timertable.html:7 msgid "Details" msgstr "详细信息" -#: allianceauth/timerboard/form.py:60 +#: allianceauth/timerboard/form.py:38 msgid "Planet/Moon" msgstr "行星/卫星" -#: allianceauth/timerboard/form.py:61 +#: allianceauth/timerboard/form.py:39 msgid "Structure Type" msgstr "建筑类型" -#: allianceauth/timerboard/form.py:62 +#: allianceauth/timerboard/form.py:40 msgid "Timer Type" msgstr "" -#: allianceauth/timerboard/form.py:63 +#: allianceauth/timerboard/form.py:41 #: allianceauth/timerboard/templates/timerboard/timertable.html:8 msgid "Objective" msgstr "声望" -#: allianceauth/timerboard/form.py:64 +#: allianceauth/timerboard/form.py:42 msgid "Absolute Timer" msgstr "" -#: allianceauth/timerboard/form.py:65 +#: allianceauth/timerboard/form.py:43 msgid "Date and Time" msgstr "" -#: allianceauth/timerboard/form.py:66 +#: allianceauth/timerboard/form.py:44 msgid "Days Remaining" msgstr "剩余天数" -#: allianceauth/timerboard/form.py:67 +#: allianceauth/timerboard/form.py:45 msgid "Hours Remaining" msgstr "剩余小时数" -#: allianceauth/timerboard/form.py:69 +#: allianceauth/timerboard/form.py:47 msgid "Minutes Remaining" msgstr "剩余分钟" -#: allianceauth/timerboard/form.py:71 +#: allianceauth/timerboard/form.py:48 msgid "Important" msgstr "重要信息" -#: allianceauth/timerboard/form.py:72 +#: allianceauth/timerboard/form.py:49 msgid "Corp-Restricted" msgstr "受限制的公司" +#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 +#: allianceauth/timerboard/templates/timerboard/timertable.html:36 +msgid "Friendly" +msgstr "蓝加" + #: allianceauth/timerboard/models.py:14 -msgid "Not Specified" -msgstr "" +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:34 +msgid "Hostile" +msgstr "红减" #: allianceauth/timerboard/models.py:15 -msgid "Shield" -msgstr "护盾" - -#: allianceauth/timerboard/models.py:16 -msgid "Armor" -msgstr "装甲" - -#: allianceauth/timerboard/models.py:17 -msgid "Hull" -msgstr "结构" +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:38 +msgid "Neutral" +msgstr "白名" #: allianceauth/timerboard/models.py:18 -msgid "Final" +#: allianceauth/timerboard/templates/timerboard/timertable.html:48 +msgid "POCO" msgstr "" #: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/templates/timerboard/timertable.html:50 +msgid "Orbital Skyhook" +msgstr "" + +#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/templates/timerboard/timertable.html:52 +msgid "I-HUB" +msgstr "" + +#: allianceauth/timerboard/models.py:21 +#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +msgid "TCU" +msgstr "" + +#: allianceauth/timerboard/models.py:22 +#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +msgid "POS [S]" +msgstr "" + +#: allianceauth/timerboard/models.py:23 +#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +msgid "POS [M]" +msgstr "" + +#: allianceauth/timerboard/models.py:24 +#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +msgid "POS [L]" +msgstr "" + +#: allianceauth/timerboard/models.py:25 +#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +msgid "Astrahus" +msgstr "" + +#: allianceauth/timerboard/models.py:26 +#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +msgid "Fortizar" +msgstr "" + +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +msgid "Keepstar" +msgstr "" + +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +msgid "Raitaru" +msgstr "" + +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +msgid "Azbel" +msgstr "" + +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +msgid "Sotiyo" +msgstr "" + +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +msgid "Athanor" +msgstr "" + +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +msgid "Tatara" +msgstr "" + +#: allianceauth/timerboard/models.py:33 +msgid "Pharolux Cyno Beacon" +msgstr "" + +#: allianceauth/timerboard/models.py:34 +msgid "Tenebrex Cyno Jammer" +msgstr "" + +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +msgid "Ansiblex Jump Gate" +msgstr "" + +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +msgid "Moon Mining Cycle" +msgstr "" + +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +msgid "Metenox Moon Drill" +msgstr "" + +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +msgid "Other" +msgstr "其他" + +#: allianceauth/timerboard/models.py:45 +msgid "Not Specified" +msgstr "" + +#: allianceauth/timerboard/models.py:46 +msgid "Shield" +msgstr "护盾" + +#: allianceauth/timerboard/models.py:47 +msgid "Armor" +msgstr "装甲" + +#: allianceauth/timerboard/models.py:48 +msgid "Hull" +msgstr "结构" + +#: allianceauth/timerboard/models.py:49 +msgid "Final" +msgstr "" + +#: allianceauth/timerboard/models.py:50 msgid "Anchoring" msgstr "铆钉" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:51 msgid "Unanchoring" msgstr "解锚" @@ -2591,7 +2706,7 @@ msgstr "解锚" msgid "Upcoming Timers" msgstr "" -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 +#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 msgid "Timer" msgstr "" @@ -2635,78 +2750,14 @@ msgstr "更新建筑时间表" msgid "Structure" msgstr "建筑" -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 +#: allianceauth/timerboard/templates/timerboard/timertable.html:78 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 +#: allianceauth/timerboard/templates/timerboard/timertable.html:80 msgid "Cyno Jammer" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "" - #: allianceauth/timerboard/templates/timerboard/view.html:9 msgid "Structure Timer Management" msgstr "管理建筑时间表" From 0a1742716973bb05729a98cdd3d3ee79a23c82e9 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Fri, 13 Sep 2024 19:59:40 +1000 Subject: [PATCH 28/33] update language codes --- .../0024_alter_userprofile_language.py | 18 ++++++++++++ allianceauth/authentication/models.py | 16 ++++++----- .../project_name/settings/base.py | 28 +++++++++++-------- 3 files changed, 43 insertions(+), 19 deletions(-) create mode 100644 allianceauth/authentication/migrations/0024_alter_userprofile_language.py diff --git a/allianceauth/authentication/migrations/0024_alter_userprofile_language.py b/allianceauth/authentication/migrations/0024_alter_userprofile_language.py new file mode 100644 index 00000000..b41fc36e --- /dev/null +++ b/allianceauth/authentication/migrations/0024_alter_userprofile_language.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2 on 2024-09-13 09:46 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('authentication', '0023_alter_userprofile_language'), + ] + + operations = [ + migrations.AlterField( + model_name='userprofile', + name='language', + field=models.CharField(blank=True, choices=[('en', 'English'), ('cs-cz', 'Czech'), ('de', 'German'), ('es', 'Spanish'), ('it-it', 'Italian'), ('ja', 'Japanese'), ('ko-kr', 'Korean'), ('fr-fr', 'French'), ('ru', 'Russian'), ('nl-nl', 'Dutch'), ('pl-pl', 'Polish'), ('uk', 'Ukrainian'), ('zh-hans', 'Simplified Chinese')], default='', max_length=10, verbose_name='Language'), + ), + ] diff --git a/allianceauth/authentication/models.py b/allianceauth/authentication/models.py index 898dd177..714f1934 100644 --- a/allianceauth/authentication/models.py +++ b/allianceauth/authentication/models.py @@ -67,18 +67,20 @@ class UserProfile(models.Model): """ Choices for UserProfile.language """ - + # Sorted by Language Code alphabetical order + English at top ENGLISH = 'en', _('English') + CZECH = 'cs-cz', _("Czech") # Not yet at 50% translated GERMAN = 'de', _('German') SPANISH = 'es', _('Spanish') - CHINESE = 'zh-hans', _('Chinese Simplified') - RUSSIAN = 'ru', _('Russian') - KOREAN = 'ko', _('Korean') - FRENCH = 'fr', _('French') + ITALIAN = 'it-it', _('Italian') JAPANESE = 'ja', _('Japanese') - ITALIAN = 'it', _('Italian') + KOREAN = 'ko-kr', _('Korean') + FRENCH = 'fr-fr', _('French') + RUSSIAN = 'ru', _('Russian') + DUTCH = 'nl-nl', _("Dutch") + POLISH = 'pl-pl', _("Polish") UKRAINIAN = 'uk', _('Ukrainian') - POLISH = 'pl', _("Polish") + CHINESE = 'zh-hans', _('Simplified Chinese') user = models.OneToOneField( User, diff --git a/allianceauth/project_template/project_name/settings/base.py b/allianceauth/project_template/project_name/settings/base.py index cf26fe4a..fb18e4de 100644 --- a/allianceauth/project_template/project_name/settings/base.py +++ b/allianceauth/project_template/project_name/settings/base.py @@ -12,6 +12,8 @@ from celery.schedules import crontab from django.contrib import messages +from django.utils.translation import gettext_lazy as _ + INSTALLED_APPS = [ 'allianceauth', # needs to be on top of this list to support favicons in Django admin (see https://gitlab.com/allianceauth/allianceauth/-/issues/1301) 'django.contrib.admin', @@ -93,18 +95,20 @@ LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale/'), ) -LANGUAGES = ( - ("en", "English"), - ("de", "German"), - ("es", "Spanish"), - ("zh-hans", "Chinese Simplified"), - ("ru", "Russian"), - ("ko", "Korean"), - ("fr", "French"), - ("ja", "Japanese"), - ("it", "Italian"), - ("uk", "Ukrainian"), - ("pl", "Polish"), +LANGUAGES = ( # Sorted by Language Code alphabetical order + English at top + ("en", _("English")), + # ("cs-cz", _("Czech")), #Not yet at 50% translated + ("de", _("German")), + ("es", _("Spanish")), + ("it-it", _("Italian")), + ("ja", _("Japanese")), + ("ko-kr", _("Korean")), + ("fr-fr", _("French")), + ("nl-nl", _("Dutch")), + ("pl-pl", _("Polish")), + ("ru", _("Russian")), + ("uk", _("Ukrainian")), + ("zh-hans", _("Simplified Chinese")), ) TEMPLATES = [ From d3acd821b78c213d40ffcaa257d55422b63fc828 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Fri, 13 Sep 2024 20:01:20 +1000 Subject: [PATCH 29/33] remove excess translations --- allianceauth/locale/cs/LC_MESSAGES/django.mo | Bin 7262 -> 0 bytes allianceauth/locale/cs/LC_MESSAGES/django.po | 2776 ----------------- allianceauth/locale/nl/LC_MESSAGES/django.mo | Bin 17293 -> 0 bytes allianceauth/locale/nl/LC_MESSAGES/django.po | 2789 ------------------ 4 files changed, 5565 deletions(-) delete mode 100644 allianceauth/locale/cs/LC_MESSAGES/django.mo delete mode 100644 allianceauth/locale/cs/LC_MESSAGES/django.po delete mode 100644 allianceauth/locale/nl/LC_MESSAGES/django.mo delete mode 100644 allianceauth/locale/nl/LC_MESSAGES/django.po diff --git a/allianceauth/locale/cs/LC_MESSAGES/django.mo b/allianceauth/locale/cs/LC_MESSAGES/django.mo deleted file mode 100644 index 2a9fd9e32e13ac883015eae70ab7ffbc97e6793f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7262 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, YEAR. -# -# Translators: -# Tomas Skarecky , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" -"PO-Revision-Date: 2023-11-08 13:50+0000\n" -"Last-Translator: Tomas Skarecky , 2024\n" -"Language-Team: Czech (https://app.transifex.com/alliance-auth/teams/107430/cs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" - -#: allianceauth/analytics/models.py:26 -msgid "Google Analytics Universal" -msgstr "Google Analytics Universal" - -#: allianceauth/analytics/models.py:27 -msgid "Google Analytics V4" -msgstr "Google Analytics V4" - -#: allianceauth/authentication/constants.py:6 -msgid "" -"This software has exceeded the error limit for ESI. If you are a user, " -"please contact the maintainer of this software. If you are a " -"developer/maintainer, please make a greater effort in the future to receive " -"valid responses. For tips on how, come have a chat with us in ##3rd-party-" -"dev-and-esi on the EVE Online Discord. https://www.eveonline.com/discord" -msgstr "" - -#: allianceauth/authentication/decorators.py:52 -msgid "A main character is required to perform that action. Add one below." -msgstr "Pro provedení akce je potřeba hlavní postava. Přidejte ji níže" - -#: allianceauth/authentication/forms.py:12 -msgid "Email" -msgstr "Email" - -#: allianceauth/authentication/forms.py:62 -#, python-format -msgid "You are not allowed to add or remove these restricted groups: %s" -msgstr "" -"Nemáte oprávnění k přidávání a odebírání těchto skupin s omezeným " -"přístupem:%s" - -#: allianceauth/authentication/models.py:71 -msgid "English" -msgstr "Angličtina" - -#: allianceauth/authentication/models.py:72 -msgid "German" -msgstr "Němčina" - -#: allianceauth/authentication/models.py:73 -msgid "Spanish" -msgstr "Španělština" - -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Zjednodušená čínština" - -#: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Ruština" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Korejština" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Francouzština" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Japonština" - -#: allianceauth/authentication/models.py:79 -msgid "Italian" -msgstr "Italština" - -#: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Ukrajinština" - -#: allianceauth/authentication/models.py:96 -#: allianceauth/menu/templates/menu/menu-user.html:42 -msgid "Language" -msgstr "Jazyk" - -#: allianceauth/authentication/models.py:101 -#: allianceauth/templates/allianceauth/night-toggle.html:6 -msgid "Night Mode" -msgstr "Noční režim" - -#: allianceauth/authentication/models.py:105 -#: allianceauth/menu/templates/menu/menu-user.html:46 -msgid "Theme" -msgstr "Motiv" - -#: allianceauth/authentication/models.py:122 -#, python-format -msgid "State changed to: %s" -msgstr "Status změněn na: %s" - -#: allianceauth/authentication/models.py:123 -#, python-format -msgid "Your user's state is now: %(state)s" -msgstr "Váš uživatelský status je nyní: %(state)s" - -#: allianceauth/authentication/templates/authentication/dashboard.html:5 -#: allianceauth/authentication/templates/authentication/dashboard.html:7 -#: allianceauth/menu/templates/menu/sortable-side-menu.html:14 -#: allianceauth/templates/allianceauth/side-menu.html:10 -msgid "Dashboard" -msgstr "" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 -#: allianceauth/hrapplications/templates/hrapplications/view.html:54 -msgid "Characters" -msgstr "Postavy" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6 -msgid "Add Character" -msgstr "Přidat postavu" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12 -msgid "Change Main" -msgstr "Změnit postavu" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 -#: allianceauth/hrapplications/templates/hrapplications/view.html:61 -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:32 -msgid "Name" -msgstr "Jméno" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 -msgid "Corp" -msgstr "Korporace" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 -#: allianceauth/corputils/templates/corputils/corpstats.html:125 -#: allianceauth/hrapplications/templates/hrapplications/view.html:63 -msgid "Alliance" -msgstr "Aliance" - -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:5 -msgid "Membership" -msgstr "Členství" - -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 -msgid "State:" -msgstr "Stav:" - -#: allianceauth/authentication/templates/authentication/tokens.html:6 -#: allianceauth/authentication/templates/authentication/tokens.html:10 -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62 -msgid "Token Management" -msgstr "Správa Tokenů" - -#: allianceauth/authentication/templates/authentication/tokens.html:16 -msgid "" -"This page is a best attempt, but backups or database logs can still contain " -"your tokens. Always revoke tokens on " -"https://community.eveonline.com/support/third-party-applications/ where " -"possible." -msgstr "" -"Tato stránka je nejlepší snahou, ale zálohy nebo databázové záznamy stále " -"mohou obsahovat vaše tokeny. Pokud je to možné, vždy je odebírejte na adrese" -" https://community.eveonline.com/support/third-party-applications/ " - -#: allianceauth/authentication/templates/authentication/tokens.html:22 -msgid "Scopes" -msgstr "" - -#: allianceauth/authentication/templates/authentication/tokens.html:23 -#: allianceauth/hrapplications/templates/hrapplications/management.html:37 -#: allianceauth/hrapplications/templates/hrapplications/management.html:124 -#: allianceauth/hrapplications/templates/hrapplications/management.html:168 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35 -#: allianceauth/hrapplications/templates/hrapplications/view.html:94 -#: allianceauth/srp/templates/srp/data.html:82 -#: allianceauth/srp/templates/srp/management.html:53 -msgid "Actions" -msgstr "Akce" - -#: allianceauth/authentication/templates/authentication/tokens.html:24 -#: allianceauth/corputils/templates/corputils/corpstats.html:123 -#: allianceauth/corputils/templates/corputils/corpstats.html:163 -#: allianceauth/corputils/templates/corputils/corpstats.html:210 -#: allianceauth/corputils/templates/corputils/search.html:16 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:36 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:41 -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:29 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:28 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:55 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:118 -msgid "Character" -msgstr "Postava" - -#: allianceauth/authentication/templates/public/login.html:6 -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:69 -msgid "Login" -msgstr "Přihlášení" - -#: allianceauth/authentication/templates/public/login.html:10 -msgid "Login with Eve SSO" -msgstr "Přihlášení pomocí EVE SSO" - -#: allianceauth/authentication/templates/public/middle_box.html:25 -msgid "For information on SSO, ESI and security read the CCP Dev Blog" -msgstr "Více informací o SSO, ESI a bezpečnosti najdete na blogu CCP Dev" - -#: allianceauth/authentication/templates/public/middle_box.html:27 -msgid "Introducing ESI - A New API For EVE Online" -msgstr "Představení ESI - Nové API pro Eve Online" - -#: allianceauth/authentication/templates/public/middle_box.html:33 -msgid "Manage ESI Applications" -msgstr "Správa ESI aplikací" - -#: allianceauth/authentication/templates/public/register.html:6 -msgid "Registration" -msgstr "Registrace" - -#: allianceauth/authentication/templates/public/register.html:23 -msgid "Register" -msgstr "Registrace" - -#: allianceauth/authentication/templates/registration/activate.html:6 -msgid "Invalid or expired activation link." -msgstr "Nevalidní, nebo expirovaný aktivační odkaz." - -#: allianceauth/authentication/views.py:158 -#, python-format -msgid "" -"Cannot change main character to %(char)s: character owned by a different " -"account." -msgstr "" -"Není možné změnit hlavní postavu na %(char)s: postava patří pod jiný účet." - -#: allianceauth/authentication/views.py:165 -#, python-format -msgid "Changed main character to %s" -msgstr "Hlavní postava změněna na %s" - -#: allianceauth/authentication/views.py:179 -#, python-format -msgid "Added %(name)s to your account." -msgstr "%(name)spřidána k vačenu účtu" - -#: allianceauth/authentication/views.py:181 -#, python-format -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" - -#: allianceauth/authentication/views.py:226 -msgid "" -"Unable to authenticate as the selected character. Please log in with the " -"main character associated with this account." -msgstr "" -"Není možné váš ověřit pomocí vybrané postavu. Prosím přihlaste se pomocí " -"hlavní postavy spojené s tímto účtem." - -#: allianceauth/authentication/views.py:293 -msgid "Registration token has expired." -msgstr "Registrační token expiroval" - -#: allianceauth/authentication/views.py:354 -msgid "" -"Sent confirmation email. Please follow the link to confirm your email " -"address." -msgstr "" -"Byl vám odeslán potvrzovací email. Otevřete prosím odkaz pro potvrzení " -"emailové adresy. " - -#: allianceauth/authentication/views.py:360 -msgid "Confirmed your email address. Please login to continue." -msgstr "Emailová adresa potvrzena. Přihlaste se prosím." - -#: allianceauth/authentication/views.py:366 -msgid "Registration of new accounts is not allowed at this time." -msgstr "Momentálně není povolena registrace nových účtů." - -#: allianceauth/corputils/auth_hooks.py:12 -msgid "Corporation Stats" -msgstr "Statistiky korporace" - -#: allianceauth/corputils/templates/corputils/base.html:6 -#: allianceauth/corputils/templates/corputils/base.html:10 -msgid "Corporation Member Data" -msgstr "" - -#: allianceauth/corputils/templates/corputils/base.html:16 -msgid "Corporations" -msgstr "Korporace" - -#: allianceauth/corputils/templates/corputils/base.html:35 -msgid "Add corporation" -msgstr "Přidat korporaci" - -#: allianceauth/corputils/templates/corputils/base.html:51 -msgid "Search all corporations..." -msgstr "Vyhledat všechny korporace" - -#: allianceauth/corputils/templates/corputils/corpstats.html:45 -msgid "Mains" -msgstr "Hlavní postavy" - -#: allianceauth/corputils/templates/corputils/corpstats.html:59 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:34 -msgid "Members" -msgstr "Členové" - -#: allianceauth/corputils/templates/corputils/corpstats.html:73 -msgid "Unregistered" -msgstr "" - -#: allianceauth/corputils/templates/corputils/corpstats.html:79 -msgid "Last update:" -msgstr "Poslední aktualizace:" - -#: allianceauth/corputils/templates/corputils/corpstats.html:85 -msgid "Update Now" -msgstr "Aktualizovat" - -#: allianceauth/corputils/templates/corputils/corpstats.html:100 -msgid "Main character" -msgstr "Hlavní postava" - -#: allianceauth/corputils/templates/corputils/corpstats.html:101 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:29 -msgid "Registered characters" -msgstr "Registrované postavy" - -#: allianceauth/corputils/templates/corputils/corpstats.html:124 -#: allianceauth/corputils/templates/corputils/search.html:17 -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:30 -#: allianceauth/hrapplications/templates/hrapplications/management.html:35 -#: allianceauth/hrapplications/templates/hrapplications/management.html:122 -#: allianceauth/hrapplications/templates/hrapplications/management.html:166 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:33 -#: allianceauth/hrapplications/templates/hrapplications/view.html:62 -msgid "Corporation" -msgstr "Korporace" - -#: allianceauth/corputils/templates/corputils/corpstats.html:141 -#: allianceauth/corputils/templates/corputils/corpstats.html:177 -#: allianceauth/corputils/templates/corputils/corpstats.html:190 -#: allianceauth/corputils/templates/corputils/corpstats.html:222 -#: allianceauth/corputils/templates/corputils/search.html:30 -msgid "Killboard" -msgstr "" - -#: allianceauth/corputils/templates/corputils/corpstats.html:165 -#: allianceauth/corputils/templates/corputils/search.html:19 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:32 -#: allianceauth/hrapplications/templates/hrapplications/management.html:121 -#: allianceauth/hrapplications/templates/hrapplications/management.html:165 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:32 -#: allianceauth/hrapplications/templates/hrapplications/view.html:42 -msgid "Main Character" -msgstr "Hlavní postava" - -#: allianceauth/corputils/templates/corputils/corpstats.html:166 -#: allianceauth/corputils/templates/corputils/search.html:20 -msgid "Main Corporation" -msgstr "Hlavní korporace" - -#: allianceauth/corputils/templates/corputils/corpstats.html:167 -#: allianceauth/corputils/templates/corputils/search.html:21 -msgid "Main Alliance" -msgstr "Hlavní aliance" - -#: allianceauth/corputils/templates/corputils/search.html:8 -msgid "Search Results" -msgstr "Výslekdy vyhledávání" - -#: allianceauth/corputils/templates/corputils/search.html:18 -msgid "zKillboard" -msgstr "zKillboard" - -#: allianceauth/corputils/views.py:54 -msgid "Selected corp already has a statistics module." -msgstr "Vybraná korporace již má statistický modul" - -#: allianceauth/corputils/views.py:56 -msgid "Failed to gather corporation statistics with selected token." -msgstr "Nepodařilo se získat statistiky korporace pomocí vybraného tokenu." - -#: allianceauth/fleetactivitytracking/auth_hooks.py:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:10 -msgid "Fleet Activity Tracking" -msgstr "" - -#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8 -#: allianceauth/srp/templates/srp/management.html:44 -msgid "Fleet Name" -msgstr "Jméno flotily" - -#: allianceauth/fleetactivitytracking/forms.py:7 -msgid "Duration of fat-link" -msgstr "" - -#: allianceauth/fleetactivitytracking/forms.py:7 -msgid "Duration of the fat-link in minutes" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:6 -msgid "Fleet Participation" -msgstr "Účast na flotile" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:15 -msgid "Character not found!" -msgstr "Postava nenalezena!" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:35 -msgid "Character not registered!" -msgstr "Postava není registrována!" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:38 -msgid "This character is not associated with an auth account." -msgstr "Tato postava není přiřazena k auth účtu." - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:39 -msgid "Add it here" -msgstr "Přidat zde" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:40 -msgid "before attempting to click fleet attendance links." -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:7 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:16 -msgid "Create Fatlink" -msgstr "Vytvoř Fatlink" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:21 -msgid "Bad request!" -msgstr "Chybný požadavek!" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:31 -msgid "Fatlink details" -msgstr "Detaily fatlinku" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:43 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:79 -msgid "Create fatlink" -msgstr "vytvoř Fatlink" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:6 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:6 -msgid "Fatlink view" -msgstr "Zobraz Fatlink" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:16 -msgid "Edit fatlink" -msgstr "Uprav Fatlink" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:21 -msgid "Are you sure?" -msgstr "Jste si jistý?" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:22 -msgid "Delete fat" -msgstr "Smazat Fatlink" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35 -#: allianceauth/hrapplications/templates/hrapplications/view.html:41 -msgid "User" -msgstr "Uživatel" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 -#: allianceauth/timerboard/templates/timerboard/timertable.html:9 -msgid "System" -msgstr "Systém" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:38 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:44 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:43 -msgid "Ship" -msgstr "Loď" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:39 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92 -#: allianceauth/templates/allianceauth/top-menu.html:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:11 -msgid "Eve Time" -msgstr "Čas EVE" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52 -msgid "Docked in" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:6 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:6 -msgid "Personal fatlink statistics" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:16 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:16 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:16 -#, python-format -msgid "Participation data statistics for %(month)s, %(year)s" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:22 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:20 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:20 -msgid "Previous month" -msgstr "Předchozí měsíc" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:25 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:23 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:23 -msgid "Next month" -msgstr "Následující měsíc" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:33 -#, python-format -msgid "%(user)s has collected one link this month." -msgid_plural "%(user)s has collected %(links)s links this month." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:45 -msgid "Times used" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:62 -#, python-format -msgid "%(user)s has created one link this month." -msgid_plural "%(user)s has created %(links)s links this month." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:73 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:40 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:91 -msgid "Fleet" -msgstr "Flotila" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:74 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:90 -#: allianceauth/timerboard/templates/timerboard/timertable.html:13 -msgid "Creator" -msgstr "Tvůrce" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:76 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:93 -#: allianceauth/optimer/form.py:18 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:15 -msgid "Duration" -msgstr "Trvání" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:77 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:94 -msgid "Edit" -msgstr "Upravit" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:16 -#, python-format -msgid "Participation data statistics for %(year)s" -msgstr "Statistika účasti za %(year)s" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:20 -msgid "Previous year" -msgstr "Předchozí rok" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:23 -msgid "Next year" -msgstr "Následující rok" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:30 -msgid "Month" -msgstr "Měsíc" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:31 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:34 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:35 -msgid "Fats" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:6 -msgid "Fatlink Corp Statistics" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:36 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:37 -msgid "Average fats" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:6 -msgid "Fatlink Statistics" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:32 -msgid "Ticker" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:15 -msgid "Participation data" -msgstr "Data účasatníků" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:23 -msgid "Most recent clicked fatlinks" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:29 -msgid "Personal statistics" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:63 -msgid "No fleet activity on record." -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:72 -msgid "Most recent fatlinks" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:76 -msgid "View statistics" -msgstr "" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:119 -msgid "No created fatlinks on record." -msgstr "" - -#: allianceauth/fleetactivitytracking/views.py:218 -msgid "Character does not exist" -msgstr "" - -#: allianceauth/fleetactivitytracking/views.py:221 -msgid "User does not exist" -msgstr "" - -#: allianceauth/fleetactivitytracking/views.py:299 -msgid "Fleet participation registered." -msgstr "" - -#: allianceauth/fleetactivitytracking/views.py:318 -msgid "FAT link has expired." -msgstr "" - -#: allianceauth/fleetactivitytracking/views.py:323 -#, python-brace-format -msgid "" -"Cannot register the fleet participation for {character.character_name}. The " -"character needs to be online." -msgstr "" - -#: allianceauth/groupmanagement/auth_hooks.py:18 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:17 -msgid "Group Management" -msgstr "" - -#: allianceauth/groupmanagement/auth_hooks.py:51 -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34 -#: allianceauth/templates/allianceauth/side-menu.html:15 -msgid "Groups" -msgstr "" - -#: allianceauth/groupmanagement/forms.py:18 -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:33 -msgid "Users" -msgstr "" - -#: allianceauth/groupmanagement/forms.py:52 -msgid "This name has been reserved and can not be used for groups." -msgstr "" - -#: allianceauth/groupmanagement/forms.py:62 -msgid "(auto)" -msgstr "" - -#: allianceauth/groupmanagement/forms.py:71 -msgid "There already exists a group with that name." -msgstr "" - -#: allianceauth/groupmanagement/models.py:104 -msgid "" -"Internal group, users cannot see, join or request to join this " -"group.
Used for groups such as Members, Corp_*, Alliance_* " -"etc.
Overrides Hidden and Open options when selected." -msgstr "" - -#: allianceauth/groupmanagement/models.py:112 -msgid "Group is hidden from users but can still join with the correct link." -msgstr "" - -#: allianceauth/groupmanagement/models.py:118 -msgid "" -"Group is open and users will be automatically added upon request.
If the " -"group is not open users will need their request manually approved." -msgstr "" - -#: allianceauth/groupmanagement/models.py:125 -msgid "" -"Group is public. Any registered user is able to join this group, with " -"visibility based on the other options set for this group.
Auth will not " -"remove users from this group automatically when they are no longer " -"authenticated." -msgstr "" - -#: allianceauth/groupmanagement/models.py:134 -msgid "" -"Group is restricted. This means that adding or removing users for this group" -" requires a superuser admin." -msgstr "" - -#: allianceauth/groupmanagement/models.py:143 -msgid "" -"Group leaders can process requests for this group. Use the " -"auth.group_management permission to allow a user to manage all " -"groups.
" -msgstr "" - -#: allianceauth/groupmanagement/models.py:153 -msgid "" -"Members of leader groups can process requests for this group. Use the " -"auth.group_management permission to allow a user to manage all " -"groups.
" -msgstr "" - -#: allianceauth/groupmanagement/models.py:162 -msgid "" -"States listed here will have the ability to join this group provided they " -"have the proper permissions.
" -msgstr "" - -#: allianceauth/groupmanagement/models.py:170 -msgid "" -"Short description (max. 512 characters) of the group shown to users." -msgstr "" - -#: allianceauth/groupmanagement/models.py:177 -msgid "Can request non-public groups" -msgstr "" - -#: allianceauth/groupmanagement/models.py:208 -msgid "name" -msgstr "" - -#: allianceauth/groupmanagement/models.py:211 -msgid "Name that can not be used for groups." -msgstr "" - -#: allianceauth/groupmanagement/models.py:214 -msgid "reason" -msgstr "" - -#: allianceauth/groupmanagement/models.py:214 -msgid "Reason why this name is reserved." -msgstr "" - -#: allianceauth/groupmanagement/models.py:217 -msgid "created by" -msgstr "" - -#: allianceauth/groupmanagement/models.py:222 -msgid "created at" -msgstr "" - -#: allianceauth/groupmanagement/models.py:222 -msgid "Date when this entry was created" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:8 -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:12 -msgid "Audit Log" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:17 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:18 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:21 -#: allianceauth/timerboard/templates/timerboard/index_button.html:4 -msgid "Back" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:27 -msgid "Date/Time" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:28 -msgid "Requestor" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 -msgid "Type" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:32 -#: allianceauth/notifications/templates/notifications/list_partial.html:8 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:20 -#: allianceauth/timerboard/templates/timerboard/timertable.html:16 -msgid "Action" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:33 -msgid "Actor" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:47 -msgid "Removed" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:59 -msgid "All times displayed are EVE/UTC." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:66 -msgid "No entries found for this group." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:9 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:13 -msgid "Group Members" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:29 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:56 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:119 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:32 -msgid "Organization" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:49 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:75 -msgid "Group leader" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:60 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:85 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:148 -#: allianceauth/permissions_tool/templates/permissions_tool/audit_row.html:18 -msgid "(unknown)" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:65 -msgid "Remove from group" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:80 -msgid "No group members to list." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:6 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:7 -msgid "Groups Membership" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:13 -msgid "Join/Leave Requests" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:24 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:32 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:10 -msgid "Description" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:25 -#: allianceauth/hrapplications/templates/hrapplications/management.html:36 -#: allianceauth/hrapplications/templates/hrapplications/management.html:123 -#: allianceauth/hrapplications/templates/hrapplications/management.html:167 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34 -#: allianceauth/srp/templates/srp/data.html:80 -msgid "Status" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:26 -msgid "Member Count" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:42 -msgid "Hidden" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 -msgid "Open" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:47 -msgid "Requestable" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:56 -msgid "View Members" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:60 -msgid "Audit Members" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:64 -msgid "Copy Direct Join Link" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:75 -msgid "No groups to list." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:7 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:11 -msgid "Available Groups" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:34 -msgid "Leaders" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:36 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:57 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:120 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:29 -#: allianceauth/services/modules/openfire/forms.py:6 -msgid "Group" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:69 -msgid "Leave" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:73 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:88 -#: 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:116 -#: allianceauth/srp/templates/srp/management.html:87 -msgid "Pending" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:79 -msgid "Join" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:83 -msgid "Request" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:98 -msgid "No groups available." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:9 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:13 -msgid "Groups Management" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:19 -msgid "Join Requests" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:30 -msgid "Leave Requests" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:41 -#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:9 -msgid "Group Membership" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:93 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:156 -msgid "Accept" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:96 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:160 -#: allianceauth/hrapplications/templates/hrapplications/view.html:104 -msgid "Reject" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:106 -msgid "No group add requests." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:169 -msgid "No group leave requests." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:6 -msgid "Group Requests" -msgstr "" - -#: allianceauth/groupmanagement/views.py:166 -#, python-format -msgid "Removed user %(user)s from group %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:168 -msgid "User does not exist in that group" -msgstr "" - -#: allianceauth/groupmanagement/views.py:171 -msgid "Group does not exist" -msgstr "" - -#: allianceauth/groupmanagement/views.py:198 -#, python-format -msgid "Accepted application from %(mainchar)s to %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:204 -#: allianceauth/groupmanagement/views.py:235 -#, python-format -msgid "" -"An unhandled error occurred while processing the application from " -"%(mainchar)s to %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:229 -#, python-format -msgid "Rejected application from %(mainchar)s to %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:264 -#, python-format -msgid "Accepted application from %(mainchar)s to leave %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:269 -#: allianceauth/groupmanagement/views.py:301 -#, python-format -msgid "" -"An unhandled error occurred while processing the application from " -"%(mainchar)s to leave %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:295 -#, python-format -msgid "Rejected application from %(mainchar)s to leave %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:348 -#: allianceauth/groupmanagement/views.py:358 -msgid "You cannot join that group" -msgstr "" - -#: allianceauth/groupmanagement/views.py:353 -msgid "You are already a member of that group." -msgstr "" - -#: allianceauth/groupmanagement/views.py:370 -msgid "You already have a pending application for that group." -msgstr "" - -#: allianceauth/groupmanagement/views.py:379 -#, python-format -msgid "Applied to group %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:389 -msgid "You cannot leave that group" -msgstr "" - -#: allianceauth/groupmanagement/views.py:393 -msgid "You are not a member of that group" -msgstr "" - -#: allianceauth/groupmanagement/views.py:405 -msgid "You already have a pending leave request for that group." -msgstr "" - -#: allianceauth/groupmanagement/views.py:421 -#, python-format -msgid "Applied to leave group %(group)s." -msgstr "" - -#: allianceauth/hrapplications/auth_hooks.py:15 -msgid "Applications" -msgstr "" - -#: allianceauth/hrapplications/forms.py:6 -#: allianceauth/hrapplications/templates/hrapplications/view.html:115 -msgid "Comment" -msgstr "" - -#: allianceauth/hrapplications/forms.py:10 -msgid "Search String" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:6 -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:15 -msgid "Choose a Corp" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:10 -#: allianceauth/hrapplications/templates/hrapplications/create.html:11 -#: allianceauth/hrapplications/templates/hrapplications/management.html:7 -#: allianceauth/hrapplications/templates/hrapplications/management.html:11 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:7 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:11 -#: allianceauth/hrapplications/templates/hrapplications/view.html:11 -msgid "HR Application Management" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:21 -msgid "Available Corps" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:37 -msgid "No corps are accepting applications at this time." -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/create.html:7 -#: allianceauth/hrapplications/templates/hrapplications/create.html:17 -msgid "Apply To" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/create.html:23 -msgid "Application form" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/create.html:57 -msgid "Submit" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:16 -msgid "Personal Applications" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:22 -#: allianceauth/hrapplications/templates/hrapplications/management.html:25 -msgid "Create Application" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:34 -#: allianceauth/hrapplications/templates/hrapplications/management.html:120 -#: allianceauth/hrapplications/templates/hrapplications/management.html:164 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:31 -#: allianceauth/services/templates/services/service_username.html:4 -msgid "Username" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:48 -#: allianceauth/hrapplications/templates/hrapplications/management.html:141 -#: allianceauth/hrapplications/templates/hrapplications/management.html:185 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48 -#: allianceauth/hrapplications/templates/hrapplications/view.html:21 -#: allianceauth/srp/templates/srp/data.html:108 -msgid "Approved" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:50 -#: allianceauth/hrapplications/templates/hrapplications/management.html:143 -#: allianceauth/hrapplications/templates/hrapplications/management.html:187 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50 -#: allianceauth/srp/templates/srp/data.html:112 -msgid "Rejected" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:72 -msgid "Application Management" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:78 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:23 -msgid "Search Applications" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:109 -msgid "Reviewed" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:119 -#: allianceauth/hrapplications/templates/hrapplications/management.html:163 -msgid "Date" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:136 -#: allianceauth/hrapplications/templates/hrapplications/management.html:180 -#: allianceauth/hrapplications/templates/hrapplications/view.html:29 -msgid "Reviewer:" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:155 -msgid "No pending applications." -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:205 -msgid "No reviewed applications." -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:11 -msgid "Application Search" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:14 -#: allianceauth/hrapplications/templates/hrapplications/view.html:162 -#: allianceauth/templates/allianceauth/messages-bs5.html:22 -#: allianceauth/templates/allianceauth/messages.html:6 -msgid "Close" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:24 -msgid "Search" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:17 -msgid "Application Search Results" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:30 -msgid "Application ID" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:7 -#: allianceauth/hrapplications/templates/hrapplications/view.html:16 -msgid "View Application" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:23 -msgid "Denied" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:35 -msgid "Applicant" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:101 -msgid "Approve" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:107 -msgid "Delete" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:110 -msgid "Mark in Progress" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:124 -#: allianceauth/services/forms.py:17 -msgid "Comments" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:143 -msgid "No comments" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:159 -msgid "Add Comment" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:172 -msgid "Add comment" -msgstr "" - -#: allianceauth/menu/admin.py:63 -#, python-format -msgid "Add %s menu item" -msgstr "" - -#: allianceauth/menu/admin.py:71 -#, python-format -msgid "Change %s menu item" -msgstr "" - -#: allianceauth/menu/admin.py:82 -msgid "children" -msgstr "" - -#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21 -msgid "text" -msgstr "" - -#: allianceauth/menu/admin.py:96 -msgid "user defined" -msgstr "" - -#: allianceauth/menu/admin.py:100 -msgid "visible" -msgstr "" - -#: allianceauth/menu/constants.py:16 -msgid "app" -msgstr "" - -#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37 -msgid "folder" -msgstr "" - -#: allianceauth/menu/constants.py:18 -msgid "link" -msgstr "" - -#: allianceauth/menu/filters.py:12 -msgid "type" -msgstr "" - -#: allianceauth/menu/models.py:22 -msgid "Text to show on menu" -msgstr "" - -#: allianceauth/menu/models.py:27 -msgid "order" -msgstr "" - -#: allianceauth/menu/models.py:28 -msgid "Order of the menu. Lowest First" -msgstr "" - -#: allianceauth/menu/models.py:38 -msgid "Folder this item is in (optional)" -msgstr "" - -#: allianceauth/menu/models.py:42 -msgid "is hidden" -msgstr "" - -#: allianceauth/menu/models.py:44 -msgid "" -"Hide this menu item.If this item is a folder all items under it will be " -"hidden too" -msgstr "" - -#: allianceauth/menu/models.py:59 -msgid "icon classes" -msgstr "" - -#: allianceauth/menu/models.py:61 -msgid "" -"Font Awesome classes to show as icon on menu, e.g. fa-solid fa-" -"house" -msgstr "" - -#: allianceauth/menu/models.py:67 -msgid "url" -msgstr "" - -#: allianceauth/menu/models.py:68 -msgid "External URL this menu items will link to" -msgstr "" - -#: allianceauth/menu/templates/admin/menu/menuitem/change_list.html:10 -msgid "Add folder" -msgstr "" - -#: allianceauth/menu/templates/menu/menu-notification-block.html:12 -#: allianceauth/notifications/templates/notifications/list.html:7 -#: allianceauth/notifications/templates/notifications/list.html:11 -#: allianceauth/templates/allianceauth/notifications_menu_item.html:6 -msgid "Notifications" -msgstr "" - -#: allianceauth/menu/templates/menu/menu-user.html:56 -msgid "Super User" -msgstr "" - -#: allianceauth/menu/templates/menu/menu-user.html:68 -#: allianceauth/templates/allianceauth/top-menu-admin.html:9 -msgid "Admin" -msgstr "" - -#: allianceauth/menu/templates/menu/menu-user.html:80 -msgid "Sign Out" -msgstr "" - -#: allianceauth/menu/templates/menu/menu-user.html:84 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 -msgid "Sign In" -msgstr "" - -#: allianceauth/notifications/models.py:21 -msgid "danger" -msgstr "" - -#: allianceauth/notifications/models.py:22 -msgid "warning" -msgstr "" - -#: allianceauth/notifications/models.py:23 -msgid "info" -msgstr "" - -#: allianceauth/notifications/models.py:24 -msgid "success" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list.html:17 -msgid "Unread" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list.html:24 -msgid "Read" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list.html:32 -msgid "Mark all notifications as read" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list.html:38 -msgid "Delete all read notifications" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list_partial.html:6 -msgid "Timestamp" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list_partial.html:7 -msgid "Title" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list_partial.html:28 -msgid "No notifications." -msgstr "" - -#: allianceauth/notifications/templates/notifications/view.html:5 -#: allianceauth/notifications/templates/notifications/view.html:9 -msgid "View Notification" -msgstr "" - -#: allianceauth/notifications/views.py:52 -msgid "You are not authorized to view that notification." -msgstr "" - -#: allianceauth/notifications/views.py:68 -msgid "Deleted notification." -msgstr "" - -#: allianceauth/notifications/views.py:75 -msgid "Failed to locate notification." -msgstr "" - -#: allianceauth/notifications/views.py:83 -msgid "Marked all notifications as read." -msgstr "" - -#: allianceauth/notifications/views.py:91 -msgid "Deleted all read notifications." -msgstr "" - -#: allianceauth/optimer/auth_hooks.py:12 -msgid "Fleet Operations" -msgstr "" - -#: allianceauth/optimer/form.py:12 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:11 -msgid "Doctrine" -msgstr "" - -#: allianceauth/optimer/form.py:14 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:13 -msgid "Start Time" -msgstr "" - -#: allianceauth/optimer/form.py:15 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:9 -msgid "Operation Name" -msgstr "" - -#: allianceauth/optimer/form.py:16 -msgid "Operation Type" -msgstr "" - -#: allianceauth/optimer/form.py:17 -#: allianceauth/srp/templates/srp/management.html:47 -msgid "Fleet Commander" -msgstr "" - -#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14 -#: allianceauth/srp/templates/srp/data.html:71 -msgid "Additional Info" -msgstr "" - -#: allianceauth/optimer/form.py:23 -msgid "(Optional) Describe the operation with a couple of short words." -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:8 -#: allianceauth/optimer/templates/optimer/management.html:18 -msgid "Create Operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:12 -#: allianceauth/optimer/templates/optimer/management.html:11 -#: allianceauth/optimer/templates/optimer/update.html:12 -msgid "Fleet Operation Timers" -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:21 -msgid "Create Fleet Operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:27 -#: allianceauth/optimer/templates/optimer/update.html:27 -msgid "Fleet operation details" -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:40 -msgid "Create fleet operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:7 -msgid "Upcoming Fleets" -msgstr "" - -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:14 -msgid "Operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:16 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:12 -msgid "Form Up System" -msgstr "" - -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 -msgid "EVE Time" -msgstr "" - -#: allianceauth/optimer/templates/optimer/fleetoptable.html:14 -#: allianceauth/timerboard/templates/timerboard/timertable.html:12 -msgid "Local Time" -msgstr "" - -#: allianceauth/optimer/templates/optimer/fleetoptable.html:16 -msgid "FC" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:7 -msgid "Fleet Operation Management" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:28 -#: allianceauth/timerboard/templates/timerboard/view.html:31 -msgid "Current Eve Time:" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:36 -msgid "Next Fleet Operations" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:44 -#: allianceauth/timerboard/templates/timerboard/view.html:62 -msgid "No upcoming timers." -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:52 -msgid "Past Fleet Operations" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:60 -#: allianceauth/timerboard/templates/timerboard/view.html:80 -msgid "No past timers." -msgstr "" - -#: allianceauth/optimer/templates/optimer/update.html:8 -#: allianceauth/optimer/templates/optimer/update.html:21 -msgid "Update Fleet Operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/update.html:40 -msgid "Update fleet operation" -msgstr "" - -#: allianceauth/optimer/views.py:91 -#, python-format -msgid "Created operation timer for %(opname)s." -msgstr "" - -#: allianceauth/optimer/views.py:120 -#, python-format -msgid "Removed operation timer for %(opname)s." -msgstr "" - -#: allianceauth/optimer/views.py:171 -#, python-format -msgid "Saved changes to operation timer for %(opname)s." -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:6 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:10 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:16 -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:10 -msgid "Permissions Audit" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:31 -msgid "User / Character" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:6 -msgid "Permissions Overview" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:17 -msgid "Showing only applied permissions" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:18 -msgid "Show All" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:20 -msgid "Showing all permissions" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:21 -msgid "Show Applied" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:29 -msgid "App" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:30 -msgid "Model" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:31 -msgid "Code Name" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:35 -msgid "States" -msgstr "" - -#: allianceauth/services/abstract.py:72 -msgid "That service account already exists" -msgstr "" - -#: allianceauth/services/abstract.py:103 -#, python-brace-format -msgid "Successfully set your {self.service_name} password" -msgstr "" - -#: allianceauth/services/auth_hooks.py:12 -msgid "Services" -msgstr "" - -#: allianceauth/services/forms.py:6 -msgid "Name of Fleet:" -msgstr "" - -#: allianceauth/services/forms.py:7 -msgid "Fleet Commander:" -msgstr "" - -#: allianceauth/services/forms.py:8 -msgid "Fleet Comms:" -msgstr "" - -#: allianceauth/services/forms.py:9 -msgid "Fleet Type:" -msgstr "" - -#: allianceauth/services/forms.py:10 -msgid "Ship Priorities:" -msgstr "" - -#: allianceauth/services/forms.py:11 -msgid "Formup Location:" -msgstr "" - -#: allianceauth/services/forms.py:12 -msgid "Formup Time:" -msgstr "" - -#: allianceauth/services/forms.py:13 -msgid "Expected Duration:" -msgstr "" - -#: allianceauth/services/forms.py:14 -msgid "Purpose:" -msgstr "" - -#: allianceauth/services/forms.py:15 -msgid "Reimbursable?*" -msgstr "" - -#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16 -msgid "Yes" -msgstr "" - -#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16 -msgid "No" -msgstr "" - -#: allianceauth/services/forms.py:16 -msgid "Important?*" -msgstr "" - -#: allianceauth/services/forms.py:21 allianceauth/services/forms.py:31 -msgid "Password" -msgstr "" - -#: allianceauth/services/forms.py:26 allianceauth/services/forms.py:36 -msgid "Password must be at least 8 characters long." -msgstr "" - -#: allianceauth/services/modules/discord/models.py:187 -msgid "Discord Account Disabled" -msgstr "" - -#: allianceauth/services/modules/discord/models.py:189 -msgid "" -"Your Discord account was disabled automatically by Auth. If you think this " -"was a mistake, please contact an admin." -msgstr "" - -#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 -msgid "Activate" -msgstr "" - -#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 -msgid "Reset Password" -msgstr "" - -#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 -msgid "Deactivate" -msgstr "" - -#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:45 -msgid "Link Discord Server" -msgstr "" - -#: allianceauth/services/modules/discord/views.py:30 -msgid "Deactivated Discord account." -msgstr "" - -#: allianceauth/services/modules/discord/views.py:36 -#: allianceauth/services/modules/discord/views.py:59 -msgid "An error occurred while processing your Discord account." -msgstr "" - -#: allianceauth/services/modules/discord/views.py:102 -msgid "Your Discord account has been successfully activated." -msgstr "" - -#: allianceauth/services/modules/discord/views.py:108 -msgid "" -"An error occurred while trying to activate your Discord account. Please try " -"again." -msgstr "" - -#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5 -msgid "Discourse" -msgstr "" - -#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:18 -msgid "SSO login active" -msgstr "" - -#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:23 -msgid "Go to forums" -msgstr "" - -#: allianceauth/services/modules/discourse/views.py:29 -msgid "You are not authorized to access Discourse." -msgstr "" - -#: allianceauth/services/modules/discourse/views.py:34 -msgid "You must have a main character set to access Discourse." -msgstr "" - -#: allianceauth/services/modules/discourse/views.py:44 -msgid "" -"No SSO payload or signature. Please contact support if this problem " -"persists." -msgstr "" - -#: allianceauth/services/modules/discourse/views.py:54 -#: allianceauth/services/modules/discourse/views.py:62 -msgid "Invalid payload. Please contact support if this problem persists." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:31 -msgid "Activated IPSuite4 account." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:39 -#: allianceauth/services/modules/ips4/views.py:60 -#: allianceauth/services/modules/ips4/views.py:81 -#: allianceauth/services/modules/ips4/views.py:101 -msgid "An error occurred while processing your IPSuite4 account." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:52 -msgid "Reset IPSuite4 password." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:78 -msgid "Set IPSuite4 password." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:98 -msgid "Deactivated IPSuite4 account." -msgstr "" - -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 -#: allianceauth/services/templates/services/service_password.html:26 -msgid "Set Password" -msgstr "" - -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 -msgid "Connect" -msgstr "" - -#: allianceauth/services/modules/openfire/auth_hooks.py:27 -msgid "Jabber" -msgstr "" - -#: allianceauth/services/modules/openfire/auth_hooks.py:80 -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:7 -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:11 -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:19 -msgid "Jabber Broadcast" -msgstr "" - -#: allianceauth/services/modules/openfire/auth_hooks.py:95 -msgid "Fleet Broadcast Formatter" -msgstr "" - -#: allianceauth/services/modules/openfire/forms.py:7 -msgid "Message" -msgstr "" - -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:28 -msgid "Broadcast Sent!!" -msgstr "" - -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:38 -msgid "Broadcast" -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:35 -msgid "Activated Jabber account." -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:43 -#: allianceauth/services/modules/openfire/views.py:56 -#: allianceauth/services/modules/openfire/views.py:76 -#: allianceauth/services/modules/openfire/views.py:147 -msgid "An error occurred while processing your Jabber account." -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:69 -msgid "Reset Jabber password." -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:115 -#, python-format -msgid "Sent Jabber broadcast to %s" -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:144 -msgid "Set jabber password." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:34 -msgid "Activated forum account." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:42 -#: allianceauth/services/modules/phpbb3/views.py:56 -#: allianceauth/services/modules/phpbb3/views.py:78 -#: allianceauth/services/modules/phpbb3/views.py:101 -msgid "An error occurred while processing your forum account." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:53 -msgid "Deactivated forum account." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:70 -msgid "Reset forum password." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:98 -msgid "Set forum password." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:52 -msgid "Activated SMF account." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:65 -#: allianceauth/services/modules/smf/views.py:81 -#: allianceauth/services/modules/smf/views.py:102 -#: allianceauth/services/modules/smf/views.py:124 -msgid "An error occurred while processing your SMF account." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:78 -msgid "Deactivated SMF account." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:95 -msgid "Reset SMF password." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:121 -msgid "Set SMF password." -msgstr "" - -#: allianceauth/services/modules/teamspeak3/forms.py:14 -#, python-format -msgid "Unable to locate user %s on server" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/admin/teamspeak3/authts/change_list.html:10 -msgid "Update TeamSpeak3 groups" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeak3_service_ctrl.html:6 -msgid "Teamspeak 3" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:6 -msgid "Verify TeamSpeak3" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:10 -msgid "Verify TeamSpeak3 Identity" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:15 -msgid "Join Server" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:23 -#: allianceauth/services/templates/services/service_credentials.html:30 -#: allianceauth/srp/templates/srp/add.html:51 -msgid "Continue" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/views.py:35 -msgid "Activated TeamSpeak3 account." -msgstr "" - -#: allianceauth/services/modules/teamspeak3/views.py:38 -#: allianceauth/services/modules/teamspeak3/views.py:74 -#: allianceauth/services/modules/teamspeak3/views.py:100 -msgid "An error occurred while processing your TeamSpeak3 account." -msgstr "" - -#: allianceauth/services/modules/teamspeak3/views.py:71 -msgid "Deactivated TeamSpeak3 account." -msgstr "" - -#: allianceauth/services/modules/teamspeak3/views.py:97 -msgid "Reset TeamSpeak3 permission key." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:30 -msgid "Activated XenForo account." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:40 -#: allianceauth/services/modules/xenforo/views.py:52 -#: allianceauth/services/modules/xenforo/views.py:73 -#: allianceauth/services/modules/xenforo/views.py:94 -msgid "An error occurred while processing your XenForo account." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:50 -msgid "Deactivated XenForo account." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:65 -msgid "Reset XenForo account password." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:91 -msgid "Changed XenForo password." -msgstr "" - -#: allianceauth/services/templates/services/fleetformattertool.html:6 -#: allianceauth/services/templates/services/fleetformattertool.html:10 -msgid "Fleet Formatter Tool" -msgstr "" - -#: allianceauth/services/templates/services/fleetformattertool.html:18 -msgid "Fleet Details" -msgstr "" - -#: allianceauth/services/templates/services/fleetformattertool.html:37 -msgid "Format" -msgstr "" - -#: allianceauth/services/templates/services/service_confirm_delete.html:6 -#: allianceauth/services/templates/services/service_confirm_delete.html:16 -#, python-format -msgid "Delete %(service_name)s Account?" -msgstr "" - -#: allianceauth/services/templates/services/service_confirm_delete.html:10 -#: allianceauth/services/templates/services/service_credentials.html:10 -#: allianceauth/services/templates/services/service_password.html:11 -#: allianceauth/services/templates/services/services.html:9 -msgid "Available Services" -msgstr "" - -#: allianceauth/services/templates/services/service_confirm_delete.html:24 -#, python-format -msgid "" -"Are you sure you want to delete your %(service_name)s account %(object)s?" -msgstr "" - -#: allianceauth/services/templates/services/service_credentials.html:6 -#: allianceauth/services/templates/services/service_credentials.html:16 -#, python-format -msgid "%(service_name)s Credentials" -msgstr "" - -#: allianceauth/services/templates/services/service_password.html:7 -#, python-format -msgid "%(service_name)s Password Change" -msgstr "" - -#: allianceauth/services/templates/services/service_password.html:17 -#, python-format -msgid "Set %(service_name)s Password" -msgstr "" - -#: allianceauth/services/templates/services/service_status.html:5 -msgid "Enabled" -msgstr "" - -#: allianceauth/services/templates/services/service_status.html:7 -#: allianceauth/srp/templates/srp/management.html:78 -msgid "Disabled" -msgstr "" - -#: allianceauth/services/templates/services/services.html:5 -msgid "Services Management" -msgstr "" - -#: allianceauth/services/templates/services/services.html:20 -msgid "Legend" -msgstr "" - -#: allianceauth/services/templates/services/services.html:27 -msgid "Click to activate the service for your user." -msgstr "" - -#: allianceauth/services/templates/services/services.html:36 -msgid "Click to manually set your password." -msgstr "" - -#: allianceauth/services/templates/services/services.html:45 -msgid "Click to randomly generate your password." -msgstr "" - -#: allianceauth/services/templates/services/services.html:54 -msgid "Click to deactivate the service for your user" -msgstr "" - -#: allianceauth/services/templates/services/services.html:60 -msgid "" -"Some services provide different options. Hover over the buttons to see more." -msgstr "" - -#: allianceauth/srp/auth_hooks.py:14 -msgid "Ship Replacement" -msgstr "" - -#: allianceauth/srp/form.py:9 -#: allianceauth/srp/templates/srp/management.html:45 -msgid "Fleet Time" -msgstr "" - -#: allianceauth/srp/form.py:10 -#: allianceauth/srp/templates/srp/management.html:46 -msgid "Fleet Doctrine" -msgstr "" - -#: allianceauth/srp/form.py:16 -msgid "Killboard Link (zkillboard.com or kb.evetools.org)" -msgstr "" - -#: allianceauth/srp/form.py:34 -msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org" -msgstr "" - -#: allianceauth/srp/form.py:46 -msgid "Invalid Link. Please post a direct link to a killmail." -msgstr "" - -#: allianceauth/srp/form.py:53 -msgid "After Action Report Link" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:7 -msgid "SRP Fleet Create" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:11 -#: allianceauth/srp/templates/srp/data.html:11 -#: allianceauth/srp/templates/srp/management.html:11 -#: allianceauth/srp/templates/srp/request.html:11 -#: allianceauth/srp/templates/srp/update.html:11 -msgid "Ship Replacement Program" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:20 -msgid "Create SRP Fleet" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:26 -msgid "SRP fleet details" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:40 -msgid "Create SRP fleet" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:46 -msgid "Give this link to the line members." -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:7 -#: allianceauth/srp/templates/srp/data.html:38 -msgid "SRP Fleet Data" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:16 -msgid "View Fleets" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:25 -msgid "Mark Incomplete" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:29 -msgid "Mark Completed" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:47 -#: allianceauth/srp/templates/srp/data.html:138 -msgid "Total Losses:" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:48 -#: allianceauth/srp/templates/srp/data.html:139 -#: allianceauth/srp/templates/srp/management.html:36 -msgid "Total ISK Cost:" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:59 -#: allianceauth/srp/templates/srp/data.html:150 -msgid "Are you sure you want to delete SRP requests?" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:69 -msgid "Pilot Name" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:70 -msgid "Killboard Link" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:72 -msgid "Ship Type" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:73 -msgid "Killboard Loss Amt" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:75 -msgid "SRP ISK Cost" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:76 -msgid "Click value to edit Enter to save & next ESC to cancel" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:79 -msgid "Post Time" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:98 -#: allianceauth/srp/templates/srp/management.html:70 -msgid "Link" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:159 -msgid "No SRP requests for this fleet." -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:7 -msgid "SRP Management" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:18 -msgid "View All" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:27 -msgid "Add SRP Fleet" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:48 -msgid "Fleet AAR" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:49 -msgid "Fleet SRP Code" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:50 -msgid "Fleet ISK Cost" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:51 -msgid "SRP Status" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:52 -msgid "Pending Requests" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:91 -msgid "Completed" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:108 -msgid "Are you sure you want to delete this SRP code and its contents?" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:129 -msgid "No SRP fleets created." -msgstr "" - -#: allianceauth/srp/templates/srp/request.html:7 -msgid "SRP Request" -msgstr "" - -#: allianceauth/srp/templates/srp/request.html:16 -msgid "Create SRP Request" -msgstr "" - -#: allianceauth/srp/templates/srp/request.html:22 -msgid "Your SRP request" -msgstr "" - -#: allianceauth/srp/templates/srp/request.html:35 -msgid "Create SRP request" -msgstr "" - -#: allianceauth/srp/templates/srp/update.html:7 -#: allianceauth/srp/templates/srp/update.html:16 -msgid "Update AAR Link" -msgstr "" - -#: allianceauth/srp/templates/srp/update.html:22 -msgid "After Action Report" -msgstr "" - -#: allianceauth/srp/templates/srp/update.html:31 -msgid "SRP Fleet Does Not Exist" -msgstr "" - -#: allianceauth/srp/templates/srp/update.html:40 -msgid "Update AAR link" -msgstr "" - -#: allianceauth/srp/views.py:85 -#, python-format -msgid "Created SRP fleet %(fleetname)s." -msgstr "" - -#: allianceauth/srp/views.py:103 -#, python-format -msgid "Removed SRP fleet %(fleetname)s." -msgstr "" - -#: allianceauth/srp/views.py:115 -#, python-format -msgid "Disabled SRP fleet %(fleetname)s." -msgstr "" - -#: allianceauth/srp/views.py:127 -#, python-format -msgid "Enabled SRP fleet %(fleetname)s." -msgstr "" - -#: allianceauth/srp/views.py:140 -#, python-format -msgid "Marked SRP fleet %(fleetname)s as completed." -msgstr "" - -#: allianceauth/srp/views.py:153 -#, python-format -msgid "Marked SRP fleet %(fleetname)s as incomplete." -msgstr "" - -#: allianceauth/srp/views.py:165 -#, python-format -msgid "Unable to locate SRP code with ID %(srpfleetid)s" -msgstr "" - -#: allianceauth/srp/views.py:179 -msgid "This kill mail has already been posted." -msgstr "" - -#: allianceauth/srp/views.py:200 -msgid "" -"Your SRP request Killmail link is invalid. Please make sure you are using " -"zKillboard." -msgstr "" - -#: allianceauth/srp/views.py:212 -#, python-format -msgid "Submitted SRP request for your %(ship)s." -msgstr "" - -#: allianceauth/srp/views.py:216 -#, python-format -msgid "" -"Character %(charid)s does not belong to your Auth account. Please add the " -"API key for this character and try again" -msgstr "" - -#: allianceauth/srp/views.py:236 allianceauth/srp/views.py:262 -#: allianceauth/srp/views.py:300 -msgid "No SRP requests selected" -msgstr "" - -#: allianceauth/srp/views.py:247 allianceauth/srp/views.py:285 -msgid "Unable to locate selected SRP request." -msgstr "" - -#: allianceauth/srp/views.py:250 -#, python-format -msgid "Deleted %(numrequests)s SRP requests" -msgstr "" - -#: allianceauth/srp/views.py:288 -#, python-format -msgid "Approved %(numrequests)s SRP requests" -msgstr "" - -#: allianceauth/srp/views.py:320 -msgid "Unable to locate selected SRP request" -msgstr "" - -#: allianceauth/srp/views.py:323 -#, python-format -msgid "Rejected %(numrequests)s SRP requests." -msgstr "" - -#: allianceauth/srp/views.py:336 -#, python-format -msgid "Unable to locate SRP request with ID %(requestid)s" -msgstr "" - -#: allianceauth/srp/views.py:360 -#, python-format -msgid "Saved changes to SRP fleet %(fleetname)s" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/esi_check.html:4 -msgid "Your Server received an ESI error response code of " -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 -msgid "Alliance Auth Notifications" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 -msgid "Closed" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 -msgid "No notifications at this time" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 -msgid "Powered by GitLab" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 -msgid "Support Discord" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 -msgid "Software Version" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 -msgid "Current" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 -msgid "Latest Stable" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 -msgid "Update available" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 -msgid "Latest Pre-Release" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 -msgid "Pre-Release available" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 -msgid "Task Queue" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 -#, python-format -msgid "" -"\n" -" Status of %(total)s processed tasks • last %(latest)s\n" -" " -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 -msgid "running" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 -msgid "queued" -msgstr "" - -#: allianceauth/templates/allianceauth/top-menu-admin.html:19 -msgid "AA Documentation" -msgstr "" - -#: allianceauth/templates/allianceauth/top-menu-admin.html:26 -msgid "AA Support Discord" -msgstr "" - -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:10 -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:16 -msgid "User Menu" -msgstr "" - -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:67 -msgid "Logout" -msgstr "" - -#: allianceauth/templates/allianceauth/top-menu.html:8 -msgid "Toggle navigation" -msgstr "" - -#: allianceauth/theme/templates/theme/theme_select.html:7 -msgid "Select Theme" -msgstr "" - -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 -#: allianceauth/timerboard/templates/timerboard/timertable.html:7 -msgid "Details" -msgstr "" - -#: allianceauth/timerboard/form.py:60 -msgid "Planet/Moon" -msgstr "" - -#: allianceauth/timerboard/form.py:61 -msgid "Structure Type" -msgstr "" - -#: allianceauth/timerboard/form.py:62 -msgid "Timer Type" -msgstr "" - -#: allianceauth/timerboard/form.py:63 -#: allianceauth/timerboard/templates/timerboard/timertable.html:8 -msgid "Objective" -msgstr "" - -#: allianceauth/timerboard/form.py:64 -msgid "Absolute Timer" -msgstr "" - -#: allianceauth/timerboard/form.py:65 -msgid "Date and Time" -msgstr "" - -#: allianceauth/timerboard/form.py:66 -msgid "Days Remaining" -msgstr "" - -#: allianceauth/timerboard/form.py:67 -msgid "Hours Remaining" -msgstr "" - -#: allianceauth/timerboard/form.py:69 -msgid "Minutes Remaining" -msgstr "" - -#: allianceauth/timerboard/form.py:71 -msgid "Important" -msgstr "" - -#: allianceauth/timerboard/form.py:72 -msgid "Corp-Restricted" -msgstr "" - -#: allianceauth/timerboard/models.py:14 -msgid "Not Specified" -msgstr "" - -#: allianceauth/timerboard/models.py:15 -msgid "Shield" -msgstr "" - -#: allianceauth/timerboard/models.py:16 -msgid "Armor" -msgstr "" - -#: allianceauth/timerboard/models.py:17 -msgid "Hull" -msgstr "" - -#: allianceauth/timerboard/models.py:18 -msgid "Final" -msgstr "" - -#: allianceauth/timerboard/models.py:19 -msgid "Anchoring" -msgstr "" - -#: allianceauth/timerboard/models.py:20 -msgid "Unanchoring" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 -#: allianceauth/timerboard/templates/timerboard/view.html:53 -msgid "Upcoming Timers" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 -msgid "Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/form.html:10 -#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10 -#: allianceauth/timerboard/templates/timerboard/view.html:13 -msgid "Structure Timers" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/form.html:25 -msgid "Structure Timer Details" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:6 -#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:15 -msgid "Delete Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:26 -#, python-format -msgid "Are you sure you want to delete timer \"%(object)s\"?" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:5 -#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:13 -msgid "Create Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9 -#: allianceauth/timerboard/templates/timerboard/view.html:21 -msgid "Create Structure Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:5 -#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:9 -#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:13 -msgid "Update Structure Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:10 -msgid "Structure" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 -msgid "Cyno Beacon" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 -msgid "Cyno Jammer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/view.html:9 -msgid "Structure Timer Management" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/view.html:40 -msgid "Corporation Timers" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/view.html:71 -msgid "Past Timers" -msgstr "" - -#: allianceauth/timerboard/views.py:85 -#, python-format -msgid "Added new timer in %(system)s at %(time)s." -msgstr "" - -#: allianceauth/timerboard/views.py:95 -msgid "Saved changes to the timer." -msgstr "" - -#: allianceauth/views.py:55 -msgid "Bad Request" -msgstr "" - -#: allianceauth/views.py:57 allianceauth/views.py:87 -msgid "" -"Auth encountered an error processing your request, please try again. If the " -"error persists, please contact the administrators." -msgstr "" - -#: allianceauth/views.py:65 -msgid "Permission Denied" -msgstr "" - -#: allianceauth/views.py:67 -msgid "" -"You do not have permission to access the requested page. If you believe this" -" is in error please contact the administrators." -msgstr "" - -#: allianceauth/views.py:75 -msgid "Page Not Found" -msgstr "" - -#: allianceauth/views.py:77 -msgid "" -"Page does not exist. If you believe this is in error please contact the " -"administrators. " -msgstr "" - -#: allianceauth/views.py:85 -msgid "Internal Server Error" -msgstr "" diff --git a/allianceauth/locale/nl/LC_MESSAGES/django.mo b/allianceauth/locale/nl/LC_MESSAGES/django.mo deleted file mode 100644 index b67bf28f855a77198019b699408d244edda50a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17293 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 diff --git a/allianceauth/locale/nl/LC_MESSAGES/django.po b/allianceauth/locale/nl/LC_MESSAGES/django.po deleted file mode 100644 index 9f67756f..00000000 --- a/allianceauth/locale/nl/LC_MESSAGES/django.po +++ /dev/null @@ -1,2789 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# John Vaille, 2024 -# Agent Fuse, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-12 19:15+1000\n" -"PO-Revision-Date: 2023-11-08 13:50+0000\n" -"Last-Translator: Agent Fuse, 2024\n" -"Language-Team: Dutch (https://app.transifex.com/alliance-auth/teams/107430/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: allianceauth/analytics/models.py:26 -msgid "Google Analytics Universal" -msgstr "Google Analytics Universeel" - -#: allianceauth/analytics/models.py:27 -msgid "Google Analytics V4" -msgstr "Google Analytics V4" - -#: allianceauth/authentication/constants.py:6 -msgid "" -"This software has exceeded the error limit for ESI. If you are a user, " -"please contact the maintainer of this software. If you are a " -"developer/maintainer, please make a greater effort in the future to receive " -"valid responses. For tips on how, come have a chat with us in ##3rd-party-" -"dev-and-esi on the EVE Online Discord. https://www.eveonline.com/discord" -msgstr "" -"Deze software heeft de foutlimiet voor ESI overschreden. Als u een gebruiker" -" bent, neem dan contact op met de beheerder van deze software. Als u een " -"ontwikkelaar/beheerder bent, doe dan in de toekomst meer moeite om geldige " -"antwoorden te ontvangen. Voor tips hierover kunt u met ons chatten in ##3rd-" -"party-dev-and-esi op de EVE Online Discord. " -"https://www.eveonline.com/discord" - -#: allianceauth/authentication/decorators.py:52 -msgid "A main character is required to perform that action. Add one below." -msgstr "" -"Een hoofdpersonage is nodig om die actie uitvoeren. Voeg er hieronder een " -"toe." - -#: allianceauth/authentication/forms.py:12 -msgid "Email" -msgstr "Email" - -#: allianceauth/authentication/forms.py:62 -#, python-format -msgid "You are not allowed to add or remove these restricted groups: %s" -msgstr "" -"Je bent niet gemachtigd om de volgende beperkte groepen te verwijderen: %s" - -#: allianceauth/authentication/models.py:71 -msgid "English" -msgstr "Engels" - -#: allianceauth/authentication/models.py:72 -msgid "German" -msgstr "Duits" - -#: allianceauth/authentication/models.py:73 -msgid "Spanish" -msgstr "Spaans" - -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Vereenvoudigd Chinees" - -#: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Russisch" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Koreaans" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Frans" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Japans" - -#: allianceauth/authentication/models.py:79 -msgid "Italian" -msgstr "Italiaans" - -#: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Oekraïens" - -#: allianceauth/authentication/models.py:96 -#: allianceauth/menu/templates/menu/menu-user.html:42 -msgid "Language" -msgstr "Taal" - -#: allianceauth/authentication/models.py:101 -#: allianceauth/templates/allianceauth/night-toggle.html:6 -msgid "Night Mode" -msgstr "Nachtstand" - -#: allianceauth/authentication/models.py:105 -#: allianceauth/menu/templates/menu/menu-user.html:46 -msgid "Theme" -msgstr "Thema" - -#: allianceauth/authentication/models.py:122 -#, python-format -msgid "State changed to: %s" -msgstr "State gewijzigd naar: %s" - -#: allianceauth/authentication/models.py:123 -#, python-format -msgid "Your user's state is now: %(state)s" -msgstr "De gebruikers staat is nu: %(state)s" - -#: allianceauth/authentication/templates/authentication/dashboard.html:5 -#: allianceauth/authentication/templates/authentication/dashboard.html:7 -#: allianceauth/menu/templates/menu/sortable-side-menu.html:14 -#: allianceauth/templates/allianceauth/side-menu.html:10 -msgid "Dashboard" -msgstr "Dashboard" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:7 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:33 -#: allianceauth/hrapplications/templates/hrapplications/view.html:54 -msgid "Characters" -msgstr "Karakter" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:13 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:14 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:4 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:6 -msgid "Add Character" -msgstr "Personages toevoegen" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:16 -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:17 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:10 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:12 -msgid "Change Main" -msgstr "Verander Main" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:24 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:89 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:23 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:31 -#: allianceauth/hrapplications/templates/hrapplications/view.html:61 -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:32 -msgid "Name" -msgstr "Naam" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:25 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:33 -msgid "Corp" -msgstr "Corp" - -#: allianceauth/authentication/templates/authentication/dashboard_characters.html:26 -#: allianceauth/corputils/templates/corputils/corpstats.html:125 -#: allianceauth/hrapplications/templates/hrapplications/view.html:63 -msgid "Alliance" -msgstr "Alliantie" - -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:5 -msgid "Membership" -msgstr "Lidmaatschap" - -#: allianceauth/authentication/templates/authentication/dashboard_groups.html:8 -msgid "State:" -msgstr "Status:" - -#: allianceauth/authentication/templates/authentication/tokens.html:6 -#: allianceauth/authentication/templates/authentication/tokens.html:10 -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:62 -msgid "Token Management" -msgstr "Tokenbeheer" - -#: allianceauth/authentication/templates/authentication/tokens.html:16 -msgid "" -"This page is a best attempt, but backups or database logs can still contain " -"your tokens. Always revoke tokens on " -"https://community.eveonline.com/support/third-party-applications/ where " -"possible." -msgstr "" -"Deze pagina is een beste poging, maar back-ups of database-logs kunnen nog " -"steeds uw tokens bevatten. Herroep altijd tokens op " -"https://community.eveonline.com/support/third-party-applications/ indien " -"mogelijk." - -#: allianceauth/authentication/templates/authentication/tokens.html:22 -msgid "Scopes" -msgstr "Scopes" - -#: allianceauth/authentication/templates/authentication/tokens.html:23 -#: allianceauth/hrapplications/templates/hrapplications/management.html:37 -#: allianceauth/hrapplications/templates/hrapplications/management.html:124 -#: allianceauth/hrapplications/templates/hrapplications/management.html:168 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:35 -#: allianceauth/hrapplications/templates/hrapplications/view.html:94 -#: allianceauth/srp/templates/srp/data.html:82 -#: allianceauth/srp/templates/srp/management.html:53 -msgid "Actions" -msgstr "Acties" - -#: allianceauth/authentication/templates/authentication/tokens.html:24 -#: allianceauth/corputils/templates/corputils/corpstats.html:123 -#: allianceauth/corputils/templates/corputils/corpstats.html:163 -#: allianceauth/corputils/templates/corputils/corpstats.html:210 -#: allianceauth/corputils/templates/corputils/search.html:16 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:36 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:41 -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:29 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:28 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:55 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:118 -msgid "Character" -msgstr "Karakter" - -#: allianceauth/authentication/templates/public/login.html:6 -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:69 -msgid "Login" -msgstr "Inloggen" - -#: allianceauth/authentication/templates/public/login.html:10 -msgid "Login with Eve SSO" -msgstr "Inloggen met Eve SSO" - -#: allianceauth/authentication/templates/public/middle_box.html:25 -msgid "For information on SSO, ESI and security read the CCP Dev Blog" -msgstr "Voor informatie over SSO, ESI en beveiliging, lees de CCP Dev Blog." - -#: allianceauth/authentication/templates/public/middle_box.html:27 -msgid "Introducing ESI - A New API For EVE Online" -msgstr "Introductie van ESI - Een nieuwe API voor EVE Online" - -#: allianceauth/authentication/templates/public/middle_box.html:33 -msgid "Manage ESI Applications" -msgstr "Beheer ESI-toepassingen" - -#: allianceauth/authentication/templates/public/register.html:6 -msgid "Registration" -msgstr "Registratie" - -#: allianceauth/authentication/templates/public/register.html:23 -msgid "Register" -msgstr "Registreer" - -#: allianceauth/authentication/templates/registration/activate.html:6 -msgid "Invalid or expired activation link." -msgstr "Ongeldige of verlopen activeringslink." - -#: allianceauth/authentication/views.py:158 -#, python-format -msgid "" -"Cannot change main character to %(char)s: character owned by a different " -"account." -msgstr "" -"Het hoofdkarakter kan niet worden gewijzigd naar %(char)s: Karakter is " -"eigendom van een ander account." - -#: allianceauth/authentication/views.py:165 -#, python-format -msgid "Changed main character to %s" -msgstr "Hoofdkarakter veranderd naar %s" - -#: allianceauth/authentication/views.py:179 -#, python-format -msgid "Added %(name)s to your account." -msgstr "%(name)s aan uw account toegevoegd." - -#: allianceauth/authentication/views.py:181 -#, python-format -msgid "Failed to add %(name)s to your account: they already have an account." -msgstr "" -"Toevoegen van %(name)s aan uw account is mislukt: ze hebben al een account." - -#: allianceauth/authentication/views.py:226 -msgid "" -"Unable to authenticate as the selected character. Please log in with the " -"main character associated with this account." -msgstr "" -"Niet mogelijk om te authenticeren als de geselecteerde karakter. Log " -"alstublieft in met het hoofdkarakter dat aan dit account is gekoppeld." - -#: allianceauth/authentication/views.py:293 -msgid "Registration token has expired." -msgstr "Registratietoken is verlopen." - -#: allianceauth/authentication/views.py:354 -msgid "" -"Sent confirmation email. Please follow the link to confirm your email " -"address." -msgstr "" -"E-mail met bevestiging verzonden. Volg de link om uw e-mailadres te " -"bevestigen." - -#: allianceauth/authentication/views.py:360 -msgid "Confirmed your email address. Please login to continue." -msgstr "Uw e-mailadres is bevestigd. Gelieve in te loggen om verder te gaan." - -#: allianceauth/authentication/views.py:366 -msgid "Registration of new accounts is not allowed at this time." -msgstr "Registratie van nieuwe accounts in momenteel niet toegestaan." - -#: allianceauth/corputils/auth_hooks.py:12 -msgid "Corporation Stats" -msgstr "Bedrijfsstatistieken" - -#: allianceauth/corputils/templates/corputils/base.html:6 -#: allianceauth/corputils/templates/corputils/base.html:10 -msgid "Corporation Member Data" -msgstr "Gegevens van bedrijfsleden" - -#: allianceauth/corputils/templates/corputils/base.html:16 -msgid "Corporations" -msgstr "Bedrijven" - -#: allianceauth/corputils/templates/corputils/base.html:35 -msgid "Add corporation" -msgstr "Voeg bedrijf toe" - -#: allianceauth/corputils/templates/corputils/base.html:51 -msgid "Search all corporations..." -msgstr "Zoek in alle bedrijven..." - -#: allianceauth/corputils/templates/corputils/corpstats.html:45 -msgid "Mains" -msgstr "Mains" - -#: allianceauth/corputils/templates/corputils/corpstats.html:59 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:34 -msgid "Members" -msgstr "Leden" - -#: allianceauth/corputils/templates/corputils/corpstats.html:73 -msgid "Unregistered" -msgstr "Ongeregistreerde" - -#: allianceauth/corputils/templates/corputils/corpstats.html:79 -msgid "Last update:" -msgstr "Laatste update:" - -#: allianceauth/corputils/templates/corputils/corpstats.html:85 -msgid "Update Now" -msgstr "Update nu" - -#: allianceauth/corputils/templates/corputils/corpstats.html:100 -msgid "Main character" -msgstr "Hoofd Character" - -#: allianceauth/corputils/templates/corputils/corpstats.html:101 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:29 -msgid "Registered characters" -msgstr "Geregistreerde karakters" - -#: allianceauth/corputils/templates/corputils/corpstats.html:124 -#: allianceauth/corputils/templates/corputils/search.html:17 -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:30 -#: allianceauth/hrapplications/templates/hrapplications/management.html:35 -#: allianceauth/hrapplications/templates/hrapplications/management.html:122 -#: allianceauth/hrapplications/templates/hrapplications/management.html:166 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:33 -#: allianceauth/hrapplications/templates/hrapplications/view.html:62 -msgid "Corporation" -msgstr "Corporation" - -#: allianceauth/corputils/templates/corputils/corpstats.html:141 -#: allianceauth/corputils/templates/corputils/corpstats.html:177 -#: allianceauth/corputils/templates/corputils/corpstats.html:190 -#: allianceauth/corputils/templates/corputils/corpstats.html:222 -#: allianceauth/corputils/templates/corputils/search.html:30 -msgid "Killboard" -msgstr "Killboard" - -#: allianceauth/corputils/templates/corputils/corpstats.html:165 -#: allianceauth/corputils/templates/corputils/search.html:19 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:32 -#: allianceauth/hrapplications/templates/hrapplications/management.html:121 -#: allianceauth/hrapplications/templates/hrapplications/management.html:165 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:32 -#: allianceauth/hrapplications/templates/hrapplications/view.html:42 -msgid "Main Character" -msgstr "Hoofd Character" - -#: allianceauth/corputils/templates/corputils/corpstats.html:166 -#: allianceauth/corputils/templates/corputils/search.html:20 -msgid "Main Corporation" -msgstr "Hoofd Corp" - -#: allianceauth/corputils/templates/corputils/corpstats.html:167 -#: allianceauth/corputils/templates/corputils/search.html:21 -msgid "Main Alliance" -msgstr "Hoofd Alliance" - -#: allianceauth/corputils/templates/corputils/search.html:8 -msgid "Search Results" -msgstr "Zoekresultaten" - -#: allianceauth/corputils/templates/corputils/search.html:18 -msgid "zKillboard" -msgstr "zKillboard" - -#: allianceauth/corputils/views.py:54 -msgid "Selected corp already has a statistics module." -msgstr "Geselecteerd bedrijf heeft al een statistiekenmodule." - -#: allianceauth/corputils/views.py:56 -msgid "Failed to gather corporation statistics with selected token." -msgstr "" -"Het is niet gelukt om bedrijfsstatistieken te verzamelen met het " -"geselecteerde token." - -#: allianceauth/fleetactivitytracking/auth_hooks.py:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:11 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:10 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:10 -msgid "Fleet Activity Tracking" -msgstr "Fleetactiviteit Tracking" - -#: allianceauth/fleetactivitytracking/forms.py:6 allianceauth/srp/form.py:8 -#: allianceauth/srp/templates/srp/management.html:44 -msgid "Fleet Name" -msgstr "Fleet naam" - -#: allianceauth/fleetactivitytracking/forms.py:7 -msgid "Duration of fat-link" -msgstr "Duur van de fat-link" - -#: allianceauth/fleetactivitytracking/forms.py:7 -msgid "Duration of the fat-link in minutes" -msgstr "Duur van de fat-link in minuten" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:6 -msgid "Fleet Participation" -msgstr "Fleetdeelname" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:15 -msgid "Character not found!" -msgstr "Character niet gevonden!" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:35 -msgid "Character not registered!" -msgstr "Character niet geregistreerd!" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:38 -msgid "This character is not associated with an auth account." -msgstr "Dit personage is niet gekoppeld aan een geverifieerd account." - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:39 -msgid "Add it here" -msgstr "Voeg het hier toe" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:40 -msgid "before attempting to click fleet attendance links." -msgstr "Voordat je probeert op fleet deelnamelinks te klikken." - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:7 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:16 -msgid "Create Fatlink" -msgstr "Creeër Fatlink" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:21 -msgid "Bad request!" -msgstr "Fout verzoek!" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:31 -msgid "Fatlink details" -msgstr "Fatlink details" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkcreate.html:43 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:79 -msgid "Create fatlink" -msgstr "Creeër fatlink" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:6 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:6 -msgid "Fatlink view" -msgstr "Fatlink weergave" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:16 -msgid "Edit fatlink" -msgstr "Fatlink bewerken" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:21 -msgid "Are you sure?" -msgstr "Weet je het zeker?" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:22 -msgid "Delete fat" -msgstr "Verwijder fat" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:35 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:35 -#: allianceauth/hrapplications/templates/hrapplications/view.html:41 -msgid "User" -msgstr "Gebruiker" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:37 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:42 -#: allianceauth/optimer/form.py:13 allianceauth/timerboard/form.py:59 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:16 -#: allianceauth/timerboard/templates/timerboard/timertable.html:9 -msgid "System" -msgstr "Systeem" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:38 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:44 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:43 -msgid "Ship" -msgstr "Schip" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:39 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:75 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:44 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:92 -#: allianceauth/templates/allianceauth/top-menu.html:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:11 -msgid "Eve Time" -msgstr "Eve Tijd" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52 -msgid "Docked in" -msgstr "Docked in" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:6 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:6 -msgid "Personal fatlink statistics" -msgstr "Persoonlijke Fatlink statistieken" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:16 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:16 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:16 -#, python-format -msgid "Participation data statistics for %(month)s, %(year)s" -msgstr "Deelname gegevens voor %(month)s,%(year)s" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:22 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:20 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:20 -msgid "Previous month" -msgstr "Vorige maand" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:25 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:23 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:23 -msgid "Next month" -msgstr "Volgende maand" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:33 -#, python-format -msgid "%(user)s has collected one link this month." -msgid_plural "%(user)s has collected %(links)s links this month." -msgstr[0] "%(user)s heeft links verzameld deze maand." -msgstr[1] "%(user)s heeft %(links)s links verzameld deze maand." - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:45 -msgid "Times used" -msgstr "Hoeveel keer gebruikt" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:62 -#, python-format -msgid "%(user)s has created one link this month." -msgid_plural "%(user)s has created %(links)s links this month." -msgstr[0] "%(user)s heeft deze maand één link gemaakt." -msgstr[1] "%(user)s heeft %(links)s links gecreëerd deze maand." - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:73 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:40 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:91 -msgid "Fleet" -msgstr "Fleet" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:74 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:90 -#: allianceauth/timerboard/templates/timerboard/timertable.html:13 -msgid "Creator" -msgstr "Maker" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:76 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:93 -#: allianceauth/optimer/form.py:18 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:15 -msgid "Duration" -msgstr "Duur" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:77 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:94 -msgid "Edit" -msgstr "Bewerk" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:16 -#, python-format -msgid "Participation data statistics for %(year)s" -msgstr "Deelname gegevens voor %(year)s" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:20 -msgid "Previous year" -msgstr "Vorig jaar" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:23 -msgid "Next year" -msgstr "Volgend jaar" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:30 -msgid "Month" -msgstr "Maand" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:31 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:34 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:35 -msgid "Fats" -msgstr "Fats" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:6 -msgid "Fatlink Corp Statistics" -msgstr "Fatlink Corp Statistieken" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticscorpview.html:36 -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:37 -msgid "Average fats" -msgstr "Gemiddelde fats" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:6 -msgid "Fatlink Statistics" -msgstr "Fatlink Statistieken" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkstatisticsview.html:32 -msgid "Ticker" -msgstr "Ticker" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:15 -msgid "Participation data" -msgstr "Deelname gegevens" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:23 -msgid "Most recent clicked fatlinks" -msgstr "Meest recente geklikte fatlinks" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:29 -msgid "Personal statistics" -msgstr "Persoonlijke statistieken" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:63 -msgid "No fleet activity on record." -msgstr "Geen fleet activiteit geregistreerd." - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:72 -msgid "Most recent fatlinks" -msgstr "Meest recente fatlinks" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:76 -msgid "View statistics" -msgstr "Zie statistieken" - -#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:119 -msgid "No created fatlinks on record." -msgstr "Geen aangemaakte fatlinks geregistreerd." - -#: allianceauth/fleetactivitytracking/views.py:218 -msgid "Character does not exist" -msgstr "Character bestaat niet" - -#: allianceauth/fleetactivitytracking/views.py:221 -msgid "User does not exist" -msgstr "Gebruiker bestaat niet" - -#: allianceauth/fleetactivitytracking/views.py:299 -msgid "Fleet participation registered." -msgstr "Vloot participatie geregistreerd " - -#: allianceauth/fleetactivitytracking/views.py:318 -msgid "FAT link has expired." -msgstr "FAT link ongeldig." - -#: allianceauth/fleetactivitytracking/views.py:323 -#, python-brace-format -msgid "" -"Cannot register the fleet participation for {character.character_name}. The " -"character needs to be online." -msgstr "" -"Kan vloot registratie niet voltooien voor {character.character_name]. Het " -"personage moet online zijn." - -#: allianceauth/groupmanagement/auth_hooks.py:18 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:17 -msgid "Group Management" -msgstr "Groep Management" - -#: allianceauth/groupmanagement/auth_hooks.py:51 -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:34 -#: allianceauth/templates/allianceauth/side-menu.html:15 -msgid "Groups" -msgstr "Groepen" - -#: allianceauth/groupmanagement/forms.py:18 -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:33 -msgid "Users" -msgstr "Gebruikers" - -#: allianceauth/groupmanagement/forms.py:52 -msgid "This name has been reserved and can not be used for groups." -msgstr "Deze naam is gereserveerd en kan niet gebruikt worden voor groepen." - -#: allianceauth/groupmanagement/forms.py:62 -msgid "(auto)" -msgstr "auto" - -#: allianceauth/groupmanagement/forms.py:71 -msgid "There already exists a group with that name." -msgstr "Er bestaat al een groep met deze naam." - -#: allianceauth/groupmanagement/models.py:104 -msgid "" -"Internal group, users cannot see, join or request to join this " -"group.
Used for groups such as Members, Corp_*, Alliance_* " -"etc.
Overrides Hidden and Open options when selected." -msgstr "" - -#: allianceauth/groupmanagement/models.py:112 -msgid "Group is hidden from users but can still join with the correct link." -msgstr "" - -#: allianceauth/groupmanagement/models.py:118 -msgid "" -"Group is open and users will be automatically added upon request.
If the " -"group is not open users will need their request manually approved." -msgstr "" - -#: allianceauth/groupmanagement/models.py:125 -msgid "" -"Group is public. Any registered user is able to join this group, with " -"visibility based on the other options set for this group.
Auth will not " -"remove users from this group automatically when they are no longer " -"authenticated." -msgstr "" - -#: allianceauth/groupmanagement/models.py:134 -msgid "" -"Group is restricted. This means that adding or removing users for this group" -" requires a superuser admin." -msgstr "" - -#: allianceauth/groupmanagement/models.py:143 -msgid "" -"Group leaders can process requests for this group. Use the " -"auth.group_management permission to allow a user to manage all " -"groups.
" -msgstr "" - -#: allianceauth/groupmanagement/models.py:153 -msgid "" -"Members of leader groups can process requests for this group. Use the " -"auth.group_management permission to allow a user to manage all " -"groups.
" -msgstr "" - -#: allianceauth/groupmanagement/models.py:162 -msgid "" -"States listed here will have the ability to join this group provided they " -"have the proper permissions.
" -msgstr "" - -#: allianceauth/groupmanagement/models.py:170 -msgid "" -"Short description (max. 512 characters) of the group shown to users." -msgstr "" - -#: allianceauth/groupmanagement/models.py:177 -msgid "Can request non-public groups" -msgstr "" - -#: allianceauth/groupmanagement/models.py:208 -msgid "name" -msgstr "Naam" - -#: allianceauth/groupmanagement/models.py:211 -msgid "Name that can not be used for groups." -msgstr "" - -#: allianceauth/groupmanagement/models.py:214 -msgid "reason" -msgstr "Reden" - -#: allianceauth/groupmanagement/models.py:214 -msgid "Reason why this name is reserved." -msgstr "" - -#: allianceauth/groupmanagement/models.py:217 -msgid "created by" -msgstr "aangemaakt door" - -#: allianceauth/groupmanagement/models.py:222 -msgid "created at" -msgstr "aangemaakt op" - -#: allianceauth/groupmanagement/models.py:222 -msgid "Date when this entry was created" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:8 -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:12 -msgid "Audit Log" -msgstr "Audit log" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:17 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:18 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:21 -#: allianceauth/timerboard/templates/timerboard/index_button.html:4 -msgid "Back" -msgstr "Terug" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:27 -msgid "Date/Time" -msgstr "Datum/Tijd" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:28 -msgid "Requestor" -msgstr "Aanvrager" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:31 -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:15 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:15 -msgid "Type" -msgstr "Type" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:32 -#: allianceauth/notifications/templates/notifications/list_partial.html:8 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:20 -#: allianceauth/timerboard/templates/timerboard/timertable.html:16 -msgid "Action" -msgstr "Actie" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:33 -msgid "Actor" -msgstr "Acteur" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:47 -msgid "Removed" -msgstr "Verwijderd" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:59 -msgid "All times displayed are EVE/UTC." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/audit.html:66 -msgid "No entries found for this group." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:9 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:13 -msgid "Group Members" -msgstr "Groep Leden" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:29 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:56 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:119 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:32 -msgid "Organization" -msgstr "Organisatie" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:49 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:75 -msgid "Group leader" -msgstr "Groep leider" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:60 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:85 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:148 -#: allianceauth/permissions_tool/templates/permissions_tool/audit_row.html:18 -msgid "(unknown)" -msgstr "(onbekend)" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:65 -msgid "Remove from group" -msgstr "Verwijder van groep" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembers.html:80 -msgid "No group members to list." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:6 -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:7 -msgid "Groups Membership" -msgstr "Groep lidmaatschap" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:13 -msgid "Join/Leave Requests" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:24 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:32 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:10 -msgid "Description" -msgstr "Beschrijving" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:25 -#: allianceauth/hrapplications/templates/hrapplications/management.html:36 -#: allianceauth/hrapplications/templates/hrapplications/management.html:123 -#: allianceauth/hrapplications/templates/hrapplications/management.html:167 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:34 -#: allianceauth/srp/templates/srp/data.html:80 -msgid "Status" -msgstr "Status" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:26 -msgid "Member Count" -msgstr "Leden Aantal" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:42 -msgid "Hidden" -msgstr "verborgen" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:45 -#: allianceauth/templates/allianceauth/admin-status/overview.html:19 -msgid "Open" -msgstr "Open" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:47 -msgid "Requestable" -msgstr "Aanvraagbaar" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:56 -msgid "View Members" -msgstr "Bekijk Leden" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:60 -msgid "Audit Members" -msgstr "Verifieer Lid" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:64 -msgid "Copy Direct Join Link" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:75 -msgid "No groups to list." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:7 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:11 -msgid "Available Groups" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:34 -msgid "Leaders" -msgstr "Leiders" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:36 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:57 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:120 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:29 -#: allianceauth/services/modules/openfire/forms.py:6 -msgid "Group" -msgstr "Groep" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:69 -msgid "Leave" -msgstr "Verlaat" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:73 -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:88 -#: 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:116 -#: allianceauth/srp/templates/srp/management.html:87 -msgid "Pending" -msgstr "In behandeling" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:79 -msgid "Join" -msgstr "Toetreden" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:83 -msgid "Request" -msgstr "Aanvraag" - -#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:98 -msgid "No groups available." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:9 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:13 -msgid "Groups Management" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:19 -msgid "Join Requests" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:30 -msgid "Leave Requests" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:41 -#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:9 -msgid "Group Membership" -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:93 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:156 -msgid "Accept" -msgstr "Aanvaarden" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:96 -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:160 -#: allianceauth/hrapplications/templates/hrapplications/view.html:104 -msgid "Reject" -msgstr "Afwijzen" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:106 -msgid "No group add requests." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/index.html:169 -msgid "No group leave requests." -msgstr "" - -#: allianceauth/groupmanagement/templates/groupmanagement/menu.html:6 -msgid "Group Requests" -msgstr "" - -#: allianceauth/groupmanagement/views.py:166 -#, python-format -msgid "Removed user %(user)s from group %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:168 -msgid "User does not exist in that group" -msgstr "" - -#: allianceauth/groupmanagement/views.py:171 -msgid "Group does not exist" -msgstr "" - -#: allianceauth/groupmanagement/views.py:198 -#, python-format -msgid "Accepted application from %(mainchar)s to %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:204 -#: allianceauth/groupmanagement/views.py:235 -#, python-format -msgid "" -"An unhandled error occurred while processing the application from " -"%(mainchar)s to %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:229 -#, python-format -msgid "Rejected application from %(mainchar)s to %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:264 -#, python-format -msgid "Accepted application from %(mainchar)s to leave %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:269 -#: allianceauth/groupmanagement/views.py:301 -#, python-format -msgid "" -"An unhandled error occurred while processing the application from " -"%(mainchar)s to leave %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:295 -#, python-format -msgid "Rejected application from %(mainchar)s to leave %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:348 -#: allianceauth/groupmanagement/views.py:358 -msgid "You cannot join that group" -msgstr "" - -#: allianceauth/groupmanagement/views.py:353 -msgid "You are already a member of that group." -msgstr "" - -#: allianceauth/groupmanagement/views.py:370 -msgid "You already have a pending application for that group." -msgstr "" - -#: allianceauth/groupmanagement/views.py:379 -#, python-format -msgid "Applied to group %(group)s." -msgstr "" - -#: allianceauth/groupmanagement/views.py:389 -msgid "You cannot leave that group" -msgstr "" - -#: allianceauth/groupmanagement/views.py:393 -msgid "You are not a member of that group" -msgstr "" - -#: allianceauth/groupmanagement/views.py:405 -msgid "You already have a pending leave request for that group." -msgstr "" - -#: allianceauth/groupmanagement/views.py:421 -#, python-format -msgid "Applied to leave group %(group)s." -msgstr "" - -#: allianceauth/hrapplications/auth_hooks.py:15 -msgid "Applications" -msgstr "Applicaties" - -#: allianceauth/hrapplications/forms.py:6 -#: allianceauth/hrapplications/templates/hrapplications/view.html:115 -msgid "Comment" -msgstr "Commentaar" - -#: allianceauth/hrapplications/forms.py:10 -msgid "Search String" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:6 -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:15 -msgid "Choose a Corp" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:10 -#: allianceauth/hrapplications/templates/hrapplications/create.html:11 -#: allianceauth/hrapplications/templates/hrapplications/management.html:7 -#: allianceauth/hrapplications/templates/hrapplications/management.html:11 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:7 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:11 -#: allianceauth/hrapplications/templates/hrapplications/view.html:11 -msgid "HR Application Management" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:21 -msgid "Available Corps" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/corpchoice.html:37 -msgid "No corps are accepting applications at this time." -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/create.html:7 -#: allianceauth/hrapplications/templates/hrapplications/create.html:17 -msgid "Apply To" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/create.html:23 -msgid "Application form" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/create.html:57 -msgid "Submit" -msgstr "Indienen" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:16 -msgid "Personal Applications" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:22 -#: allianceauth/hrapplications/templates/hrapplications/management.html:25 -msgid "Create Application" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:34 -#: allianceauth/hrapplications/templates/hrapplications/management.html:120 -#: allianceauth/hrapplications/templates/hrapplications/management.html:164 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:31 -#: allianceauth/services/templates/services/service_username.html:4 -msgid "Username" -msgstr "Gebruikersnaam" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:48 -#: allianceauth/hrapplications/templates/hrapplications/management.html:141 -#: allianceauth/hrapplications/templates/hrapplications/management.html:185 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:48 -#: allianceauth/hrapplications/templates/hrapplications/view.html:21 -#: allianceauth/srp/templates/srp/data.html:108 -msgid "Approved" -msgstr "Aanvaard" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:50 -#: allianceauth/hrapplications/templates/hrapplications/management.html:143 -#: allianceauth/hrapplications/templates/hrapplications/management.html:187 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:50 -#: allianceauth/srp/templates/srp/data.html:112 -msgid "Rejected" -msgstr "Afgewezen" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:72 -msgid "Application Management" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:78 -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:23 -msgid "Search Applications" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:109 -msgid "Reviewed" -msgstr "Beoordeeld" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:119 -#: allianceauth/hrapplications/templates/hrapplications/management.html:163 -msgid "Date" -msgstr "Datum" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:136 -#: allianceauth/hrapplications/templates/hrapplications/management.html:180 -#: allianceauth/hrapplications/templates/hrapplications/view.html:29 -msgid "Reviewer:" -msgstr "Beoordeler" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:155 -msgid "No pending applications." -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/management.html:205 -msgid "No reviewed applications." -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:11 -msgid "Application Search" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:14 -#: allianceauth/hrapplications/templates/hrapplications/view.html:162 -#: allianceauth/templates/allianceauth/messages-bs5.html:22 -#: allianceauth/templates/allianceauth/messages.html:6 -msgid "Close" -msgstr "Sluiten" - -#: allianceauth/hrapplications/templates/hrapplications/partials/modals/search.html:24 -msgid "Search" -msgstr "Zoeken" - -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:17 -msgid "Application Search Results" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/searchview.html:30 -msgid "Application ID" -msgstr "Applicatie ID" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:7 -#: allianceauth/hrapplications/templates/hrapplications/view.html:16 -msgid "View Application" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:23 -msgid "Denied" -msgstr "Afgewezen" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:35 -msgid "Applicant" -msgstr "Aanvrager" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:101 -msgid "Approve" -msgstr "Aanvaarden" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:107 -msgid "Delete" -msgstr "Verwijderen" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:110 -msgid "Mark in Progress" -msgstr "" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:124 -#: allianceauth/services/forms.py:17 -msgid "Comments" -msgstr "Commentaren" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:143 -msgid "No comments" -msgstr "Geen Commentaren" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:159 -msgid "Add Comment" -msgstr "Voeg Commentaar toe" - -#: allianceauth/hrapplications/templates/hrapplications/view.html:172 -msgid "Add comment" -msgstr "Voeg Commentaar toe" - -#: allianceauth/menu/admin.py:63 -#, python-format -msgid "Add %s menu item" -msgstr "" - -#: allianceauth/menu/admin.py:71 -#, python-format -msgid "Change %s menu item" -msgstr "" - -#: allianceauth/menu/admin.py:82 -msgid "children" -msgstr "Kinderen" - -#: allianceauth/menu/admin.py:90 allianceauth/menu/models.py:21 -msgid "text" -msgstr "Tekst" - -#: allianceauth/menu/admin.py:96 -msgid "user defined" -msgstr "" - -#: allianceauth/menu/admin.py:100 -msgid "visible" -msgstr "Zichtbaar" - -#: allianceauth/menu/constants.py:16 -msgid "app" -msgstr "" - -#: allianceauth/menu/constants.py:17 allianceauth/menu/models.py:37 -msgid "folder" -msgstr "folder" - -#: allianceauth/menu/constants.py:18 -msgid "link" -msgstr "link" - -#: allianceauth/menu/filters.py:12 -msgid "type" -msgstr "type" - -#: allianceauth/menu/models.py:22 -msgid "Text to show on menu" -msgstr "" - -#: allianceauth/menu/models.py:27 -msgid "order" -msgstr "" - -#: allianceauth/menu/models.py:28 -msgid "Order of the menu. Lowest First" -msgstr "" - -#: allianceauth/menu/models.py:38 -msgid "Folder this item is in (optional)" -msgstr "" - -#: allianceauth/menu/models.py:42 -msgid "is hidden" -msgstr "" - -#: allianceauth/menu/models.py:44 -msgid "" -"Hide this menu item.If this item is a folder all items under it will be " -"hidden too" -msgstr "" - -#: allianceauth/menu/models.py:59 -msgid "icon classes" -msgstr "" - -#: allianceauth/menu/models.py:61 -msgid "" -"Font Awesome classes to show as icon on menu, e.g. fa-solid fa-" -"house" -msgstr "" - -#: allianceauth/menu/models.py:67 -msgid "url" -msgstr "" - -#: allianceauth/menu/models.py:68 -msgid "External URL this menu items will link to" -msgstr "" - -#: allianceauth/menu/templates/admin/menu/menuitem/change_list.html:10 -msgid "Add folder" -msgstr "" - -#: allianceauth/menu/templates/menu/menu-notification-block.html:12 -#: allianceauth/notifications/templates/notifications/list.html:7 -#: allianceauth/notifications/templates/notifications/list.html:11 -#: allianceauth/templates/allianceauth/notifications_menu_item.html:6 -msgid "Notifications" -msgstr "Notificatie" - -#: allianceauth/menu/templates/menu/menu-user.html:56 -msgid "Super User" -msgstr "" - -#: allianceauth/menu/templates/menu/menu-user.html:68 -#: allianceauth/templates/allianceauth/top-menu-admin.html:9 -msgid "Admin" -msgstr "Administrator" - -#: allianceauth/menu/templates/menu/menu-user.html:80 -msgid "Sign Out" -msgstr "" - -#: allianceauth/menu/templates/menu/menu-user.html:84 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:17 -#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 -msgid "Sign In" -msgstr "" - -#: allianceauth/notifications/models.py:21 -msgid "danger" -msgstr "Gevaar" - -#: allianceauth/notifications/models.py:22 -msgid "warning" -msgstr "Waarschuwing" - -#: allianceauth/notifications/models.py:23 -msgid "info" -msgstr "Informatie" - -#: allianceauth/notifications/models.py:24 -msgid "success" -msgstr "Success" - -#: allianceauth/notifications/templates/notifications/list.html:17 -msgid "Unread" -msgstr "Ongelezen" - -#: allianceauth/notifications/templates/notifications/list.html:24 -msgid "Read" -msgstr "Gelezen" - -#: allianceauth/notifications/templates/notifications/list.html:32 -msgid "Mark all notifications as read" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list.html:38 -msgid "Delete all read notifications" -msgstr "" - -#: allianceauth/notifications/templates/notifications/list_partial.html:6 -msgid "Timestamp" -msgstr "Tijdsaanduiding" - -#: allianceauth/notifications/templates/notifications/list_partial.html:7 -msgid "Title" -msgstr "Titel" - -#: allianceauth/notifications/templates/notifications/list_partial.html:28 -msgid "No notifications." -msgstr "" - -#: allianceauth/notifications/templates/notifications/view.html:5 -#: allianceauth/notifications/templates/notifications/view.html:9 -msgid "View Notification" -msgstr "" - -#: allianceauth/notifications/views.py:52 -msgid "You are not authorized to view that notification." -msgstr "" - -#: allianceauth/notifications/views.py:68 -msgid "Deleted notification." -msgstr "" - -#: allianceauth/notifications/views.py:75 -msgid "Failed to locate notification." -msgstr "" - -#: allianceauth/notifications/views.py:83 -msgid "Marked all notifications as read." -msgstr "" - -#: allianceauth/notifications/views.py:91 -msgid "Deleted all read notifications." -msgstr "" - -#: allianceauth/optimer/auth_hooks.py:12 -msgid "Fleet Operations" -msgstr "" - -#: allianceauth/optimer/form.py:12 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:11 -msgid "Doctrine" -msgstr "Doctrine" - -#: allianceauth/optimer/form.py:14 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:13 -msgid "Start Time" -msgstr "" - -#: allianceauth/optimer/form.py:15 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:9 -msgid "Operation Name" -msgstr "" - -#: allianceauth/optimer/form.py:16 -msgid "Operation Type" -msgstr "" - -#: allianceauth/optimer/form.py:17 -#: allianceauth/srp/templates/srp/management.html:47 -msgid "Fleet Commander" -msgstr "" - -#: allianceauth/optimer/form.py:22 allianceauth/srp/form.py:14 -#: allianceauth/srp/templates/srp/data.html:71 -msgid "Additional Info" -msgstr "" - -#: allianceauth/optimer/form.py:23 -msgid "(Optional) Describe the operation with a couple of short words." -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:8 -#: allianceauth/optimer/templates/optimer/management.html:18 -msgid "Create Operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:12 -#: allianceauth/optimer/templates/optimer/management.html:11 -#: allianceauth/optimer/templates/optimer/update.html:12 -msgid "Fleet Operation Timers" -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:21 -msgid "Create Fleet Operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:27 -#: allianceauth/optimer/templates/optimer/update.html:27 -msgid "Fleet operation details" -msgstr "" - -#: allianceauth/optimer/templates/optimer/add.html:40 -msgid "Create fleet operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:7 -msgid "Upcoming Fleets" -msgstr "" - -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:14 -msgid "Operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:16 -#: allianceauth/optimer/templates/optimer/fleetoptable.html:12 -msgid "Form Up System" -msgstr "" - -#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:17 -msgid "EVE Time" -msgstr "" - -#: allianceauth/optimer/templates/optimer/fleetoptable.html:14 -#: allianceauth/timerboard/templates/timerboard/timertable.html:12 -msgid "Local Time" -msgstr "" - -#: allianceauth/optimer/templates/optimer/fleetoptable.html:16 -msgid "FC" -msgstr "Vloot Commandant" - -#: allianceauth/optimer/templates/optimer/management.html:7 -msgid "Fleet Operation Management" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:28 -#: allianceauth/timerboard/templates/timerboard/view.html:31 -msgid "Current Eve Time:" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:36 -msgid "Next Fleet Operations" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:44 -#: allianceauth/timerboard/templates/timerboard/view.html:62 -msgid "No upcoming timers." -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:52 -msgid "Past Fleet Operations" -msgstr "" - -#: allianceauth/optimer/templates/optimer/management.html:60 -#: allianceauth/timerboard/templates/timerboard/view.html:80 -msgid "No past timers." -msgstr "" - -#: allianceauth/optimer/templates/optimer/update.html:8 -#: allianceauth/optimer/templates/optimer/update.html:21 -msgid "Update Fleet Operation" -msgstr "" - -#: allianceauth/optimer/templates/optimer/update.html:40 -msgid "Update fleet operation" -msgstr "" - -#: allianceauth/optimer/views.py:91 -#, python-format -msgid "Created operation timer for %(opname)s." -msgstr "" - -#: allianceauth/optimer/views.py:120 -#, python-format -msgid "Removed operation timer for %(opname)s." -msgstr "" - -#: allianceauth/optimer/views.py:171 -#, python-format -msgid "Saved changes to operation timer for %(opname)s." -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:6 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:10 -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:16 -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:10 -msgid "Permissions Audit" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/audit.html:31 -msgid "User / Character" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:6 -msgid "Permissions Overview" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:17 -msgid "Showing only applied permissions" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:18 -msgid "Show All" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:20 -msgid "Showing all permissions" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:21 -msgid "Show Applied" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:29 -msgid "App" -msgstr "App" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:30 -msgid "Model" -msgstr "Model" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:31 -msgid "Code Name" -msgstr "" - -#: allianceauth/permissions_tool/templates/permissions_tool/overview.html:35 -msgid "States" -msgstr "" - -#: allianceauth/services/abstract.py:72 -msgid "That service account already exists" -msgstr "" - -#: allianceauth/services/abstract.py:103 -#, python-brace-format -msgid "Successfully set your {self.service_name} password" -msgstr "" - -#: allianceauth/services/auth_hooks.py:12 -msgid "Services" -msgstr "" - -#: allianceauth/services/forms.py:6 -msgid "Name of Fleet:" -msgstr "" - -#: allianceauth/services/forms.py:7 -msgid "Fleet Commander:" -msgstr "" - -#: allianceauth/services/forms.py:8 -msgid "Fleet Comms:" -msgstr "" - -#: allianceauth/services/forms.py:9 -msgid "Fleet Type:" -msgstr "" - -#: allianceauth/services/forms.py:10 -msgid "Ship Priorities:" -msgstr "" - -#: allianceauth/services/forms.py:11 -msgid "Formup Location:" -msgstr "" - -#: allianceauth/services/forms.py:12 -msgid "Formup Time:" -msgstr "" - -#: allianceauth/services/forms.py:13 -msgid "Expected Duration:" -msgstr "" - -#: allianceauth/services/forms.py:14 -msgid "Purpose:" -msgstr "Doel:" - -#: allianceauth/services/forms.py:15 -msgid "Reimbursable?*" -msgstr "Terugbetaalbaar?*" - -#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16 -msgid "Yes" -msgstr "Ja" - -#: allianceauth/services/forms.py:15 allianceauth/services/forms.py:16 -msgid "No" -msgstr "Nee" - -#: allianceauth/services/forms.py:16 -msgid "Important?*" -msgstr "Belangrijk?*" - -#: allianceauth/services/forms.py:21 allianceauth/services/forms.py:31 -msgid "Password" -msgstr "Wachtwoord" - -#: allianceauth/services/forms.py:26 allianceauth/services/forms.py:36 -msgid "Password must be at least 8 characters long." -msgstr "" - -#: allianceauth/services/modules/discord/models.py:187 -msgid "Discord Account Disabled" -msgstr "" - -#: allianceauth/services/modules/discord/models.py:189 -msgid "" -"Your Discord account was disabled automatically by Auth. If you think this " -"was a mistake, please contact an admin." -msgstr "" - -#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:20 -msgid "Activate" -msgstr "" - -#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:32 -msgid "Reset Password" -msgstr "" - -#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:38 -msgid "Deactivate" -msgstr "" - -#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:45 -msgid "Link Discord Server" -msgstr "" - -#: allianceauth/services/modules/discord/views.py:30 -msgid "Deactivated Discord account." -msgstr "" - -#: allianceauth/services/modules/discord/views.py:36 -#: allianceauth/services/modules/discord/views.py:59 -msgid "An error occurred while processing your Discord account." -msgstr "" - -#: allianceauth/services/modules/discord/views.py:102 -msgid "Your Discord account has been successfully activated." -msgstr "" - -#: allianceauth/services/modules/discord/views.py:108 -msgid "" -"An error occurred while trying to activate your Discord account. Please try " -"again." -msgstr "" - -#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:5 -msgid "Discourse" -msgstr "" - -#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:18 -msgid "SSO login active" -msgstr "" - -#: allianceauth/services/modules/discourse/templates/services/discourse/discourse_service_ctrl.html:23 -msgid "Go to forums" -msgstr "" - -#: allianceauth/services/modules/discourse/views.py:29 -msgid "You are not authorized to access Discourse." -msgstr "" - -#: allianceauth/services/modules/discourse/views.py:34 -msgid "You must have a main character set to access Discourse." -msgstr "" - -#: allianceauth/services/modules/discourse/views.py:44 -msgid "" -"No SSO payload or signature. Please contact support if this problem " -"persists." -msgstr "" - -#: allianceauth/services/modules/discourse/views.py:54 -#: allianceauth/services/modules/discourse/views.py:62 -msgid "Invalid payload. Please contact support if this problem persists." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:31 -msgid "Activated IPSuite4 account." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:39 -#: allianceauth/services/modules/ips4/views.py:60 -#: allianceauth/services/modules/ips4/views.py:81 -#: allianceauth/services/modules/ips4/views.py:101 -msgid "An error occurred while processing your IPSuite4 account." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:52 -msgid "Reset IPSuite4 password." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:78 -msgid "Set IPSuite4 password." -msgstr "" - -#: allianceauth/services/modules/ips4/views.py:98 -msgid "Deactivated IPSuite4 account." -msgstr "" - -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:26 -#: allianceauth/services/templates/services/service_password.html:26 -msgid "Set Password" -msgstr "" - -#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:44 -msgid "Connect" -msgstr "" - -#: allianceauth/services/modules/openfire/auth_hooks.py:27 -msgid "Jabber" -msgstr "Jabber" - -#: allianceauth/services/modules/openfire/auth_hooks.py:80 -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:7 -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:11 -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:19 -msgid "Jabber Broadcast" -msgstr "" - -#: allianceauth/services/modules/openfire/auth_hooks.py:95 -msgid "Fleet Broadcast Formatter" -msgstr "" - -#: allianceauth/services/modules/openfire/forms.py:7 -msgid "Message" -msgstr "Bericht" - -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:28 -msgid "Broadcast Sent!!" -msgstr "" - -#: allianceauth/services/modules/openfire/templates/services/openfire/broadcast.html:38 -msgid "Broadcast" -msgstr "Broadcast" - -#: allianceauth/services/modules/openfire/views.py:35 -msgid "Activated Jabber account." -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:43 -#: allianceauth/services/modules/openfire/views.py:56 -#: allianceauth/services/modules/openfire/views.py:76 -#: allianceauth/services/modules/openfire/views.py:147 -msgid "An error occurred while processing your Jabber account." -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:69 -msgid "Reset Jabber password." -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:115 -#, python-format -msgid "Sent Jabber broadcast to %s" -msgstr "" - -#: allianceauth/services/modules/openfire/views.py:144 -msgid "Set jabber password." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:34 -msgid "Activated forum account." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:42 -#: allianceauth/services/modules/phpbb3/views.py:56 -#: allianceauth/services/modules/phpbb3/views.py:78 -#: allianceauth/services/modules/phpbb3/views.py:101 -msgid "An error occurred while processing your forum account." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:53 -msgid "Deactivated forum account." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:70 -msgid "Reset forum password." -msgstr "" - -#: allianceauth/services/modules/phpbb3/views.py:98 -msgid "Set forum password." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:52 -msgid "Activated SMF account." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:65 -#: allianceauth/services/modules/smf/views.py:81 -#: allianceauth/services/modules/smf/views.py:102 -#: allianceauth/services/modules/smf/views.py:124 -msgid "An error occurred while processing your SMF account." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:78 -msgid "Deactivated SMF account." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:95 -msgid "Reset SMF password." -msgstr "" - -#: allianceauth/services/modules/smf/views.py:121 -msgid "Set SMF password." -msgstr "" - -#: allianceauth/services/modules/teamspeak3/forms.py:14 -#, python-format -msgid "Unable to locate user %s on server" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/admin/teamspeak3/authts/change_list.html:10 -msgid "Update TeamSpeak3 groups" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeak3_service_ctrl.html:6 -msgid "Teamspeak 3" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:6 -msgid "Verify TeamSpeak3" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:10 -msgid "Verify TeamSpeak3 Identity" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:15 -msgid "Join Server" -msgstr "" - -#: allianceauth/services/modules/teamspeak3/templates/services/teamspeak3/teamspeakjoin.html:23 -#: allianceauth/services/templates/services/service_credentials.html:30 -#: allianceauth/srp/templates/srp/add.html:51 -msgid "Continue" -msgstr "Ga verder" - -#: allianceauth/services/modules/teamspeak3/views.py:35 -msgid "Activated TeamSpeak3 account." -msgstr "" - -#: allianceauth/services/modules/teamspeak3/views.py:38 -#: allianceauth/services/modules/teamspeak3/views.py:74 -#: allianceauth/services/modules/teamspeak3/views.py:100 -msgid "An error occurred while processing your TeamSpeak3 account." -msgstr "" - -#: allianceauth/services/modules/teamspeak3/views.py:71 -msgid "Deactivated TeamSpeak3 account." -msgstr "" - -#: allianceauth/services/modules/teamspeak3/views.py:97 -msgid "Reset TeamSpeak3 permission key." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:30 -msgid "Activated XenForo account." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:40 -#: allianceauth/services/modules/xenforo/views.py:52 -#: allianceauth/services/modules/xenforo/views.py:73 -#: allianceauth/services/modules/xenforo/views.py:94 -msgid "An error occurred while processing your XenForo account." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:50 -msgid "Deactivated XenForo account." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:65 -msgid "Reset XenForo account password." -msgstr "" - -#: allianceauth/services/modules/xenforo/views.py:91 -msgid "Changed XenForo password." -msgstr "" - -#: allianceauth/services/templates/services/fleetformattertool.html:6 -#: allianceauth/services/templates/services/fleetformattertool.html:10 -msgid "Fleet Formatter Tool" -msgstr "" - -#: allianceauth/services/templates/services/fleetformattertool.html:18 -msgid "Fleet Details" -msgstr "" - -#: allianceauth/services/templates/services/fleetformattertool.html:37 -msgid "Format" -msgstr "formaat" - -#: allianceauth/services/templates/services/service_confirm_delete.html:6 -#: allianceauth/services/templates/services/service_confirm_delete.html:16 -#, python-format -msgid "Delete %(service_name)s Account?" -msgstr "" - -#: allianceauth/services/templates/services/service_confirm_delete.html:10 -#: allianceauth/services/templates/services/service_credentials.html:10 -#: allianceauth/services/templates/services/service_password.html:11 -#: allianceauth/services/templates/services/services.html:9 -msgid "Available Services" -msgstr "" - -#: allianceauth/services/templates/services/service_confirm_delete.html:24 -#, python-format -msgid "" -"Are you sure you want to delete your %(service_name)s account %(object)s?" -msgstr "" - -#: allianceauth/services/templates/services/service_credentials.html:6 -#: allianceauth/services/templates/services/service_credentials.html:16 -#, python-format -msgid "%(service_name)s Credentials" -msgstr "" - -#: allianceauth/services/templates/services/service_password.html:7 -#, python-format -msgid "%(service_name)s Password Change" -msgstr "" - -#: allianceauth/services/templates/services/service_password.html:17 -#, python-format -msgid "Set %(service_name)s Password" -msgstr "" - -#: allianceauth/services/templates/services/service_status.html:5 -msgid "Enabled" -msgstr "" - -#: allianceauth/services/templates/services/service_status.html:7 -#: allianceauth/srp/templates/srp/management.html:78 -msgid "Disabled" -msgstr "Uitgeschakeld" - -#: allianceauth/services/templates/services/services.html:5 -msgid "Services Management" -msgstr "" - -#: allianceauth/services/templates/services/services.html:20 -msgid "Legend" -msgstr "" - -#: allianceauth/services/templates/services/services.html:27 -msgid "Click to activate the service for your user." -msgstr "" - -#: allianceauth/services/templates/services/services.html:36 -msgid "Click to manually set your password." -msgstr "" - -#: allianceauth/services/templates/services/services.html:45 -msgid "Click to randomly generate your password." -msgstr "" - -#: allianceauth/services/templates/services/services.html:54 -msgid "Click to deactivate the service for your user" -msgstr "" - -#: allianceauth/services/templates/services/services.html:60 -msgid "" -"Some services provide different options. Hover over the buttons to see more." -msgstr "" - -#: allianceauth/srp/auth_hooks.py:14 -msgid "Ship Replacement" -msgstr "" - -#: allianceauth/srp/form.py:9 -#: allianceauth/srp/templates/srp/management.html:45 -msgid "Fleet Time" -msgstr "" - -#: allianceauth/srp/form.py:10 -#: allianceauth/srp/templates/srp/management.html:46 -msgid "Fleet Doctrine" -msgstr "" - -#: allianceauth/srp/form.py:16 -msgid "Killboard Link (zkillboard.com or kb.evetools.org)" -msgstr "" - -#: allianceauth/srp/form.py:34 -msgid "Invalid Link. Please use zkillboard.com or kb.evetools.org" -msgstr "" - -#: allianceauth/srp/form.py:46 -msgid "Invalid Link. Please post a direct link to a killmail." -msgstr "" - -#: allianceauth/srp/form.py:53 -msgid "After Action Report Link" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:7 -msgid "SRP Fleet Create" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:11 -#: allianceauth/srp/templates/srp/data.html:11 -#: allianceauth/srp/templates/srp/management.html:11 -#: allianceauth/srp/templates/srp/request.html:11 -#: allianceauth/srp/templates/srp/update.html:11 -msgid "Ship Replacement Program" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:20 -msgid "Create SRP Fleet" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:26 -msgid "SRP fleet details" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:40 -msgid "Create SRP fleet" -msgstr "" - -#: allianceauth/srp/templates/srp/add.html:46 -msgid "Give this link to the line members." -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:7 -#: allianceauth/srp/templates/srp/data.html:38 -msgid "SRP Fleet Data" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:16 -msgid "View Fleets" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:25 -msgid "Mark Incomplete" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:29 -msgid "Mark Completed" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:47 -#: allianceauth/srp/templates/srp/data.html:138 -msgid "Total Losses:" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:48 -#: allianceauth/srp/templates/srp/data.html:139 -#: allianceauth/srp/templates/srp/management.html:36 -msgid "Total ISK Cost:" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:59 -#: allianceauth/srp/templates/srp/data.html:150 -msgid "Are you sure you want to delete SRP requests?" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:69 -msgid "Pilot Name" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:70 -msgid "Killboard Link" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:72 -msgid "Ship Type" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:73 -msgid "Killboard Loss Amt" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:75 -msgid "SRP ISK Cost" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:76 -msgid "Click value to edit Enter to save & next ESC to cancel" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:79 -msgid "Post Time" -msgstr "" - -#: allianceauth/srp/templates/srp/data.html:98 -#: allianceauth/srp/templates/srp/management.html:70 -msgid "Link" -msgstr "Link" - -#: allianceauth/srp/templates/srp/data.html:159 -msgid "No SRP requests for this fleet." -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:7 -msgid "SRP Management" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:18 -msgid "View All" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:27 -msgid "Add SRP Fleet" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:48 -msgid "Fleet AAR" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:49 -msgid "Fleet SRP Code" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:50 -msgid "Fleet ISK Cost" -msgstr "Vloot ISK Kost" - -#: allianceauth/srp/templates/srp/management.html:51 -msgid "SRP Status" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:52 -msgid "Pending Requests" -msgstr "Lopende Aanvragen" - -#: allianceauth/srp/templates/srp/management.html:91 -msgid "Completed" -msgstr "Voltooid" - -#: allianceauth/srp/templates/srp/management.html:108 -msgid "Are you sure you want to delete this SRP code and its contents?" -msgstr "" - -#: allianceauth/srp/templates/srp/management.html:129 -msgid "No SRP fleets created." -msgstr "" - -#: allianceauth/srp/templates/srp/request.html:7 -msgid "SRP Request" -msgstr "SRP Aanvraag" - -#: allianceauth/srp/templates/srp/request.html:16 -msgid "Create SRP Request" -msgstr "Genereer SRP aanvraag" - -#: allianceauth/srp/templates/srp/request.html:22 -msgid "Your SRP request" -msgstr "Jou SRP aanvraag" - -#: allianceauth/srp/templates/srp/request.html:35 -msgid "Create SRP request" -msgstr "Genereer SRP aanvraag" - -#: allianceauth/srp/templates/srp/update.html:7 -#: allianceauth/srp/templates/srp/update.html:16 -msgid "Update AAR Link" -msgstr "Update AAR link" - -#: allianceauth/srp/templates/srp/update.html:22 -msgid "After Action Report" -msgstr "Na Actie Rapport" - -#: allianceauth/srp/templates/srp/update.html:31 -msgid "SRP Fleet Does Not Exist" -msgstr "" - -#: allianceauth/srp/templates/srp/update.html:40 -msgid "Update AAR link" -msgstr "" - -#: allianceauth/srp/views.py:85 -#, python-format -msgid "Created SRP fleet %(fleetname)s." -msgstr "" - -#: allianceauth/srp/views.py:103 -#, python-format -msgid "Removed SRP fleet %(fleetname)s." -msgstr "" - -#: allianceauth/srp/views.py:115 -#, python-format -msgid "Disabled SRP fleet %(fleetname)s." -msgstr "" - -#: allianceauth/srp/views.py:127 -#, python-format -msgid "Enabled SRP fleet %(fleetname)s." -msgstr "" - -#: allianceauth/srp/views.py:140 -#, python-format -msgid "Marked SRP fleet %(fleetname)s as completed." -msgstr "" - -#: allianceauth/srp/views.py:153 -#, python-format -msgid "Marked SRP fleet %(fleetname)s as incomplete." -msgstr "" - -#: allianceauth/srp/views.py:165 -#, python-format -msgid "Unable to locate SRP code with ID %(srpfleetid)s" -msgstr "" - -#: allianceauth/srp/views.py:179 -msgid "This kill mail has already been posted." -msgstr "" - -#: allianceauth/srp/views.py:200 -msgid "" -"Your SRP request Killmail link is invalid. Please make sure you are using " -"zKillboard." -msgstr "" - -#: allianceauth/srp/views.py:212 -#, python-format -msgid "Submitted SRP request for your %(ship)s." -msgstr "" - -#: allianceauth/srp/views.py:216 -#, python-format -msgid "" -"Character %(charid)s does not belong to your Auth account. Please add the " -"API key for this character and try again" -msgstr "" - -#: allianceauth/srp/views.py:236 allianceauth/srp/views.py:262 -#: allianceauth/srp/views.py:300 -msgid "No SRP requests selected" -msgstr "" - -#: allianceauth/srp/views.py:247 allianceauth/srp/views.py:285 -msgid "Unable to locate selected SRP request." -msgstr "" - -#: allianceauth/srp/views.py:250 -#, python-format -msgid "Deleted %(numrequests)s SRP requests" -msgstr "" - -#: allianceauth/srp/views.py:288 -#, python-format -msgid "Approved %(numrequests)s SRP requests" -msgstr "" - -#: allianceauth/srp/views.py:320 -msgid "Unable to locate selected SRP request" -msgstr "" - -#: allianceauth/srp/views.py:323 -#, python-format -msgid "Rejected %(numrequests)s SRP requests." -msgstr "" - -#: allianceauth/srp/views.py:336 -#, python-format -msgid "Unable to locate SRP request with ID %(requestid)s" -msgstr "" - -#: allianceauth/srp/views.py:360 -#, python-format -msgid "Saved changes to SRP fleet %(fleetname)s" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/esi_check.html:4 -msgid "Your Server received an ESI error response code of " -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:11 -msgid "Alliance Auth Notifications" -msgstr "Alliantie Authenticatie Notificaties" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:21 -msgid "Closed" -msgstr "Gesloten" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:27 -msgid "No notifications at this time" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:36 -msgid "Powered by GitLab" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:42 -msgid "Support Discord" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:59 -#: allianceauth/templates/allianceauth/admin-status/overview.html:63 -msgid "Software Version" -msgstr "Software Versie" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:66 -msgid "Current" -msgstr "Huidige" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:73 -msgid "Latest Stable" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:78 -msgid "Update available" -msgstr "Update Beschikbaar" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:86 -msgid "Latest Pre-Release" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:91 -msgid "Pre-Release available" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:102 -msgid "Task Queue" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:107 -#, python-format -msgid "" -"\n" -" Status of %(total)s processed tasks • last %(latest)s\n" -" " -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:123 -msgid "running" -msgstr "" - -#: allianceauth/templates/allianceauth/admin-status/overview.html:124 -msgid "queued" -msgstr "" - -#: allianceauth/templates/allianceauth/top-menu-admin.html:19 -msgid "AA Documentation" -msgstr "AA Documentatie" - -#: allianceauth/templates/allianceauth/top-menu-admin.html:26 -msgid "AA Support Discord" -msgstr "AA Ondersteunings Discord" - -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:10 -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:16 -msgid "User Menu" -msgstr "Gebruikers Menu" - -#: allianceauth/templates/allianceauth/top-menu-user-dropdown.html:67 -msgid "Logout" -msgstr "Uitloggen" - -#: allianceauth/templates/allianceauth/top-menu.html:8 -msgid "Toggle navigation" -msgstr "" - -#: allianceauth/theme/templates/theme/theme_select.html:7 -msgid "Select Theme" -msgstr "Selecteer Thema" - -#: allianceauth/timerboard/form.py:53 -#: allianceauth/timerboard/templates/timerboard/timertable.html:172 -msgid "Other" -msgstr "Andere" - -#: allianceauth/timerboard/form.py:54 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:44 -msgid "Friendly" -msgstr "Vriendelijk" - -#: allianceauth/timerboard/form.py:55 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:33 -#: allianceauth/timerboard/templates/timerboard/timertable.html:38 -msgid "Hostile" -msgstr "Vijandig" - -#: allianceauth/timerboard/form.py:56 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:43 -#: allianceauth/timerboard/templates/timerboard/timertable.html:50 -msgid "Neutral" -msgstr "Neutraal" - -#: allianceauth/timerboard/form.py:58 -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:13 -#: allianceauth/timerboard/templates/timerboard/timertable.html:7 -msgid "Details" -msgstr "Details" - -#: allianceauth/timerboard/form.py:60 -msgid "Planet/Moon" -msgstr "Planeet/Maan" - -#: allianceauth/timerboard/form.py:61 -msgid "Structure Type" -msgstr "" - -#: allianceauth/timerboard/form.py:62 -msgid "Timer Type" -msgstr "Timer Type" - -#: allianceauth/timerboard/form.py:63 -#: allianceauth/timerboard/templates/timerboard/timertable.html:8 -msgid "Objective" -msgstr "Doel" - -#: allianceauth/timerboard/form.py:64 -msgid "Absolute Timer" -msgstr "Absolute Timer" - -#: allianceauth/timerboard/form.py:65 -msgid "Date and Time" -msgstr "Datum en Tijd" - -#: allianceauth/timerboard/form.py:66 -msgid "Days Remaining" -msgstr "Resterende Dagen" - -#: allianceauth/timerboard/form.py:67 -msgid "Hours Remaining" -msgstr "Resterende Uren" - -#: allianceauth/timerboard/form.py:69 -msgid "Minutes Remaining" -msgstr "Resterende Minuten" - -#: allianceauth/timerboard/form.py:71 -msgid "Important" -msgstr "Belangrijk" - -#: allianceauth/timerboard/form.py:72 -msgid "Corp-Restricted" -msgstr "" - -#: allianceauth/timerboard/models.py:14 -msgid "Not Specified" -msgstr "Niet gespecifieerd" - -#: allianceauth/timerboard/models.py:15 -msgid "Shield" -msgstr "Schild" - -#: allianceauth/timerboard/models.py:16 -msgid "Armor" -msgstr "Pantser" - -#: allianceauth/timerboard/models.py:17 -msgid "Hull" -msgstr "Romp" - -#: allianceauth/timerboard/models.py:18 -msgid "Final" -msgstr "Laatste" - -#: allianceauth/timerboard/models.py:19 -msgid "Anchoring" -msgstr "Ankeren" - -#: allianceauth/timerboard/models.py:20 -msgid "Unanchoring" -msgstr "ontankeren" - -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 -#: allianceauth/timerboard/templates/timerboard/view.html:53 -msgid "Upcoming Timers" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:14 -msgid "Timer" -msgstr "Timer" - -#: allianceauth/timerboard/templates/timerboard/form.html:10 -#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:10 -#: allianceauth/timerboard/templates/timerboard/view.html:13 -msgid "Structure Timers" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/form.html:25 -msgid "Structure Timer Details" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:6 -#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:15 -msgid "Delete Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_confirm_delete.html:26 -#, python-format -msgid "Are you sure you want to delete timer \"%(object)s\"?" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:5 -#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:13 -msgid "Create Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_create_form.html:9 -#: allianceauth/timerboard/templates/timerboard/view.html:21 -msgid "Create Structure Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:5 -#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:9 -#: allianceauth/timerboard/templates/timerboard/timer_update_form.html:13 -msgid "Update Structure Timer" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:10 -msgid "Structure" -msgstr "Constructie" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 -msgid "POCO" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 -msgid "I-HUB" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 -msgid "TCU" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 -msgid "POS [S]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 -msgid "POS [M]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:94 -msgid "POS [L]" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:100 -msgid "Astrahus" -msgstr "Astrahus" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:106 -msgid "Fortizar" -msgstr "Fortizar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:112 -msgid "Keepstar" -msgstr "Keepstar" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:118 -msgid "Raitaru" -msgstr "Raitaru" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:124 -msgid "Azbel" -msgstr "Sotiyo" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:130 -msgid "Sotiyo" -msgstr "Sotiyo" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:136 -msgid "Athanor" -msgstr "Athanor" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:142 -msgid "Tatara" -msgstr "Tatara" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:148 -msgid "Cyno Beacon" -msgstr "Cyno Beacon" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:154 -msgid "Cyno Jammer" -msgstr "Cyno Jammer" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:160 -msgid "Ansiblex Jump Gate" -msgstr "Ansiblex Jump Gate" - -#: allianceauth/timerboard/templates/timerboard/timertable.html:166 -msgid "Moon Mining Cycle" -msgstr "Maan mijn Cyclus" - -#: allianceauth/timerboard/templates/timerboard/view.html:9 -msgid "Structure Timer Management" -msgstr "" - -#: allianceauth/timerboard/templates/timerboard/view.html:40 -msgid "Corporation Timers" -msgstr "Corporatie Timers" - -#: allianceauth/timerboard/templates/timerboard/view.html:71 -msgid "Past Timers" -msgstr "Verlopen Timers." - -#: allianceauth/timerboard/views.py:85 -#, python-format -msgid "Added new timer in %(system)s at %(time)s." -msgstr "" - -#: allianceauth/timerboard/views.py:95 -msgid "Saved changes to the timer." -msgstr "" - -#: allianceauth/views.py:55 -msgid "Bad Request" -msgstr "Foutief Verzoek" - -#: allianceauth/views.py:57 allianceauth/views.py:87 -msgid "" -"Auth encountered an error processing your request, please try again. If the " -"error persists, please contact the administrators." -msgstr "" - -#: allianceauth/views.py:65 -msgid "Permission Denied" -msgstr "Toegang Geweigerd" - -#: allianceauth/views.py:67 -msgid "" -"You do not have permission to access the requested page. If you believe this" -" is in error please contact the administrators." -msgstr "" - -#: allianceauth/views.py:75 -msgid "Page Not Found" -msgstr "Pagina Niet Gevonden" - -#: allianceauth/views.py:77 -msgid "" -"Page does not exist. If you believe this is in error please contact the " -"administrators. " -msgstr "" -"Pagina bestaat niet. Vermoed je dat dit een error is, contacteer dan de " -"administrator." - -#: allianceauth/views.py:85 -msgid "Internal Server Error" -msgstr "Interne Server Error" From c36dea08e33954c31fe6ae01ae06d314cc76c172 Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Fri, 13 Sep 2024 20:01:33 +1000 Subject: [PATCH 30/33] compilemessages --- .../locale/cs_CZ/LC_MESSAGES/django.mo | Bin 0 -> 7285 bytes allianceauth/locale/de/LC_MESSAGES/django.mo | Bin 45125 -> 45638 bytes allianceauth/locale/en/LC_MESSAGES/django.po | 174 ++++++++++-------- .../locale/fr_FR/LC_MESSAGES/django.mo | Bin 46059 -> 46089 bytes .../locale/it_IT/LC_MESSAGES/django.mo | Bin 44568 -> 44558 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 0 -> 17313 bytes allianceauth/locale/ru/LC_MESSAGES/django.mo | Bin 45746 -> 45765 bytes 7 files changed, 99 insertions(+), 75 deletions(-) create mode 100644 allianceauth/locale/cs_CZ/LC_MESSAGES/django.mo create mode 100644 allianceauth/locale/nl_NL/LC_MESSAGES/django.mo diff --git a/allianceauth/locale/cs_CZ/LC_MESSAGES/django.mo b/allianceauth/locale/cs_CZ/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..ff7c775a60ec35c759c59763b8a9b00d4bea607d GIT binary patch literal 7285 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 VaJEbaE^EikWCndEdz}>he*w;YOLzbP literal 0 HcmV?d00001 diff --git a/allianceauth/locale/de/LC_MESSAGES/django.mo b/allianceauth/locale/de/LC_MESSAGES/django.mo index dc8e9fa6f64e6914ef57ceba48e052c901b080ab..8d8f650cc104813c495e89391a8efda01d86ccbc 100644 GIT binary patch delta 13168 zcmZwN3w)2||Htv$%*-}sM>EXVFip;fF^4e6IWtDiW8c}b12Z|rjT|eP&G}GrDu*Vf zLQ<4TR8kblA*FsKid01Z*L(M+hyVZoyC08h&+EGG>%I=3>$>l)!{Lh_Mc;ea=L0>L zT3o$7EUPlE3AC&#CCS%Rt!3plw5$wVjJp31y0CI1%NmBQaS*P-Huwj6VY9}TRR*8H z_Sgl>;|mywYq6YV+149m^uT-A1dFf*-ZS+vRFGcG5ud_PoQ+j*HHPC} z48t$66kbP7;1-re&!(2;%lK9x8C66SS6EgZ^rze$eXxtEPr#~_hhuHDQSG*(2H1x| z_&yd7j4sO8Q4=p0<4n8)HmBSeV;SE{C({f!Ba^evV@nL8QVn|{Rn~m$i|^qO4CLlW z%tD3wBr3G$kR7ycnEG2tsIB`Lihi+9yXt5wR54@}nm*`Q zK7cwVN3bqlN1cI6>>s;l4aRs}go^MPRHS}H^>@7m@mGg;sL%=?n1&w*REU?N zCb$W;!naTpJ&Nk^GwtzBL0dxGrmta6AeYJJR0j@GgPFKu?FVZWTMHujoRZ& zs1=0~N4*shsDW#uB2^z1x@M-nEpi;JuIBzMbN@LEp*|lKnJuVD7N8b*04t#VF_{1| z-=RW#8x`8pZJly3>hRP;9iA9eD0>)(p`Ob!jaBdd<|R)$xLP+R6k9kLmyewL$N z@7GYz??<&i)`|FQPfk;ziF}9JySu0@3GeKDC|V(Jru8DKgHO;4&!GmmjGE|eR76X3 zaqjz|$^oVvj@q(nsP-LgGMaH;)C@DQ6wX9-JP&oMSD5l<)CAr}MW6`T4eJ|x5nb^t z0(W34=5=)jx`%m`y}LORTa9|V?DZzI8?^;Rrolz*OZi7EjV-!6TN8)c)4r&Q4nXbY zQ1r#osIxO3_u~Srjh%WpAGmSISKfLJiG*!kCex0J(mkDl;!&aPgNndF^u{#Qz}Z+9 zC!z+NgNoc@RJ%>62^C;D+=Gqq2{)XKY|R+@n7 z@JUn$si+BMp(c=nI#lyf?ekIntwgooj_S7%)z3jJulN6isknrC@Fwao-ZAy%dOM-7 zf_m-hq9W5B>)=qVi_f7B?H<&E&Y~9ZBd*08s0l9Yd@(6XyqZOm4stWj7AOE3v~ttpa#r9ZOJ54o`w3ZEbL4C^`7QZq1WzJ)EDpw z_P~p%J+7BvSq-rTDgx=~!sk&F+m7nzDC+r(sKfjhYQjPNoUM2a^~r9D0r+G;;_pvp z3>A8CD(b-{7=#6=Jv(GPfm+FVR0Mu9B2!>| z6LpyPqxwC8+L8-c{P+KLG8))>2(KE3U?uE;J#hqTB|A_Z?Loap$59cvih91pP-lYW zQ0-i(v(p4Mp?K7(?~PhO|DnWRnG`A%fr+S4o7!a5AQp9_18UE^p=LP1n2!3xVJ7MWvI*

`1fVQBFVhSu&cyMdLNp7ThrntYl|Ty-+I- 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\n" "Language-Team: LANGUAGE \n" @@ -49,70 +49,90 @@ msgid "You are not allowed to add or remove these restricted groups: %s" msgstr "" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "" #: allianceauth/authentication/models.py:72 -msgid "German" +msgid "Czech" msgstr "" #: allianceauth/authentication/models.py:73 -msgid "Spanish" +#: allianceauth/project_template/project_name/settings/base.py:101 +msgid "German" msgstr "" #: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" +#: allianceauth/project_template/project_name/settings/base.py:102 +msgid "Spanish" msgstr "" #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "" @@ -2545,155 +2565,159 @@ msgstr "" msgid "Corp-Restricted" msgstr "" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2743,11 +2767,11 @@ msgstr "" msgid "Structure" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "" diff --git a/allianceauth/locale/fr_FR/LC_MESSAGES/django.mo b/allianceauth/locale/fr_FR/LC_MESSAGES/django.mo index 94b66aa9b2d5777da9263c891bec2bfca7cb033e..7a675c640a2ec5a2355cef354d8fe3a43edcea9e 100644 GIT binary patch delta 4760 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 Tj(d|r#``Z@d3;F87rFljb$PR2 delta 4674 zcmXZge^l4i9mnw-KNR_?2nhI9zK9@dBK~%ZOaqvCx0w+x#^N*&zJZ9^|<$bKA(Hv_kG{@%Q@7Y z4%m7+V6QLQYr4glJw?X&j4`to88ZY+u^#KO22)CmnS{Hs7oNcgJdgA68ur77A2TKn zOE40vus7CY7H-3QJb{{L*ka?|Y-B7pCWL_r7>`qM0M5Z!T!ISlX-vRo_xvDgqAt{T zr!WSupaSYsYR3nn`r}da&2asKQqM+O%D@O7RN^>nK?QIcBk>CM$G|1V48{RC9w(v# zFG0P(4D+xS@4~;}3`{ArF2Z~0x1-+c@o3DXk@vVUg}4dl<7IpjXFp+6eH5eVe~N*4 z5&Pgb7>eJaQXjn3zVE{n`Xf+*--|km`KXO9!jb50p`nQmyBChS{wFw!@y~E9hAlHD z8>gUlUWGaMCWc`*Dia~))_$l36HzH2g5fwBYjHYqWS%)jBbtE=*dK48b`;I_gK-dQ z;uO?Ex1!E+GAi&q)c3P-I4;CutjFbe9aS4k=?ubJR4u)N>8x))prMJsLAs_JRb&-E zw;w)_1L^NU1$Gn_=m|{3^O%XjD{SpdMD-WpXl%p>@hGZTlUG{PF-i-LrlB3);hc$D zXciV=0ViwZET!cH8AY4lU@R?I`~bU7;U)u@H5QJHRVzF0xRwcs8Gw38#K zi90YIkE1ek12sYKO8Yz>ee_dsAWp@2EWjizch9$=GV?lWo=!}~6R2z5T}l2m5VqPz zHU=~3-;T-n7%CHWs1KS@JJ^ew@E|I+M^HOIh6=35J@+wx1pQRh`{PiV$wJjownt+S zjXCaxa@0;&<6zu?s`55ebss>b^zY8|sH6Kg4#0pl))CUit0{98)3|F{*4Qk?MREGAW0(uwq!_?{g0(EqkQ5(9B zh1mCLvWBJjJ?opqYGb%jCceh*XfwV;|5eliMbFp;m!NjM7F8RK7=mx(T>L%iecvx_ zz$vHz#$YhshT7mX)KTA!o~rs`8ed`&j>Ft%jkzByaXNmC`dbjUjx1pgYT+8xf*VmO zZ9py1;-2qAUGIaaTXYPS$+PbHx9iA%9|pP^P$0c(Z2+;T9p++hEJ7_*hMI6Ws*2a6 zGSZ3)=rC%&4pgyrp}xO>LHMm3zlI7lYCZYa#EI)|gvqEt#-q+S8#U1!)Iz1Gv#dr1 z(ufMA-Ss8b83HcoHLZ|9fcYdPHuvDT_g+IKi3h z9FCe`3>IS!Dur#R)P95`Fkp*K@hHroKN0me;b$0uRj5EWVhrn>?KC2B560plR1tNd zGH?;K&<%`5-}83IV=Y3Cg@6zRwAg&x#G zp$#@-KTe>Zft;CHfcoxP)I=LmJKBn)u^F@Q80KTtR-3tbsP~uRFkH2j{EwpXA_FR( zKclKMV4K}p7>3c0N2PEm#^E$n#^&MxT!>@P!*p!N1U!lQ{t7BUv)u+BirQe`?c`rC zrZJ%6nuT!&iVHT)qSL_c1|RT%$*P2FZxfG^+>Y{x|GLIrdQwKKEBW+o05a0V)nAEAC1 z?m^XxcRvlKZ~^LCRGDb4!RPudsIzNB?f3v{N2gE=T|w1E=&$Yf$*7|khS~UI zRMqdq{@98N_+1Rt{XarODg6)?>F21TIg8rqWz@Y6Z?dVIgvwMFX5pha9CzY0{3D*i z&}M#SZ!zYdsCiesWCL7-I{Ru&WPP)ZMj*a{dhr1I@IBOvr%?f3LKRQY%kGB?wUY!? zjU=OLX9p^tQGv}v zRc#sSyDC)Rb*LTfzyNH+nb?lE<9C>blUr@kK7upouWcp&I@=Bg#^HZZJ0AXu4Imfm z=`X^&u^T61?rwhla1HAAguTi?DKG_91Dh}vkE4$EI%>fl?2R*CvqgQc=NfY{ga`AT zC8!-Q!*F~Gwc~mW!X3_LRH}EOCT?@?#|Zj|Q1gC-!FU|?{V7yn$zRgY8T|wG;{Pxd h1KO++`x1tRO%E?xviQ-Z{@LYE6qgq7ODp~==l_Uoy0!oS diff --git a/allianceauth/locale/nl_NL/LC_MESSAGES/django.mo b/allianceauth/locale/nl_NL/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..e814def9226a0e70db90c8a6ff6fa5dd217e04d1 GIT binary patch literal 17313 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 Hp8kIUv^B@* literal 0 HcmV?d00001 diff --git a/allianceauth/locale/ru/LC_MESSAGES/django.mo b/allianceauth/locale/ru/LC_MESSAGES/django.mo index 2c9a6ebf3e46748c69ddba645411c4392321734e..ec588644838b4bffbc2c86bb76f05895692ff4e6 100644 GIT binary patch delta 3954 zcmXZf3v`cl9LMqB90{?Txy}oz8u)-4e~D4VS1}wzryCQG zDHw~>F%(zhEw}}TU?cX&!229yx^pr5K0Dx498bIfJK!n29WUZ~Ovy2ZvCM}^a!lL| zV+wEuGH26-vv6FleZCgg5~s~%@^}<`;;j2^|D_HW!8BB00`9_SY(%B>A56wh^s1DO z#XdM0Q*k8*VLhs!W3H!Anfn_jV6WM{i;FP>54k!w&M_v0h6$+J&cs+O#CR-oJ%EwK zXHXNoACnPHC~PCryTFXcW@PUnrkytj!e)oarwsd=0-MZv#ddNa0vI~ z=kEPdpD{7SZ=q`WEo#L9d1qt zZ5rx@+ZZ!BaV5cfbmmxZjvUG)Qi_qD~_CRJD7}`@EY{TO4KRZfy%&PY>Q`bJT{?LK74^a4R>M$aRE9? z`8qDNnU0`V(t`bPV6iR93``>4gc|TujKc3w6a5#{u6Wmk$=_3LqiA-$6Ig`DwS(75NlAie-AzQ8)_n5AF#(a4wH#T;SIPD6R`x<@2l7f z58@y^jM}VMA0Yp&xrltwcF+^amhqwn`WW?LxsIXOZLv*lG6oY5b>s1U+D6MZGrzmGXs1 zw#_~a#ePfeDagPs#97!GoqV@pC3dHw0yWcG)Fye~ZT|&35&wrOS@1)4vqhq6n}(WT z9%_Q6s0{4FH?RSHew1_>0kycioHFYCUs+){&B>K)LLRt`8X)Om+wm||hci$UScOVy zIjRIz7>4`Y_)F9#`yD&tUsz4Q`lZs?HLHy&LeCmymilky;u9K9pi;B>QDfTR8`u@= zQ5k8#9{4NvMZdLnlOPb}x8I3a)XFna_a~$JEk>27%#G_&err5T4ExIYKm<090!E1o3( zy|}2MK`H+pwc?*K8(YvHv)9|>ITy9E&8S^nkD6d3>ivtTy>JN=Fz_i`q9I5XOdjgP z_7|!|Q5(qr7%t{)u*Yl<_9gxa)3L+TwuTe25AixwD)*sM`y=X|ucovn3cF)=jBw=Ub z@vbv5n79Nd;uF{ff5H^JVq?c7Rv42{!x$Wn)u@^OiJE!GO8aGtz+_?%s)o5Z9XFtU zC7V%urOR{nHzXF5h_i7tmZCEG8ERtRW01~&6BpY3W|K{QFVv6CNF0c{sAE@ws^uZn z#F|hYwV(zLe%@v(8pDW(Vt@2vcYMsfza91dLCN^$I2UPn3N_=No9zm+P{-wQREK4# z(o|ztY(PDK0kbgd1^#`9MW_Xxa}C;JGnb0moIX@P73gSX``rglqmE6;i}pC(idxwi z)N@&=nlDAwdMonjFmN!w@`(zhZ;K z#b7S>?XVxBW=tbadDWhVrKlRejoL)#P%Ce}(+(7YN^LqO<1Ey~Dp8xa4mF`aup0*N zvJ>lrde8B4p%<5+R{k35!E3I;ui4Gl2lYY*CSV@M<3`kq>ajI`j(1@rreojTHr4Y{ z?^WSqJdTvYF}LlpHCuw}@B|LU>&QpS40_#W<|zI^9K6>U{+K`ct0%r#ZT}bT2r4rH zHMUd<*q(TVYbLfOo{SxE8n)3$`CRzZu)uXC>cyvAH=%0xGU~1mMw delta 3935 zcmXZfc~DkW7{~F0nWOj$vV(|1B8VHSA*reOmS&EM3y6w}reZ1;reUd9A;>LF+^xg~ zltj&?O|wMW%&mPBhgP$h(3zU1m7?!&&i%*FdCq(9S)S*d%lOXqRwu5vIyTVX`P0Xk z^c-XQ7-N!ht$V-&WTZcIGJVs{*c z5mS@mS(|2)h!0j9TEY zsD%X2v+oVTIO6+JH7-JpQ;OO60+yh8&}OC-S)gNr<{Q(K{t>9dvIsT6VLXj*xW5-K zFy;>8{is^Li`sEBYN7trL1!c#$-0?>%Gg=-;1vwP2GoXs!BFNmZ3^u`QK;G`p&r=i zT7^0^r`-5AOeb#lkbQ0_vJ;by3AoPfe;HN63#gj^h&tTuAGVnsh>^^1rn())s9NvP z4|oyv;tkY}J&)J{GEqBUgnn3#xEV8#@2zDW!jE+*il!gw| z3Di!Sun)#8vLzXViNvc>6TXJg_#SGZKjAQJ{ircvI0Em)8L0m4sI$<3`hNHGxZAK5*5aLb z6m?jyFCqV}X?Py90|X%1GG5d~ub@6GH!uQkFSe=eih;yE+;{+LA}{vGT-2egKrQq% zY9sHXZqHTMW`{;N9bJ~%iPABEcp~bPITy8%D%6Xgp|0T{sMLo&ZcRnKHwKmRd?eeZ z8Y8gN6ZRIQVJPuX3_)j-+fj&}=qN+2bPwu~9C!Oa#316IQ6+0Z9X8K0TiYbm0<%#I zEJkHu2fl=LxWI>!E+?QC->u+A=>C7d(jJ-%t2l%_@EvM`&ZTzX1k`|IPz!hnmC{mF z2`VrWtKIk<>X3bk9q?;B&bT*Gb61ub^Dsu0E3?#p1C0xGoJFN(?NfXca4&{o4Jspb z*cm^<-gpaj$RbzsEx?he_b1?RoR4?mNz_7bVO#WBV-L44c4vN*Mk59%qjtUwHQ^f6 zguC4SS22$GZPcOs88u+Lwe~v^h}wBN>i104xHC}Kuf&aOQ1e_sCz-|p}Vwlo>&;rEH?i!)L4F5E!=d(fz) zLn%Lx+VKZC1)Iiw&zv+yk@;J?@xadCY-$P^KCVS1E#ool1(2IYeYIt{r&CF6%Dyvbcy@k%EJ8H)`eAP%Hl%1F-#0dj_IVH5`l6aRutH zWFsn*x9zfjLjp08cm!r*F)EXfmQ)U_)^)$%ZE zVGXE(notwBUwlO+99L-%XD(`-GIX@FgEaKO71Xuy*<-I$FVxOb zP|poT)w}>ha0Bw`Fjc4pCGNGq4@d2MA&$aIjKL;U#{Bl#QpD^d|6S?mONS;JjqhTf z`#|h|`$94fq2G&IKp85PweIilUTOUhv;+E&VNBIr2Qc~aWble<53GMM;+cO)N@~9IJTe` z7G7)LbG$V4;vCe@ccLEr(X|D2_`(m{7t%0+I2+?}C2B`C*c#u!Y^+BwMjWxJo`!m_ z0*mnsQVPfPJ8Ek-2Q}bX9Dp~FZDZS3O!VOW*hVu=qTxr!bk{=kC0_2j8dbZ^s26v+{RdCxb{Uu9KW_1&1^I>1 T+4G8K70jDeaPo4_pOgOwkx*U6 From 57a39557fdc2a3ed868e78fc1397fddbe04820a0 Mon Sep 17 00:00:00 2001 From: Ariel Rin Date: Fri, 13 Sep 2024 10:09:09 +0000 Subject: [PATCH 31/33] Updates for project Alliance Auth --- .../locale/cs_CZ/LC_MESSAGES/django.po | 180 +++++++++-------- allianceauth/locale/de/LC_MESSAGES/django.po | 180 +++++++++-------- allianceauth/locale/es/LC_MESSAGES/django.po | 178 ++++++++++------- .../locale/fr_FR/LC_MESSAGES/django.po | 189 ++++++++++-------- .../locale/it_IT/LC_MESSAGES/django.po | 180 +++++++++-------- allianceauth/locale/ja/LC_MESSAGES/django.po | 180 +++++++++-------- .../locale/ko_KR/LC_MESSAGES/django.po | 180 +++++++++-------- .../locale/nl_NL/LC_MESSAGES/django.po | 180 +++++++++-------- .../locale/pl_PL/LC_MESSAGES/django.po | 180 +++++++++-------- allianceauth/locale/ru/LC_MESSAGES/django.po | 180 +++++++++-------- allianceauth/locale/uk/LC_MESSAGES/django.po | 180 +++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 178 ++++++++++------- 12 files changed, 1227 insertions(+), 938 deletions(-) diff --git a/allianceauth/locale/cs_CZ/LC_MESSAGES/django.po b/allianceauth/locale/cs_CZ/LC_MESSAGES/django.po index 6d578cb4..77e1d9f3 100644 --- a/allianceauth/locale/cs_CZ/LC_MESSAGES/django.po +++ b/allianceauth/locale/cs_CZ/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Tomas Skarecky , 2024\n" "Language-Team: Czech (Czech Republic) (https://app.transifex.com/alliance-auth/teams/107430/cs_CZ/)\n" @@ -54,70 +54,90 @@ msgstr "" "přístupem:%s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Angličtina" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Němčina" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Španělština" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Zjednodušená čínština" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Ruština" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Korejština" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Francouzština" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Japonština" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Italština" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Japonština" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Korejština" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Francouzština" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Ruština" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Ukrajinština" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "Ukrajinština" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Jazyk" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Noční režim" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Motiv" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "Status změněn na: %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Váš uživatelský status je nyní: %(state)s" @@ -2565,155 +2585,159 @@ msgstr "" msgid "Corp-Restricted" msgstr "" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2763,11 +2787,11 @@ msgstr "" msgid "Structure" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "" diff --git a/allianceauth/locale/de/LC_MESSAGES/django.po b/allianceauth/locale/de/LC_MESSAGES/django.po index 489602a5..0e9aff60 100644 --- a/allianceauth/locale/de/LC_MESSAGES/django.po +++ b/allianceauth/locale/de/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Peter Pfeufer, 2024\n" "Language-Team: German (https://app.transifex.com/alliance-auth/teams/107430/de/)\n" @@ -62,70 +62,90 @@ msgstr "" "Du kannst diese eingeschränkten Gruppen nicht hinzufügen oder entfernen: %s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Englisch" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Deutsch" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Spanisch" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Chinesisch vereinfacht" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Russisch" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Koreanisch" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Französisch" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Japanisch" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Italienisch" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Japanisch" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Koreanisch" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Französisch" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Russisch" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Ukrainisch" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "Polnisch" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "Ukrainisch" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Sprache" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Nachtmodus" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Theme" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "Status geändert zu %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Dein Nutzerstatus ist nun %(state)s" @@ -2633,155 +2653,159 @@ msgstr "Wichtig" msgid "Corp-Restricted" msgstr "Auf Corp beschränkt" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "Freundlich" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "Feindlich" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "Neutral" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "POCO" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "Orbital Skyhook" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "I-HUB" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "TCU" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "POS [S]" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "POS [M]" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "POS [L]" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "Astrahus" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "Fortizar" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "Keepstar" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "Raitaru" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "Azbel" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "Sotiyo" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "Athanor" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "Tatara" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "Pharolux Cyno Beacon" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "Tenebrex Cyno Jammer" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "Ansiblex Jump Gate" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "Moon Mining Cycle" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "Metenox Moon Drill" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "Anderes" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "Keine Angabe" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "Schild" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "Panzerung" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "Hülle" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "Final" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "Ankernd" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "Entankernd" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2831,11 +2855,11 @@ msgstr "Strukturen Timer aktualisieren" msgid "Structure" msgstr "Struktur" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "Cyno Jammer" diff --git a/allianceauth/locale/es/LC_MESSAGES/django.po b/allianceauth/locale/es/LC_MESSAGES/django.po index 5188cf85..6c5d3763 100644 --- a/allianceauth/locale/es/LC_MESSAGES/django.po +++ b/allianceauth/locale/es/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: trenus, 2023\n" "Language-Team: Spanish (https://app.transifex.com/alliance-auth/teams/107430/es/)\n" @@ -58,70 +58,90 @@ msgid "You are not allowed to add or remove these restricted groups: %s" msgstr "No puedes añadir o eliminar estos grupos restringidos: %s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Inglés" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Alemán" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Español" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Chino Simplificado" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Ruso" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Coreano" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Francés" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Japonés" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Italiano" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Japonés" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Coreano" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Francés" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Ruso" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Idioma" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Modo Nocturno" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "Estado cambiado a: %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "El estado de su usuario es ahora: %(state)s" @@ -2614,155 +2634,159 @@ msgstr "Importante" msgid "Corp-Restricted" msgstr "Restringido a Corp" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "Amigable" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "Hostil" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "Neutral" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "Otro" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "Sin especificación" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "Escudo" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "Armadura" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "Tipo" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "Final" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "Anclando" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "Desanclando" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2812,11 +2836,11 @@ msgstr "Actualizar Timer de Estructura" msgid "Structure" msgstr "Estructura" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "" diff --git a/allianceauth/locale/fr_FR/LC_MESSAGES/django.po b/allianceauth/locale/fr_FR/LC_MESSAGES/django.po index 3d1a7a91..b1c459b4 100644 --- a/allianceauth/locale/fr_FR/LC_MESSAGES/django.po +++ b/allianceauth/locale/fr_FR/LC_MESSAGES/django.po @@ -13,15 +13,16 @@ # Geoffrey Fabbro, 2023 # Idea, 2024 # Joel Falknau , 2024 +# T'rahk Rokym, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" -"Last-Translator: Joel Falknau , 2024\n" +"Last-Translator: T'rahk Rokym, 2024\n" "Language-Team: French (France) (https://app.transifex.com/alliance-auth/teams/107430/fr_FR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -70,70 +71,90 @@ msgstr "" "restreints: %s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Anglais" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Allemand" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Espagnol" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Chinois simplifié" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Russe" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Coréen" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Français" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Japonais" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Italien" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Japonais" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Coréen" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Français" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Russe" + #: allianceauth/authentication/models.py:80 +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" + +#: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 +msgid "Polish" +msgstr "Polonais" + +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 msgid "Ukrainian" msgstr "Ukrainien" -#: allianceauth/authentication/models.py:81 -msgid "Polish" +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Langue" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Mode Nuit" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Thème" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "État changé à: %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "L'état de votre personnage est maintenant: %(state)s" @@ -438,15 +459,15 @@ msgstr "" #: allianceauth/custom_css/apps.py:13 allianceauth/custom_css/models.py:36 #: allianceauth/custom_css/models.py:37 allianceauth/custom_css/models.py:47 msgid "Custom CSS" -msgstr "" +msgstr "CSS personnalisé" #: allianceauth/custom_css/models.py:25 msgid "Your custom CSS" -msgstr "" +msgstr "Votre CSS personnalisé" #: allianceauth/custom_css/models.py:26 msgid "This CSS will be added to the site after the default CSS." -msgstr "" +msgstr "Ce CSS être ajouté sur le site après le CSS par défaut" #: allianceauth/fleetactivitytracking/auth_hooks.py:10 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/characternotexisting.html:10 @@ -2640,155 +2661,159 @@ msgstr "Important" msgid "Corp-Restricted" msgstr "Limité à la Corporation" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "Amical" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "Hostile" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "Neutre" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "POCO" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "I-HUB" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "TCU" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "POS [S]" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "POS [M]" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "POS [L]" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "Astrahus" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "Fortizar" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "Keepstar" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "Raitaru" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "Azbel" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "Sotiyo" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "Athanor" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "Tatara" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "Porte de saut Ansiblex" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "Cycle d’extraction de lune" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "Autre" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "Non Spécifié" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "Bouclier" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "Armure" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "Coque" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "Final" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "Ancrage" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "Désancrage" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2838,11 +2863,11 @@ msgstr "Mettre à jour le minuteur de structure" msgid "Structure" msgstr "Structure" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "Balise Cyno" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "Brouilleur de Cyno" diff --git a/allianceauth/locale/it_IT/LC_MESSAGES/django.po b/allianceauth/locale/it_IT/LC_MESSAGES/django.po index dce12a7a..97435344 100644 --- a/allianceauth/locale/it_IT/LC_MESSAGES/django.po +++ b/allianceauth/locale/it_IT/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Tuz, 2024\n" "Language-Team: Italian (Italy) (https://app.transifex.com/alliance-auth/teams/107430/it_IT/)\n" @@ -62,70 +62,90 @@ msgid "You are not allowed to add or remove these restricted groups: %s" msgstr "Non ti è consentito aggiungere o rimuovere questi gruppi ristretti:%s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Inglese" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Tedesco" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Spagnolo" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Cinese semplificato" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Russo" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Coreano" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Francese" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Giapponese" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Italiano" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Giapponese" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Coreano" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Francese" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Russo" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Ucraino" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "Ucraino" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Lingua" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Modalità scura" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Tema" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "Stato modificato a: %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Il tuo stato utente è ora: %(state)s" @@ -2638,155 +2658,159 @@ msgstr "Importante" msgid "Corp-Restricted" msgstr "Limitato alla corporazione" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "Amichevole" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "Ostile" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "Neutrale" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "POCO" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "I-HUB" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "TCU" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "POS [S]" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "POS [M]" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "POS [L]" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "Astrahus" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "Fortizar" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "Keepstar" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "Raitaru" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "Azbel" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "Sotiyo" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "Athanor" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "Tatara" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "Ansiblex Jump Gate" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "Moon Mining Cycle" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "Altro" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "Non specificato" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "Scudo" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "Armatura" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "Struttura" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "Ultimo" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "In ancoraggio" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "In disancoraggio" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2836,11 +2860,11 @@ msgstr "Aggiorna timer struttura" msgid "Structure" msgstr "Struttura" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "Cyno Jammer" diff --git a/allianceauth/locale/ja/LC_MESSAGES/django.po b/allianceauth/locale/ja/LC_MESSAGES/django.po index 7e166989..9eb5bb77 100644 --- a/allianceauth/locale/ja/LC_MESSAGES/django.po +++ b/allianceauth/locale/ja/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: kotaneko, 2024\n" "Language-Team: Japanese (https://app.transifex.com/alliance-auth/teams/107430/ja/)\n" @@ -57,70 +57,90 @@ msgid "You are not allowed to add or remove these restricted groups: %s" msgstr "これらの制限付きグループを追加または削除することはできません。%s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "英語" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "ドイツ語" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "スペイン語" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "中国語 簡体字" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "ロシア語" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "韓国語" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "フランス語" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "日本語" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "イタリア語" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "日本語" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "韓国語" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "フランス語" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "ロシア語" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "ウクライナ語" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "ウクライナ語" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "言語" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "ナイトモード" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "テーマ" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "分類が%sに変更されました。" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "あなたの分類は%(state)sになりました。" @@ -2574,155 +2594,159 @@ msgstr "重要" msgid "Corp-Restricted" msgstr "コーポレーション制限付き" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "味方" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "敵性" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "中立" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "POCO" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "I-HUB" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "TCU" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "POS [S]" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "POS [M]" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "POS [L]" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "Astrahus" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "Fortizar" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "Keepstar" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "Raitaru" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "Azbel" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "Sotiyo" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "Athanor" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "Tatara" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "Ansiblex Jump Gate" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "Moon Mining Cycle" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "その他" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "指定なし" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "シールド" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "アーマー" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "ハル" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "最終" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "Anchoring" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "Unanchoring" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2772,11 +2796,11 @@ msgstr "ストラクチャタイマーを更新" msgid "Structure" msgstr "ストラクチャ" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "Cyno Jammer" diff --git a/allianceauth/locale/ko_KR/LC_MESSAGES/django.po b/allianceauth/locale/ko_KR/LC_MESSAGES/django.po index 5f1b4eda..dd92e50c 100644 --- a/allianceauth/locale/ko_KR/LC_MESSAGES/django.po +++ b/allianceauth/locale/ko_KR/LC_MESSAGES/django.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Woojin Kang, 2024\n" "Language-Team: Korean (Korea) (https://app.transifex.com/alliance-auth/teams/107430/ko_KR/)\n" @@ -63,70 +63,90 @@ msgid "You are not allowed to add or remove these restricted groups: %s" msgstr "해당 제한된 그룹을 추가하거나 제거할 수 있는 권한이 존재하지 않습니다: %s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "영어" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "독일어" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "스페인어" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "간체자" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "러시아어" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "한국어" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "프랑스어" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "일본어" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "이탈리아어" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "일본어" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "한국어" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "프랑스어" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "러시아어" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "우크라이나어" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "우크라이나어" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "언어" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "야간 모드" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "테마" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "상태가 %s로 변경됐습니다." -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "사용자의 상태는 %(state)s입니다." @@ -2578,155 +2598,159 @@ msgstr "중요" msgid "Corp-Restricted" msgstr "코퍼레이션 제한" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "우호" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "적대" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "중립" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "포코(POCO)" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "I-HUB" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "TCU" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "POS [S]" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "POS [M]" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "POS [L]" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "아스트라허스(Astrahus)" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "포르티자(Fortizar)" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "킵스타(Keepstar)" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "라이타루(Raitaru)" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "아즈벨(Azbel)" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "소티요(Sotiyo)" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "아타노르(Athanor)" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "타타라(Tatara)" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "엔서블렉스 점프 게이트(Ansiblex Jump Gate)" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "문 마이닝 주기" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "기타" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "명시되지 않음" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "실드" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "장갑" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "선체" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "최종" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "고정" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "미고정" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2776,11 +2800,11 @@ msgstr "구조물 타이머 수정" msgid "Structure" msgstr "구조물" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "사이노 비컨(Cyno Beacon)" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "사이노 재머(Cyno Jammer)" diff --git a/allianceauth/locale/nl_NL/LC_MESSAGES/django.po b/allianceauth/locale/nl_NL/LC_MESSAGES/django.po index 724b91f7..fbc57aa7 100644 --- a/allianceauth/locale/nl_NL/LC_MESSAGES/django.po +++ b/allianceauth/locale/nl_NL/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Agent Fuse, 2024\n" "Language-Team: Dutch (Netherlands) (https://app.transifex.com/alliance-auth/teams/107430/nl_NL/)\n" @@ -62,70 +62,90 @@ msgstr "" "Je bent niet gemachtigd om de volgende beperkte groepen te verwijderen: %s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Engels" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Duits" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Spaans" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Vereenvoudigd Chinees" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Russisch" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Koreaans" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Frans" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Japans" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Italiaans" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Japans" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Koreaans" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Frans" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Russisch" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Oekraïens" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "Oekraïens" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Taal" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Nachtstand" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Thema" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "State gewijzigd naar: %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "De gebruikers staat is nu: %(state)s" @@ -2576,155 +2596,159 @@ msgstr "Belangrijk" msgid "Corp-Restricted" msgstr "" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "Vriendelijk" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "Vijandig" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "Neutraal" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "Astrahus" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "Fortizar" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "Keepstar" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "Raitaru" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "Sotiyo" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "Sotiyo" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "Athanor" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "Tatara" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "Ansiblex Jump Gate" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "Maan mijn Cyclus" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "Andere" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "Niet gespecifieerd" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "Schild" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "Pantser" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "Romp" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "Laatste" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "Ankeren" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "ontankeren" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2774,11 +2798,11 @@ msgstr "" msgid "Structure" msgstr "Constructie" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "Cyno Jammer" diff --git a/allianceauth/locale/pl_PL/LC_MESSAGES/django.po b/allianceauth/locale/pl_PL/LC_MESSAGES/django.po index 2a55917d..f297a358 100644 --- a/allianceauth/locale/pl_PL/LC_MESSAGES/django.po +++ b/allianceauth/locale/pl_PL/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: MisBimbrownik, 2024\n" "Language-Team: Polish (Poland) (https://app.transifex.com/alliance-auth/teams/107430/pl_PL/)\n" @@ -63,70 +63,90 @@ msgstr "" "%s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Angielski" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Niemiecki" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Hiszpański" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Chiński uproszczony" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Rosyjski" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Koreański" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Francuski" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Japoński" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Włoski" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Japoński" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Koreański" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Francuski" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Rosyjski" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Ukraiński" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "Ukraiński" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Język" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Tryb nocny" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Styl" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "Stan został zmieniony na: %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Stan twojego użytkownika to: %(state)s" @@ -2630,155 +2650,159 @@ msgstr "Ważny" msgid "Corp-Restricted" msgstr "Wewnętrzny dla Korporacji" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "Przyjaciel" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "Wróg" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "Neutralny" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "POCO" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "I-HUB" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "TCU" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "POS (Mały)" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "POS (Średni)" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "POS (Duży)" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "Astrahus" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "Fortizar" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "Keepstar" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "Raitaru" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "Azbel" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "Sotiyo" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "Athanor" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "Tatara" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "Ansiblex Jump Gate" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "Cykl Koparki Księżycowej" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "Inny" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "Nie określono" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "Pole siłowe" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "Armor" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "Struktura" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "Ostateczny" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "Kotwiczenie" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "Usunięcie kotwiczenia" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2828,11 +2852,11 @@ msgstr "Zaktualizuj Zdarzenie powiązane z Obiektami" msgid "Structure" msgstr "Obiekt" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "Cyno Beacon" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "Cyno Jammer" diff --git a/allianceauth/locale/ru/LC_MESSAGES/django.po b/allianceauth/locale/ru/LC_MESSAGES/django.po index 203c356a..894de4ad 100644 --- a/allianceauth/locale/ru/LC_MESSAGES/django.po +++ b/allianceauth/locale/ru/LC_MESSAGES/django.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Joel Falknau , 2024\n" "Language-Team: Russian (https://app.transifex.com/alliance-auth/teams/107430/ru/)\n" @@ -58,70 +58,90 @@ msgid "You are not allowed to add or remove these restricted groups: %s" msgstr "Вам не разрешено добавлять или удалять эти ограниченные группы: %s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Английский" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Немецкий" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Испанский" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Китайский упрощённый" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Русский" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Корейский" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Французский" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Японский" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Итальянский" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Японский" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Корейский" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Французский" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Русский" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Украинский" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "Украинский" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Язык" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Ночной режим" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "Статус изменен: %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Статус пилота: %(state)s" @@ -2614,155 +2634,159 @@ msgstr "Важно" msgid "Corp-Restricted" msgstr "Корпорация зарегистрированна" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "Дружественный" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "Вражеский" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "Нейтрал" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "Прочие" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "Не указано" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "Щит" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "Броня" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "Структура" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "Финальный" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "Постановка на якорь" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "Снятие с якоря" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2812,11 +2836,11 @@ msgstr "Обновить Структурный Таймер" msgid "Structure" msgstr "Структура" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "" diff --git a/allianceauth/locale/uk/LC_MESSAGES/django.po b/allianceauth/locale/uk/LC_MESSAGES/django.po index 1e27ce0e..bab28086 100644 --- a/allianceauth/locale/uk/LC_MESSAGES/django.po +++ b/allianceauth/locale/uk/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Andrii Yukhymchak, 2024\n" "Language-Team: Ukrainian (https://app.transifex.com/alliance-auth/teams/107430/uk/)\n" @@ -61,70 +61,90 @@ msgid "You are not allowed to add or remove these restricted groups: %s" msgstr "Вам заборонено додавати або видаляти ці обмежені групи: %s" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "Англійська" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "Німецька" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "Іспанська" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "Китайська спрощена" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "Російська" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "Корейська" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "Французька" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "Японська" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "Італійська" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "Японська" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "Корейська" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "Французька" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "Російська" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" -msgstr "Українська" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" +msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "Українська" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "Мова" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "Нічний режим" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "Тема" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "Стан змінено на: %s" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "Стан вашого користувача зараз: %(state)s" @@ -2638,155 +2658,159 @@ msgstr "Важливо" msgid "Corp-Restricted" msgstr "Обмежено для корпорації" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "Дружній" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "Ворожий" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "Нейтральний" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "POCO" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "I-HUB" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "TCU" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "POS [S]" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "POS [M]" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "POS [L]" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "Астрахус" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "Фортізар" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "Кіпстар" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "Райтару" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "Азбел" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "Сотійо" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "Атанор" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "Татара" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "Мост Ансіблекс" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "Цикл видобутку супутника" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "Інше" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "Не визначено" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "Щит" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "Броня" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "Корпус" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "Фінальна" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "Постановка на якір" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "Зняття з якорю" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2836,11 +2860,11 @@ msgstr "Оновити таймер структури" msgid "Structure" msgstr "Структура" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "Циномаяк" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "Циноглушник" diff --git a/allianceauth/locale/zh_Hans/LC_MESSAGES/django.po b/allianceauth/locale/zh_Hans/LC_MESSAGES/django.po index 5f77094f..5dd890c4 100644 --- a/allianceauth/locale/zh_Hans/LC_MESSAGES/django.po +++ b/allianceauth/locale/zh_Hans/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-09 13:05+1000\n" +"POT-Creation-Date: 2024-09-13 19:57+1000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n" "Last-Translator: Joel Falknau , 2023\n" "Language-Team: Chinese Simplified (https://app.transifex.com/alliance-auth/teams/107430/zh-Hans/)\n" @@ -55,70 +55,90 @@ msgid "You are not allowed to add or remove these restricted groups: %s" msgstr "" #: allianceauth/authentication/models.py:71 +#: allianceauth/project_template/project_name/settings/base.py:99 msgid "English" msgstr "英语" #: allianceauth/authentication/models.py:72 +msgid "Czech" +msgstr "" + +#: allianceauth/authentication/models.py:73 +#: allianceauth/project_template/project_name/settings/base.py:101 msgid "German" msgstr "德语" -#: allianceauth/authentication/models.py:73 +#: allianceauth/authentication/models.py:74 +#: allianceauth/project_template/project_name/settings/base.py:102 msgid "Spanish" msgstr "西班牙语" -#: allianceauth/authentication/models.py:74 -msgid "Chinese Simplified" -msgstr "简体中文" - #: allianceauth/authentication/models.py:75 -msgid "Russian" -msgstr "俄语" - -#: allianceauth/authentication/models.py:76 -msgid "Korean" -msgstr "韩语" - -#: allianceauth/authentication/models.py:77 -msgid "French" -msgstr "法语" - -#: allianceauth/authentication/models.py:78 -msgid "Japanese" -msgstr "日语" - -#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:103 msgid "Italian" msgstr "意大利语" +#: allianceauth/authentication/models.py:76 +#: allianceauth/project_template/project_name/settings/base.py:104 +msgid "Japanese" +msgstr "日语" + +#: allianceauth/authentication/models.py:77 +#: allianceauth/project_template/project_name/settings/base.py:105 +msgid "Korean" +msgstr "韩语" + +#: allianceauth/authentication/models.py:78 +#: allianceauth/project_template/project_name/settings/base.py:106 +msgid "French" +msgstr "法语" + +#: allianceauth/authentication/models.py:79 +#: allianceauth/project_template/project_name/settings/base.py:109 +msgid "Russian" +msgstr "俄语" + #: allianceauth/authentication/models.py:80 -msgid "Ukrainian" +#: allianceauth/project_template/project_name/settings/base.py:107 +msgid "Dutch" msgstr "" #: allianceauth/authentication/models.py:81 +#: allianceauth/project_template/project_name/settings/base.py:108 msgid "Polish" msgstr "" -#: allianceauth/authentication/models.py:97 +#: allianceauth/authentication/models.py:82 +#: allianceauth/project_template/project_name/settings/base.py:110 +msgid "Ukrainian" +msgstr "" + +#: allianceauth/authentication/models.py:83 +#: allianceauth/project_template/project_name/settings/base.py:111 +msgid "Simplified Chinese" +msgstr "" + +#: allianceauth/authentication/models.py:99 #: allianceauth/menu/templates/menu/menu-user.html:42 msgid "Language" msgstr "语言" -#: allianceauth/authentication/models.py:102 +#: allianceauth/authentication/models.py:104 #: allianceauth/templates/allianceauth/night-toggle.html:6 msgid "Night Mode" msgstr "夜间模式" -#: allianceauth/authentication/models.py:106 +#: allianceauth/authentication/models.py:108 #: allianceauth/menu/templates/menu/menu-user.html:46 msgid "Theme" msgstr "" -#: allianceauth/authentication/models.py:123 +#: allianceauth/authentication/models.py:125 #, python-format msgid "State changed to: %s" msgstr "" -#: allianceauth/authentication/models.py:124 +#: allianceauth/authentication/models.py:126 #, python-format msgid "Your user's state is now: %(state)s" msgstr "" @@ -2552,155 +2572,159 @@ msgstr "重要信息" msgid "Corp-Restricted" msgstr "受限制的公司" -#: allianceauth/timerboard/models.py:13 +#: allianceauth/timerboard/models.py:15 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:39 #: allianceauth/timerboard/templates/timerboard/timertable.html:36 msgid "Friendly" msgstr "蓝加" -#: allianceauth/timerboard/models.py:14 +#: allianceauth/timerboard/models.py:16 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:34 #: allianceauth/timerboard/templates/timerboard/timertable.html:34 msgid "Hostile" msgstr "红减" -#: allianceauth/timerboard/models.py:15 +#: allianceauth/timerboard/models.py:17 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:44 #: allianceauth/timerboard/templates/timerboard/timertable.html:38 msgid "Neutral" msgstr "白名" -#: allianceauth/timerboard/models.py:18 +#: allianceauth/timerboard/models.py:24 #: allianceauth/timerboard/templates/timerboard/timertable.html:48 msgid "POCO" msgstr "" -#: allianceauth/timerboard/models.py:19 +#: allianceauth/timerboard/models.py:25 #: allianceauth/timerboard/templates/timerboard/timertable.html:50 msgid "Orbital Skyhook" msgstr "" -#: allianceauth/timerboard/models.py:20 +#: allianceauth/timerboard/models.py:26 #: allianceauth/timerboard/templates/timerboard/timertable.html:52 msgid "I-HUB" msgstr "" -#: allianceauth/timerboard/models.py:21 -#: allianceauth/timerboard/templates/timerboard/timertable.html:54 +#: allianceauth/timerboard/models.py:27 +#: allianceauth/timerboard/templates/timerboard/timertable.html:55 msgid "TCU" msgstr "" -#: allianceauth/timerboard/models.py:22 -#: allianceauth/timerboard/templates/timerboard/timertable.html:56 +#: allianceauth/timerboard/models.py:28 +#: allianceauth/timerboard/templates/timerboard/timertable.html:57 msgid "POS [S]" msgstr "" -#: allianceauth/timerboard/models.py:23 -#: allianceauth/timerboard/templates/timerboard/timertable.html:58 +#: allianceauth/timerboard/models.py:29 +#: allianceauth/timerboard/templates/timerboard/timertable.html:59 msgid "POS [M]" msgstr "" -#: allianceauth/timerboard/models.py:24 -#: allianceauth/timerboard/templates/timerboard/timertable.html:60 +#: allianceauth/timerboard/models.py:30 +#: allianceauth/timerboard/templates/timerboard/timertable.html:61 msgid "POS [L]" msgstr "" -#: allianceauth/timerboard/models.py:25 -#: allianceauth/timerboard/templates/timerboard/timertable.html:62 +#: allianceauth/timerboard/models.py:31 +#: allianceauth/timerboard/templates/timerboard/timertable.html:63 msgid "Astrahus" msgstr "" -#: allianceauth/timerboard/models.py:26 -#: allianceauth/timerboard/templates/timerboard/timertable.html:64 +#: allianceauth/timerboard/models.py:32 +#: allianceauth/timerboard/templates/timerboard/timertable.html:65 msgid "Fortizar" msgstr "" -#: allianceauth/timerboard/models.py:27 -#: allianceauth/timerboard/templates/timerboard/timertable.html:66 +#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/templates/timerboard/timertable.html:67 msgid "Keepstar" msgstr "" -#: allianceauth/timerboard/models.py:28 -#: allianceauth/timerboard/templates/timerboard/timertable.html:68 +#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/templates/timerboard/timertable.html:69 msgid "Raitaru" msgstr "" -#: allianceauth/timerboard/models.py:29 -#: allianceauth/timerboard/templates/timerboard/timertable.html:70 +#: allianceauth/timerboard/models.py:35 +#: allianceauth/timerboard/templates/timerboard/timertable.html:71 msgid "Azbel" msgstr "" -#: allianceauth/timerboard/models.py:30 -#: allianceauth/timerboard/templates/timerboard/timertable.html:72 +#: allianceauth/timerboard/models.py:36 +#: allianceauth/timerboard/templates/timerboard/timertable.html:73 msgid "Sotiyo" msgstr "" -#: allianceauth/timerboard/models.py:31 -#: allianceauth/timerboard/templates/timerboard/timertable.html:74 +#: allianceauth/timerboard/models.py:37 +#: allianceauth/timerboard/templates/timerboard/timertable.html:75 msgid "Athanor" msgstr "" -#: allianceauth/timerboard/models.py:32 -#: allianceauth/timerboard/templates/timerboard/timertable.html:76 +#: allianceauth/timerboard/models.py:38 +#: allianceauth/timerboard/templates/timerboard/timertable.html:77 msgid "Tatara" msgstr "" -#: allianceauth/timerboard/models.py:33 +#: allianceauth/timerboard/models.py:39 msgid "Pharolux Cyno Beacon" msgstr "" -#: allianceauth/timerboard/models.py:34 +#: allianceauth/timerboard/models.py:40 msgid "Tenebrex Cyno Jammer" msgstr "" -#: allianceauth/timerboard/models.py:35 -#: allianceauth/timerboard/templates/timerboard/timertable.html:82 +#: allianceauth/timerboard/models.py:41 +#: allianceauth/timerboard/templates/timerboard/timertable.html:83 msgid "Ansiblex Jump Gate" msgstr "" -#: allianceauth/timerboard/models.py:36 -#: allianceauth/timerboard/templates/timerboard/timertable.html:84 +#: allianceauth/timerboard/models.py:42 +#: allianceauth/timerboard/templates/timerboard/timertable.html:85 msgid "Moon Mining Cycle" msgstr "" -#: allianceauth/timerboard/models.py:37 -#: allianceauth/timerboard/templates/timerboard/timertable.html:86 +#: allianceauth/timerboard/models.py:43 +#: allianceauth/timerboard/templates/timerboard/timertable.html:87 msgid "Metenox Moon Drill" msgstr "" -#: allianceauth/timerboard/models.py:38 -#: allianceauth/timerboard/templates/timerboard/timertable.html:88 +#: allianceauth/timerboard/models.py:44 +#: allianceauth/timerboard/templates/timerboard/timertable.html:89 msgid "Other" msgstr "其他" -#: allianceauth/timerboard/models.py:45 +#: allianceauth/timerboard/models.py:51 msgid "Not Specified" msgstr "" -#: allianceauth/timerboard/models.py:46 +#: allianceauth/timerboard/models.py:52 msgid "Shield" msgstr "护盾" -#: allianceauth/timerboard/models.py:47 +#: allianceauth/timerboard/models.py:53 msgid "Armor" msgstr "装甲" -#: allianceauth/timerboard/models.py:48 +#: allianceauth/timerboard/models.py:54 msgid "Hull" msgstr "结构" -#: allianceauth/timerboard/models.py:49 +#: allianceauth/timerboard/models.py:55 msgid "Final" msgstr "" -#: allianceauth/timerboard/models.py:50 +#: allianceauth/timerboard/models.py:56 msgid "Anchoring" msgstr "铆钉" -#: allianceauth/timerboard/models.py:51 +#: allianceauth/timerboard/models.py:57 msgid "Unanchoring" msgstr "解锚" +#: allianceauth/timerboard/models.py:58 +msgid "Abandoned" +msgstr "" + #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:7 #: allianceauth/timerboard/templates/timerboard/view.html:53 msgid "Upcoming Timers" @@ -2750,11 +2774,11 @@ msgstr "更新建筑时间表" msgid "Structure" msgstr "建筑" -#: allianceauth/timerboard/templates/timerboard/timertable.html:78 +#: allianceauth/timerboard/templates/timerboard/timertable.html:79 msgid "Cyno Beacon" msgstr "" -#: allianceauth/timerboard/templates/timerboard/timertable.html:80 +#: allianceauth/timerboard/templates/timerboard/timertable.html:81 msgid "Cyno Jammer" msgstr "" From 69aaa9652f3ef9f6f1ea3a4930dddedec5205b5f Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Fri, 13 Sep 2024 20:09:46 +1000 Subject: [PATCH 32/33] compilemessages --- .../locale/cs_CZ/LC_MESSAGES/django.mo | Bin 7285 -> 7223 bytes allianceauth/locale/de/LC_MESSAGES/django.mo | Bin 45638 -> 45580 bytes allianceauth/locale/es/LC_MESSAGES/django.mo | Bin 35108 -> 35054 bytes .../locale/fr_FR/LC_MESSAGES/django.mo | Bin 46089 -> 46279 bytes .../locale/it_IT/LC_MESSAGES/django.mo | Bin 44558 -> 44503 bytes allianceauth/locale/ja/LC_MESSAGES/django.mo | Bin 49616 -> 49561 bytes .../locale/ko_KR/LC_MESSAGES/django.mo | Bin 46390 -> 46345 bytes .../locale/nl_NL/LC_MESSAGES/django.mo | Bin 17313 -> 17256 bytes .../locale/pl_PL/LC_MESSAGES/django.mo | Bin 45885 -> 45829 bytes allianceauth/locale/ru/LC_MESSAGES/django.mo | Bin 45765 -> 45690 bytes allianceauth/locale/uk/LC_MESSAGES/django.mo | Bin 57333 -> 57262 bytes .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 26591 -> 26543 bytes 12 files changed, 0 insertions(+), 0 deletions(-) diff --git a/allianceauth/locale/cs_CZ/LC_MESSAGES/django.mo b/allianceauth/locale/cs_CZ/LC_MESSAGES/django.mo index ff7c775a60ec35c759c59763b8a9b00d4bea607d..001428d6d95dc0cf65709bf8203082412a5e7c07 100644 GIT binary patch delta 2109 zcmX}tYiO5M9Ki82=k&kn%z4e!X)V|G*K{u3*1XKwti0>;TGLJ13tzOLL*gyoSM5%R!${SvSBJc((UQmow!a?;$9Q6JEch=$gJ)d))J|vm6EVuj4xv^1aH5o?LU;*Fu`jk@K5oP(uoe5^4jhB+$Ptcl^1gG}A1~ul zyo269H8;~=5^AY%gteT8;CdW^n=lV|V0#BwY~XR>Q<=bpMx2D((A58k4&-d~0y@B( z$Pw;xasZF95c{#Uoq0N1jV{f+*lvivg^VeDfVqDE+o{;$esm^>(9Lxe?dV%{M!%sQ z-a?n?A-Z(gPjm)?!{D_t;ss(V zv5aUUEK3MyIo?JrZcNJ@!Zmh7zCk$aY+?nmfaob>skpbyLJeUdITZ4+I8*6PsXKf| zY`a$O)COWQ;dfm^tR$W$EF|dv;-2Y6@S$W%b=1A$M(!!gsmvp06Kh-t*Theyr?}RB za#P|3|M@f$uM_OK%x;HFaX&02DhM~58}(Jf;_rvc>Jk?bbBTIlK4Do+lv>H`R;;o? f8Am)z_(ykYIWeoFH1$bV$C=#LypHA}1*!i4G61E{ delta 2170 zcmXxleQ1?c9Ki82-E_|8UanbM>aD3wbG~KUoip=VvzBSiZCRSy;x3)oHOPSlaRVDx zAQ)wVQm~8yBck?4AO%fZgZA zE@TSdRTm!(v`*qmV&23M4&vfT9B7%+5N^UooQ#iQIrd@&K8sWF1kS}bkx%%DgV&AV zC3p^7@elO+<|)Z|h0scePsnqajt6ii9>y|!4Xg2OY`{S*#(&WVP2i#`oQ4jR#%Wj= zU5zHb0r`YB4&)GaU~wpfu#1j2?!^*(1ihhvUU&$b@d&QQFVUH&7~T77(EFAlKZSZs zVHVe52U^VMqQ`L-=PzT5@xyy`7U3sYga4ojqUhoB4;;-ZP-y_uyzr^zk=zxx9;wf~%HE04G zIhgo1ycBcDE#XmY#6##_87QazCh!Aa_<&KgG=Jd|O!4I=T!$v~40`?Z=w5jVtxSLP z6gtBJtj8fdjTg~M46traCp|9n7o$g_gS<; zEw}=6=!{;7_936}dOUw09e6l;7JbgoNKr!JcRH?B5ewxHWk~fyHCoCvI->>Xbt}*c zG~s%D94Sf|LLWGSKIf-+{u{biE~0-&s%DH`*MTHn2st{=D38wgDO`*%;!+$&m*8(S zkrKA9R-p;bMt%x4XacKn4z{2(-yJ=GF42?m{8%FEf07Q#g;QuLKSl>Ui_YXnbd&vx z4)iBFqp6pV4LAo)ybfK$Y&`Eo6X-#o*NcvGB%Z&D4U8Y&qB9#u(GpMQ&mY}TiC5r4 zT!PKG6ZfN=?{jpXf z@mn;3CU&AT*@L_c$zQ{3knut-VQVK$avgC8VY`vImPivelQSV&A$h;;-9s!TR(V2O zPOK#Ai4MYlP_|aWS-D5Xn^m*9AzfoP8 zMzY4Y(r=9C3vfQ+uJ_ftj>z`UEPcADYIk?O>*20+Tla$x?d^V`yDQhJ01*48~; hx%|Fd&tP9y{!Cx`gTrUu$Pf1I@6LDj&!1jh`ajp6wy^*J diff --git a/allianceauth/locale/de/LC_MESSAGES/django.mo b/allianceauth/locale/de/LC_MESSAGES/django.mo index 8d8f650cc104813c495e89391a8efda01d86ccbc..4d50f2b8385b929db945bf77dda2552857d611b5 100644 GIT binary patch delta 12700 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 f$@+sUm$by0<0aodExy2ed-asalgFQRVHc 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 diff --git a/allianceauth/locale/fr_FR/LC_MESSAGES/django.mo b/allianceauth/locale/fr_FR/LC_MESSAGES/django.mo index 7a675c640a2ec5a2355cef354d8fe3a43edcea9e..f1769757ba85d0930d3eb6f211879f398107f576 100644 GIT binary patch delta 11963 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 delta 12391 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 delta 12519 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 delta 12509 zcmYk?3w)2||HturW5YHZn;neJhMB|0Fy}Kdr*clR5IN^iNTI$tg_OyZLz+`VBt_^j zrjUNsPsdS`LkA7{krHy~_j-S?kH@3?@xOXrpX<8r>$>jiy6$_k|8K#$z+LA8eJ3JI zzUXmv4)narm>ubPQ6)TYRdtnmUU7!!jl;93`u_DjF9|2(Abb(;$3L+R_GsXF!I*<( z@FnbkYp@*tjFET+!#&UEm2T*6h{a4Q60terTZaVt3REx-HXOQHNjh`nTNAHnrJer!@5`!GcgpKS$#)Tzr9iSXQR%@IP8TBTd@A4$^1Zp_AaZX z>tG;OBp!*CaVDyxJbV;4VH{R!<#`n_6V<*8>dXv7O>{i!fo5VF=Ac%p0QG{M^O31V zCZe_5<7TKQnuvOh9zzZMBx>hLT=EoHvB3w7Tii;r1+9@YLfs=w&AuAi!?^7@#h z_rEilR0>9;p6~^81!`hzQ8V6Q7NS<b5Mt8J?j4VQHSd=Y62&)B%Vi2 zH%+}?ho$B`s=kxWE6GK6m_^dqdFRZ+S?JRLpT|=0<$e%j@p8as4d%$I$Zxn z_4708wZ4M7zf33BJ`S}d)jF~Mnn^thw0BvUj3ZGWhy}W5;!PZdC%d?TI(KC-;(i#6#i+OHqUj6h=Du7}s0QiS8#A#K&O>cY4wl5#sENLc z+RM!tif^ON&OR)_BUl@AySoqDUgYcTT|uox#@(!%-v7R2G|)?^3FM(xARkNPF4Vw< zSQZbU2K)-OawkyjE~6%N1GQ2?_jq0dtbjVCS*ZT+N40+t!}R`-u?ADIEEUh9CbS&& zq-!u7H=sJ$iJDLWY62f%2o|B*pF$0I2G#yLs$Z{%>n9xbfC-BA{?{d=8(X0cV+U2> zK#agKsMl^9>c$nAhMO@RkD?B3P*1n#si+6Y#8g0 z-Pwor*NulMh{9sjUfnc9`no5HL#;qni&If6QQvHfdZHc}h7(XLIsW zyDtSR5&K$@(UbQ_?cG>ZhmWE5a2Beg=P(-cP!oO|wNm?06Z;Z1fn%sA{tS-&Gh~^BBQ07fa*90{oesp$N5+T-@r^PLVZX=ST0ShBWmFOn1q8d6`#gB zxXJ3jK|R=U)PohH|L6Z@GBFf{4sa8widvESn1mfs6C8nBfoD(?TZQTz_1LQN#>ejbAJ=f#oHlT<@>&Q#|-2fgVj*|^u~K|Jo@w`d&sDxk5I46G1Q7&Lv;|5?Iu_m)vhk;FttZb zs6T4Y2caHdm^m4>0&`I-m51GM6KdQ)v)O+QaEpRi40*sUc~#Vsc0e`khU&O4cE{nU zfw!aDy^A`$AD|}onbn^*i*XF)7cIVjkekqhgIIqJJeC42*=*E6d8j4bh8k!uYD*4c z1Nh52G8gR9_8MWj)t-cU-#txz$@F?m_=qo0pLvszahrz?# zjiES&I2to>A?nEsP~ZNGSVQ#>@m0i@s3#nZT8Xi!t$h^z1DQGIYNyZJMn;FN5cLE{ zEIy4oJl9Y&ETnLgWE_V&J2@DH%TX(khuZ2lu{7t;`;?42 z`Udp`zo2IRJL-nps3#~l!tHGmYKy94Qyhres->uvD8ROO66;{nNcY36J8IykuoAAo z>5T8~B+~@zk8Ow)1XjbXSOUL9ZA}sCiA#@hD_P#GjKP$r znsreR*a&@E%JyW+U=}LwW!{TH!~;Qp6L?si^yW<{Z?-7N7=t9@T!Oxeh~! zH;-ZcCvuv1Qg9yyH6C_LkUHbtPtiuG z`p&2a7=U$gh?z5<^;gASYj6 zSeEz;)L}kh@m18J5AscP4JxBLsExI-1-8NAs1HUyYGUtMd;k-Ozr%WX6(cb95jW8$ zs58|Ebx0SY4($Qd8M=Y3&{vO>riSBC4f3%M9!G6S#w6zg)Jpw`nRphp$BC2O#HwN# zaT=DxW@cB^7j~e8`+ENukx8PW>s0$$fZEg9SOM3eo@h5}<{w-9Icl#@ zS@{jr76d--|INmWL>AHOjw`Vc)&Bk`T)$JWD&u?4lF7iWs69S`x}g}g$FrxoL$?-d z6CXmgyKLUX7~RgKijN)AF7|PFdZ+U-ljyBTMw!q`&xlfJ~BES6HqtIHP@p~^9QJg zhfxC*VIrPE9j2hCol&Uv$ygKXBB$Hyk7_?1RlXASGh#m`;~5_r4N!Wfd#xf+1KowX zu^;N~n2dT0R-t~Ve1@9vHPrnvvz!TLb+ZmOpuPcC!r@jv6SWe)`IcFNdZJaRCEtu1 zU_WX?r%?l4Ms2}$R0pB6oza*tfK4!clat{FUp%^0X~P(0sNKwS@(y9!3$kSw{So8q0hMiK1cO?1l8})sHMMd z^&!vm=N{tn&$IrT(IyIX!!}gB2ZQi{#h;*7;!9MAr|>*p!S;B1k^2`-^&EafCZ2@# z)eeVa1c^uXMd@PGOi&_6NWL~j~jaKo7S%4bw6Vz!wiR$1FEQfz%BMg1PeTdqj z`pZVO8-d#Maj4gCuElGu{#_p#-LMZeqfe~jTk|C9^*LkpH&N|FmbhO)Dqt9KCTfE1 zQ2q3?co=G;Q_=tASe`fs)y}up8f?Rw6zoHt>a*AyyAW^rhj1o_;8s+J@8EY> zh?>}nrOx%}Z-@SNSVHZv0`A8Yz5m~m(bC*THH?4J?R7Hhi@TjoxEW3wMtpnS5qz{>Nm3gvq+ z7JtB0yn;HU3CrEY(@+Cvn>nZz{t%<^JO=Ci|A&m8Ab5p)(h3+sTnS^aj@ce-5D!4D z$kXOL)EQWWrSN5Qy}1STvt$Q8iC>|{>$#HkSBHbh)WW%_j<%s@UVvJvi>O0X_GP#9 ziKvOyLY22gb=b=sY>q<>JRQ|;rMU&Qg#|CO{<`rH1+oY$;ZN4!AJmhEta49Q9;1mX zqRQ)`mb9_OgHcO6!s2PzhTn_IaIHqQ zdkx#*5!6b>4?$MI=glRfC0>Vmopxb79yZUS zCRB30GZgitk*E(!b*zFlQ4{HmL-1aUcbf-Muk+Waaf&fm@4xq|>$ntZZ^Cggrl1De zg?fUI(SJy>8u3r4*R52(yFUWw631A)3Uvn7qgHAw>cKumJ@6T+@&6{HCk)@%1SVSi6l!Ag%@tUicr$9Ri%?r| z0k!m@Z@3kz@&@alOhI!BRFRF^+li>9UW$5xJk$Vhp_cYT)O-H}hGDsFu6+XPkfmZG zw#2eH5Ox1(i>I0MeU^F2d=<5~+p#t7!j^aiHDH4`-Ir`QjwF5_Rel9iu;yFt19cD9 zBA$**F(12Q^X=}7I1isA_U$2~8F$^mQ{!OF!Y@!u827fDPzTg|orPMNiKxRl&76zc z+r{QGEJvJY@ix?byDZ-4^m&J@;IK6)viPLMXDq&C@l}fhcDjj`Mhz5(nm~eC9W}u^ z$XWLPwQ1NQuxP5m z8<2Ed?_8gdDQj&mV@1`IFIxlsX1N$jAuyc)XgL5`h~b1N#B#Yqyvp>~pA)kxEGXV!@I{YjN}J%rnJeM&sXW&QtcNqI@iUM9Us zx^rcd(f`y<*QcZ+tGh`4M^Yz?d*h&g-KTf$Uea>P4g~mrY`A{~rctQtX)0>dvEKGU zq-2u5sj)WL66)KNej`0f`7u&F`8!t*`9=SVpCsSJ;)gJdw2!1C9;xv&>G(~8I;5-C z3tuDuzoplpK4WEQ!>85%*Cg;7T8Dq*VkH%F{fG1f>2AsvkYT6s59<#KWMg4y*UzU6H zE6*yD#`k_D-ACF?x|^gcnMR>Fkkpp^2peD)-cQ*D(ri+HE8l}-h}+Rt*MEpp$v=u4 zNc@cV|Ao2@`D>)-iO1a8|Az>oX*`t*T@mEl;2~0V%HAghlBN;=L+W7d^fR_GZC|3S zjFtTt(<#$cmDG{^Sjt9|uR#87@?ViZiqrkiPezx%`udVju=q(8{_A>y^4G0S#Z~F7 zD)DoqXNZqk-FxI8R0FPxR@RKR-hOS9guKdTOr*sBBSHu-dinoS4 zXy`r`?tdUtNZtQP=SlZbcbB!xAYYIC7A!|PPx|*YlDH=6HBu?Nrz!c{q0kJNgpQWXtu3n@+NG}oRtH7>Q980o$yzj}+r%eY6{v`ha`8A|k#E%gl zBEO%sfc&p`=X#iYJA&V_n6yFT^DBz~ca}}auQA?HQX(B~qJjQS^)qot(&OZH9d~%w z%}bOwrTsqQ&E!)_jjXMj+)I8w=Hv6EaPn!if06vKfZVF-k-jq&)gYXNtx(rwj3w=K zq4$)PYr|@hp0)Bj^d{4tH1|$B@9@xH6bVT%eb`BR$%8g}OILnUpUf z<&iHzeRsS`nn~F@Y>0jEC+tFML7N76=juycYf=T0u9FULrN#X$9%6A#?#~Y3H~t5$ z;9(j}CiNpO&2J4+zR$_cB(W+|3keZNQ zCw)Wunlys6pQLLSsWI($k)p}B;rE0z8j zr5}-!Y_#{tSD~^ccEj1ID~kHu+~kbdlpB;Rb%p-_R;1pF diff --git a/allianceauth/locale/nl_NL/LC_MESSAGES/django.mo b/allianceauth/locale/nl_NL/LC_MESSAGES/django.mo index e814def9226a0e70db90c8a6ff6fa5dd217e04d1..f2b70d5c3954bc8f034a7c278624ea36d8c2954e 100644 GIT binary patch delta 6071 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 IjoIP<1F!f&Y5)KL delta 6127 zcmYk=33yFs9>?*Mh$TWI35nEFDpFcPVqaouES;zjODt7e6GRdF+Uc>Ev5RfgQq^Ek zOPN+w5lctOXpJ>h%Zvskm@%#BpyvC#_n+r+p8oQA-}j#LZs(kP+uok-v*AM@_iBjW za)+aWkKXoFYh?Ta18q6WQ@m|SO!mE2k zas-Rud27!_P3#7iVtnTz1P4o_G;tx^%J;6p;ltI)UhpuMYj)Er80lCdi57g~XM-4CywZdhnt=nMjyUe53 zegQRbo_P<|@2{p$CGSK^qs9%d#QtjwE7}LIp$4drT1h-=r3qH=j_R-vYM>#gm5fBK zaFW$$nDbFPw;ZeCR@A_!Q42a-iT&5sU8g}E-b8hHAIo6@`eNzIj?)&)U~^1H?NkP8 zhqj>})`O^yPooC9jGq3@o2cvZQ495Rd8D<%P}I|08TrSF>~y`ZCbfvDCk6=s@@Yzpk^41>ZmemB~hpj zYFRx7we^iq*C(J>n1tHeeyEj?u)2%tXCdkqEJM%xzny{x%0k_WY^&#>cIF)F!kcEk zwLe52Y{%~v??YAK-3q^P-}P1*{BIFu=+}KotcS6`Fy)Bs72v(Y>3ye z8HT;eFBf*ffj(?w4e!7cYkDtqQ4iNFb20i;{|MD_CThal&<_uwKW5`NJcZgJw>3{j zF$x_~JJAjG-VeZ%I11I#`>2i|p;sMl<~eLfSl^~*65*P~W?4E4U}ptkxN>bx7M>+fLz zK0!^ecwO&KhoGwqD^O5J(e^<@tG7gT)E?DQ5(Z&E)XLIPD;;m`@1xF}kGgI(4#H0{ z6$4_tpN~Sl|85NXuY10phA`ZM?pSk#24V;NlFQqYC#?1ZhT3-_U3qa&yRzO&CS+UI$w9e99R*<;i~ zo}sojq`vnS#i9mkf|^KzwRc8c@AjY&LZLtE#4*?bXJU8!9`%$*HSiA53bg~>QRkfj!h#Yda;Uk*EpRw|Yy|&UM0Y?2cNF_~@T0DKToN@<1ZqN2s4t`#R6h-{2DZaUOmD*eYv5%x=$>sxb-c&iXYF63 zw)k7rPJEBan1_08n>XdQU?OUw6Hyabg&KGxYJz)F=N~oCH)a2M3Y}XtM4&&vy;?yv zvo5NmIMkNDiMmyZX0mRH*1yl74~c0#v+f-Y>&bhW}n z)QR0t?J4Gas1=Sz?Z7;1&p@qsHEKee?DL)W`Io4E4`LJ^L;i8@@`u;nb!zgTIcI1X zj+6KqZrRd1a8@htg@;i)^9`26GpGsPLUmk#n!q#Ev*X{|dww9!qaI=POw>;9LOm1v zF-Y(KDf{3u>S4^Y`eV-teD}ZMedSqP| zpuWVW5#C;`znWD-==3h-ZN!hVFR4R0&py|~r$bx2fwWhJL$~n7<0mTFM6X@p zF_pp=a)Vx{xsCUzmfw)$G^yOa*#YCg~x3QO{`Lm>v~bEZ~|FLHjyzz$9mFA1&&dqJm)^e+G^kkAisJ_ z-apgfTdViPGMv8vb4X?KH7V-D_+L>7;KM2SKGCZ*j!Yzl#|R3gI7i2CWH^biy4srQ z4@V3sK_-(Sq$|;Jk>q>&Rp!DIz#K=jR}6$it%)IyH5~`1ElpX@gU$ P#OtioF?%k@EC~KT8s}l3 diff --git a/allianceauth/locale/pl_PL/LC_MESSAGES/django.mo b/allianceauth/locale/pl_PL/LC_MESSAGES/django.mo index d905007600a0cc0052c1a4151fda6b9317782255..64a3fecb1497c81a89f13b07474ac07d7de6e167 100644 GIT binary patch delta 12465 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 E2YWRbC;$Ke delta 12520 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 CjPelx delta 10497 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 delta 12534 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 bGa>tE&iL#jIn%TEWFOAnu{(0gv~K?gF7|}_ diff --git a/allianceauth/locale/zh_Hans/LC_MESSAGES/django.mo b/allianceauth/locale/zh_Hans/LC_MESSAGES/django.mo index 702b790922741ba29f55300f918a517f35a9af6b..671097b66d80234f5ad985136bef744d3f2cbac4 100644 GIT binary patch delta 8523 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 R&um(Au3*l(qusxX{4bo5l;r>b From 42ee06470c3941d276e49aab8daf59925eca7feb Mon Sep 17 00:00:00 2001 From: Joel Falknau Date: Fri, 13 Sep 2024 20:22:31 +1000 Subject: [PATCH 33/33] Version Bump 4.3.1 --- allianceauth/__init__.py | 2 +- docker/.env.example | 2 +- docker/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/allianceauth/__init__.py b/allianceauth/__init__.py index 71615843..91b57af5 100644 --- a/allianceauth/__init__.py +++ b/allianceauth/__init__.py @@ -5,7 +5,7 @@ manage online service access. # This will make sure the app is always imported when # Django starts so that shared_task will use this app. -__version__ = '4.3.0' +__version__ = '4.3.1' __title__ = 'Alliance Auth' __url__ = 'https://gitlab.com/allianceauth/allianceauth' NAME = f'{__title__} v{__version__}' diff --git a/docker/.env.example b/docker/.env.example index c03bde36..75d9da3f 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -1,7 +1,7 @@ PROTOCOL=https:// AUTH_SUBDOMAIN=%AUTH_SUBDOMAIN% DOMAIN=%DOMAIN% -AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.3.0 +AA_DOCKER_TAG=registry.gitlab.com/allianceauth/allianceauth/auth:v4.3.1 # Nginx Proxy Manager PROXY_HTTP_PORT=80 diff --git a/docker/Dockerfile b/docker/Dockerfile index 4eaebbbf..61801557 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ FROM python:3.11-slim -ARG AUTH_VERSION=v4.3.0 +ARG AUTH_VERSION=v4.3.1 ARG AUTH_PACKAGE=allianceauth==${AUTH_VERSION} ENV AUTH_USER=allianceauth ENV AUTH_GROUP=allianceauth