mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-21 10:12:28 +02:00
Compare commits
23 Commits
610327aaf3
...
32766ecb31
Author | SHA1 | Date | |
---|---|---|---|
|
32766ecb31 | ||
|
7edb870028 | ||
|
b7ffe21c63 | ||
|
9dad53f763 | ||
|
2d57064a7a | ||
|
833d12cf66 | ||
|
7b56caa4cb | ||
|
5752644122 | ||
|
cadc0cb534 | ||
|
dcdab5ae1f | ||
|
d64e896288 | ||
|
500d8ede32 | ||
|
f4c5c7f6db | ||
|
43e1be4032 | ||
|
702def2a4d | ||
|
a34baf4154 | ||
|
4de0774f15 | ||
|
83d2dfc7d9 | ||
|
c93afd2d68 | ||
|
b7bacd11af | ||
|
f26835fae0 | ||
|
4edb7cb678 | ||
|
2ce9ba997f |
@ -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 %}
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
@ -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>
|
||||||
|
@ -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 %}
|
||||||
|
@ -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
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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();
|
||||||
|
@ -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
|
||||||
|
@ -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 %}
|
||||||
|
@ -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 {
|
||||||
|
@ -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'));
|
||||||
|
@ -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,
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
8
allianceauth/templates/allianceauth/opengraph.html
Normal file
8
allianceauth/templates/allianceauth/opengraph.html
Normal 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 }}">
|
@ -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 %}
|
||||||
|
@ -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 }}">
|
||||||
|
@ -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
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
@ -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.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user