Fix bugs and adjust internationalization of new pages

This commit is contained in:
kingmo888 2024-05-14 10:47:41 +08:00
parent aba300a0fa
commit 81341d5b6d
10 changed files with 659 additions and 61 deletions

View File

@ -57,4 +57,22 @@ _('用户名')
_('3、为保障安全链接有效期为15分钟、链接仅有效1次。链接一旦被非分享人的登录用户访问分享生效后续访问链接失效。')
_('系统')
_('我的机器')
_('信息')
_('信息')
_('远程ID')
_('远程别名')
_('用户ID')
_('用户别名')
_('用户IP')
_('文件大小')
_('发送/接受')
_('记录于')
_('连接开始时间')
_('连接结束时间')
_('时长')
_('连接日志')
_('文件传输日志')
_('页码 #')
_('下一页 #')
_('上一页 #')
_('第一页')
_('上页')

View File

@ -0,0 +1,240 @@
# Generated by Django 4.2.7 on 2024-05-14 10:43
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("api", "0005_connlog_filelog"),
]
operations = [
migrations.AlterModelOptions(
name="rustdesdevice",
options={
"ordering": ("-rid",),
"verbose_name": "Device",
"verbose_name_plural": "Device List",
},
),
migrations.AlterModelOptions(
name="rustdeskpeer",
options={
"ordering": ("-username",),
"verbose_name": "Peers",
"verbose_name_plural": "Peers List",
},
),
migrations.AlterModelOptions(
name="rustdesktag",
options={
"ordering": ("-uid",),
"verbose_name": "Tags",
"verbose_name_plural": "Tags List",
},
),
migrations.AlterModelOptions(
name="rustdesktoken",
options={
"ordering": ("-username",),
"verbose_name": "Token",
"verbose_name_plural": "Token List",
},
),
migrations.AlterModelOptions(
name="sharelink",
options={
"ordering": ("-create_time",),
"verbose_name": "Share Link",
"verbose_name_plural": "Link List",
},
),
migrations.AlterModelOptions(
name="userprofile",
options={
"permissions": (
("view_task", "Can see available tasks"),
("change_task_status", "Can change the status of tasks"),
("close_task", "Can remove a task by setting its status as closed"),
),
"verbose_name": "User",
"verbose_name_plural": "User List",
},
),
migrations.AlterField(
model_name="rustdesdevice",
name="create_time",
field=models.DateTimeField(
auto_now_add=True, verbose_name="Device Registration Time"
),
),
migrations.AlterField(
model_name="rustdesdevice",
name="hostname",
field=models.CharField(max_length=100, verbose_name="Hostname"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="memory",
field=models.CharField(max_length=100, verbose_name="Memory"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="os",
field=models.CharField(max_length=100, verbose_name="Operating System"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="rid",
field=models.CharField(blank=True, max_length=60, verbose_name="Client ID"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="username",
field=models.CharField(
blank=True, max_length=100, verbose_name="System Username"
),
),
migrations.AlterField(
model_name="rustdesdevice",
name="version",
field=models.CharField(max_length=100, verbose_name="Client Version"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="alias",
field=models.CharField(max_length=30, verbose_name="Alias"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="hostname",
field=models.CharField(max_length=30, verbose_name="Operating System Name"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="platform",
field=models.CharField(max_length=30, verbose_name="Platform"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="rhash",
field=models.CharField(
max_length=60, verbose_name="Device Connection Password"
),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="rid",
field=models.CharField(max_length=60, verbose_name="Client ID"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="tags",
field=models.CharField(max_length=30, verbose_name="Tag"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="uid",
field=models.CharField(max_length=16, verbose_name="User ID"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="username",
field=models.CharField(max_length=20, verbose_name="System Username"),
),
migrations.AlterField(
model_name="rustdesktag",
name="tag_color",
field=models.CharField(blank=True, max_length=60, verbose_name="Tag Color"),
),
migrations.AlterField(
model_name="rustdesktag",
name="tag_name",
field=models.CharField(max_length=60, verbose_name="Tag Name"),
),
migrations.AlterField(
model_name="rustdesktag",
name="uid",
field=models.CharField(max_length=16, verbose_name="Belongs to User ID"),
),
migrations.AlterField(
model_name="rustdesktoken",
name="access_token",
field=models.CharField(
blank=True, max_length=60, verbose_name="Access Token"
),
),
migrations.AlterField(
model_name="rustdesktoken",
name="create_time",
field=models.DateTimeField(auto_now_add=True, verbose_name="Login Time"),
),
migrations.AlterField(
model_name="rustdesktoken",
name="uid",
field=models.CharField(max_length=16, verbose_name="User ID"),
),
migrations.AlterField(
model_name="rustdesktoken",
name="username",
field=models.CharField(max_length=20, verbose_name="Username"),
),
migrations.AlterField(
model_name="rustdesktoken",
name="uuid",
field=models.CharField(max_length=60, verbose_name="UUID"),
),
migrations.AlterField(
model_name="sharelink",
name="create_time",
field=models.DateTimeField(
auto_now_add=True, verbose_name="Generation Time"
),
),
migrations.AlterField(
model_name="sharelink",
name="is_expired",
field=models.BooleanField(default=False, verbose_name="Is Expired"),
),
migrations.AlterField(
model_name="sharelink",
name="is_used",
field=models.BooleanField(default=False, verbose_name="Is Used"),
),
migrations.AlterField(
model_name="sharelink",
name="peers",
field=models.CharField(max_length=20, verbose_name="Machine ID List"),
),
migrations.AlterField(
model_name="sharelink",
name="shash",
field=models.CharField(max_length=60, verbose_name="Link Key"),
),
migrations.AlterField(
model_name="sharelink",
name="uid",
field=models.CharField(max_length=16, verbose_name="User ID"),
),
migrations.AlterField(
model_name="userprofile",
name="deviceInfo",
field=models.TextField(blank=True, verbose_name="Login Information:"),
),
migrations.AlterField(
model_name="userprofile",
name="is_active",
field=models.BooleanField(default=True, verbose_name="Is Active"),
),
migrations.AlterField(
model_name="userprofile",
name="is_admin",
field=models.BooleanField(default=False, verbose_name="Is Administrator"),
),
migrations.AlterField(
model_name="userprofile",
name="username",
field=models.CharField(max_length=50, unique=True, verbose_name="Username"),
),
]

View File

@ -0,0 +1,232 @@
# Generated by Django 4.2.7 on 2024-05-14 10:46
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("api", "0006_alter_rustdesdevice_options_and_more"),
]
operations = [
migrations.AlterModelOptions(
name="rustdesdevice",
options={
"ordering": ("-rid",),
"verbose_name": "设备",
"verbose_name_plural": "设备列表",
},
),
migrations.AlterModelOptions(
name="rustdeskpeer",
options={
"ordering": ("-username",),
"verbose_name": "Peers",
"verbose_name_plural": "Peers列表",
},
),
migrations.AlterModelOptions(
name="rustdesktag",
options={
"ordering": ("-uid",),
"verbose_name": "Tags",
"verbose_name_plural": "Tags列表",
},
),
migrations.AlterModelOptions(
name="rustdesktoken",
options={
"ordering": ("-username",),
"verbose_name": "Token",
"verbose_name_plural": "Token列表",
},
),
migrations.AlterModelOptions(
name="sharelink",
options={
"ordering": ("-create_time",),
"verbose_name": "分享链接",
"verbose_name_plural": "链接列表",
},
),
migrations.AlterModelOptions(
name="userprofile",
options={
"permissions": (
("view_task", "Can see available tasks"),
("change_task_status", "Can change the status of tasks"),
("close_task", "Can remove a task by setting its status as closed"),
),
"verbose_name": "用户",
"verbose_name_plural": "用户列表",
},
),
migrations.AlterField(
model_name="rustdesdevice",
name="create_time",
field=models.DateTimeField(auto_now_add=True, verbose_name="设备注册时间"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="hostname",
field=models.CharField(max_length=100, verbose_name="主机名"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="memory",
field=models.CharField(max_length=100, verbose_name="内存"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="os",
field=models.CharField(max_length=100, verbose_name="操作系统"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="rid",
field=models.CharField(blank=True, max_length=60, verbose_name="客户端ID"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="username",
field=models.CharField(blank=True, max_length=100, verbose_name="系统用户名"),
),
migrations.AlterField(
model_name="rustdesdevice",
name="version",
field=models.CharField(max_length=100, verbose_name="客户端版本"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="alias",
field=models.CharField(max_length=30, verbose_name="别名"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="hostname",
field=models.CharField(max_length=30, verbose_name="操作系统名"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="platform",
field=models.CharField(max_length=30, verbose_name="平台"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="rhash",
field=models.CharField(max_length=60, verbose_name="设备链接密码"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="rid",
field=models.CharField(max_length=60, verbose_name="客户端ID"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="tags",
field=models.CharField(max_length=30, verbose_name="标签"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="uid",
field=models.CharField(max_length=16, verbose_name="用户ID"),
),
migrations.AlterField(
model_name="rustdeskpeer",
name="username",
field=models.CharField(max_length=20, verbose_name="系统用户名"),
),
migrations.AlterField(
model_name="rustdesktag",
name="tag_color",
field=models.CharField(blank=True, max_length=60, verbose_name="标签颜色"),
),
migrations.AlterField(
model_name="rustdesktag",
name="tag_name",
field=models.CharField(max_length=60, verbose_name="标签名称"),
),
migrations.AlterField(
model_name="rustdesktag",
name="uid",
field=models.CharField(max_length=16, verbose_name="所属用户ID"),
),
migrations.AlterField(
model_name="rustdesktoken",
name="access_token",
field=models.CharField(
blank=True, max_length=60, verbose_name="access_token"
),
),
migrations.AlterField(
model_name="rustdesktoken",
name="create_time",
field=models.DateTimeField(auto_now_add=True, verbose_name="登录时间"),
),
migrations.AlterField(
model_name="rustdesktoken",
name="uid",
field=models.CharField(max_length=16, verbose_name="用户ID"),
),
migrations.AlterField(
model_name="rustdesktoken",
name="username",
field=models.CharField(max_length=20, verbose_name="用户名"),
),
migrations.AlterField(
model_name="rustdesktoken",
name="uuid",
field=models.CharField(max_length=60, verbose_name="uuid"),
),
migrations.AlterField(
model_name="sharelink",
name="create_time",
field=models.DateTimeField(auto_now_add=True, verbose_name="生成时间"),
),
migrations.AlterField(
model_name="sharelink",
name="is_expired",
field=models.BooleanField(default=False, verbose_name="是否过期"),
),
migrations.AlterField(
model_name="sharelink",
name="is_used",
field=models.BooleanField(default=False, verbose_name="是否使用"),
),
migrations.AlterField(
model_name="sharelink",
name="peers",
field=models.CharField(max_length=20, verbose_name="机器ID列表"),
),
migrations.AlterField(
model_name="sharelink",
name="shash",
field=models.CharField(max_length=60, verbose_name="链接Key"),
),
migrations.AlterField(
model_name="sharelink",
name="uid",
field=models.CharField(max_length=16, verbose_name="用户ID"),
),
migrations.AlterField(
model_name="userprofile",
name="deviceInfo",
field=models.TextField(blank=True, verbose_name="登录信息:"),
),
migrations.AlterField(
model_name="userprofile",
name="is_active",
field=models.BooleanField(default=True, verbose_name="是否激活"),
),
migrations.AlterField(
model_name="userprofile",
name="is_admin",
field=models.BooleanField(default=False, verbose_name="是否管理员"),
),
migrations.AlterField(
model_name="userprofile",
name="username",
field=models.CharField(max_length=50, unique=True, verbose_name="用户名"),
),
]

View File

@ -37,10 +37,10 @@
<li class="layui-nav-item"><a href="/webui" target="_blank">{% trans "网页控制" %}</a></li>
{% if u.is_admin %}
<li class="layui-nav-item"><a href="/api/conn_log">{% trans "连接日志" %}</a></li>
<li class="layui-nav-item"><a href="/api/file_log">{% trans "文件传输日志" %}</a></li>
<li class="layui-nav-item"><a href="/admin" target="_blank">{% trans "管理后台" %}</a>
</li>
<li class="layui-nav-item"><a href="/api/conn_log">Connection Log</a></li>
<li class="layui-nav-item"><a href="/api/file_log">File Transfer Log</a></li>
{% endif %}
<li class="layui-nav-item"><a href="/api/user_action?action=logout" target="_blank">{% trans "退出" %}</a></li>
</ul>

View File

@ -1,23 +1,24 @@
{% extends "base.html" %}
{% load my_filters %}
{% block title %}RustDesk WebUI{% endblock %}
{% block content %}
<div style="padding: 20px; background-color: #F2F2F2;">
<div class="layui-row layui-col-space15">
<div class="layui-col-md15">
<div class="layui-card">
<div class="layui-card-header">{{ "Connection Log" | translate }}:{{u.username}}</div>
<div class="layui-card-header">{{ "连接日志" | translate }}:{{u.username}}</div>
<div class="layui-card-body">
<table class="layui-table">
<thead>
<tr>
<th>{{ "User IP" | translate }}</th>
<th>{{ "User ID" | translate }}</th>
<th>{{ "User Alias" | translate }}</th>
<th>{{ "Remote ID" | translate }}</th>
<th>{{ "Remote Alias" | translate }}</th>
<th>{{ "Connection Start Time" | translate }}</th>
<th>{{ "Connection End Time" | translate }}</th>
<th>{{ "Duration (HH:MM:SS)" | translate }}</th>
<th>{{ "用户IP" | translate }}</th>
<th>{{ "用户ID" | translate }}</th>
<th>{{ "用户别名" | translate }}</th>
<th>{{ "远程ID" | translate }}</th>
<th>{{ "远程别名" | translate }}</th>
<th>{{ "连接开始时间" | translate }}</th>
<th>{{ "连接结束时间" | translate }}</th>
<th>{{ "时长" | translate }}(HH:MM:SS)</th>
</tr>
</thead>
<tbody>
@ -46,7 +47,7 @@
{% endif %}
{% if page_obj.paginator.num_pages > 1 %}
<span class="current">
{{ "Page #" | translate }} {{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
{{ "页码 #" | translate }} {{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
</span>
{% endif %}
{% if page_obj.has_next %}

View File

@ -1,24 +1,25 @@
{% extends "base.html" %}
{% load my_filters %}
{% block title %}RustDesk WebUI{% endblock %}
{% block content %}
<div style="padding: 20px; background-color: #F2F2F2;">
<div class="layui-row layui-col-space15">
<div class="layui-col-md15">
<div class="layui-card">
<div class="layui-card-header">{{ "File Transfer Log" | translate }}:{{u.username}}</div>
<div class="layui-card-header">{{ "文件传输日志" | translate }}:{{u.username}}</div>
<div class="layui-card-body">
<table class="layui-table">
<thead>
<tr>
<th>{{ "File" | translate }}</th>
<th>{{ "Remote ID" | translate }}</th>
<th>{{ "Remote Alias" | translate }}</th>
<th>{{ "User ID" | translate }}</th>
<th>{{ "User Alias" | translate }}</th>
<th>{{ "User IP" | translate }}</th>
<th>{{ "Filesize" | translate }}</th>
<th>{{ "Sent/Received" | translate }}</th>
<th>{{ "Logged At" | translate }}</th>
<th>{{ "文件" | translate }}</th>
<th>{{ "远程ID" | translate }}</th>
<th>{{ "远程别名" | translate }}</th>
<th>{{ "用户ID" | translate }}</th>
<th>{{ "用户别名" | translate }}</th>
<th>{{ "用户IP" | translate }}</th>
<th>{{ "文件大小" | translate }}</th>
<th>{{ "发送/接受" | translate }}</th>
<th>{{ "记录于" | translate }}</th>
</tr>
</thead>
<tbody>
@ -47,12 +48,12 @@
<div class="layui-col-md4 layui-col-md-offset4">
<span class="step-links">
{% if page_obj.has_previous %}
<button class="layui-btn" ><a href="?page=1">&laquo; {{ "First" | translate }}</a></button>
<button class="layui-btn" ><a href="?page=1">&laquo; {{ "首页" | translate }}</a></button>
<button class="layui-btn" ><a href="?page={{ page_obj.previous_page_number }}">{{ "Previous" | translate }}</a></button>
{% endif %}
{% if page_obj.paginator.num_pages > 1 %}
<span class="current">
{{ "page #" | translate }} {{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
{{ "页码 #" | translate }} {{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
</span>
{% endif %}
{% if page_obj.has_next %}

Binary file not shown.

Binary file not shown.

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-15 21:10+0800\n"
"POT-Creation-Date: 2024-05-14 10:44+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -32,15 +32,15 @@ msgstr "Password Hash Value"
msgid "基本信息"
msgstr "Basic Information"
#: .\api\admin_user.py:98
#: .\api\admin_user.py:100
msgid "RustDesk自建Web"
msgstr "RustDesk Self-Hosted Web"
#: .\api\admin_user.py:99
#: .\api\admin_user.py:101
msgid "未定义"
msgstr "Undefined"
#: .\api\front_locale.py:4 .\api\templates\base.html:40
#: .\api\front_locale.py:4 .\api\templates\base.html:42
msgid "管理后台"
msgstr "Admin Panel"
@ -54,7 +54,8 @@ msgstr "Share Machine"
#: .\api\front_locale.py:7
msgid "这么简易的东西,忘记密码这功能就没必要了吧。"
msgstr "For such a simple thing, the forgot password feature is unnecessary, right?"
msgstr ""
"For such a simple thing, the forgot password feature is unnecessary, right?"
#: .\api\front_locale.py:8
msgid "立即注册"
@ -77,7 +78,8 @@ msgid ""
"2、所分享的机器被分享人享有相同的权限如果机器设置了保存密码被分享人也可"
"以直接连接。"
msgstr ""
"2. The shared machine grants the same permissions to the recipient. If the machine is set to save password, the recipient can also connect directly."
"2. The shared machine grants the same permissions to the recipient. If the "
"machine is set to save password, the recipient can also connect directly."
#: .\api\front_locale.py:13
msgid "导出xlsx"
@ -89,7 +91,9 @@ msgstr "Generate Share Link"
#: .\api\front_locale.py:15
msgid "请输入8~20位密码。可以包含字母、数字和特殊字符。"
msgstr "Please enter a password of 8~20 characters. It can contain letters, numbers, and special characters."
msgstr ""
"Please enter a password of 8~20 characters. It can contain letters, numbers, "
"and special characters."
#: .\api\front_locale.py:16
msgid "尾页"
@ -196,8 +200,7 @@ msgid "请输入用户名"
msgstr "Please enter username"
#: .\api\front_locale.py:43
msgid ""
"1、链接有效期为15分钟切勿随意分享给他人。"
msgid "1、链接有效期为15分钟切勿随意分享给他人。"
msgstr ""
"1. The link is valid for 15 minutes. Do not share it with others casually."
@ -217,7 +220,7 @@ msgstr "Next Page"
msgid "登录"
msgstr "Login"
#: .\api\front_locale.py:48 .\api\templates\base.html:43
#: .\api\front_locale.py:48 .\api\templates\base.html:45
msgid "退出"
msgstr "Logout"
@ -227,7 +230,8 @@ msgstr "Please adjust the machines to be shared to the right"
#: .\api\front_locale.py:50
msgid "成功!如需分享,请复制以下链接给其他人:<br>"
msgstr "Success! If you need to share, please copy the following link to others:<br>"
msgstr ""
"Success! If you need to share, please copy the following link to others:<br>"
#: .\api\front_locale.py:51
msgid "忘记密码?"
@ -258,12 +262,102 @@ msgid ""
"3、为保障安全链接有效期为15分钟、链接仅有效1次。链接一旦被非分享人的登录"
"用户)访问,分享生效,后续访问链接失效。"
msgstr ""
"3. For security reasons, the link is valid for 15 minutes and only valid once. Once the link is accessed by a user (other than the sharing person), the sharing becomes effective, and subsequent access to the link will be invalid."
"3. For security reasons, the link is valid for 15 minutes and only valid "
"once. Once the link is accessed by a user (other than the sharing person), "
"the sharing becomes effective, and subsequent access to the link will be "
"invalid."
#: .\api\front_locale.py:58
msgid "系统"
msgstr "System"
#: .\api\front_locale.py:59
msgid "我的机器"
msgstr "My Machine"
#: .\api\front_locale.py:60
#, fuzzy
#| msgid "基本信息"
msgid "信息"
msgstr "Basic Information"
#: .\api\front_locale.py:61
msgid "远程ID"
msgstr "Remote ID"
#: .\api\front_locale.py:62
msgid "远程别名"
msgstr "Remote Alias"
#: .\api\front_locale.py:63 .\api\models_work.py:11 .\api\models_work.py:48
#: .\api\models_work.py:126
msgid "用户ID"
msgstr "User ID"
#: .\api\front_locale.py:64
msgid "用户别名"
msgstr "User Alias"
#: .\api\front_locale.py:65
msgid "用户IP"
msgstr "User IP"
#: .\api\front_locale.py:66
msgid "文件大小"
msgstr "Filesize"
#: .\api\front_locale.py:67
msgid "发送/接受"
msgstr "Sent/Received"
#: .\api\front_locale.py:68
msgid "记录于"
msgstr "Logged At"
#: .\api\front_locale.py:69
msgid "连接开始时间"
msgstr "Connection Start Time\t"
#: .\api\front_locale.py:70
msgid "连接结束时间"
msgstr "Connection End Time"
#: .\api\front_locale.py:71
msgid "时长"
msgstr "Duration"
#: .\api\front_locale.py:72 .\api\templates\base.html:40
msgid "连接日志"
msgstr "Connection Log"
#: .\api\front_locale.py:73 .\api\templates\base.html:41
msgid "文件传输日志"
msgstr "File Transfer Log"
#: .\api\front_locale.py:74
msgid "页码 #"
msgstr "Page #"
#: .\api\front_locale.py:75
msgid "下一页 #"
msgstr "Next #"
#: .\api\front_locale.py:76
msgid "上一页 #"
msgstr "Previous #"
#: .\api\front_locale.py:77
#, fuzzy
#| msgid "上一页"
msgid "第一页"
msgstr "First"
#: .\api\front_locale.py:78
#, fuzzy
#| msgid "上一页"
msgid "上页"
msgstr "Previous Page"
#: .\api\models_user.py:40
msgid "登录信息:"
msgstr "Login Information:"
@ -288,10 +382,6 @@ msgstr "User List"
msgid "RustDesk ID"
msgstr "RustDesk ID"
#: .\api\models_work.py:11 .\api\models_work.py:48 .\api\models_work.py:96
msgid "用户ID"
msgstr "User ID"
#: .\api\models_work.py:12
msgid "uuid"
msgstr "UUID"
@ -364,67 +454,69 @@ msgstr "Device"
msgid "设备列表"
msgstr "Device List"
#: .\api\models_work.py:97
#: .\api\models_work.py:127
msgid "链接Key"
msgstr "Link Key"
#: .\api\models_work.py:98
#: .\api\models_work.py:128
msgid "机器ID列表"
msgstr "Machine ID List"
#: .\api\models_work.py:99
#: .\api\models_work.py:129
msgid "是否使用"
msgstr "Is Used"
#: .\api\models_work.py:100
#: .\api\models_work.py:130
msgid "是否过期"
msgstr "Is Expired"
#: .\api\models_work.py:101
#: .\api\models_work.py:131
msgid "生成时间"
msgstr "Generation Time"
#: .\api\models_work.py:107
#: .\api\models_work.py:137
msgid "分享链接"
msgstr "Share Link"
#: .\api\models_work.py:108
#: .\api\models_work.py:138
msgid "链接列表"
msgstr "Link List"
#: .\api\views_api.py:19
#: .\api\views_api.py:20
msgid "请求方式错误请使用POST方式。"
msgstr "Request method error! Please use the POST method."
#: .\api\views_api.py:33
#: .\api\views_api.py:34
msgid "帐号或密码错误请重试多次重试后将被锁定IP"
msgstr "Account or password error! Please retry. After multiple retries, the IP will be locked!"
msgstr ""
"Account or password error! Please retry. After multiple retries, the IP will "
"be locked!"
#: .\api\views_api.py:71
#: .\api\views_api.py:72
msgid "请求方式错误!"
msgstr "Request method error!"
#: .\api\views_api.py:79
#: .\api\views_api.py:80
msgid "异常请求!"
msgstr "Abnormal request!"
#: .\api\views_api.py:92 .\api\views_api.py:212
#: .\api\views_api.py:93 .\api\views_api.py:213
msgid "错误的提交方式!"
msgstr "Incorrect submission method!"
#: .\api\views_api.py:120
#: .\api\views_api.py:121
msgid "拉取列表错误!"
msgstr "Error fetching list!"
#: .\api\views_api.py:199
#: .\api\views_api.py:200
msgid "更新地址簿有误"
msgstr "Error updating address book"
#: .\api\views_api.py:246 .\api\views_front.py:207 .\api\views_front.py:226
#: .\api\views_api.py:247 .\api\views_front.py:207 .\api\views_front.py:226
msgid "在线"
msgstr "Online"
#: .\api\views_api.py:252
#: .\api\views_api.py:308
msgid "好的"
msgstr "Okay"
@ -435,12 +527,15 @@ msgstr "The parameter received by model_to_dict must be a model object"
#: .\api\views_front.py:55
#, python-brace-format
msgid "model_to_dict,要替换成{replace_field}字段已经存在了"
msgstr "model_to_dict, the field to be replaced with {replace_field} already exists"
msgstr ""
"model_to_dict, the field to be replaced with {replace_field} already exists"
#: .\api\views_front.py:60
#, python-brace-format
msgid "model_to_dict,要新增默认值,但字段{default_key}已经存在了"
msgstr "model_to_dict, to add default values, but the field {default_key} already exists"
msgstr ""
"model_to_dict, to add default values, but the field {default_key} already "
"exists"
#: .\api\views_front.py:134
msgid "出了点问题,未获取用户名或密码。"
@ -460,7 +555,9 @@ msgstr "Username must be at least 3 characters"
#: .\api\views_front.py:165
msgid "密码长度不符合要求, 应在8~20位。"
msgstr "Password length does not meet requirements, should be between 8~20 characters."
msgstr ""
"Password length does not meet requirements, should be between 8~20 "
"characters."
#: .\api\views_front.py:171
msgid "用户名已存在。"
@ -485,3 +582,11 @@ msgstr "Device Information Table"
#: .\api\views_front.py:351
msgid "数据为空。"
msgstr "Data is empty."
#: .\api\views_front.py:373 .\api\views_front.py:378 .\api\views_front.py:409
#: .\api\views_front.py:414
msgid "UNKNOWN"
msgstr ""
#~ msgid "未知"
#~ msgstr "UNKNOWN"

View File

@ -44,6 +44,7 @@ MYSQL_PORT = os.environ.get("MYSQL_PORT", '3306')
#==========数据库配置 结束=====================
LANGUAGE_CODE = os.environ.get("LANGUAGE_CODE", 'zh-hans')
##LANGUAGE_CODE = os.environ.get("LANGUAGE_CODE", 'en')
# Application definition