diff --git a/docs b/docs index 5bc4f0793..61816176a 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit 5bc4f079358f4a3c163707128c35e7731173c756 +Subproject commit 61816176a3d1b66c7f54617bc94fdd39ad646d93 diff --git a/psalm-baseline.xml b/psalm-baseline.xml index 9a44540c6..74a0c4911 100644 --- a/psalm-baseline.xml +++ b/psalm-baseline.xml @@ -4492,8 +4492,6 @@ - - @@ -4502,26 +4500,22 @@ + + + + + - - - - - - - - - @@ -4534,6 +4528,15 @@ authorization['user']['id']]]> + + + + + + + + + getIdInternal($participant['peer'])]]]> @@ -4554,15 +4557,8 @@ - - - - - + - - - @@ -4581,7 +4577,7 @@ - + getIdInternal($participant['peer'])]]]> diff --git a/src/Lang.php b/src/Lang.php index 74f49bc72..58b0f865c 100644 --- a/src/Lang.php +++ b/src/Lang.php @@ -21,6 +21,7 @@ namespace danog\MadelineProto; final class Lang { public const PERCENTAGES = [ + 'zh_Hans' => 100, 'en' => 100, 'fr' => 36, 'de' => 0, @@ -1547,6 +1548,174 @@ If you intentionally deleted this account, ignore this message.', 'waveform_value' => 'A waveform value must be between 0 and 31!', 'windows_warning' => 'For Windows users: please switch to Linux if this fails. You can also try modifying the firewall settings to allow all PHP processes to create sockets (it\'s 100% easier to just switch to Linux, on Linux MadelineProto just works out of the box, no changes needed)', ], + 'zh_Hans' => + [ + '2fa_uncalled' => '我不等你输入密码!请先调用 phoneLogin 和 completePhoneLogin 方法!', + 'accepting_call' => '正在接听来自 %s 的电话...', + 'account_banned' => '!!!!!!! 警告 !!!!!!! +Telegram 的防洪系统已暂停此帐户。 +要继续,需要手动验证。 +发送电子邮件至 recovery@telegram.org,要求解禁电话号码 %s,并简要描述您将如何处理此电话号码。 +然后重新登录。 +如果您有意删除此帐户,请忽略此消息。', + 'already_loggedIn' => 'MadelineProto 的这个实例已经登录!', + 'apiAppInstructionsAuto0' => '输入应用程序的名称,可以是任何内容: ', + 'apiAppInstructionsAuto1' => '输入应用程序的简称,字母数字,5-32个字符: ', + 'apiAppInstructionsAuto2' => '输入应用程序/网站的 URL,或 t.me/yourusername: ', + 'apiAppInstructionsAuto3' => '输入应用纲领: ', + 'apiAppInstructionsAuto4' => '描述你的应用: ', + 'apiAppInstructionsAutoTypeOther' => '其他(在描述中指定)', + 'apiAppInstructionsManual0' => '你的应用名称,可以是任意名称', + 'apiAppInstructionsManual1' => '您的应用的简称,字母数字,5-32 个字符', + 'apiAppInstructionsManual2' => '你的应用/网站的 URL,或者 t.me/yourusername', + 'apiAppInstructionsManual3' => '任何事', + 'apiAppInstructionsManual4' => '在此描述您的应用', + 'apiAppWeb' => '输入 API 信息', + 'apiAutoPrompt0' => '输入已经在 Telegram 注册的电话号码: ', + 'apiAutoPrompt1' => '输入您在 Telegram 中收到的验证码: ', + 'apiAutoWeb' => '输入已在电报上注册的电话号码以获取 API ID', + 'apiChooseManualAutoTip' => '请注意,您也可以使用以下设置直接在代码中提供 API ID/hash:%s', + 'apiChooseManualAutoTipWeb' => '请注意,您还可以使用设置直接在代码中提供 API ID/hash。', + 'apiChoosePrompt' => '您的选择 (m/a): ', + 'apiError' => '错误:%s. 请重试。', + 'apiManualInstructions0' => '登录 https://my.telegram.org', + 'apiManualInstructions1' => '前往API 开发工具', + 'apiManualInstructions2' => '点击创建应用程序', + 'apiManualPrompt0' => '输入您的 API ID: ', + 'apiManualPrompt1' => '输入您的 API hash: ', + 'apiManualWeb' => '输入您的 API ID 和 API hash', + 'apiParamsError' => '您没有提供所有必需的参数!', + 'api_not_set' => '您必须提供一个 api key 和一个 api id,请获取您自己的 @ my.telegram.org', + 'array_invalid' => '您没有提供有效的数组', + 'baseDirLimitation' => '配置了 basedir 限制:这可能会影响性能并导致一些问题,请尽可能禁用它!', + 'bool_error' => '无法提取布尔值', + 'botAlreadyRunning' => '机器人已开始运行!', + 'botapi_conversion_error' => '无法将 %s 转换为机器人 API 对象', + 'call_already_accepted' => '呼叫 %s 已被接受', + 'call_already_declined' => '已拒绝来电 %s', + 'call_completing' => '正在完成来自 %s 的呼叫...', + 'call_confirming' => '确认来自 %s 的呼叫...', + 'call_discarding' => '正在丢弃呼叫 %s...', + 'call_error_1' => '无法找到并接受呼叫 %s', + 'call_error_2' => '无法找到并确认呼叫 %s', + 'call_error_3' => '无法找到并完成呼叫 %s', + 'cli_need_dl.php_link' => '通过 CLI 使用 getDownloadLink 时,请指定下载脚本 URL!', + 'constructor_not_found' => '未找到该类型的构造函数: ', + 'could_not_connect_to_MadelineProto' => '无法连接到 MadelineProto,请启用 proc_open 并删除 open_basedir 限制或禁用 webserver 路径重写以进行修复!如果您已经这样做了,请确保 PHP 的 CLI 版本与 web 版本完全相同(相同的版本、扩展等),并查看 MadelineProto.log 文件以获取有关阻止 IPC 服务器启动的错误的更多信息。', + 'could_not_convert_object' => '无法转换 %s 类型的对象', + 'deserialization_error' => '反序列化时发生错误', + 'dl.php_check_logs_make_sure_session_running' => '相关的 MadelineProto EventHandler 机器人或 MadelineProto IPC 服务器处于离线状态,请检查日志并确保其中至少有一个正在运行!', + 'dl.php_powered_by_madelineproto' => 'Telegram 文件下载服务器(最高 4GB),由 MadelineProto 提供支持!
单击此处了解有关如何设置您自己的 Telegram 文件下载服务器的更多信息!', + 'do_not_delete_MadelineProto.log' => '绝不能删除 MadelineProto.log 文件,请在设置中设置自定义最大大小!', + 'do_not_remove_MadelineProto.log_phar' => '请不要删除 madeline.phar 或 madeline.php,否则 MadelineProto 将崩溃。如果您对 MadelineProto 有任何问题,请报告给 https://github.com/danog/MadelineProto 或 https://t.me/pwrtelegramgroup', + 'do_not_use_blocking_class' => '出于性能原因,处理程序可能不会使用非异步阻塞类 %s,请改用 %s', + 'do_not_use_blocking_function' => '出于性能原因,事件处理程序可能不会使用非异步阻塞函数 %s,请改用 %s', + 'do_not_use_deprecated_function' => '%s 函数已弃用,请使用 %s 代替', + 'do_not_use_non_root_require_in_event_handler' => '出于性能原因,您不能在事件处理程序类中使用 require 或 include,只允许使用根级需要。', + 'do_not_use_yield' => 'MadelineProto 8 不要求或支持在异步函数中使用 Yield,您必须删除以前用于异步函数调用的所有 Yield 关键字', + 'done' => '完成!', + 'encode_double_error' => '无法正确编码双重', + 'extensionRecommended' => '警告:未安装 %s 扩展,请安装它以加快 MadelineProto 的速度!', + 'extensionRequired' => 'MadelineProto 需要 %s 扩展才能运行.%s', + 'extensionRequiredInstallWithApt' => '尝试运行 sudo apt-get install %s.', + 'extensionRequiredInstallWithCustomInstructions' => '按照 %s 中的说明进行安装。', + 'file_not_exist' => '文件不存在', + 'file_parsing' => '正在解析 %s...', + 'file_type_invalid' => '检测到无效的文件类型 (%s)', + 'fingerprint_invalid' => '密钥指纹无效!', + 'go' => '去', + 'invalid_dl.php_session' => '%s 不是有效的下载脚本,因为其会话 ID 不同(预期为 %s,实际为 %s)', + 'length_too_big' => '长度太大', + 'loginBot' => '输入您的机器人令牌: ', + 'loginBotTokenWeb' => '机器人令牌', + 'loginChoosePromptWeb' => '您想以用户身份还是机器人身份登录?', + 'loginManual' => '或者,您也可以输入机器人令牌或电话号码手动登录: ', + 'loginNoCode' => '您没有提供电话代码!', + 'loginNoName' => '您没有提供名字!', + 'loginNoPass' => '您没有提供密码!', + 'loginOptionBot' => '机器人', + 'loginOptionUser' => '用户', + 'loginQr' => '扫描以上二维码即可自动登录。', + 'loginQrCodeExpired' => 'QR 码已过期,正在生成新的 QR 码...', + 'loginQrCodeSuccessful' => '二维码登录成功!', + 'loginUser' => '输入你的电话号码: ', + 'loginUserCode' => '输入验证码: ', + 'loginUserPass' => '输入您的密码(提示 %s): ', + 'loginUserPassHint' => '提示:%s', + 'loginUserPassWeb' => '输入您的密码: ', + 'loginUserPhoneCodeWeb' => '验证码', + 'loginUserPhoneWeb' => '电话号码', + 'loginWebQr' => '您也可以通过扫描以下二维码自动登录:', + 'loginWebQr1' => '在手机上打开 Telegram', + 'loginWebQr2' => '前往“设置”>“设备”>“链接桌面设备”', + 'loginWebQr3' => '将你的手机对准此屏幕以确认登录', + 'login_2fa_enabled' => '启用 2FA 后,您将必须调用 complete2falogin 函数...', + 'login_auth_key' => '使用身份验证密钥登录...', + 'login_bot' => '以机器人身份登录...', + 'login_code_sending' => '正在发送代码...', + 'login_code_sent' => '代码发送成功!收到代码后,您应该使用 completePhoneLogin 函数。', + 'login_code_uncalled' => '我不等代码了!请先调用 phoneLogin 方法', + 'login_need_signup' => '尚未为此号码创建帐户,您必须调用 completeSignup 函数...', + 'login_ok' => '登录成功!', + 'login_user' => '以普通用户身份登录...', + 'logout_ok' => '退出成功!', + 'long_not_16' => '给定值的长度不是 16 个字节', + 'long_not_32' => '给定值的长度不是 32 个字节', + 'long_not_64' => '给定值的长度不是 64 个字节', + 'madelineproto_ready' => 'MadelineProto 已准备好!', + 'manualAdminActionRequired' => '!!!!!!!!! 需要系统管理员手动操作 !!!!!!!!!', + 'method_not_found' => '找不到方法: ', + 'mmapErrorPart1' => '已达到内存映射(mmap)区域的最大数量(%s):请将 vm.max_map_count 内核配置增加到 262144 进行修复。', + 'mmapErrorPart2' => '要修复此问题,请以 root 身份运行以下命令:%s', + 'mmapErrorPart3' => '要在重启后保留更改:%s', + 'mmapErrorPart4' => '在 Windows 和 WSL 上,增加页面文件的大小可能会有所帮助;如果问题仍然存在,请切换到原生 Linux。', + 'must_have_declare_types' => '出于性能原因,事件处理程序文件的第一个语句必须是“declare(strict_types=1);”', + 'nearest_dc' => '我们在 %s,最近的 DC 是 %d。', + 'need_dl.php' => '无法生成默认下载脚本(%s),请创建一个包含以下内容的 dl.php 文件:%s 并将其 URL 传递给 getDownloadLink 的第二个参数', + 'noReportPeers' => '警告:未设置报告对等体,请将以下方法添加到您的事件处理程序中', + 'non_text_conversion' => '尚无法转换非文本信息!', + 'not_loggedIn' => '我还没有登录!', + 'not_numeric' => '给定值不是数字', + 'params_missing' => '缺少必需参数', + 'peer_not_in_db' => '内部对等数据库中不存在此对等点', + 'plugin_path_does_not_exist' => '插件路径 %s 不存在!', + 'plugins_do_not_use_require' => '出于性能原因,插件只能通过触发 PSR-4 自动加载器来自动包含或需要插件文件夹中的其他文件(而不是通过手动 require() 它们)。', + 'plugins_must_have_exactly_one_class' => '一个插件必须定义一个类!要定义多个类、接口或特征,请创建单独的文件,它们将由 MadelineProto 自动加载。', + 'predicate_not_set' => '谓词(_ 下的值)未设置!', + 'recommend_not_use_filesystem_function' => '不建议使用 %s 函数,因为在更新处理期间访问文件系统会减慢您的机器人速度,请参阅 https://docs.madelineproto.xyz/docs/UPDATES.html#avoiding-the-use-of-filesystem-functions 以获取不会减慢您的机器人速度的替代数据存储方法列表!', + 'rpc_tg_error' => 'Telegram 返回了 RPC 错误:%s(%s),由 %s:%s%sTL 跟踪导致:', + 'sec_peer_not_in_db' => '内部对等数据库中不存在此秘密对等体', + 'secret_chat_skipping' => '我的数据库中没有秘密聊天 %s,跳过消息...', + 'serialization_ofd' => '序列化已过时,正在重建对象!', + 'session_corrupted' => '会话已损坏!', + 'signing_up' => '正在注册为普通用户...', + 'signupFirstName' => '输入您的名字: ', + 'signupFirstNameWeb' => '名字', + 'signupLastName' => '输入您的姓氏(可以为空): ', + 'signupLastNameWeb' => '姓氏', + 'signupWeb' => '请注册', + 'signup_ok' => '报名成功!', + 'signup_uncalled' => '我不等着注册!请先调用 phoneLogin 和 completePhoneLogin 方法!', + 'src_file_invalid' => '提供的源文件无效: ', + 'static_analysis_minor' => '对 %s 进行静态分析时遇到一个小问题:%s', + 'static_analysis_severe' => '对 %s 进行静态分析时遇到严重问题:%s', + 'stream_handle_invalid' => '提供了无效的流句柄。', + 'string_required' => '期望的是字符串!', + 'translate_madelineproto_cli' => 'MadelineProto 可以翻译成您的语言(当前翻译进度:%d%%),请访问 https://weblate.madelineproto.xyz 为翻译做出贡献!', + 'translate_madelineproto_web' => 'MadelineProto 可以翻译成您的语言(当前翻译进度:%d%%),点击此处为翻译做出贡献!', + 'type_extract_error' => '无法提取类型“%s”,您应该更新 MadelineProto!', + 'type_extract_error_id' => '无法提取类型:%s,ID 为 %s,您应该更新 MadelineProto!', + 'update_madelineproto' => '您正在运行旧版本的 MadelineProto,需要更新:当前运行 %s,但最新版本具有多项错误修复和新功能是 %s!', + 'value_bigger_than_2147483647' => '提供的值 %s 大于 2147483647', + 'value_bigger_than_4294967296' => '提供的值 %s 大于 4294967296', + 'value_bigger_than_9223372036854775807' => '提供的值 %s 大于 9223372036854775807', + 'value_smaller_than_0' => '提供的值 %s 小于 0', + 'value_smaller_than_2147483648' => '提供的值 %s 小于 -2147483648', + 'value_smaller_than_9223372036854775808' => '提供的值 %s 小于 -9223372036854775808', + 'waveform_must_have_100_values' => '波形数组必须有 100 个值!', + 'waveform_value' => '波形值必须介于0至31之间!', + 'windows_warning' => '对于 Windows 用户:如果失败,请切换到 Linux。您还可以尝试修改防火墙设置以允许所有 PHP 进程创建套接字(切换到 Linux 更容易,在 Linux 上 MadelineProto 开箱即用,无需进行任何更改)', + ], ]; // THIS WILL BE OVERWRITTEN BY $lang["en"]