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": '
显示 {0} 个文件中的 {1} 个;显示 {2}显示全部
', + "fbd_all": '
显示 {0} 个文件中的 {1} 个;显示全部
', + + "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": "
分享链接已创建
\n按 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} 个未完成的上传可以被中止", + "un_m2": "按上传时间排序;最新的在前:", + "un_no1": "哎呀!没有足够新的上传", + "un_no2": "哎呀!没有符合该过滤器的足够新的上传", + "un_next": "删除下面的下一个 {0} 个文件", + "un_abrt": "中止", + "un_del": "删除", + "un_m3": "正在加载你的近期上传...", + "un_busy": "正在删除 {0} 个文件...", + + "u_https1": "你应该", + "u_https2": "切换到 https", + "u_https3": "以获得更好的性能", + "u_ancient": '你的浏览器非常古老 -- 也许你应该 改用 bup', + "u_nowork": "需要 Firefox 53+ 或 Chrome 57+ 或 iOS 11+", + "u_uri": "要从其他浏览器窗口拖放图片,\n请将其拖放到大的上传按钮上", + "u_enpot": '切换到 简约 UI(可能提高上传速度)', + "u_depot": '切换到 精美 UI(可能降低上传速度)', + "u_gotpot": '切换到土豆 UI 以提高上传速度,\n\n随时可以不同意并切换回去!', + "u_ever": "这是基本的上传工具; up2k 需要至少
chrome 21 // firefox 13 // edge 12 // opera 12 // safari 5.1", + "u_su2k": '这是基本的上传工具;up2k 更好', + "u_ewrite": '你对这个文件夹没有写入权限', + "u_eread": '你对这个文件夹没有读取权限', + "u_enoi": '文件搜索在服务器配置中未启用', + "u_badf": '这些 {0} 个文件(共 {1} 个)被跳过,可能是由于文件系统权限:\n\n', + "u_blankf": '这些 {0} 个文件(共 {1} 个)是空白的;是否仍然上传?\n\n', + "u_just1": '\n也许如果你只选择一个文件会更好', + "u_ff_many": "如果你使用的是 Linux / MacOS / Android, 那么这个文件数量 可能 崩溃 Firefox!\n如果发生这种情况,请再试一次(或使用 Chrome)。", + "u_up_life": "此上传将在 {0} 后从服务器删除", + "u_asku": '将这些 {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": '尝试以下操作:\n上传会稍微慢一些,不过没关系。\n抱歉带来麻烦!\n\nPS:chrome v107 已修复此问题', + "u_emtleakf": '尝试以下操作:\n\nPS: firefox 希望会在某个时点修复此问题', + "u_s404": "在服务器上未找到", + "u_expl": "解释", + "u_maxconn": "大多数浏览器限制为 6,但 Firefox 允许你通过 connections-per-serverabout: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),