update translation (#64)

Co-authored-by: Macesuted <macesuted@qq.com>
This commit is contained in:
MacesutedandMacesuted authored and GitHub committed 2021-03-27 14:17:29 +08:00
1 parent 584a0edca6
commit f7478ab346
12 files changed
+141 -62

No files matched your search

+1
View File
@@ -0,0 +1 @@
Ensure index for problem search: 初始化 better-search 插件
+1 -1
View File
@@ -2,7 +2,7 @@ import nodejieba from 'nodejieba';
import { Pdoc } from 'hydrooj';
import * as document from 'hydrooj/dist/model/document';
export const description = 'Ensure index for peoblem search';
export const description = 'Ensure index for problem search';
export async function run() {
await document.coll.find({ docType: document.TYPE_PROBLEM }).forEach(async (doc: Pdoc) => {
+10
View File
@@ -7,18 +7,28 @@ Cannot find output file {0}.: 找不到输出文件 {0}。
Cannot find user extra file {0}.: 找不到用户额外文件 {0}。
Cannot parse testdata.: 无法解析测试数据。
Checker returned {0}.: 比较器返回了{0}。
Disable builtin judge: 禁用内置评测机
Executable file not found.: 没有找到可执行文件。
Found {0} testcases.: 识别到 {0} 个测试点。
Invalid judge_extra_files config.: 无效的 judge_extra_files 配置。
Invalid user_extra_files config.: 无效的 user_extra_files 配置。
Max testcases per problem: 单题最多测试点数量
Problem data not found.: 没有找到测试数据。
Read {0}, expect {1}.: 读取到 {0},应为 {1}。
Retry delay sec: 重试间隔(秒)
Runner parallelism: 评测机运行进程数
Sandbox Error: 沙箱错误
Sandbox Host: 沙箱地址
Standard answer longer than user output.: 标准输出比选手输出长。
Stdout/Stderr size: 标准输出/错误流输出大小限制
Temp directory: 临时目录
Testdata cache directory: 测试数据缓存目录
Testdata configuration incorrect.: 题目配置错误。
Tmpfs size: tmpfs 分区大小
Too many files.: 文件过多。
Too many testcases. Cancelled.: 测试数据过多。评测取消。
Total time limit longer than {0}s. Cancelled.: 总时限超过{0}s。评测取消。
Total time limit per problem: 单题最多总评测时长
Unknown checker type {0}.: 未知的比较器类型 {0}。
Unknown language type.: 未知的语言类型。
Unsupported language {0}.: 不支持的语言 {0}。
+22 -11
View File
@@ -1,46 +1,57 @@
sandbox_host:
type: text
name: Sandbox Host
name: sandbox_host
desc: Sandbox Host
default: http://localhost:5050
tmp_dir:
type: text
name: Temp directory
name: tmp_dir
desc: Temp directory
default: $TEMP/hydro/judge.tmp
tmpfs_size:
type: text
name: Tmpfs size
name: tmpfs_size
desc: Tmpfs size
default: 256m
stdio_size:
type: text
name: Stdout/Stderr size
name: stdio_size
desc: Stdout/Stderr size
default: 32m
testcases_max:
type: number
name: Max testcases per problem
name: testcases_max
desc: Max testcases per problem
default: 100
total_time_limit:
type: number
name: Total time limit per problem
name: total_time_limit
desc: Total time limit per problem
default: 60
retry_delay_sec:
type: number
name: Retry delay sec
name: retry_delay_sec
desc: Retry delay sec
default: 15
cache_dir:
type: text
name: Testdata cache directory
name: cache_dir
desc: Testdata cache directory
default: $HOME/.cache/hydro/judge
parallelism:
type: number
name: Runner parallelism
name: parallelism
desc: Runner parallelism
default: 2
disable:
type: boolean
name: Disable builtin judge
name: disable
desc: Disable builtin judge
default: false
langs:
type: textarea
name: Language file settings
name: langs
desc: Language file settings
default: |
ccWithoutO2: # Do not remove this entry
type: compiler
+1 -1
View File
@@ -166,7 +166,7 @@ class JudgeTask {
this.ws.send(JSON.stringify({
key: 'next',
tag: this.tag,
judge_text: '自豪的采用HydroJudge(https://github.com/hydro-dev/Hydro)进行评测。',
judge_text: '自豪的采用 HydroJudge(https://github.com/hydro-dev/Hydro) 进行评测。',
}));
if (data.message !== undefined) {
data.judge_text = data.message;
+1 -1
View File
@@ -38,7 +38,7 @@ __langname: 한국어
'We use <a href="https://en.gravatar.com/" target="_blank">Gravatar</a> to present your avatar icon.': '<a href="https://cn.gravatar.com/" target="_blank">Gravatar</a>를 만들어 보세요.'
'Yes': 예
"Effects only when Difficulty is not 'Use algorithm calculated'.": 난이도가 알고리즘에 의해 정해지지 않은 경우에만 적용됩니다.
"Splitted by ', '.": “, ”“,”으로 구분
"Split by ', '.": “, ”“,”으로 구분
"What's file?": 파일?
(All Problems): (전체 문제)
(None): (N/A)
+54 -2
View File
@@ -38,7 +38,7 @@ __langname: 简体中文
'We use <a href="https://en.gravatar.com/" target="_blank">Gravatar</a> to present your avatar icon.': '我们使用 <a href="https://cn.gravatar.com/" target="_blank">Gravatar</a> 服务来呈现您的头像。'
'Yes': 是
"Effects only when Difficulty is not 'Use algorithm calculated'.": 仅当难度不为“使用算法计算”时才起效。
"Splitted by ', '.": 由“, ”或“,”分隔。
"Split by ',' '.'": 由“, ”或“,”分隔。
"What's file?": 什么是文件?
(All Problems): (所有题目)
(None): (无)
@@ -55,6 +55,7 @@ Accepted: 已通过
Access Control: 访问控制
Action: 动作
Active Sessions: 活动会话
Add blacklist by ip, uid: 封禁 IP / 将对应 uid 的用户拉入黑名单
Add module: 添加模块
Add new data: 添加新数据
Add User: 添加用户
@@ -66,6 +67,7 @@ All Homeworks: 所有作业
All Submissions: 所有递交
All Training Plans: 所有训练计划
All: 全部
Allow builtin-login: 启用内置登录
Always granted all privileges: 总是拥有所有权限
An error has occurred.: 发生了一个错误。
An example of dataset: 测试数据集的一个例子
@@ -97,6 +99,7 @@ By Contest: 由比赛
By Problem: 由题目
By signing up a Hydro universal account, you can submit code and join discussions in all online judging services provided by us.: 注册一个 Hydro 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
By Username / UID: 由用户名或 UID
Calculate rp of a domain, or all domains: 计算用户的 RP
Calendar View: 日历视图
Calendar: 日历
Can be Extended For: 可延期
@@ -104,6 +107,7 @@ Cancel Score: 取消成绩
Cancel: 取消
Categories: 分类
Category: 分类
CDN Prefix: CDN 路径前缀
Change Email: 修改电子邮件
Change Password: 修改密码
Chinese: 中文
@@ -145,6 +149,8 @@ contest_edit: 编辑比赛
contest_main: 比赛
contest_scoreboard: 比赛成绩表
Contest: 比赛
Contests on main: 主页展示的比赛数量
Contests per page: 每页展示的比赛数量
Continue: 继续
Contributed Problems: 贡献的题目
Contributions: 贡献
@@ -192,6 +198,9 @@ Day: 日
Deadline: 截止时间
Default Code Language: 默认代码语言
Default Code Template: 默认代码模板
Default display language: 默认显示语言
Default Privilege: 用户默认全站权限
Delete a user: 删除用户
Delete discussion replies of own discussion: 删除自己讨论中的回复
Delete discussion replies: 删除讨论回复
Delete discussions: 删除讨论
@@ -226,6 +235,8 @@ discussion_edit: 编辑讨论
discussion_main: 讨论
discussion_node: 讨论
Discussion: 讨论
Discussions on main: 主页展示的讨论数量
Discussions per page: 每页展示的讨论数量
Discussions: 讨论
Display name {1} you want to set is used by others.: 您想要设置的显示名 {1} 已经被其他人使用了。
Display Name: 显示名
@@ -288,6 +299,8 @@ Enabled: 开启
End at: 结束于
End Date: 结束日期
End Time: 结束时间
EndPoint for judge: 提供给评测机的 EndPoint
EndPoint for user: 提供给用户的 EndPoint
English: 英文
Enroll Training: 参加训练
Enrolled: 已参加
@@ -344,15 +357,20 @@ homework_main: 作业
homework_scoreboard: 作业成绩表
homework_status: 作业成绩表
Homework: 作业
Host: 主持人
Homeworks on main: 主页展示的作业数量
Homeworks per page: 每页展示的作业数量
Host: 主办人
hour(s): 小时
If enabled, source code will be emailed to you after the submission is accepted.: 如果启用,在您通过题目后,源代码会以 Email 的形式发送给您。
If left blank, the built-in template of the corresponding language will be used.: 若留空,则将使用对应语言的内置代码模板。
Images: 图片
Import From Hydro: 从 Hydro 导入
Import From SYZOJ: 从 SYZOJ 导入
Import From SYZOJ.: 从 SYZOJ 导入
Import from: 导入自
Import problem from syzoj.: 从运行 syzoj 系统的 OJ 导入题目。
Import Problem: 导入题目
Import User: 导入用户
Import: 导入
In 1 day: 一天后
In 1 month: 一个月后
@@ -364,6 +382,7 @@ In following homework: 在以下作业中
In following training plans: 在下列训练计划中
In Progress: 进行中
Information: 信息
Init Discussion Nodes: 初始化讨论结点
Initialize: 初始化
Inline codes: 行内代码
Inline formulas: 行内公式
@@ -388,6 +407,9 @@ Judged At: 评测时间
Judged By: 评测机
Judging Queue: 评测队列
Keep current expiration: 保持当前过期设置
LANG_TEXTS: 编译语言代号 -> 语言名称
Language file settings: 评测机语言(langs.yaml)
Language Highlight ID: 编译语言代号 -> 高亮语言代号
Language: 语言
last active at: 最后活动于
last login at: 最后登录于
@@ -413,6 +435,7 @@ Logout This Session: 注销该会话
Logout: 登出
Lost Password: 忘记密码
Lucky: 手气不错
Mail From: 发件人
manage_dashboard: 控制面板
manage_join_applications: 加域申请
manage_module: 管理模块
@@ -457,6 +480,7 @@ No Permission to Submit: 您没有权限递交
No problem.: 没有题目。
No solutions so far...: 目前还没有题解...
No Submissions: 没有递交
No testdata at current.: 暂无测试数据。
No user is allowed to join this domain: 没有用户可以自助加入此域
no_translation_warn: ''
None: 无
@@ -514,6 +538,7 @@ perm_training: 训练
Permission: 权限
Permissions: 权限
Pick a problem randomly based on current filter: 根据当前过滤条件随机选择一道题
pid: 题目 ID
Plan: 计划
Please attend contest to see the problems.: 请参加比赛来查看题目。
Please claim the assignment to see the problems.: 认领作业后才可以查看作业内容。
@@ -523,8 +548,10 @@ Pretest Data: 自测数据
Pretest Your Code: 使用自定义数据测试
Pretest: 自测
Pretest?: 自测?
Preview: 预览
Privacy: 隐私
Problem {1} not found.: 题目 {1} 不存在。
Problem Categories: 题目标签
Problem Data: 题目数据
Problem Description: 题目描述
Problem ID List: 题目 ID 列表
@@ -552,6 +579,7 @@ problem.import.input_format: '## 输入格式'
problem.import.limit_and_hint: '## 限制'
problem.import.output_format: '## 输出格式'
problem.import.problem_description: '## 题目描述'
Problems per page: 每页展示的题目数量
Problems Sets: 题库
Problems: 题目
Profile Background Image: 背景图片
@@ -565,10 +593,12 @@ Quit Scratchpad: 退出在线编程模式
Quote: 引用
Rank: 排名
ranking: 排名
Recalculates nSubmit and nAccept in problem status.: 重新计算每道题目的 AC 量和提交量
Recommended: 推荐
Record {0} not found.: 记录 {0} 不存在。
record_detail: 记录详情
record_main: 评测队列
Records per page: 每页展示的评测记录数量
Records: 评测记录
Refresh Records: 刷新评测记录
Refresh: 刷新
@@ -583,6 +613,7 @@ Remove Selected User: 将所选用户移出
Remove this data: 移除这组数据
Remove: 移除
Repeat Password: 重复密码
Replies per page: 每页展示的回复数量
Reply discussions: 回复讨论
Reply problem solutions: 回复题解
reply: 回复
@@ -607,6 +638,7 @@ Sample Input: 输入数据
Sample Output: 输出数据
Sample: 样例
Save All Changes: 保存所有修改
Saved session expire seconds: 保存的会话的过期秒数
Saved session: 已保存的会话
score canceled: 成绩取消
Score: 分数
@@ -626,15 +658,18 @@ Selected users have been removed from the domain.: 所选用户已从此域中
Send Code after acceptance: 通过题目后发送源代码
Send Message: 发送站内信息
Send Password Reset Email: 发送密码重置邮件
Send Problem: 发送题目
Send Verification Email: 发送验证邮件
Send: 发送
Service Status: 服务状态
Set Role: 设置角色
Set Roles for Selected User: 设置所选用户的角色
Set Roles for selected users: 为所选用户设置角色
setting_basic: 基础设置
setting_customize: 个性化
setting_display: 显示偏好
setting_domain: 域设置
setting_file: 存储桶设置
setting_info_domain: 个人信息
setting_info: 个人信息
setting_privacy: 隐私
@@ -654,6 +689,11 @@ Sign up mail has been sent to your email.: 注册邮件已经发送到您的垃
Sign Up Now: 现在注册
Sign Up: 注册
Size: 大小
SMTP Password: SMTP 密码
SMTP Server Host: SMTP 服务器地址
SMTP Server Port: SMTP 服务器端口
SMTP Username: SMTP 用户名
Solutions per page: 每页展示的题解数量
Sorry: 对不起
Sort by: 排序
Source type: 来源类型
@@ -664,6 +704,11 @@ Statistics: 统计
Status is hidden: 状态已隐藏
status: 状态
Status: 状态
Storage engine accessKey: 存储桶 accessKey
Storage engine bucket: 存储桶名称
Storage engine endPoint: 存储桶 endPoint
Storage engine region: 存储桶地域
Storage engine secret: 存储桶 secretKey
Submission Statistics: 递交统计
Submission: 递交
Submissions: 递交
@@ -671,6 +716,7 @@ Submit: 递交
Submitted: 已递交
Support: 支持
Tags: 标签
Target: 目标
Technical Information: 技术信息
Temporary session: 临时会话
Terms of Service: 服务条款
@@ -695,6 +741,7 @@ This homework is not open.: 该作业还未开放递交。
This is the current session: 这是当前的会话
This message will be presented to those whose submissions are accepted.: 这条消息将会被展示给通过此题的用户。
This page needs JavaScript to work.: 这个页面需要 Javascript。
This person is lazy and didn't wrote anything.: 该用户太懒,这里啥也没写 (´・ω・`)
This section cannot be challenged at present, so please complete the following sections first: 该章节目前不可挑战,请先完成以下章节
This type of files are not allowed to be uploaded.: 不允许上传这种文件。
Time (Seconds): 耗时 (秒)
@@ -718,6 +765,8 @@ training_detail: 训练详情
training_edit: 编辑训练
training_main: 训练
Training: 训练
Trainings on main: 主页展示的训练数量
Trainings per page: 每页展示的训练数量
Type: 类型
UI Language: 用户界面语言
Uncompleted: 未完成
@@ -725,6 +774,7 @@ Unique: 唯一
Unknown field {0}.: 未知字段 {0}。
Unknown: 未知
Unordered List: 无序列表
Unsaved session expire seconds: 未保存的会话的过期秒数
Unstar Topic: 取消收藏
Unstar: 取消收藏
Update Permission: 更新权限
@@ -798,6 +848,8 @@ What's this?: 这是什么?
Whether to show tags in the problem list.: 是否在题目列表中显示题目的标签。
Will be used as the domain icon.: 将被用作系统图标。
With this feature, you can copy problems that you can view from a domain to some other domain. Their title, content, tags and categories will be copied. However, their test data are not copied directly.: 您可以通过这个功能将某域下您能查看的题目复制到其它域中,题目的标题、描述、标签与分类将被复制过来。但是测试数据不会被直接复制。
With this feature, you can import problems that you can view from a site to here. Their title, content, tags and categories will be imported. However, their test data are not copied directly.: 您可以通过这个功能将其他 OJ 的题目导入到本站。题目的标题、题面、标签和分类将会被直接导入,测试数据将会在后台自动导入。
With this feature, you can import problems that you can view from a site to here. Their title, content, tags and categories will be imported.: 您可以通过这个功能将其他 OJ 的题目导入到本站。题目的标题、题面、标签和分类都将会被自动导入。
Write Your Comment: 发表您的评论
Write Your Solution: 发表您的题解
Year: 年
+47 -45
View File
@@ -128,7 +128,7 @@ DomainSetting(
);
DomainUserSetting(
Setting('setting_info', 'displayName', null, 'text', 'display name'),
Setting('setting_info', 'displayName', null, 'text', 'Display Name'),
Setting('setting_storage', 'nAccept', 0, 'number', 'nAccept', null, FLAG_HIDDEN | FLAG_DISABLED),
Setting('setting_storage', 'nSubmit', 0, 'number', 'nSubmit', null, FLAG_HIDDEN | FLAG_DISABLED),
Setting('setting_storage', 'nLike', 0, 'number', 'nLike', null, FLAG_HIDDEN | FLAG_DISABLED),
@@ -138,50 +138,52 @@ DomainUserSetting(
);
SystemSetting(
Setting('setting_file', 'file.endPoint', null, 'text', 'Storage engine endPoint'),
Setting('setting_file', 'file.accessKey', null, 'text', 'Storage engine accessKey'),
Setting('setting_file', 'file.secretKey', null, 'password', 'Storage engine secret', null, FLAG_SECRET),
Setting('setting_file', 'file.bucket', 'hydro', 'text', 'Storage engine bucket'),
Setting('setting_file', 'file.region', 'us-east-1', 'text', 'Storage engine region'),
Setting('setting_file', 'file.endPointForUser', '/fs/', 'text', 'EndPoint for user'),
Setting('setting_file', 'file.endPointForJudge', '/fs/', 'text', 'EndPoint for judge'),
Setting('setting_smtp', 'smtp.user', null, 'text', 'SMTP Username'),
Setting('setting_smtp', 'smtp.pass', null, 'password', 'SMTP Password', null, FLAG_SECRET),
Setting('setting_smtp', 'smtp.host', null, 'text', 'SMTP Server Host'),
Setting('setting_smtp', 'smtp.port', 465, 'number', 'SMTP Server Port'),
Setting('setting_smtp', 'smtp.from', null, 'text', 'Mail From'),
Setting('setting_smtp', 'smtp.secure', false, 'boolean', 'SSL'),
Setting('setting_server', 'server.name', 'Hydro', 'text', 'Server Name'),
Setting('setting_server', 'server.worker', 1, 'number', 'Server Workers Number'),
Setting('setting_server', 'server.hostname', 'oj.undefined.moe', 'text', 'Server Hostname'),
Setting('setting_server', 'server.host', 'oj.undefined.moe', 'text', 'Server Host'),
Setting('setting_server', 'server.url', '/', 'text', 'Server BaseURL'),
Setting('setting_server', 'server.cdn', '/', 'text', 'CDN Prefix', 'Ends with /'),
Setting('setting_server', 'server.port', 8888, 'number', 'Server Port'),
Setting('setting_server', 'server.xff', null, 'text', 'IP Header', 'e.g. x-forwarded-for (lowercase)'),
Setting('setting_server', 'server.language', 'zh_CN', langRange, 'Default display language'),
Setting('setting_server', 'server.login', true, 'boolean', 'Allow builtin-login'),
Setting('setting_basic', 'default.priv', builtin.PRIV.PRIV_DEFAULT, 'number', 'Default Privilege'),
Setting('setting_basic', 'problem.categories', builtin.CATEGORIES, 'yaml', 'Problem Categories'),
Setting('setting_basic', 'lang.texts', builtin.LANG_TEXTS, 'yaml', 'LANG_TEXTS'),
Setting('setting_basic', 'pagination.problem', 100, 'number', 'Problems per page'),
Setting('setting_basic', 'pagination.contest', 20, 'number', 'Contests per page'),
Setting('setting_basic', 'pagination.discussion', 50, 'number', 'Discussions per page'),
Setting('setting_basic', 'pagination.record', 100, 'number', 'Records per page'),
Setting('setting_basic', 'pagination.solution', 20, 'number', 'Solutions per page'),
Setting('setting_basic', 'pagination.training', 10, 'number', 'Trainings per page'),
Setting('setting_basic', 'pagination.reply', 50, 'number', 'Replies per page'),
Setting('setting_basic', 'pagination.homework_main', 5, 'number', 'Homeworks on main'),
Setting('setting_basic', 'pagination.contest_main', 10, 'number', 'Contests on main'),
Setting('setting_basic', 'pagination.training_main', 10, 'number', 'Trainings on main'),
Setting('setting_basic', 'pagination.discussion_main', 20, 'number', 'Discussions on main'),
Setting('setting_session', 'session.keys', [String.random(32)], 'text', 'session.keys', null, FLAG_HIDDEN),
Setting('setting_session', 'session.secure', false, 'boolean', 'session.secure'),
Setting('setting_session', 'session.saved_expire_seconds', 3600 * 24 * 30, 'number', 'Saved session expire seconds'),
Setting('setting_session', 'session.unsaved_expire_seconds', 3600 * 3, 'number', 'Unsaved session expire seconds'),
Setting('setting_storage', 'db.ver', 0, 'number', 'Database version', null, FLAG_DISABLED | FLAG_HIDDEN),
Setting('setting_storage', 'user', 1, 'number', 'User Counter', null, FLAG_DISABLED | FLAG_HIDDEN),
Setting('setting_storage', 'installid', String.random(64), 'text', 'Installation ID', null, FLAG_HIDDEN | FLAG_DISABLED),
Setting('setting_file', 'file.endPoint', null, 'text', 'file.endPoint', 'Storage engine endPoint'),
Setting('setting_file', 'file.accessKey', null, 'text', 'file.accessKey', 'Storage engine accessKey'),
Setting('setting_file', 'file.secretKey', null, 'password', 'file.secretKey', 'Storage engine secret', FLAG_SECRET),
Setting('setting_file', 'file.bucket', 'hydro', 'text', 'file.bucket', 'Storage engine bucket'),
Setting('setting_file', 'file.region', 'us-east-1', 'text', 'file.region', 'Storage engine region'),
Setting('setting_file', 'file.endPointForUser', '/fs/', 'text', 'file.endPointForUser', 'EndPoint for user'),
Setting('setting_file', 'file.endPointForJudge', '/fs/', 'text', 'file.endPointForJudge', 'EndPoint for judge'),
Setting('setting_smtp', 'smtp.user', null, 'text', 'smtp.user', 'SMTP Username'),
Setting('setting_smtp', 'smtp.pass', null, 'password', 'smtp.pass', 'SMTP Password', FLAG_SECRET),
Setting('setting_smtp', 'smtp.host', null, 'text', 'smtp.host', 'SMTP Server Host'),
Setting('setting_smtp', 'smtp.port', 465, 'number', 'smtp.port', 'SMTP Server Port'),
Setting('setting_smtp', 'smtp.from', null, 'text', 'smtp.from', 'Mail From'),
Setting('setting_smtp', 'smtp.secure', false, 'boolean', 'smtp.secure', 'SSL'),
Setting('setting_server', 'server.name', 'Hydro', 'text', 'server.name', 'Server Name'),
Setting('setting_server', 'server.worker', 1, 'number', 'server.worker', 'Server Workers Number'),
Setting('setting_server', 'server.hostname', 'oj.undefined.moe', 'text', 'server.hostname', 'Server Hostname'),
Setting('setting_server', 'server.host', 'oj.undefined.moe', 'text', 'server.host', 'Server Host'),
Setting('setting_server', 'server.url', '/', 'text', 'server.url', 'Server BaseURL'),
Setting('setting_server', 'server.cdn', '/', 'text', 'server.cdn', 'CDN Prefix'),
Setting('setting_server', 'server.port', 8888, 'number', 'server.port', 'Server Port'),
Setting('setting_server', 'server.xff', null, 'text', 'server.xff', 'IP Header'),
Setting('setting_server', 'server.language', 'zh_CN', langRange, 'server.language', 'Default display language'),
Setting('setting_server', 'server.login', true, 'boolean', 'server.login', 'Allow builtin-login'),
Setting('setting_basic', 'default.priv', builtin.PRIV.PRIV_DEFAULT, 'number', 'default.priv', 'Default Privilege'),
Setting('setting_basic', 'problem.categories', builtin.CATEGORIES, 'yaml', 'problem.categories', 'Problem Categories'),
Setting('setting_basic', 'lang.texts', builtin.LANG_TEXTS, 'yaml', 'lang.texts', 'LANG_TEXTS'),
Setting('setting_basic', 'pagination.problem', 100, 'number', 'pagination.problem', 'Problems per page'),
Setting('setting_basic', 'pagination.contest', 20, 'number', 'pagination.contest', 'Contests per page'),
Setting('setting_basic', 'pagination.discussion', 50, 'number', 'pagination.discussion', 'Discussions per page'),
Setting('setting_basic', 'pagination.record', 100, 'number', 'pagination.record', 'Records per page'),
Setting('setting_basic', 'pagination.solution', 20, 'number', 'pagination.solution', 'Solutions per page'),
Setting('setting_basic', 'pagination.training', 10, 'number', 'pagination.training', 'Trainings per page'),
Setting('setting_basic', 'pagination.reply', 50, 'number', 'pagination.reply', 'Replies per page'),
Setting('setting_basic', 'pagination.homework_main', 5, 'number', 'pagination.homework_main', 'Homeworks on main'),
Setting('setting_basic', 'pagination.contest_main', 10, 'number', 'pagination.contest_main', 'Contests on main'),
Setting('setting_basic', 'pagination.training_main', 10, 'number', 'pagination.training_main', 'Trainings on main'),
Setting('setting_basic', 'pagination.discussion_main', 20, 'number', 'pagination.discussion_main', 'Discussions on main'),
Setting('setting_session', 'session.keys', [String.random(32)], 'text', 'session.keys', 'session.keys', FLAG_HIDDEN),
Setting('setting_session', 'session.secure', false, 'boolean', 'session.secure', 'session.secure'),
Setting('setting_session', 'session.saved_expire_seconds', 3600 * 24 * 30,
'number', 'session.saved_expire_seconds', 'Saved session expire seconds'),
Setting('setting_session', 'session.unsaved_expire_seconds', 3600 * 3,
'number', 'session.unsaved_expire_seconds', 'Unsaved session expire seconds'),
Setting('setting_storage', 'db.ver', 0, 'number', 'db.ver', 'Database version', FLAG_DISABLED | FLAG_HIDDEN),
Setting('setting_storage', 'user', 1, 'number', 'user', 'User Counter', FLAG_DISABLED | FLAG_HIDDEN),
Setting('setting_storage', 'installid', String.random(64), 'text', 'installid', 'Installation ID', FLAG_HIDDEN | FLAG_DISABLED),
);
bus.once('app/started', async () => {
+1 -1
View File
@@ -3,7 +3,7 @@ import db from '../service/db';
import { STATUS } from '../model/builtin';
import * as document from '../model/document';
export const description = 'Recalcuates nSubmit and nAccept in problem status.';
export const description = 'Recalculates nSubmit and nAccept in problem status.';
export async function udoc() {
const pipeline = [
+1
View File
@@ -0,0 +1 @@
From QDUOJ Export: 从 QDUOJ 导入
+1
View File
@@ -0,0 +1 @@
migrate from hustoj: 从 HustOJ 导入
+1
View File
@@ -0,0 +1 @@
migrate from vijos: 从 Vijos 导入