Compare commits

...

23 Commits

Author SHA1 Message Date
Ariel Rin
32766ecb31 Merge branch 'translations_7f31a07ccd4e4a66b1dd7b6bc2dbddb5' into 'master'
Updates for project Alliance Auth

See merge request allianceauth/allianceauth!1699
2025-04-24 17:22:08 +00:00
Ariel Rin
7edb870028 Translate django.po in zh-Hans
69% of minimum 50% translated source file: 'django.po'
on 'zh-Hans'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-04-24 17:22:06 +00:00
Ariel Rin
b7ffe21c63 Translate django.po in zh-Hans
68% of minimum 50% translated source file: 'django.po'
on 'zh-Hans'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format
2025-04-24 16:11:34 +00:00
Ariel Rin
9dad53f763 Merge branch 'master' into 'master'
Switch the doc example to use group instead of chain for long running tasks

See merge request allianceauth/allianceauth!1703
2025-03-26 01:48:29 +00:00
Ariel Rin
2d57064a7a Merge branch 'supervisor-config-template-updates' into 'master'
[CHANGE] Update supervisor.conf template

See merge request allianceauth/allianceauth!1700
2025-03-26 01:47:58 +00:00
Ariel Rin
833d12cf66 Merge branch 'opengraph-template' into 'master'
[ADD] Opengraph Template

See merge request allianceauth/allianceauth!1701
2025-03-26 01:47:35 +00:00
Ariel Rin
7b56caa4cb Merge branch 'perms_fix' into 'master'
Use the mumble.view_connection_history perm not superuser for Mumble service statistics

See merge request allianceauth/allianceauth!1702
2025-03-26 01:47:12 +00:00
Ariel Rin
5752644122 Merge branch 'fix-logo-height' into 'master'
[FIX] `logo_height` variable name

See merge request allianceauth/allianceauth!1704
2025-03-26 01:46:12 +00:00
Ariel Rin
cadc0cb534 Merge branch 'page-header' into 'master'
[CHANGE] Wrap page header in `header` element

