From 92edea1de57cc14562b110c5f08589a110faf526 Mon Sep 17 00:00:00 2001
From: ultwcz <46856376+ultwcz@users.noreply.github.com>
Date: Fri, 23 Aug 2024 01:19:16 +0800
Subject: [PATCH] add translation: Chinese (#94)
---
copyparty/web/browser.js | 527 ++++++++++++++++++++++++++++++++++++++-
copyparty/web/splash.js | 40 ++-
2 files changed, 562 insertions(+), 5 deletions(-)
diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js
index 81c8a806..da66afa5 100644
--- a/copyparty/web/browser.js
+++ b/copyparty/web/browser.js
@@ -1047,14 +1047,535 @@ var Ls = {
"lang_set": "passer det å laste siden på nytt?",
},
+
+ "chi": {
+ "tt": "中文",
+ "cols": {
+ "c": "操作按钮",
+ "dur": "持续时间",
+ "q": "质量 / 比特率",
+ "Ac": "音频编码",
+ "Vc": "视频编码",
+ "Fmt": "格式 / 容器",
+ "Ahash": "音频校验和",
+ "Vhash": "视频校验和",
+ "Res": "分辨率",
+ "T": "文件类型",
+ "aq": "音频质量 / 比特率",
+ "vq": "视频质量 / 比特率",
+ "pixfmt": "子采样 / 像素结构",
+ "resw": "水平分辨率",
+ "resh": "垂直分辨率",
+ "chs": "音频频道",
+ "hz": "采样率"
+ },
+
+ "hks": [
+ [
+ "misc",
+ ["ESC", "关闭各种窗口"],
+
+ "file-manager",
+ ["G", "切换列表 / 网格视图"],
+ ["T", "切换缩略图 / 图标"],
+ ["🡅 A/D", "缩略图大小"],
+ ["ctrl-K", "删除选中项"],
+ ["ctrl-X", "剪切选中项"],
+ ["ctrl-V", "粘贴到文件夹"],
+ ["Y", "下载选中项"],
+ ["F2", "重命名选中项"],
+
+ "file-list-sel",
+ ["space", "切换文件选择"],
+ ["🡑/🡓", "移动选择光标"],
+ ["ctrl 🡑/🡓", "移动光标和视图"],
+ ["🡅 🡑/🡓", "选择上一个/下一个文件"],
+ ["ctrl-A", "选择所有文件 / 文件夹"]
+ ], [
+ "navigation",
+ ["B", "切换面包屑导航 / 导航窗格"],
+ ["I/K", "前一个/下一个文件夹"],
+ ["M", "父文件夹(或折叠当前文件夹)"],
+ ["V", "切换导航窗格中的文件夹 / 文本文件"],
+ ["A/D", "导航窗格大小"]
+ ], [
+ "audio-player",
+ ["J/L", "上一首/下一首歌曲"],
+ ["U/O", "跳过10秒向前/向后"],
+ ["0..9", "跳转到0%..90%"],
+ ["P", "播放/暂停(也可以启动)"],
+ ["Y", "下载歌曲"]
+ ], [
+ "image-viewer",
+ ["J/L, ←/→", "上一张/下一张图片"],
+ ["Home/End", "第一张/最后一张图片"],
+ ["F", "全屏"],
+ ["R", "顺时针旋转"],
+ ["🡅 R", "逆时针旋转"],
+ ["Y", "下载图片"]
+ ], [
+ "video-player",
+ ["U/O", "跳过10秒向前/向后"],
+ ["P/K/Space", "播放/暂停"],
+ ["C", "继续播放下一段"],
+ ["V", "循环"],
+ ["M", "静音"],
+ ["[ and ]", "设置循环区间"]
+ ], [
+ "textfile-viewer",
+ ["I/K", "前一个/下一个文件"],
+ ["M", "关闭文本文件"],
+ ["E", "编辑文本文件"],
+ ["S", "选择文件(用于剪切/重命名)"]
+ ]
+ ],
+
+ "m_ok": "确定",
+ "m_ng": "取消",
+
+ "ht_s": "秒!s",
+ "ht_m": "分!s",
+ "ht_h": "时!s",
+ "ht_d": "天!s",
+ "ht_and": " 和 ",
+
+ "goh": "控制面板",
+ "gop": '前一项">pre',
+ "gou": '顶部">up',
+ "gon": '下一项">next',
+ "logout": " 登出",
+ "access": " 访问",
+ "ot_close": "关闭子菜单",
+ "ot_search": "按属性、路径/名称、音乐标签或上述内容的任意组合搜索文件$N$N<code>foo bar</code> = 必须包含 «foo» 和 «bar»,$N<code>foo -bar</code> = 包含 «foo» 而不包含 «bar»,$N<code>^yana .opus$</code> = 以 «yama» 为开头的 «opus» 文件$N<code>"try unite"</code> = 正好包含 «try unite»$N$N时间格式为 iso-8601, 比如:$N<code>2009-12-31</code> or <code>2020-09-12 23:30:00</code>",
+ "ot_unpost": "取消发布:删除最近上传的内容,或中止未完成的内容",
+ "ot_bup": "bup:基础上传器,甚至支持 Netscape 4.0",
+ "ot_mkdir": "mkdir:创建新目录",
+ "ot_md": "new-md:创建新 Markdown 文档",
+ "ot_msg": "msg:向服务器日志发送消息",
+ "ot_mp": "媒体播放器选项",
+ "ot_cfg": "配置选项",
+ "ot_u2i": 'up2k:上传文件(如果你有写入权限),或切换到搜索模式以查看文件是否存在于服务器上,$N$N上传是可恢复的,多线程的,保留文件时间戳,但比 [🎈] (基础上传器)占用 更多的CPU
上传过程中,此图标会变成进度指示器!',
+ "ot_u2w": 'up2k:带有恢复支持的文件上传(关闭浏览器后,重新上传相同文件)$N$N多线程的,文件时间戳得以保留,但比 [🎈] (基础上传器)使用更多CPU
上传过程中,这个图标会变成进度指示器!',
+ "ot_noie": '请使用 Chrome / Firefox / Edge',
+
+ "ab_mkdir": "创建目录",
+ "ab_mkdoc": "新建 Markdown 文档",
+ "ab_msg": "发送消息到服务器日志",
+
+ "ay_path": "跳转到文件夹",
+ "ay_files": "跳转到文件",
+
+ "wt_ren": "重命名选中的项目$N快捷键: F2",
+ "wt_del": "删除选中的项目$N快捷键: ctrl-K",
+ "wt_cut": "剪切选中的项目<small>(然后粘贴到其他地方)</small>$N快捷键: ctrl-X",
+ "wt_pst": "粘贴之前剪切/复制的选择$N快捷键: ctrl-V",
+ "wt_selall": "选择所有文件$N快捷键: ctrl-A(当文件被聚焦时)",
+ "wt_selinv": "反转选择",
+ "wt_selzip": "将选择下载为归档文件",
+ "wt_seldl": "将选择下载为单独的文件$N快捷键: Y",
+ "wt_npirc": "复制 IRC 格式的曲目信息",
+ "wt_nptxt": "复制纯文本格式的曲目信息",
+ "wt_grid": "切换网格/列表视图$N快捷键: G",
+ "wt_prev": "上一曲$N快捷键: J",
+ "wt_play": "播放/暂停$N快捷键: P",
+ "wt_next": "下一曲$N快捷键: L",
+
+ "ul_par": "并行上传:",
+ "ut_rand": "随机化文件名",
+ "ut_u2ts": "将最后修改的时间戳$N从你的文件系统复制到服务器",
+ "ut_mt": "在上传时继续哈希其他文件$N$N如果你的 CPU 或硬盘是瓶颈,可能需要禁用",
+ "ut_ask": '上传开始前询问确认">💭',
+ "ut_pot": "通过简化 UI 来$N提高慢设备上的上传速度",
+ "ut_srch": "实际不上传,而是检查文件是否$N已经存在于服务器上(将扫描你可以读取的所有文件夹)",
+ "ut_par": "通过将其设置为 0 来暂停上传$N$N如果你的连接很慢/延迟高,$N$N请增加在局域网或服务器硬盘是瓶颈时保持为 1",
+ "ul_btn": "将文件/文件夹拖放到这里(或点击我)",
+ "ul_btnu": "上 传",
+ "ul_btns": "搜 索",
+
+ "ul_hash": "哈希",
+ "ul_send": "发送",
+ "ul_done": "完成",
+ "ul_idle1": "没有排队的上传任务",
+ "ut_etah": "平均 <em>hashing</em> 速度和估计完成时间",
+ "ut_etau": "平均 <em>上传</em> 速度和估计完成时间",
+ "ut_etat": "平均 <em>总</em> 速度和估计完成时间",
+
+ "uct_ok": "成功完成",
+ "uct_ng": "失败/拒绝/未找到",
+ "uct_done": "成功和失败的组合",
+ "uct_bz": "正在哈希或上传",
+ "uct_q": "空闲,待处理",
+
+ "utl_name": "文件名",
+ "utl_ulist": "列表",
+ "utl_ucopy": "复制",
+ "utl_links": "链接",
+ "utl_stat": "状态",
+ "utl_prog": "进度",
+
+ "ul_flagblk": "文件已添加到队列
但另一个浏览器标签中有一个繁忙的 up2k,
因此等待它完成",
+ "ul_btnlk": "服务器配置已将此开关锁定到此状态",
+
+ "udt_up": "上传",
+ "udt_srch": "搜索",
+ "udt_drop": "将文件拖放到这里",
+
+ "u_nav_m": '
Enter
= 文件(一个或多个)\nESC
= 一个文件夹(包括子文件夹)',
+ "u_nav_b": '文件一个文件夹',
+
+ "cl_opts": "开关选项",
+ "cl_themes": "主题",
+ "cl_langs": "语言",
+ "cl_ziptype": "文件夹下载",
+ "cl_uopts": "up2k 开关",
+ "cl_favico": "网站图标",
+ "cl_bigdir": "最大目录数",
+ "cl_keytype": "键位符号",
+ "cl_hiddenc": "隐藏列",
+ "cl_hidec": "隐藏",
+ "cl_reset": "重置",
+ "cl_hpick": "点击列标题以在下表中隐藏",
+ "cl_hcancel": "列隐藏已取消",
+
+ "ct_grid": '网格视图',
+ "ct_thumb": '在网格视图中,切换图标或缩略图$N快捷键: T">🖼️ 缩略图',
+ "ct_csel": '在网格视图中使用 CTRL 和 SHIFT 进行文件选择">CTRL SHIFT',
+ "ct_ihop": '当图像查看器关闭时,滚动到最后查看的文件">滚动',
+ "ct_dots": '显示隐藏文件(如果服务器允许)">隐藏文件',
+ "ct_dir1st": '在文件之前排序文件夹">📁 排序',
+ "ct_readme": '在文件夹列表中显示 README.md">📜 显示readme',
+ "ct_idxh": '显示 index.html 代替文件夹列表">htm',
+ "ct_sbars": '显示滚动条">⟊',
+
+ "cut_umod": "如果文件已存在于服务器上,将服务器的最后修改时间戳更新为与你的本地文件匹配(需要写入和删除权限)\">re📅",
+
+ "cut_turbo": "YOLO 按钮,你可能不想启用这个:$N$N如果你上传了大量文件并且由于某些原因需要重新启动,并且想要尽快继续上传,使用此选项$N$N这会用简单的 "服务器上的文件大小是否相同?" 替代哈希检查,因此如果文件内容不同,它将不会被上传$N$N上传完成后,你应该关闭此选项,然后重新"上传"相同的文件以让客户端验证它们\">加速",
+
+ "cut_datechk": "除非启用 turbo 按钮,否则没有效果$N$N略微减少 YOLO 因素;检查服务器上的文件时间戳是否与你的一致$N$N理论上 应该能捕捉到大多数未完成/损坏的上传,但不能替代之后禁用 turbo 进行的验证\">日期检查",
+
+ "cut_u2sz": "每个上传块的大小(以 MiB 为单位);较大的值跨大西洋传输效果更好。在非常不可靠的连接上尝试较小的值",
+
+ "cut_flag": "确保一次只有一个标签页在上传$N -- 其他标签页也必须启用此选项$N -- 仅影响同一域名下的标签页",
+
+ "cut_az": "按字母顺序上传文件,而不是按最小文件优先$N$N按字母顺序可以更容易地查看服务器上是否出现了问题,但在光纤/局域网上传稍微慢一些",
+
+ "cut_nag": "上传完成时的操作系统通知$N(仅当浏览器或标签页不活跃时)",
+ "cut_sfx": "上传完成时的声音警报$N(仅当浏览器或标签页不活跃时)",
+
+ "cut_mt": "使用多线程加速文件哈希$N$N这使用 Web Worker 并且需要更多内存(额外最多 512 MiB)$N$N比https快30%,http快4.5倍,比Android 手机快5.3倍\">mt",
+
+ "cft_text": "网站图标文本(为空并刷新以禁用)",
+ "cft_fg": "前景色",
+ "cft_bg": "背景色",
+
+ "cdt_lim": "文件夹中显示的最大文件数",
+ "cdt_ask": "滚动到底部时,$N不会加载更多文件,$N而是询问你该怎么做",
+
+ "tt_entree": "显示导航面板(目录树侧边栏)$N快捷键: B",
+ "tt_detree": "显示面包屑导航$N快捷键: B",
+ "tt_visdir": "滚动到选定的文件夹",
+ "tt_ftree": "切换文件夹树 / 文本文件$N快捷键: V",
+ "tt_pdock": "在顶部的停靠窗格中显示父文件夹",
+ "tt_dynt": "随着树的展开自动增长",
+ "tt_wrap": "自动换行",
+ "tt_hover": "悬停时显示溢出的行$N(当鼠标光标在左侧边栏中时,滚动可能会中断)",
+
+ "ml_pmode": "在文件夹末尾时...",
+ "ml_btns": "命令",
+ "ml_tcode": "转码",
+ "ml_tint": "透明度",
+ "ml_eq": "音频均衡器",
+ "ml_drc": "动态范围压缩器",
+
+ "mt_shuf": "在每个文件夹中随机播放歌曲\">🔀",
+ "mt_aplay": "如果链接中有歌曲 ID,则自动播放,禁用此选项将停止在播放音乐时更新页面 URL 中的歌曲 ID,以防止在设置丢失但 URL 保留时自动播放\">自动播放▶",
+ "mt_preload": "在歌曲快结束时开始加载下一首歌,以实现无缝播放\">预加载",
+ "mt_prescan": "在最后一首歌结束之前切换到下一个文件夹$N保持网页浏览器活跃$N以免停止播放\">自动切换",
+ "mt_fullpre": "尝试预加载整首歌;$N✅ 在 不可靠 连接上启用,$N❌ 可能在慢速连接上禁用\">加载整首歌",
+ "mt_fau": "在手机上,如果下一首歌未能快速预加载,防止音乐停止(可能导致标签显示异常)\">☕️",
+ "mt_waves": "波形进度条:$N显示音频幅度\">进度条",
+ "mt_npclip": "显示当前播放歌曲的剪贴板按钮\">/剪切板",
+ "mt_octl": "操作系统集成(媒体快捷键 / OSD)\">OSD",
+ "mt_oseek": "允许通过操作系统集成进行跳转$N$N注意:在某些设备(如 iPhone)上,$N这将替代下一首歌按钮\">seek",
+ "mt_oscv": "在 OSD 中显示专辑封面\">封面",
+ "mt_follow": "保持正在播放的曲目滚动到视图中\">🎯",
+ "mt_compact": "紧凑的控制按钮\">⟎",
+ "mt_uncache": "清除缓存 $N(如果你的浏览器缓存了一个损坏的歌曲副本而拒绝播放,请尝试此操作)\">uncache",
+ "mt_mloop": "循环打开的文件夹\">🔁 循环",
+ "mt_mnext": "加载下一个文件夹并继续\">📂 下一首",
+ "mt_cflac": "将 flac / wav 转换为 opus\">flac",
+ "mt_caac": "将 aac / m4a 转换为 opus\">aac",
+ "mt_coth": "将所有其他(不是 mp3)转换为 opus\">oth",
+ "mt_tint": "在进度条上设置背景级别(0-100)",
+ "mt_eq": "启用均衡器和增益控制;$N$Nboost <code>0</code> = 标准 100% 音量(默认)$N$Nwidth <code>1 </code> = 标准立体声(默认)$Nwidth <code>0.5</code> = 50% 左右交叉反馈$Nwidth <code>0 </code> = 单声道$N$Nboost <code>-0.8</code> & width <code>10</code> = 人声移除 )$N$N启用均衡器使无缝专辑完全无缝,所以如果你在乎这一点,请保持启用,所有值设为零(除了宽度 = 1)",
+ "mt_drc": "启用动态范围压缩器(音量平滑器 / 限幅器);还会启用均衡器以平衡音频,因此如果你不想要它,请将均衡器字段除了 '宽度' 外的所有字段设置为 0$N$N降低 THRESHOLD dB 以上的音频的音量;每超过 THRESHOLD dB 的 RATIO 会有 1 dB 输出,所以默认值 tresh -24 和 ratio 12 意味着它的音量不应超过 -22 dB,可以安全地将均衡器增益提高到 0.8,甚至在 ATK 0 和 RLS 如 90 的情况下提高到 1.8(仅在 Firefox 中有效;其他浏览器中 RLS 最大为 1)$N$N(见维基百科,他们解释得更好)",
+
+ "mb_play": "播放",
+ "mm_hashplay": "播放这个音频文件?",
+ "mp_breq": "需要 Firefox 82+ 或 Chrome 73+ 或 iOS 15+",
+ "mm_bload": "正在加载...",
+ "mm_bconv": "正在转换为 {0},请稍等...",
+ "mm_opusen": "你的浏览器无法播放 aac / m4a 文件;$N现在启用转码为 opus",
+ "mm_playerr": "播放失败:",
+ "mm_eabrt": "播放尝试已取消",
+ "mm_enet": "你的互联网连接有问题",
+ "mm_edec": "这个文件可能已损坏??",
+ "mm_esupp": "你的浏览器不支持这个音频格式",
+ "mm_eunk": "未知错误",
+ "mm_e404": "无法播放音频;错误 404:文件未找到。",
+ "mm_e403": "无法播放音频;错误 403:访问被拒绝。$N$N尝试按 F5 重新加载,也许你已被注销",
+ "mm_e5xx": "无法播放音频;服务器错误",
+ "mm_nof": "附近找不到更多音频文件",
+ "mm_prescan": "正在寻找下一首音乐...",
+ "mm_scank": "找到下一首歌:",
+ "mm_uncache": "缓存已清除;所有歌曲将在下次播放时重新下载",
+ "mm_hnf": "那首歌不再存在",
+
+ "im_hnf": "那张图片不再存在",
+
+ "f_empty": "该文件夹为空",
+ "f_chide": "这将隐藏列 «{0}»$N$N你可以在设置选项卡中重新显示列",
+ "f_bigtxt": "这个文件大小为 {0} MiB -- 真的以文本形式查看?",
+ "fbd_more": '',
+ "fbd_all": '',
+
+ "f_dls": "当前文件夹中的文件链接已$N更改为下载链接",
+
+ "f_partial": "要安全下载正在上传的文件,请点击没有 .PARTIAL
文件扩展名的同名文件。请按取消或 Escape 执行此操作。$N$N按 OK / Enter 将忽略此警告并继续下载 .PARTIAL
临时文件,这几乎肯定会导致数据损坏。",
+
+ "ft_paste": "粘贴 {0} 项$N快捷键: ctrl-V",
+ "fr_eperm": '无法重命名:\n你在此文件夹中没有 “移动” 权限',
+ "fd_eperm": '无法删除:\n你在此文件夹中没有 “删除” 权限',
+ "fc_eperm": '无法剪切:\n你在此文件夹中没有 “移动” 权限',
+ "fp_eperm": '无法粘贴:\n你在此文件夹中没有 “写入” 权限',
+ "fr_emore": "选择至少一个项目以重命名",
+ "fd_emore": "选择至少一个项目以删除",
+ "fc_emore": "选择至少一个项目以剪切",
+
+ "fs_sc": "分享你所在的文件夹",
+ "fs_ss": "分享选定的文件/文件夹",
+ "fs_just1": "选择一个或零个项目进行分享",
+ "fs_ok": "Enter/OK
复制到剪贴板\n按 ESC/Cancel
关闭\n\n",
+
+ "frt_dec": "可能修复一些损坏的文件名\">url-decode",
+ "frt_rst": "将修改后的文件名重置为原始文件名\">↺ 重置",
+ "frt_abrt": "中止并关闭此窗口\">❌ 取消",
+ "frb_apply": "应用重命名",
+ "fr_adv": "批量 / 元数据 / 模式重命名\n高级",
+ "fr_case": "区分大小写的正则表达式\">case",
+ "fr_win": "Windows 安全名称;将 <>:"\\|?*
替换为日文全角字符\">win",
+ "fr_slash": "将 /
替换为不会导致新文件夹创建的字符\">不使用 /",
+ "fr_pdel": "删除",
+ "fr_pnew": "另存为",
+ "fr_pname": "为你的新预设提供一个名称",
+ "fr_aborted": "已中止",
+ "fr_lold": "旧名称",
+ "fr_lnew": "新名称",
+ "fr_tags": "选定文件的标签(只读,仅供参考):",
+ "fr_busy": "正在重命名 {0} 项...\n\n{1}",
+ "fr_efail": "重命名失败:\n",
+ "fr_nchg": "{0} 个新名称由于 win
和/或 ikke /
被更改\n\n确定继续使用这些更改的新名称?",
+
+ "fd_ok": "删除成功",
+ "fd_err": "删除失败:\n",
+ "fd_none": "没有文件被删除;可能被服务器配置(xbd)阻止?",
+ "fd_busy": "正在删除 {0} 项...\n\n{1}",
+ "fd_warn1": "删除这 {0} 项?",
+ "fd_warn2": "最后机会! 无法撤销。删除?",
+
+ "fc_ok": "剪切 {0} 项",
+ "fc_warn": "剪切 {0} 项\n\n但:只有 这个 浏览器标签页可以粘贴它们\n(因为选择非常庞大)",
+
+ "fp_ecut": "首先剪切一些文件/文件夹以粘贴/移动\n\n注意:你可以在不同的浏览器标签页之间剪切/粘贴",
+ "fp_ename": "这些 {0} 项不能移动到这里(名称已存在):",
+ "fp_ok": "移动成功",
+ "fp_busy": "正在移动 {0} 项...\n\n{1}",
+ "fp_err": "移动失败:\n",
+ "fp_confirm": "将这些 {0} 项移动到这里?",
+ "fp_etab": '无法从其他浏览器标签页读取剪贴板',
+ "fp_name": "从你的设备上传一个文件。给它一个名字:",
+ "fp_both_m": 'Enter
= 从 «{1}» 移动 {0} 个文件\nESC
= 从你的设备上传 {2} 个文件',
+ "fp_both_b": '移动上传',
+
+ "mk_noname": "在左侧文本框中输入名称,然后再执行此操作 :p",
+
+ "tv_load": "加载文本文件:\n\n{0}\n\n{1}% ({2} 的 {3} MiB 已加载)",
+ "tv_xe1": "无法加载文本文件:\n\n错误 ",
+ "tv_xe2": "404,文件未找到",
+ "tv_lst": "文本文件列表",
+ "tvt_close": "返回到文件夹视图$N快捷键: M(或 Esc)\">❌ 关闭",
+ "tvt_dl": "下载此文件$N快捷键: Y\">💾 下载",
+ "tvt_prev": "显示上一个文档$N快捷键: i\">⬆ 上一个",
+ "tvt_next": "显示下一个文档$N快捷键: K\">⬇ 下一个",
+ "tvt_sel": "选择文件 (用于剪切/删除/...)$N快捷键: S\">选择",
+ "tvt_edit": "在文本编辑器中打开文件$N快捷键: E\">✏️ 编辑",
+
+ "gt_vau": "不显示视频,仅播放音频\">🎧",
+ "gt_msel": "启用文件选择;按住 ctrl 键点击文件以覆盖$N$N<em>当启用时:双击文件/文件夹以打开它</em>$N$N快捷键:S\">多选",
+ "gt_crop": "中心裁剪缩略图\">裁剪",
+ "gt_3x": "高分辨率缩略图\">3x",
+ "gt_zoom": "缩放",
+ "gt_chop": "剪裁",
+ "gt_sort": "排序依据",
+ "gt_name": "名称",
+ "gt_sz": "大小",
+ "gt_ts": "日期",
+ "gt_ext": "类型",
+ "gt_c1": "截断文件名更多(显示更少)",
+ "gt_c2": "截断文件名更少(显示更多)",
+
+ "sm_prev": "以下是来自先前查询的搜索结果:\n ",
+ "sl_close": "关闭搜索结果",
+ "sl_hits": "显示 {0} 个结果",
+ "sl_moar": "加载更多",
+
+ "s_sz": "大小",
+ "s_dt": "日期",
+ "s_rd": "路径",
+ "s_fn": "名称",
+ "s_ta": "标签",
+ "s_ua": "上传于",
+ "s_ad": "高级",
+ "s_s1": "最小 MiB",
+ "s_s2": "最大 MiB",
+ "s_d1": "最早 iso8601",
+ "s_d2": "最晚 iso8601",
+ "s_u1": "上传后",
+ "s_u2": "和/或之前",
+ "s_r1": "路径包含 (空格分隔)",
+ "s_f1": "名称包含 (用 -nope 否定)",
+ "s_t1": "标签包含 (^=开头,$=结尾)",
+ "s_a1": "特定元数据属性",
+
+ "md_eshow": "无法渲染 ",
+ "md_off": "[📜readme] 在 [⚙️] 中禁用 -- 文档隐藏",
+
+ "badreply": "解析服务器回复失败",
+
+ "xhr403": "403: 访问被拒绝\n\n尝试按 F5 可能会重新登录",
+ "xhr0": "未知(可能丢失连接到服务器,或服务器离线)",
+ "cf_ok": "抱歉 -- DD" + wah + "oS 保护启动\n\n事情应该在大约 30 秒后恢复\n\n如果没有任何变化,按 F5 重新加载页面",
+ "tl_xe1": "无法列出子文件夹:\n\n错误 ",
+ "tl_xe2": "404: 文件夹未找到",
+ "fl_xe1": "无法列出文件夹中的文件:\n\n错误 ",
+ "fl_xe2": "404: 文件夹未找到",
+ "fd_xe1": "无法创建子文件夹:\n\n错误 ",
+ "fd_xe2": "404: 父文件夹未找到",
+ "fsm_xe1": "无法发送消息:\n\n错误 ",
+ "fsm_xe2": "404: 父文件夹未找到",
+ "fu_xe1": "无法从服务器加载未发布列表:\n\n错误 ",
+ "fu_xe2": "404: 文件未找到??",
+
+ "fz_tar": "未压缩的 gnu-tar 文件(linux / mac)",
+ "fz_pax": "未压缩的 pax 格式 tar(较慢)",
+ "fz_targz": "gnu-tar 带 gzip 级别 3 压缩$N$N通常非常慢,所以$N建议使用未压缩的 tar",
+ "fz_tarxz": "gnu-tar 带 xz 级别 1 压缩$N$N通常非常慢,所以$N建议使用未压缩的 tar",
+ "fz_zip8": "zip 带 utf8 文件名(在 windows 7 及更早版本上可能会出现问题)",
+ "fz_zipd": "zip 带传统 cp437 文件名,适用于非常旧的软件",
+ "fz_zipc": "cp437 带 crc32 提前计算,$N适用于 MS-DOS PKZIP v2.04g(1993 年 10 月)$N(处理时间较长,在下载开始之前)",
+
+ "un_m1": "你可以删除下面的近期上传(或中止未完成的上传)",
+ "un_upd": "刷新",
+ "un_m4": "或分享下面可见的文件:",
+ "un_ulist": "显示",
+ "un_ucopy": "复制",
+ "un_flt": "可选过滤器: URL 必须包含",
+ "un_fclr": "清除过滤器",
+ "un_derr": '未发布删除失败:\n',
+ "un_f5": '出现问题,请尝试刷新或按 F5',
+ "un_uf5": "抱歉,你必须刷新页面(例如,按 F5 或 CTRL-R),然后才能中止此上传",
+ "un_nou": '警告: 服务器太忙,无法显示未完成的上传;稍后点击“刷新”链接',
+ "un_noc": '警告: 服务器配置中未启用/允许完全上传文件的取消发布',
+ "un_max": "显示前 2000 个文件(使用过滤器)",
+ "un_avail": "{0} 个近期上传可以被删除{1}
',
+ "u_unpt": "你可以使用左上角的 🧯 撤销/删除此上传",
+ "u_etadone": '完成 ({0}, {1} 个文件)',
+ "u_etaprep": '(准备上传)',
+ "u_hashdone": '哈希完成',
+ "u_hashing": '哈希',
+ "u_fixed": "好! 已修复 👍",
+ "u_cuerr": "上传块 {0} 的 {1} 失败;\n可能无害,继续中\n\n文件:{2}",
+ "u_cuerr2": "服务器拒绝上传(块 {0} 的 {1});\n稍后重试\n\n文件:{2}\n\n错误 ",
+ "u_ehstmp": "将重试;见右下角",
+ "u_ehsfin": "服务器拒绝了最终上传请求;正在重试...",
+ "u_ehssrch": "服务器拒绝了搜索请求;正在重试...",
+ "u_ehsinit": "服务器拒绝了启动上传请求;正在重试...",
+ "u_eneths": "进行上传握手时的网络错误;正在重试...",
+ "u_enethd": "测试目标存在时的网络错误;正在重试...",
+ "u_cbusy": "等待服务器在网络故障后再次信任我们...",
+ "u_ehsdf": "服务器磁盘空间不足!\n\n将继续重试,以防有人\n释放足够的空间以继续",
+ "u_emtleak1": "看起来你的网页浏览器可能有内存泄漏;\n请",
+ "u_emtleak2": ' 切换到 https(推荐) 或 ',
+ "u_emtleak3": ' ',
+ "u_emtleakc": '尝试以下操作:\nF5
刷新页面⚙️ 设置
中禁用 mt
按钮F5
刷新页面🥔
(土豆)connections-per-server
在 about:config
中提高限制",
+ "u_tu": '警告:启用了 turbo, 客户端可能无法检测和恢复不完整的上传;查看 turbo 按钮工具提示
', + "u_ts": '警告:启用了 turbo, 搜索结果可能不正确;查看 turbo 按钮工具提示
', + "u_turbo_c": "服务器配置中禁用了 turbo", + "u_turbo_g": "禁用 turbo,因为你在此卷中没有\n目录列表权限", + "u_life_cfg": '自动删除时间为 分钟(或 小时)', + "u_life_est": '上传将在 --- 删除', + "u_life_max": '此文件夹强制执行\n最大寿命为 {0}', + "u_unp_ok": '允许取消发布 {0}', + "u_unp_ng": '取消发布将不被允许', + "ue_ro": '你对这个文件夹的访问是只读的\n\n', + "ue_nl": '你当前未登录', + "ue_la": '你当前以 "{0}" 登录', + "ue_sr": '你当前处于文件搜索模式\n\n通过点击大搜索按钮旁边的放大镜 🔎 切换到上传模式,然后重试上传\n\n抱歉', + "ue_ta": '尝试再次上传,现在应该能正常工作', + "ur_1uo": "成功:文件上传成功", + "ur_auo": "成功:所有 {0} 个文件上传成功", + "ur_1so": "成功:文件在服务器上找到", + "ur_aso": "成功:所有 {0} 个文件在服务器上找到", + "ur_1un": "上传失败,抱歉", + "ur_aun": "所有 {0} 个上传失败,抱歉", + "ur_1sn": "文件未在服务器上找到", + "ur_asn": "这些 {0} 个文件未在服务器上找到", + "ur_um": "完成;\n{0} 个上传成功,\n{1} 个上传失败,抱歉", + "ur_sm": "完成;\n{0} 个文件在服务器上找到,\n{1} 个文件未在服务器上找到", + + "lang_set": "刷新以使更改生效?", + }, }; -var LANGS = ["eng", "nor"]; +var LANGS = ["eng", "nor", "chi"]; if (window.langmod) langmod(); -var L = Ls[sread("cpp_lang", LANGS) || lang] || Ls.eng || Ls.nor; +var L = Ls[sread("cpp_lang", LANGS) || lang] || Ls.eng || Ls.nor || Ls.chi; for (var a = 0; a < LANGS.length; a++) { for (var b = a + 1; b < LANGS.length; b++) { @@ -7604,7 +8125,7 @@ var settheme = (function () { L = Ls[this.textContent]; swrite("cpp_lang", this.textContent); freshen(); - modal.confirm(Ls.eng.lang_set + "\n\n" + Ls.nor.lang_set, location.reload.bind(location), null); + modal.confirm(Ls.eng.lang_set + "\n\n" + Ls.nor.lang_set + "\n\n" + Ls.chi.lang_set, location.reload.bind(location), null); }; freshen(); diff --git a/copyparty/web/splash.js b/copyparty/web/splash.js index 1ad2366b..9055ca43 100644 --- a/copyparty/web/splash.js +++ b/copyparty/web/splash.js @@ -42,15 +42,51 @@ var Ls = { "ta1": "fill in your new password first", "ta2": "repeat to confirm new password:", "ta3": "found a typo; please try again", + }, + + "chi": { + "a1": "更新", + "b1": "你好 (你尚未登录)", + "c1": "登出", + "d1": "状态", + "d2": "显示所有活动线程的状态", + "e1": "重新加载配置", + "e2": "重新加载配置文件(账户/卷/卷标),$N并重新扫描所有 e2ds 卷$N$N注意:任何全局设置的更改$N都需要完全重启才能生效", + "f1": "你可以查看:", + "g1": "你可以上传到:", + "cc1": "开关等", + "h1": "关闭 k304", + "i1": "开启 k304", + "j1": "k304 会在每个 HTTP 304 时断开连接。这有助于避免某些代理服务器卡住或突然停止加载页面,但也会显著降低性能。", + "k1": "重置设置", + "l1": "登录:", + "m1": "欢迎回来,", + "n1": "404: 文件不存在 ┐( ´ -`)┌", + "o1": '或者你可能没有权限?尝试输入密码或 回家', + "p1": "403: 访问被拒绝 ~┻━┻", + "q1": '尝试输入密码或 回家', + "r1": "回家", + ".s1": "映射", + "t1": "操作", + "u2": "自上次服务器写入的时间$N( 上传 / 重命名 / ... )$N$N17d = 17 天$N1h23 = 1 小时 23 分钟$N4m56 = 4 分钟 56 秒", + "v1": "连接", + "v2": "将此服务器用作本地硬盘$N$N警告:这将显示你的密码!", + "w1": "切换到 https", + "x1": "更改密码", + "y1": "你的分享", + "z1": "解锁区域", + "ta1": "请先输入新密码", + "ta2": "重复以确认新密码:", + "ta3": "发现拼写错误;请重试", } }; -var LANGS = ["eng", "nor"]; +var LANGS = ["eng", "nor", "chi"]; if (window.langmod) langmod(); -var d = Ls[sread("cpp_lang", LANGS) || lang] || Ls.eng || Ls.nor; +var d = Ls[sread("cpp_lang", LANGS) || lang] || Ls.eng || Ls.nor || Ls.chi; for (var k in (d || {})) { var f = k.slice(-1),