See merge request allianceauth/allianceauth!1705
2025-03-26 01:46:04 +00:00
Ariel Rin
dcdab5ae1f Merge branch 'fix-spelling' into 'master'
[FIX] Spelling (It's EVE time, not Eve time)

See merge request allianceauth/allianceauth!1706
2025-03-26 01:45:58 +00:00
Ariel Rin
d64e896288 Merge branch 'fix-scrollbar-positioning' into 'master'
[FIX] Scrollbar positioning in content area

See merge request allianceauth/allianceauth!1707
2025-03-26 01:45:38 +00:00
Peter Pfeufer
500d8ede32
[FIX] Scrollbar positioning in content area 2025-03-24 17:47:40 +01:00
Peter Pfeufer
f4c5c7f6db
[FIX] Spelling (It's EVE time, not Eve time) 2025-03-24 15:14:30 +01:00
Peter Pfeufer
43e1be4032
[CHANGE] Move margin class to header element 2025-03-24 14:49:51 +01:00
Peter Pfeufer
702def2a4d
[CHANGE] Wrap page header in header element 2025-03-24 13:34:11 +01:00
Peter Pfeufer
a34baf4154
[FIX] logo_height variable name 2025-03-22 17:37:10 +01:00
r0kym
4de0774f15 Switch the doc example to use group instead of chain for long running tasks 2025-03-20 18:47:19 +01:00
Aaron Kable
83d2dfc7d9 use the view_connection_history perm not superuser 2025-03-20 19:11:08 +08:00
Peter Pfeufer
c93afd2d68
[ADD] Site name and URL 2025-03-18 21:40:47 +01:00
Peter Pfeufer
b7bacd11af
[CHANGE] Bring public base templkate in line with the non-public version 2025-03-18 18:30:00 +01:00
Peter Pfeufer
f26835fae0
[ADD] Opengraph Template for easier override 2025-03-18 18:29:22 +01:00
Peter Pfeufer
4edb7cb678
[CHANGE] Assignment format to INI style
The supervisor.conf file uses INI style, so the format should reflect this.
2025-03-16 10:15:36 +01:00
Peter Pfeufer
2ce9ba997f
[CHANGE] Update supervisor.conf template
Use `%(program_name)s` variable for logfile names, which makes it easier to avoid possible copy/paste issues and mistakes.
2025-03-16 10:11:27 +01:00
22 changed files with 125 additions and 110 deletions

View File

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

View File

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

View File

@ -72,7 +72,7 @@
<tr> <tr>
<th class="text-center">{% translate "Fleet" %}</th> <th class="text-center">{% translate "Fleet" %}</th>
<th class="text-center">{% translate "Creator" %}</th> <th class="text-center">{% translate "Creator" %}</th>
<th class="text-center">{% translate "Eve Time" %}</th> <th class="text-center">{% translate "EVE time" %}</th>
<th class="text-center">{% translate "Duration" %}</th> <th class="text-center">{% translate "Duration" %}</th>
<th class="text-center">{% translate "Edit" %}</th> <th class="text-center">{% translate "Edit" %}</th>
</tr> </tr>

View File

@ -41,7 +41,7 @@
<th scope="col" class="text-center">{% translate "Character" %}</th> <th scope="col" class="text-center">{% translate "Character" %}</th>
<th scope="col" class="text-center">{% translate "System" %}</th> <th scope="col" class="text-center">{% translate "System" %}</th>
<th scope="col" class="text-center">{% translate "Ship" %}</th> <th scope="col" class="text-center">{% translate "Ship" %}</th>
<th scope="col" class="text-center">{% translate "Eve Time" %}</th> <th scope="col" class="text-center">{% translate "EVE time" %}</th>
</tr> </tr>
{% for fat in fats %} {% for fat in fats %}
@ -89,7 +89,7 @@
<th scope="col" class="text-center">{% translate "Name" %}</th> <th scope="col" class="text-center">{% translate "Name" %}</th>
<th scope="col" class="text-center">{% translate "Creator" %}</th> <th scope="col" class="text-center">{% translate "Creator" %}</th>
<th scope="col" class="text-center">{% translate "Fleet" %}</th> <th scope="col" class="text-center">{% translate "Fleet" %}</th>
<th scope="col" class="text-center">{% translate "Eve Time" %}</th> <th scope="col" class="text-center">{% translate "EVE time" %}</th>
<th scope="col" class="text-center">{% translate "Duration" %}</th> <th scope="col" class="text-center">{% translate "Duration" %}</th>
<th scope="col" class="text-center">{% translate "Edit" %}</th> <th scope="col" class="text-center">{% translate "Edit" %}</th>
</tr> </tr>

View File

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

View File

@ -8,6 +8,7 @@
# 85b931f94c2441449e78b527e0a313ae_baf2e99 <639a60f913241ffb1c9bd90bc93a541f_869335>, 2023 # 85b931f94c2441449e78b527e0a313ae_baf2e99 <639a60f913241ffb1c9bd90bc93a541f_869335>, 2023
# Aaron BuBu <351793078@qq.com>, 2023 # Aaron BuBu <351793078@qq.com>, 2023
# Joel Falknau <ozirascal@gmail.com>, 2023 # Joel Falknau <ozirascal@gmail.com>, 2023
# Aika Yu, 2025
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
@ -16,7 +17,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 19:17+1000\n" "POT-Creation-Date: 2025-02-25 19:17+1000\n"
"PO-Revision-Date: 2023-11-08 13:50+0000\n" "PO-Revision-Date: 2023-11-08 13:50+0000\n"
"Last-Translator: Joel Falknau <ozirascal@gmail.com>, 2023\n" "Last-Translator: Aika Yu, 2025\n"
"Language-Team: Chinese Simplified (https://app.transifex.com/alliance-auth/teams/107430/zh-Hans/)\n" "Language-Team: Chinese Simplified (https://app.transifex.com/alliance-auth/teams/107430/zh-Hans/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -61,7 +62,7 @@ msgstr "英语"
#: allianceauth/authentication/models.py:71 #: allianceauth/authentication/models.py:71
msgid "Czech" msgid "Czech"
msgstr "" msgstr "捷克语"
#: allianceauth/authentication/models.py:72 #: allianceauth/authentication/models.py:72
#: allianceauth/project_template/project_name/settings/base.py:107 #: allianceauth/project_template/project_name/settings/base.py:107
@ -101,22 +102,22 @@ msgstr "俄语"
#: allianceauth/authentication/models.py:79 #: allianceauth/authentication/models.py:79
#: allianceauth/project_template/project_name/settings/base.py:113 #: allianceauth/project_template/project_name/settings/base.py:113
msgid "Dutch" msgid "Dutch"
msgstr "" msgstr "荷兰语"
#: allianceauth/authentication/models.py:80 #: allianceauth/authentication/models.py:80
#: allianceauth/project_template/project_name/settings/base.py:114 #: allianceauth/project_template/project_name/settings/base.py:114
msgid "Polish" msgid "Polish"
msgstr "" msgstr "波兰语"
#: allianceauth/authentication/models.py:81 #: allianceauth/authentication/models.py:81
#: allianceauth/project_template/project_name/settings/base.py:116 #: allianceauth/project_template/project_name/settings/base.py:116
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr "乌克兰语"
#: allianceauth/authentication/models.py:82 #: allianceauth/authentication/models.py:82
#: allianceauth/project_template/project_name/settings/base.py:117 #: allianceauth/project_template/project_name/settings/base.py:117
msgid "Simplified Chinese" msgid "Simplified Chinese"
msgstr "" msgstr "简体中文"
#: allianceauth/authentication/models.py:98 #: allianceauth/authentication/models.py:98
#: allianceauth/menu/templates/menu/menu-user.html:42 #: allianceauth/menu/templates/menu/menu-user.html:42
@ -283,7 +284,7 @@ msgstr "不能修改主角色为%(char)s这个角色被另一个账户所拥
#: allianceauth/authentication/views.py:164 #: allianceauth/authentication/views.py:164
#, python-format #, python-format
msgid "Changed main character to %s" msgid "Changed main character to %s"
msgstr "" msgstr "修改主角色为%s"
#: allianceauth/authentication/views.py:178 #: allianceauth/authentication/views.py:178
#, python-format #, python-format
@ -359,11 +360,11 @@ msgstr "最后一次更新"
#: allianceauth/corputils/templates/corputils/corpstats.html:86 #: allianceauth/corputils/templates/corputils/corpstats.html:86
msgid "Update Now" msgid "Update Now"
msgstr "" msgstr "立刻更新"
#: allianceauth/corputils/templates/corputils/corpstats.html:101 #: allianceauth/corputils/templates/corputils/corpstats.html:101
msgid "Main character" msgid "Main character"
msgstr "" msgstr "主要角色"
#: allianceauth/corputils/templates/corputils/corpstats.html:102 #: allianceauth/corputils/templates/corputils/corpstats.html:102
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:29 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:29
@ -536,7 +537,7 @@ msgstr "编辑一个PAP"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:21 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:21
msgid "Are you sure?" msgid "Are you sure?"
msgstr "" msgstr "是否确认?"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:22 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:22
msgid "Delete fat" msgid "Delete fat"
@ -575,7 +576,7 @@ msgstr "EVE时间"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkmodify.html:49
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkview.html:52
msgid "Docked in" msgid "Docked in"
msgstr "" msgstr "停靠在"
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:6 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalmonthlystatisticsview.html:6
#: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:6 #: allianceauth/fleetactivitytracking/templates/fleetactivitytracking/fatlinkpersonalstatisticsview.html:6
@ -711,11 +712,11 @@ msgstr "记录中找不到已创建的PAP链接"
#: allianceauth/fleetactivitytracking/views.py:218 #: allianceauth/fleetactivitytracking/views.py:218
msgid "Character does not exist" msgid "Character does not exist"
msgstr "" msgstr "角色不存在"
#: allianceauth/fleetactivitytracking/views.py:221 #: allianceauth/fleetactivitytracking/views.py:221
msgid "User does not exist" msgid "User does not exist"
msgstr "" msgstr "用户不存在"
#: allianceauth/fleetactivitytracking/views.py:299 #: allianceauth/fleetactivitytracking/views.py:299
msgid "Fleet participation registered." msgid "Fleet participation registered."
@ -935,7 +936,7 @@ msgstr "用户组成员"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:13 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:13
msgid "Join/Leave Requests" msgid "Join/Leave Requests"
msgstr "" msgstr "加入/退出申请"
#: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:24 #: allianceauth/groupmanagement/templates/groupmanagement/groupmembership.html:24
#: allianceauth/groupmanagement/templates/groupmanagement/groups.html:33 #: allianceauth/groupmanagement/templates/groupmanagement/groups.html:33
@ -1444,13 +1445,13 @@ msgstr "管理员"
#: allianceauth/menu/templates/menu/menu-user.html:82 #: allianceauth/menu/templates/menu/menu-user.html:82
msgid "Sign Out" msgid "Sign Out"
msgstr "" msgstr "登出"
#: allianceauth/menu/templates/menu/menu-user.html:86 #: 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:17
#: allianceauth/templates/allianceauth/top-menu-rh-default.html:18 #: allianceauth/templates/allianceauth/top-menu-rh-default.html:18
msgid "Sign In" msgid "Sign In"
msgstr "" msgstr "登入"
#: allianceauth/notifications/models.py:21 #: allianceauth/notifications/models.py:21
msgid "danger" msgid "danger"
@ -1494,7 +1495,7 @@ msgstr "标题"
#: allianceauth/notifications/templates/notifications/list_partial.html:28 #: allianceauth/notifications/templates/notifications/list_partial.html:28
msgid "No notifications." msgid "No notifications."
msgstr "" msgstr "暂无通知"
#: allianceauth/notifications/templates/notifications/view.html:5 #: allianceauth/notifications/templates/notifications/view.html:5
#: allianceauth/notifications/templates/notifications/view.html:9 #: allianceauth/notifications/templates/notifications/view.html:9
@ -1584,7 +1585,7 @@ msgstr ""
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:7 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:7
msgid "Upcoming Fleets" msgid "Upcoming Fleets"
msgstr "" msgstr "接下来的队"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:14 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:14
msgid "Operation" msgid "Operation"
@ -1598,7 +1599,7 @@ msgstr "集结点"
#: allianceauth/optimer/templates/optimer/dashboard.ops.html:17 #: allianceauth/optimer/templates/optimer/dashboard.ops.html:17
#: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18 #: allianceauth/timerboard/templates/timerboard/dashboard.timers.html:18
msgid "EVE Time" msgid "EVE Time"
msgstr "" msgstr "EVE时间"
#: allianceauth/optimer/templates/optimer/fleetoptable.html:14 #: allianceauth/optimer/templates/optimer/fleetoptable.html:14
#: allianceauth/timerboard/templates/timerboard/timertable.html:13 #: allianceauth/timerboard/templates/timerboard/timertable.html:13
@ -1793,17 +1794,17 @@ msgstr ""
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26 #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:26
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22 #: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:22
msgid "Activate" msgid "Activate"
msgstr "" msgstr "激活"
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32 #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:32
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34 #: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:34
msgid "Reset Password" msgid "Reset Password"
msgstr "" msgstr "重置密码"
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38 #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:38
#: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40 #: allianceauth/services/modules/mumble/templates/services/mumble/mumble_service_ctrl.html:40
msgid "Deactivate" msgid "Deactivate"
msgstr "" msgstr "停用"
#: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:45 #: allianceauth/services/modules/discord/templates/services/discord/discord_service_ctrl.html:45
msgid "Link Discord Server" msgid "Link Discord Server"
@ -1820,7 +1821,7 @@ msgstr "在处理你的Discord账户时出错。"
#: allianceauth/services/modules/discord/views.py:102 #: allianceauth/services/modules/discord/views.py:102
msgid "Your Discord account has been successfully activated." msgid "Your Discord account has been successfully activated."
msgstr "" msgstr "你的discord账户已成功停用"
#: allianceauth/services/modules/discord/views.py:108 #: allianceauth/services/modules/discord/views.py:108
msgid "" msgid ""
@ -2232,7 +2233,7 @@ msgstr "补损舰队创建"
#: allianceauth/srp/templates/srp/request.html:11 #: allianceauth/srp/templates/srp/request.html:11
#: allianceauth/srp/templates/srp/update.html:11 #: allianceauth/srp/templates/srp/update.html:11
msgid "Ship Replacement Program" msgid "Ship Replacement Program"
msgstr "" msgstr "补损"
#: allianceauth/srp/templates/srp/add.html:20 #: allianceauth/srp/templates/srp/add.html:20
msgid "Create SRP Fleet" msgid "Create SRP Fleet"
@ -2257,7 +2258,7 @@ msgstr "舰队补损信息"
#: allianceauth/srp/templates/srp/data.html:17 #: allianceauth/srp/templates/srp/data.html:17
msgid "View Fleets" msgid "View Fleets"
msgstr "" msgstr "查看舰队"
#: allianceauth/srp/templates/srp/data.html:26 #: allianceauth/srp/templates/srp/data.html:26
msgid "Mark Incomplete" msgid "Mark Incomplete"
@ -2374,11 +2375,11 @@ msgstr "创建补损请求"
#: allianceauth/srp/templates/srp/request.html:22 #: allianceauth/srp/templates/srp/request.html:22
msgid "Your SRP request" msgid "Your SRP request"
msgstr "" msgstr "你的补损请求"
#: allianceauth/srp/templates/srp/request.html:35 #: allianceauth/srp/templates/srp/request.html:35
msgid "Create SRP request" msgid "Create SRP request"
msgstr "" msgstr "创建补损请求"
#: allianceauth/srp/templates/srp/update.html:7 #: allianceauth/srp/templates/srp/update.html:7
#: allianceauth/srp/templates/srp/update.html:16 #: allianceauth/srp/templates/srp/update.html:16
@ -2387,7 +2388,7 @@ msgstr "上传战报链接"
#: allianceauth/srp/templates/srp/update.html:22 #: allianceauth/srp/templates/srp/update.html:22
msgid "After Action Report" msgid "After Action Report"
msgstr "" msgstr "战报"
#: allianceauth/srp/templates/srp/update.html:31 #: allianceauth/srp/templates/srp/update.html:31
msgid "SRP Fleet Does Not Exist" msgid "SRP Fleet Does Not Exist"
@ -2395,7 +2396,7 @@ msgstr "补损舰队不存在啊,老哥你在好好看看?"
#: allianceauth/srp/templates/srp/update.html:40 #: allianceauth/srp/templates/srp/update.html:40
msgid "Update AAR link" msgid "Update AAR link"
msgstr "" msgstr "更新战报链接"
#: allianceauth/srp/views.py:85 #: allianceauth/srp/views.py:85
#, python-format #, python-format

View File

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

View File

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

View File

@ -1,49 +1,48 @@
[program:beat] [program:beat]
command={{ celery }} -A {{ project_name }} beat command = {{ celery }} -A {{ project_name }} beat
directory={{ project_directory }} directory = {{ project_directory }}
user=allianceserver user = allianceserver
stdout_logfile={{ project_directory }}/log/beat.log stdout_logfile = {{ project_directory }}/log/%(program_name)s.log
stderr_logfile={{ project_directory }}/log/beat.log stderr_logfile = {{ project_directory }}/log/%(program_name)s.log
autostart=true autostart = true
autorestart=true autorestart = true
startsecs=10 startsecs = 10
priority=998 priority = 998
[program:worker] [program:worker]
command={{ celery }} -A {{ project_name }} worker --pool=threads --concurrency=5 -n %(program_name)s_%(process_num)02d command = {{ celery }} -A {{ project_name }} worker --pool=threads --concurrency=5 -n %(program_name)s_%(process_num)02d
directory={{ project_directory }} directory = {{ project_directory }}
user=allianceserver user = allianceserver
numprocs=1 numprocs = 1
process_name=%(program_name)s_%(process_num)02d process_name = %(program_name)s_%(process_num)02d
stdout_logfile={{ project_directory }}/log/worker.log stdout_logfile = {{ project_directory }}/log/%(program_name)s.log
stderr_logfile={{ project_directory }}/log/worker.log stderr_logfile = {{ project_directory }}/log/%(program_name)s.log
autostart=true autostart = true
autorestart=true autorestart = true
startsecs=10 startsecs = 10
stopwaitsecs = 600 stopwaitsecs = 600
killasgroup=true killasgroup = true
priority=998 priority = 998
{% if gunicorn %} {% if gunicorn %}
[program:gunicorn] [program:gunicorn]
user = allianceserver user = allianceserver
directory={{ project_directory }} directory = {{ project_directory }}
command={{ gunicorn }} {{ project_name }}.wsgi --workers=3 --timeout 120 command = {{ gunicorn }} {{ project_name }}.wsgi --workers=3 --timeout 120
stdout_logfile={{ project_directory }}/log/gunicorn.log stdout_logfile = {{ project_directory }}/log/%(program_name)s.log
stderr_logfile={{ project_directory }}/log/gunicorn.log stderr_logfile = {{ project_directory }}/log/%(program_name)s.log
autostart=true autostart = true
autorestart=true autorestart = true
stopsignal=INT stopsignal = INT
{% endif %} {% endif %}
[eventlistener:memmon] [eventlistener:memmon]
command={{ memmon }} -p worker_00=256MB -p gunicorn=256MB command = {{ memmon }} -p worker_00=256MB -p gunicorn=256MB
directory={{ project_directory }} directory = {{ project_directory }}
events=TICK_60 events = TICK_60
stdout_logfile={{ project_directory }}/log/memmon.log stdout_logfile = {{ project_directory }}/log/memmon.log
stderr_logfile={{ project_directory }}/log/memmon.log stderr_logfile = {{ project_directory }}/log/memmon.log
[group:{{ project_name }}] [group:{{ project_name }}]
programs=beat,worker{% if gunicorn %},gunicorn{% endif %} programs = beat,worker{% if gunicorn %},gunicorn{% endif %}
priority=999 priority = 999

View File

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

View File

@ -172,7 +172,7 @@ ul.list-group.list-group-horizontal > li.list-group-item {
} }
} }
/* eve time in navbar /* EVE time in navbar
------------------------------------------------------------------------------------- */ ------------------------------------------------------------------------------------- */
@media all { @media all {
.nav-item-eve-time .eve-time-wrapper { .nav-item-eve-time .eve-time-wrapper {

View File

@ -14,7 +14,7 @@ $(document).ready(() => {
}; };
/** /**
* Start the Eve time clock in the top menu bar * Start the EVE time clock in the top menu bar
*/ */
setInterval(() => { setInterval(() => {
renderClock($('.eve-time-wrapper .eve-time-clock')); renderClock($('.eve-time-wrapper .eve-time-clock'));

View File

@ -28,7 +28,7 @@ const getDurationString = (duration) => { // eslint-disable-line no-unused-vars
}; };
/** /**
* returns the current eve time as a formatted string * returns the current EVE time as a formatted string
* *
* condition: * condition:
* only if moment.js is loaded before, * only if moment.js is loaded before,

View File

@ -12,11 +12,10 @@
<!-- End Required meta tags --> <!-- End Required meta tags -->
<!-- Meta tags --> <!-- Meta tags -->
<!-- TODO Bundle all the site specific stuff up into its own template for easy override --> {% include 'allianceauth/opengraph.html' %}
<meta name="description" content="">
<meta name="author" content="">
{% include 'allianceauth/icons.html' %} {% include 'allianceauth/icons.html' %}
<!-- Meta tags --> <!-- Meta tags -->
<title>{% block title %}{% block page_title %}{% endblock page_title %} - {{ SITE_NAME }}{% endblock title %}</title> <title>{% block title %}{% block page_title %}{% endblock page_title %} - {{ SITE_NAME }}{% endblock title %}</title>
{% theme_css %} {% theme_css %}
@ -30,7 +29,8 @@
} }
.nav-padding { .nav-padding {
padding-top: {% header_padding_size %} !important; margin-top: {% header_padding_size %} !important;
max-height: calc(100vh - {% header_padding_size %}) !important;
} }
</style> </style>

View File

@ -0,0 +1,8 @@
{% load static %}
<meta property="og:title" content="{{ SITE_NAME }}">
<meta property="og:image" content="{{ SITE_URL }}{% static 'allianceauth/icons/apple-touch-icon.png' %}">
<meta property="og:description" content="Alliance Auth - An auth system for EVE Online to help in-game organizations manage online service access.">
<meta property="og:type" content="website">
<meta property="og:site_name" content="{{ request.META.HTTP_HOST }}">
<meta property="og:url" content="{{ request.path }}">

View File

@ -20,7 +20,7 @@
<div class="collapse navbar-collapse auth-menus-collapse"> <div class="collapse navbar-collapse auth-menus-collapse">
<ul class="nav navbar-nav navbar-right navbar-pills"> <ul class="nav navbar-nav navbar-right navbar-pills">
<li class="nav-item-eve-time"> <li class="nav-item-eve-time">
<div class="eve-time-wrapper">{% translate "Eve Time" %}: <span class="eve-time-clock"></span></div> <div class="eve-time-wrapper">{% translate "EVE time" %}: <span class="eve-time-clock"></span></div>
</li> </li>
{% if user.is_authenticated %} {% if user.is_authenticated %}

View File

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

View File

@ -66,7 +66,7 @@ class TimerForm(forms.ModelForm):
future_time = datetime.timedelta(days=days_left, hours=hours_left, minutes=minutes_left) future_time = datetime.timedelta(days=days_left, hours=hours_left, minutes=minutes_left)
current_time = timezone.now() current_time = timezone.now()
eve_time = current_time + future_time eve_time = current_time + future_time
logger.debug(f"Determined timer eve time is {eve_time} - current time {current_time}, adding {future_time}") logger.debug(f"Determined timer EVE time is {eve_time} - current time {current_time}, adding {future_time}")
elif absolute_time: elif absolute_time:
# Use absolute time # Use absolute time
eve_time = absolute_time eve_time = absolute_time

View File

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

View File

@ -9,7 +9,7 @@
<th class="text-center">{% translate "Objective" %}</th> <th class="text-center">{% translate "Objective" %}</th>
<th class="text-center">{% translate "System" %}</th> <th class="text-center">{% translate "System" %}</th>
<th class="text-center">{% translate "Structure" %}</th> <th class="text-center">{% translate "Structure" %}</th>
<th class="text-center">{% translate "Eve Time" %}</th> <th class="text-center">{% translate "EVE time" %}</th>
<th class="text-center">{% translate "Local Time" %}</th> <th class="text-center">{% translate "Local Time" %}</th>
<th class="text-center">{% translate "Creator" %}</th> <th class="text-center">{% translate "Creator" %}</th>

View File

@ -29,7 +29,7 @@
<div class="allianceauth-timerboard"> <div class="allianceauth-timerboard">
<div class="col-lg-12 text-center mb-3"> <div class="col-lg-12 text-center mb-3">
<div class="badge bg-primary text-start"> <div class="badge bg-primary text-start">
<span>{% translate "Current Eve Time:" %}</span> <span>{% translate "Current EVE time:" %}</span>
<span id="current-time"></span> <span id="current-time"></span>
</div> </div>
</div> </div>

View File

@ -81,7 +81,7 @@ Example implementation for a celery chain:
```python ```python
from allianceauth.services.hooks import get_extension_logger from allianceauth.services.hooks import get_extension_logger
from celery import shared_task, chain from celery import shared_task, group
logger = get_extension_logger(__name__) logger = get_extension_logger(__name__)
@ -98,18 +98,23 @@ def long_runner():
task_signature = example.si() task_signature = example.si()
my_tasks.append(task_signature) my_tasks.append(task_signature)
chain(my_tasks).delay() group(my_tasks).delay()
``` ```
In this example, we first add 10 example tasks that need to run one after the other to a list. This can be done by creating a so-called signature for a task. Those signatures are a kind of wrapper for tasks and can be used in various ways to compose work flow for tasks. In this example, we first add 10 example tasks that need to run one after the other to a list. This can be done by creating a so-called signature for a task. Those signatures are a kind of wrapper for tasks and can be used in various ways to compose work flow for tasks.
The list of task signatures is then converted to a chain and started asynchronously. The list of task signatures is then converted to a chain and started asynchronously.
:::{note}
In this example we import group to execute all tasks independently.
If you wish to run them in order (and stop if a tasks fail) you can use `celery.chain` instead of `celery.group`
For more information on signature and work flows see the official documentation on [Canvas](https://docs.celeryproject.org/en/latest/userguide/canvas.html).
:::
:::{hint} :::{hint}
In our example we use ``si()``, which is a shortcut for "immutable signatures" and prevents us from having to deal with result sharing between tasks. In our example we use ``si()``, which is a shortcut for "immutable signatures" and prevents us from having to deal with result sharing between tasks.
For more information on signature and work flows see the official documentation on `Canvas <https://docs.celeryproject.org/en/latest/userguide/canvas.html>`_.
In this context, please note that Alliance Auth currently only supports chaining because all other variants require a so-called results back, which Alliance Auth does not have. In this context, please note that Alliance Auth currently only supports chaining because all other variants require a so-called results back, which Alliance Auth does not have.
::: :::