758 lines
45 KiB
Python
758 lines
45 KiB
Python
# Copyright (c) 2023-2024 ZianTT, FriendshipEnder
|
||
i18n_lang = "NaN"
|
||
|
||
i18n_tuple = ("中文", "English", "中文(猫娘)")
|
||
|
||
i18n = {
|
||
i18n_tuple[0]: {
|
||
"data_error": "数据错误,运行环境不符",
|
||
"migrate_share": "检测到分享文件,正在迁移",
|
||
"has_destroyed": "已销毁原数据",
|
||
"pay_success": "购票成功!",
|
||
"hunter_prompt": "猎手,你的战绩:{}张",
|
||
"choose_mode": "请选择抢票模式",
|
||
"start_up": "项目主页: https://github.com/biliticket/BHYG GPL-3.0 删除本信息或盗版必究。",
|
||
"mode_time": "根据项目开票时间定时抢票",
|
||
"mode_direct": "直接抢票",
|
||
"mode_detect": "检测详情界面余票后抢票",
|
||
"mode_time_on": "定时抢票已开启",
|
||
"mode_direct_on": "直接抢票已开启",
|
||
"mode_detect_on": "检测详情界面余票后抢票已开启",
|
||
"input_status_delay": "请输入票务信息检测时间间隔(该选项影响412风控概率)(秒)",
|
||
"input_is_use_proxy": "是否使用代理",
|
||
"input_proxy": "请输入代理认证信息",
|
||
"input_proxy_channel": "请输入代理通道(0则不指定)",
|
||
"test_proxy": "尝试访问B站,当前IP为:{}",
|
||
"common_project_id": "常用项目id如下:",
|
||
"empty": "暂无",
|
||
"input_project_id": "请输入项目id",
|
||
"not_handled_412": "被412风控,请联系作者",
|
||
"manual_change_ip": "手动切换,当前IP为:{}",
|
||
"project_id_not_found": "未找到项目ID",
|
||
"server_no_response": "服务器无返回",
|
||
"not_salable": "项目不可售",
|
||
"project_name": "项目名称:{}",
|
||
"captcha_mode_not_supported": "暂不支持该验证码模式",
|
||
"input_use_captcha_mode": "请选择验证码模式",
|
||
"local_gt": "本地GeeTest模块",
|
||
"rrocr": "RROCR",
|
||
"manual": "手动",
|
||
"no_proxy_by_default": "默认不使用代理",
|
||
"captcha_mode_gt_by_default": "默认使用本地GeeTest模块",
|
||
"wrong_proxy_format": "输入格式错误,请重新输入",
|
||
"no_screen": "暂无票档信息",
|
||
"yes": "是",
|
||
"no": "否",
|
||
"select_screen": "请选择场次",
|
||
"select_sku": "请选择票档",
|
||
"show_screen": "场次:{}",
|
||
"show_sku": "票档:{}",
|
||
"show_act": "已开启优惠活动:活动ID {}",
|
||
"buyer_empty": "未找到购票人,请前往添加实名购票人",
|
||
"select_buyer": "请选择购票人 (按空格键选购票人, 回车确认)",
|
||
"selected_buyer": "已选择购票人:{} {} {}",
|
||
"show_all_price_e_ticket": "共 {} 张 {} 票,单张价格为 CN¥{:.2f},总价为 CN¥{:.2f}",
|
||
"id_bind_single": "本项目只能购买一人票",
|
||
"qr_login": "请使用Bilibili手机客户端扫描二维码",
|
||
"login_success": "登录成功",
|
||
"login_failed": "登录时出现错误,可能是风控导致的。请更换登录方式或稍后再试",
|
||
"login_not_supported": "暂不支持该登录方式",
|
||
"exit_manual": "已手动退出",
|
||
"error_occured": "程序出现错误,错误信息:{} 错误追踪ID:{}",
|
||
"exit_sleep_15s": "已安全退出,您可以关闭窗口(将在15秒后自动关闭)",
|
||
"not_begin": "未开放购票",
|
||
"has_end_buy": "已停售",
|
||
"cannot_buy": "不可售",
|
||
"has_end": "已结束",
|
||
"sold_out": "已售罄",
|
||
"pro_tem_sold_out": "暂时售罄,即将放票",
|
||
"free_not_supported": "免费票,程序尚未适配",
|
||
"show_all_price_paper_ticket": "共 {} 张 {} 票,单张价格为 CN¥{:.2f},纸质票,邮费为 CN¥{:.2f},总价为 CN¥{:.2f}",
|
||
"unk_status": "未知状态:",
|
||
"now_mode_time_on": "当前为定时抢票模式",
|
||
"now_waiting_time": "等待到达开票时间...",
|
||
"now_waiting_info": "等待中,距离开票时间还有{:.2f}秒",
|
||
"now_wake_up": "唤醒!即将开始抢票!",
|
||
"add_address": "没有收货地址,请先添加收货地址",
|
||
"please_select_address": "请选择收货地址",
|
||
"already_select_address": "已选择收货地址: {} {} {}",
|
||
"add_contact_info": "请添加联系人信息",
|
||
"add_contact_name": "联系人姓名:",
|
||
"add_contact_tel": "联系人手机号",
|
||
"add_buy_tickets": "请输入票数",
|
||
"input_phone_num": "请输入手机号",
|
||
"input_auto_verify": "请稍候,正在执行自动验证...",
|
||
"input_verify_fail": "验证失败,请重新验证",
|
||
"input_verify_success": "验证成功",
|
||
"sms_code_send_ok": "验证码发送成功",
|
||
"input_sms_code": "请输入验证码",
|
||
"beta_test_func": "该方法尚在测试中",
|
||
"input_user_name": "请输入用户名",
|
||
"input_user_password": "请输入密码",
|
||
"request_too_slow": "PS: 请求超时,请快一点",
|
||
"need_2nd_verify": "需要二次验证",
|
||
"phone_banded": "已经绑定手机号",
|
||
"will_send_sms": "即将给该手机号发送验证码: ",
|
||
"choose_sns_login": "请选择第三方客户端登录方式",
|
||
"sns_micromessage": "微信",
|
||
"sns_qq": "QQ",
|
||
"sns_microblog": "微博",
|
||
"open_in_browser": "请在浏览器中打开上面的链接并登录, 然后复制重定向的链接(即提示'校验失败,请重试~'的网址)",
|
||
"input_redirect": "请输入重定向链接",
|
||
"connect_link_error": "链接错误,请重新登录",
|
||
"connect_no_account": "该平台未绑定B站账号",
|
||
"bi_login_method": "请选择登录方法",
|
||
"bi_login_cookie": "cookie",
|
||
"bi_login_qrcode": "扫描二维码",
|
||
"bi_login_user_pass": "输入用户名和密码",
|
||
"bi_login_web_sms": "网页版短信验证码",
|
||
"bi_login_app_sms": "手机APP版短信验证码",
|
||
"bi_login_sns": "第三方客户端",
|
||
"bi_input_cookie": "请输入cookie: ",
|
||
"bi_illegal_cookie": "cookie不合法",
|
||
"eula": "欢迎使用BHYG软件,使用前请阅读EULA(https://github.com/biliticket/BHYG)。若您使用时遇到问题,请查阅biliticket文档(https://docs.bitf1a5h.eu.org/)\n特别提醒,根据EULA,严禁任何形式通过本软件盈利。若您同意本软件EULA,请键入:我已阅读并同意EULA,黄牛倒卖狗死妈\n",
|
||
"wrong_input": "输入不正确,请重试",
|
||
"agree_eula": "已同意EULA",
|
||
"new_version_1": "发现新版本{},请前往 {} 下载并替换软件本体,大小:{:.2f}MB",
|
||
"new_version_notify": "更新说明:{}",
|
||
"new_version_2": "发现新版本{},请前往 {} 查看",
|
||
"update_interrupted": "更新检查被中断",
|
||
"update_fail": "更新检查失败",
|
||
"update_passed": "已跳过更新检查",
|
||
"welcome_new_version": "感谢您升级到最新版本!现在正在为您自动迁移...",
|
||
"new_version_ok": "迁移完成",
|
||
"check_share": "检测到分享文件,正在导入",
|
||
"select_setting": "请选择运行设置",
|
||
"select_keep_all": "延续上次启动所有配置",
|
||
"select_keep_login": "保留登录信息重新配置",
|
||
"select_new_boot": "全新启动",
|
||
"select_tools": "进入账户实用工具",
|
||
"select_tools_relogin": "进入账户实用工具(重新登录)",
|
||
"select_reset": "恢复初始设置",
|
||
"select_new_boot_msg": "全新启动,但继承部分信息(若有)",
|
||
"select_keep_login_msg": "只沿用登录信息",
|
||
"select_keep_all_msg": "使用上次的配置文件",
|
||
"select_reset_msg": "此操作将会清除所有数据并恢复初始设置,不可恢复,是否继续?",
|
||
"select_reset_ok": "已清除所有数据并恢复初始设置",
|
||
"select_reset_cancel": "取消恢复初始设置,请再次启动本程序。",
|
||
"time_sync_fail": "时间同步出现错误,将跳过时间检查",
|
||
"time_sync_delta": "当前时间偏移:{:.2f}秒,建议校准时间",
|
||
"user": "用户",
|
||
"user_bigvip": "用户为大会员,距离到期还有{:.2f}天",
|
||
"hunter_mode": "已启用猎手模式",
|
||
"hunter_grade": "战绩:{}张",
|
||
"login_failure": "登录失败",
|
||
"buyer_name": "请输入购票人姓名:",
|
||
"id_type": "请选择证件类型",
|
||
"id_idcard": "身份证",
|
||
"id_passport": "中华人民共和国护照",
|
||
"id_Hong_Kong": "港澳居民来往内地通行证", #Hong Kong-Macau laissez-passer
|
||
"id_Taiwan": "台湾居民来往大陆通行证", #Mainland travel permit for Taiwan residents
|
||
"in_id_serial_number": "请输入购票人证件号码:",
|
||
"in_phone_number": "请输入购票人手机号码:",
|
||
"join_success": "添加成功",
|
||
"modify_ua": "请输入您要覆盖的UA:",
|
||
"modify_gaia_vtoken": "请输入您的gaia_vtoken:",
|
||
"hunter_mode_on": "猎手模式已开启(归零)",
|
||
"hunter_mode_off": "猎手模式已关闭",
|
||
"share_mode": "分享模式已启动",
|
||
"auto_quit": "自动退出中……",
|
||
"pushplus_token": "请输入您的PushPlus Token(留空关闭):",
|
||
"pushplus_off": "PushPlus推送已关闭",
|
||
"pushplus_on": "PushPlus推送已开启",
|
||
"webhook": "请输入您的WebHook URL:",
|
||
"webhook_off": "WebHook推送已关闭",
|
||
"webhook_on": "WebHook推送已开启",
|
||
"input_your_phone": "请输入您的手机号码:",
|
||
"save_your_phone": "手机号码已保存",
|
||
"input_rrocr_key": "请输入RROCR KEY:",
|
||
"select_tool" : "请选择您要使用的实用工具",
|
||
"tool_add_buyer" : "添加购票人",
|
||
"tool_modify_ua" : "覆盖默认UA",
|
||
"tool_modify_gaia" : "覆盖gaia_vtoken",
|
||
"tool_hunter_mode" : "开启猎手模式(计数清零)",
|
||
"tool_hunter_off" : "关闭猎手模式",
|
||
"tool_share_mode" : "分享模式",
|
||
"tool_pushplus" : "PushPlus推送",
|
||
"tool_webhook" : "WebHook推送",
|
||
"tool_phone_prefill": "预填绑定手机号",
|
||
"tool_proxy_setting": "代理设置",
|
||
"tool_capacha_mode" : "选择验证码模式",
|
||
"back" : "返回",
|
||
"tool_not_supported": "暂不支持此功能",
|
||
"wait_get_token": "等待到达开票时间以获取token...",
|
||
"get_token_finish": "准备完毕, 获取token中...",
|
||
"will_pay_bill": "即将开始下单",
|
||
"network_timeout": "网络连接超时",
|
||
|
||
"wind_control": "可能被业务风控\n该种业务风控请及时暂停,否则可能会引起更大问题。",
|
||
"net_method": "你也可以尝试更换网络环境,如重启流量(飞行模式开关)重新拨号(重启光猫)等",
|
||
"res_3_returns": "请确认排除问题后按三下回车继续",
|
||
"res_2_returns": "请再按两下回车继续",
|
||
"res_1_return": "请再按一下回车继续",
|
||
"no_found_screen": "未找到场次",
|
||
"no_found_sku": "未找到票档",
|
||
"may_wind_control": "可能被风控",
|
||
"info_confirmed": "信息已确认",
|
||
"info_discount": "检测到优惠活动",
|
||
"info_no_ticket": "未开放购票或被风控,请检查配置问题,休息1s",
|
||
"info_bill_ok": "成功准备订单",
|
||
"info_bill_fail": "确认订单失败",
|
||
"info_wind_control": "触发风控。",
|
||
|
||
"type_captcha": "类型:验证码 ",
|
||
"type_mobile": "类型:手机验证",
|
||
"type_sms": "类型:短信验证",
|
||
"unsupport_sms": "暂不支持短信验证,请参考高级用户指南手动填入风控信息",
|
||
"type_text": "类型:文字验证码",
|
||
"unsupport_text": "暂不支持文字验证码验证,请参考高级用户指南手动填入风控信息",
|
||
"unknown_wind": "未知风控类型",
|
||
"unsupport_captcha": "暂不支持该验证,请参考高级用户指南手动填入风控信息",
|
||
"pause_60s": "暂停60s",
|
||
"bill_serial": "订单号:",
|
||
"bill_pay_hint": "请在微信/支付宝/QQ中扫描以下二维码,完成支付",
|
||
"bill_qr": "二维码内容:",
|
||
"bill_open": "或打开",
|
||
"bill_pay_ok": "完成支付",
|
||
"bill_manual": "请手动完成支付",
|
||
"bill_fail": "购票失败",
|
||
"pay_ok": "订单支付成功,祝您游玩愉快!",
|
||
"bill_cancel": "订单已取消",
|
||
"status_unknown": "当前状态未知",
|
||
"quit_login": "已退出登录",
|
||
"logout_fail": "退出登录失败",
|
||
"wait_4_96s": "等待4.96秒",
|
||
"ticketless": "无票",
|
||
"ticket_unbuyable": "票种不可售",
|
||
"slowdown_5s": "慢一点(强制5秒)",
|
||
"bili_speed_limit": "小电视速率限制",
|
||
"tokenless": "token失效", # "不是,哥们,你token呢?",
|
||
"bill_push_ok": "成功尝试下单!正在检测是否为假票",
|
||
"BHYG_notify": "BHYG通知",
|
||
"rob_ok_paying": "抢票成功,等待支付,订单号 ",
|
||
"notify_ok": "已发送通知,流水号 ",
|
||
"notify_fail": "通知发送失败,返回信息 ",
|
||
"unpaid_bill": "订单未支付,正在等待",
|
||
"fake_ticket": "假票,继续抢票",
|
||
"rob_already_ok": "已经抢到了啊喂!",
|
||
"ticket_sto_less": "库存不足",
|
||
"unknown_error": "未知错误:",
|
||
"whitelist": "当前处于白名单模式,你的机器不在白名单",
|
||
"blacklist": "当前处于黑名单模式,你的机器在黑名单",
|
||
"version_not_allowed": "当前版本不允许使用,请更新到最新版本",
|
||
"policy_error": "获取配置失败,正在重试…",
|
||
"policy_get_failed": "重试失败,非法运行,请确认可以访问bhyg.bitf1a5h.eu.org,即将退出",
|
||
},
|
||
i18n_tuple[1]: {
|
||
"data_error": "Data error! Environment is not OK!",
|
||
"migrate_share": "Shared-data detected. Migrating shared-data.",
|
||
"has_destroyed": "Original data has destroyed safety.",
|
||
"pay_success": "Paid successfully!",
|
||
"hunter_prompt": "You've grabbed {} ticket(s).",
|
||
"choose_mode": "Choose your ticket grabbing mode",
|
||
"start_up": "Homepage: https://github.com/biliticket/BHYG GPL-3.0",
|
||
"mode_time": "Schedule ticket grabbing based on project invoicing time.",
|
||
"mode_direct": "Direct grabbing",
|
||
"mode_detect": "Detect-remain grabbing",
|
||
"mode_time_on": "Timed grabbing is on.",
|
||
"mode_direct_on": "Direct grabbing is on.",
|
||
"mode_detect_on": "Detect-remain grabbing is on.",
|
||
"input_status_delay": "Input detect-delay (412 ERROR probability)(sec)",
|
||
"input_is_use_proxy": "Use proxy.",
|
||
"input_proxy": "Input proxy info.",
|
||
"input_proxy_channel": "Input proxy channel (0=Don't specify)",
|
||
"test_proxy": "Trying to visit bilibili. IP: {}",
|
||
"common_project_id": "Common projects' ID:",
|
||
"empty": "Empty",
|
||
"input_project_id": "Input your project id",
|
||
"not_handled_412": "412 ERROR! Contact BHYG owner.",
|
||
"manual_change_ip": "Manual switch IP to: {}.",
|
||
"project_id_not_found": "Project ID not found!",
|
||
"server_no_response": "Server no response.",
|
||
"not_salable": "Unsalable.",
|
||
"project_name": "Project name: {}.",
|
||
"captcha_mode_not_supported": "Unsupported CAPTCHA code mode.",
|
||
"input_use_captcha_mode": "Select the CAPTCHA code mode.",
|
||
"local_gt": "Local Geetest module.",
|
||
"rrocr": "RROCR",
|
||
"manual": "Manual",
|
||
"no_proxy_by_default": "Default is no proxy.",
|
||
"captcha_mode_gt_by_default": "Default is using local Geetest module.",
|
||
"wrong_proxy_format": "Wrong format.",
|
||
"no_screen": "No screen.",
|
||
"yes": "Yes",
|
||
"no": "No",
|
||
"select_screen": "Select a session.",
|
||
"select_sku": "Select an SKU.",
|
||
"show_screen": "Session: {}.",
|
||
"show_sku": "SKU: {}.",
|
||
"show_act": "Promotional is on. Activity ID: {}.",
|
||
"buyer_empty": "No buyer found. Please add buyer.",
|
||
"select_buyer": "Select buyer. (Press space to select buyer, press return to finish)",
|
||
"selected_buyer": "Selected buyer: {} {} {}",
|
||
"show_all_price_e_ticket": "Totally {} piece(s) {} ticket(s). One piece price: CN¥{:.2f},Totally price: CN¥{:.2f}",
|
||
"id_bind_single": "This project can only purchase one person tickets",
|
||
"qr_login": "Scan QR with Bilibili mobile app.",
|
||
"login_success": "Login successfully.",
|
||
"login_failed": "Login failed. Please change your login method or try again later.",
|
||
"login_not_supported": "This way is unsupported.",
|
||
"exit_manual": "Manually quit.",
|
||
"error_occured": "Program ERROR! {} ERROR ID: {}",
|
||
"exit_sleep_15s": "Quit safely. This window will be auto closed in 15s.",
|
||
"not_begin": "Not begin",
|
||
"has_end_buy": "Finish buying",
|
||
"cannot_buy": "Cannot buy",
|
||
"has_end": "Has finished",
|
||
"sold_out": "Sold out",
|
||
"pro_tem_sold_out": "Temporarily sold out",
|
||
"free_not_supported": "Free ticket. Temporarily not supported",
|
||
"show_all_price_paper_ticket": "Totally {} piece(s) {} ticket(s). One piece price: CN¥{:.2f} Postage: CN¥{:.2f}, Totally price: CN¥{:.2f}",
|
||
"unk_status": "Unknown status:",
|
||
"now_mode_time_on": "Now is timed grabbing mode",
|
||
"now_waiting_time": "Waiting for sale...",
|
||
"now_waiting_info": "Waiting for sale... {:.2f}sec left",
|
||
"now_wake_up": "Wake up! About to grab tickets!",
|
||
"add_address": "No delivery address. Please add one.",
|
||
"please_select_address": "Select a delivery address.",
|
||
"already_select_address": "Selected delivery address: {} {} {}",
|
||
"add_contact_info": "Please add a contact information.",
|
||
"add_contact_name": "contact name:",
|
||
"add_contact_tel": "contact phone number:",
|
||
"add_buy_tickets": "How many tickets to buy:",
|
||
"input_phone_num": "Please enter your phone number.",
|
||
"input_auto_verify": "Please wait for automatic captcha...",
|
||
"input_verify_fail": "Captcha failed",
|
||
"input_verify_success": "Captcha OK",
|
||
"sms_code_send_ok": "SMS code send OK",
|
||
"input_sms_code": "Please enter your SMS code",
|
||
"beta_test_func": "Method is in development",
|
||
"input_user_name": "Enter your user name",
|
||
"input_user_password": "Enter your password",
|
||
"request_too_slow": "PS: Request timeout, please hurry",
|
||
"need_2nd_verify": "Need 2nd verify",
|
||
"phone_banded": "Phone has been bound",
|
||
"will_send_sms": "Will be sent an SMS: ",
|
||
"choose_sns_login": "Please select the 3rd-party client login method",
|
||
"sns_micromessage": "Wechat",
|
||
"sns_qq": "QQ",
|
||
"sns_microblog": "Weibo",
|
||
"open_in_browser": "Open the link above in browser, and copy redirect link",
|
||
"input_redirect": "Enter the redirect link",
|
||
"connect_link_error": "Link error. Please re login",
|
||
"connect_no_account": "No account bound",
|
||
"bi_login_method": "Select your login method",
|
||
"bi_login_cookie": "cookie",
|
||
"bi_login_qrcode": "Scan QR",
|
||
"bi_login_user_pass": "Username and password",
|
||
"bi_login_web_sms": "Web SMS code",
|
||
"bi_login_app_sms": "Mobile APP SMS code",
|
||
"bi_login_sns": "3rd-party client",
|
||
"bi_input_cookie": "Enter your cookie: ",
|
||
"bi_illegal_cookie": "Invalid cookie",
|
||
"eula": "Welcome to use BHYG software. Please read EULA(https://github.com/biliticket/BHYG) first.\n"
|
||
"If you encounter any problems while using it, please refer to the Biliticket documentation(https://docs.bitf1a5h.eu.org/)\n"
|
||
"Special reminder, according to EULA, it is strictly prohibited to make profits through this software in any form.\n"
|
||
"If you agree, please copy below (press Control+Insert to copy and Shift+Insert to paste): 我已阅读并同意EULA,黄牛倒卖狗死妈\n",
|
||
"wrong_input": "Wrong input. Please retry",
|
||
"agree_eula": "Agreed EULA",
|
||
"new_version_1": "New version {} available. Go to {} to download and replace. Size {:.2f}MB",
|
||
"new_version_notify": "Update note: {}",
|
||
"new_version_2": "New version {} available. Go to {}",
|
||
"force_update_1": "Due to the anti-abuse mechanism, this update requires a mandatory update, which continues to be used after the update.",
|
||
"force_update_2": "You can open the download address and then close this window.",
|
||
"update_interrupted": "Update check is interrupted.",
|
||
"update_fail": "Update check failed.",
|
||
"force_require_update": "The program is forbidden to run. Please try again or change the network environment.",
|
||
"update_passed": "Update check skipped.",
|
||
"welcome_new_version": "Thank you for upgrading to the latest version! The data is now being migrated automatically for you.",
|
||
"new_version_ok": "Migration complete.",
|
||
"check_share": "Shared file detected, importing",
|
||
"select_setting": "Select run settings",
|
||
"select_keep_all": "Continue all configurations started last time",
|
||
"select_keep_login": "Keep login information for reconfiguration",
|
||
"select_new_boot": "Fresh start",
|
||
"select_tools": "Go to the account utility",
|
||
"select_tools_relogin": "Relogin and go to the account utility",
|
||
"select_reset": "Restore initial Settings",
|
||
"select_new_boot_msg": "Fresh start, but inherit some information (if any)",
|
||
"select_keep_login_msg": "Stick with login information only",
|
||
"select_keep_all_msg": "Use the last config file",
|
||
"select_reset_msg": "This operation will erase all the data and restore the initial Settings, not recoverable, whether to continue?",
|
||
"select_reset_ok": "All data has been cleared and initial Settings restored",
|
||
"select_reset_cancel": "Cancel the recovery of the initial Settings, please start the program again.",
|
||
"time_sync_fail": "Time synchronization failed. Skip.",
|
||
"time_sync_delta": "Current time offset: {:.2f}s, advice to calibrate time",
|
||
"user": "user",
|
||
"user_bigvip": "user is Bilibili Big-VIP, There are {:.2f} days until expiration.",
|
||
"hunter_mode": "Hunter mode is on",
|
||
"hunter_grade": "Hunted {} piece(s)",
|
||
"login_failure": "Login failed",
|
||
"buyer_name": "Please enter buyer name:",
|
||
"id_type": "Please select the document type",
|
||
"id_idcard": "Second generation ID card",
|
||
"id_passport": "Chinese Passport",
|
||
"id_Hong_Kong": "Mainland Travel Permit for Hong Kong and Macao residents", #Hong Kong-Macau laissez-passer
|
||
"id_Taiwan": "Mainland Travel permit for Taiwan residents", #Mainland travel permit for Taiwan residents
|
||
"in_id_serial_number": "Enter buyer's ID number:",
|
||
"in_phone_number": "Enter buyer's phone number:",
|
||
"join_success": "Join successfuly",
|
||
"modify_ua": "Enter the UA you want to overwrite: ",
|
||
"modify_gaia_vtoken": "Enter your gaia_vtoken:",
|
||
"hunter_mode_on": "Hunter mode is on and reset to 0.",
|
||
"hunter_mode_off": "Hunter mode is off",
|
||
"share_mode": "Share mode is on",
|
||
"auto_quit": "automatically quit...",
|
||
"pushplus_token": "Enter your PushPlus Token (blank to disable):",
|
||
"pushplus_off": "PushPlus is off",
|
||
"pushplus_on": "PushPlus is on",
|
||
"webhook": "Enter your WebHook URL: ",
|
||
"webhook_off": "WebHook is off",
|
||
"webhook_on": "WebHook is on",
|
||
"input_your_phone": "Enter your phone number:",
|
||
"save_your_phone": "Phone number saved.",
|
||
"input_rrocr_key": "Enter RROCR KEY:",
|
||
"select_tool" : "Select the utility you want to use",
|
||
"tool_add_buyer" : "Add buyer",
|
||
"tool_modify_ua" : "Overwrite default UA",
|
||
"tool_modify_gaia" : "Overwrite gaia_vtoken",
|
||
"tool_hunter_mode" : "Turn on hunter mode (reset to 0)",
|
||
"tool_hunter_off" : "Turn off hunter mode",
|
||
"tool_share_mode" : "Turn on share mode",
|
||
"tool_pushplus" : "PushPlus settings",
|
||
"tool_webhook" : "WebHook settings",
|
||
"tool_phone_prefill": "Pre-fill binding phone number",
|
||
"tool_proxy_setting": "Proxy settings",
|
||
"tool_capacha_mode" : "Select Captcha mode",
|
||
"back" : "back",
|
||
"tool_not_supported": "Not supported yet",
|
||
"wait_get_token": "Wait for the billing time to get the token...",
|
||
"get_token_finish": "Ready, getting token...",
|
||
"will_pay_bill": "Start order soon",
|
||
"network_timeout": "Network timeout",
|
||
|
||
"wind_control": "May be risk control.\nThis kind of risk control must suspend in time, otherwise it may cause more problems.",
|
||
"net_method": "You can also try to change the network environment (IP), such as restarting modem.",
|
||
"res_3_returns": "Please confirm the problem and hint return 3 times to continue",
|
||
"res_2_returns": "2 left",
|
||
"res_1_return": "1 left",
|
||
"no_found_screen": "No screen found",
|
||
"no_found_sku": "No SKU found",
|
||
"may_wind_control": "May be risk controlled",
|
||
"info_confirmed": "Information confirmed",
|
||
"info_discount": "Promotional event detected",
|
||
"info_no_ticket": "Not buyable or be risk controlled, Please check config. Delay 1s.",
|
||
"info_bill_ok": "Order prepared successfully",
|
||
"info_bill_fail": "Order prepared failed",
|
||
"info_wind_control": "Trigger risk control.",
|
||
|
||
"type_captcha": "Type: captcha ",
|
||
"type_mobile": "Type: mobile verification",
|
||
"type_sms": "Type: SMS verification",
|
||
"unsupport_sms": "SMS verification isn't supported.",
|
||
"type_text": "Type: Chinese characters verification",
|
||
"unsupport_text": "Chinese characters verification isn't supported.",
|
||
"unknown_wind": "Unknown risk control",
|
||
"unsupport_captcha": "Verification isn't supported.",
|
||
"pause_60s": "Pause for 60s",
|
||
"bill_serial": "Order ID:",
|
||
"bill_pay_hint": "Scan QR with Wechat, QQ or Alipay to pay",
|
||
"bill_qr": "QR code content: ",
|
||
"bill_open": "Or open",
|
||
"bill_pay_ok": "to pay",
|
||
"bill_manual": "Please manually pay",
|
||
"bill_fail": "buy ticket failed.",
|
||
"pay_ok": "Paid successfully, wish you a pleasant visit!",
|
||
"bill_cancel": "Order cancelled",
|
||
"status_unknown": "Unknown status",
|
||
"quit_login": "Already logout",
|
||
"logout_fail": "Logout failed",
|
||
"wait_4_96s": "Wait for 4.96s",
|
||
"ticketless": "Ticketless", #无票
|
||
"ticket_unbuyable": "Ticket unbuyable", #票种不可售
|
||
"slowdown_5s": "Sleep for 5s",
|
||
"bili_speed_limit": "Bilibilimit", # 小电视速率限制
|
||
"tokenless": "Tokenless", # "不是,哥们,你token呢?",
|
||
"bill_push_ok": "Order placed! Checking for fake ticket",
|
||
"BHYG_notify": "BHYG Notify",
|
||
"rob_ok_paying": "Ticket grabbed! Waiting for payment. Order No. ",
|
||
"notify_ok": "Notification sent, Serial No. ",
|
||
"notify_fail": "Notification send failed. Return: ",
|
||
"unpaid_bill": "Order not paid and waiting to pay",
|
||
"fake_ticket": "Fake ticket. Continue to grab",
|
||
"rob_already_ok": "Already grabbed a ticket!",
|
||
"ticket_sto_less": "Out of stock",
|
||
"unknown_error": "Unknown error:",
|
||
"whitelist": "Currently in whitelist mode, your machine is not in whitelist.",
|
||
"blacklist": "Currently in blacklist mode, your machine is in blacklist.",
|
||
"version_not_allowed": "The current version is not allowed, please update to the latest version.",
|
||
"policy_error": "Failed to get configuration. Retrying...",
|
||
"policy_get_failed": "Retry failed, illegal operation. Please confirm that you can access bhyg.bitf1a5h.eu.org. Program will exit.",
|
||
},
|
||
i18n_tuple[2]: {
|
||
"data_error": "数据错误喵~,运行需要的小窝不符合本猫的需要喵~",
|
||
"migrate_share": "检测到原主人的分享文件,正在迁移喵~",
|
||
"has_destroyed": "原数据被我销毁了喵°",
|
||
"pay_success": "购票成功了喵!",
|
||
"hunter_prompt": "猎手,你的战绩:{}张喵~",
|
||
"choose_mode": "请选一下 让我如何抢票喵~",
|
||
"start_up": "项目主页: https://github.com/biliticket/BHYG GPL-3.0 删除本信息或盗版必究喵~。",
|
||
"mode_time": "等到展子开票时间蹲点开启抢票喵~",
|
||
"mode_direct": "直接抢票喵~",
|
||
"mode_detect": "检测详情界面余票后抢票喵~",
|
||
"mode_time_on": "我已经准备好蹲点抢票喵!",
|
||
"mode_direct_on": "我已经准备好直接抢票喵`",
|
||
"mode_detect_on": "我已经准备好检测详情界面余票后抢票喵~",
|
||
"input_status_delay": "请给我检测票务信息间隔的秒数喵~(该选项影响412风控概率)",
|
||
"input_is_use_proxy": "是否使用代理喵~",
|
||
"input_proxy": "请给我代理认证信息喵~",
|
||
"input_proxy_channel": "请给我代理需要走的通道(0则不给我)喵~",
|
||
"test_proxy": "尝试访问B站,我现在的IP地址为:{}喵~",
|
||
"common_project_id": "本猫推荐你去的几个展子id如下喵~:",
|
||
"empty": "打咩, 暂时没有喵~",
|
||
"input_project_id": "请给我展子id喵~",
|
||
"not_handled_412": "被叔叔的412风控了喵~,请联系作者喵~",
|
||
"manual_change_ip": "手动切换,当前IP为:{}喵~",
|
||
"project_id_not_found": "本猫暂时还没有发现这个展子ID喵~",
|
||
"server_no_response": "叔叔的服务器无返回喵~",
|
||
"not_salable": "主人, 这个展子的票不可售喵~",
|
||
"project_name": "展子名称:{}喵~",
|
||
"captcha_mode_not_supported": "本猫暂不支持该验证码模式喵~",
|
||
"input_use_captcha_mode": "请斟酌你给我使用的验证码自动通过模式喵~",
|
||
"local_gt": "本地GeeTest模块喵~",
|
||
"rrocr": "RROCR喵~",
|
||
"manual": "劳驾亲手过验证码喵~",
|
||
"no_proxy_by_default": "默认不用代理喵~",
|
||
"captcha_mode_gt_by_default": "默认使用本地GeeTest模块喵~",
|
||
"wrong_proxy_format": "你给我的数据格式错误,请再一次, 认认真真的输入GeeTest喵~",
|
||
"no_screen": "叔叔暂是还没有更新票档信息喵~",
|
||
"yes": "是喵~",
|
||
"no": "否喵!",
|
||
"select_screen": "请选择你想去哪一场喵^",
|
||
"select_sku": "请选择票的档次>喵<",
|
||
"show_screen": "场次:{}",
|
||
"show_sku": "票档:{}",
|
||
"show_act": "已开启优惠活动:活动ID {}喵~",
|
||
"buyer_empty": "本喵没有找到购票人,请喂我实名购票人喵!",
|
||
"select_buyer": "请选一个我见过的购票人喵~ (摸一下我的空格键选购票人, 回车确认喵~)",
|
||
"selected_buyer": "已选择购票人:{} {} {} 喵~",
|
||
"show_all_price_e_ticket": "共 {} 张 {} 票,单张价格为 CN¥{:.2f},总价为 CN¥{:.2f}喵$",
|
||
"id_bind_single": "本项目只能购买一人票喵@",
|
||
"qr_login": "请用Bilibili手机APP扫描本猫身上的二维码喵~",
|
||
"login_success": "登录成功了喵~",
|
||
"login_failed": "登录时出现错误,可能是风控导致的喵。请更换登录方式或稍后再试喵$",
|
||
"login_not_supported": "暂不支持该登录方式喵@",
|
||
"exit_manual": "已手动退出...了...喵...zzz",
|
||
"error_occured": "程序出现错误,错误信息:{} 错误追踪ID:{}",
|
||
"exit_sleep_15s": "已安全退出,您可以关闭窗口(将在15秒后自动关闭)喵~@(>哈欠<)@~",
|
||
"not_begin": "未开放购票nia。。。",
|
||
"has_end_buy": "已停售呃@",
|
||
"cannot_buy": "不可售呜啊~",
|
||
"has_end": "已结束呜。",
|
||
"sold_out": "已售罄呃啊!",
|
||
"pro_tem_sold_out": "暂时没票了,即将放票, 蹲蹲别人退的票>喵<",
|
||
"free_not_supported": "免费票,程序尚未适配喵!",
|
||
"show_all_price_paper_ticket": "共 {} 张 {} 票,单张价格为 CN¥{:.2f},纸质票,邮费为 CN¥{:.2f},总价为 CN¥{:.2f}喵$",
|
||
"unk_status": "未知身体状况:",
|
||
"now_mode_time_on": "现在我是在定时蹲点抢票模式喵!",
|
||
"now_waiting_time": "等待叔叔开票...",
|
||
"now_waiting_info": "等的有些累了,不过距离开票时间还有{:.2f}秒, 快了喵!",
|
||
"now_wake_up": "唤醒!即将开始抢票!",
|
||
"add_address": "没有收货地址喵~,请先喂我收货地址喵!",
|
||
"please_select_address": "请选择收货地址喵~",
|
||
"already_select_address": "已选择收货地址: {} {} {}喵^",
|
||
"add_contact_info": "请喂我联系人信息喵~",
|
||
"add_contact_name": "联系人姓名:",
|
||
"add_contact_tel": "联系人手机号",
|
||
"add_buy_tickets": "请给我你想买几张票喵~",
|
||
"input_phone_num": "请给我手机号喵~",
|
||
"input_auto_verify": "请稍后,正在执行自动验证...喵`内~",
|
||
"input_verify_fail": "验证失败,请重新验证呜啊!",
|
||
"input_verify_success": "验证成功喵~",
|
||
"sms_code_send_ok": "验证码发送成功喵!",
|
||
"input_sms_code": "请给我验证码喵~",
|
||
"beta_test_func": "该方法尚在测试中喵~",
|
||
"input_user_name": "请给我用户名喵~",
|
||
"input_user_password": "请给我密码喵~",
|
||
"request_too_slow": "PS: 请求超时,请路由器再给力一点喵~",
|
||
"need_2nd_verify": "需要二次验证喵!",
|
||
"phone_banded": "已经绑定手机号",
|
||
"will_send_sms": "即将给该手机号发送验证码喵~: ",
|
||
"choose_sns_login": "请选择第三方客户端登录方式喵~",
|
||
"sns_micromessage": "小而美的巨信喵! (微信)",
|
||
"sns_qq": "虚幻引擎3A聊天大作喵~ (QQ)",
|
||
"sns_microblog": "舆论垃圾桶喵! (微博)",
|
||
"open_in_browser": "请在浏览器中轻轻点一下上面的链接并登录, 然后复制重定向的链接(即提示'校验失败,请重试~'的网址)喵~",
|
||
"input_redirect": "请给我重定向链接喵~",
|
||
"connect_link_error": "链接错误,请重新登录喵啊!",
|
||
"connect_no_account": "你这个平台上没有绑定B站账号喵~",
|
||
"bi_login_method": "请选择登录方法喵~",
|
||
"bi_login_cookie": "曲奇饼干咪~ (cookie)",
|
||
"bi_login_qrcode": "扫我身上的二维码喵~",
|
||
"bi_login_user_pass": "输入用户名和密码咩~",
|
||
"bi_login_web_sms": "网页版短信验证码喵~",
|
||
"bi_login_app_sms": "手机APP版短信验证码呜~",
|
||
"bi_login_sns": "第三方客户端nia~",
|
||
"bi_input_cookie": "请给我曲奇饼干喵!: (cookie)",
|
||
"bi_illegal_cookie": "曲奇饼干不好吃啊呸!",
|
||
"eula": "欢迎使用BHYG软件,使用前请阅读EULA(https://github.com/biliticket/BHYG)。若您使用时遇到问题,请查阅biliticket文档(https://docs.bitf1a5h.eu.org/)\n特别提醒,根据EULA,严禁任何形式通过本软件盈利。若您同意本软件EULA,请键入:我已阅读并同意EULA,黄牛倒卖狗死妈\n",
|
||
"wrong_input": "输入不正确,请重试",
|
||
"agree_eula": "已同意EULA",
|
||
"new_version_1": "发现新版本{},请前往 {} 下载并替换软件本体,大小:{:.2f}MB喵~",
|
||
"new_version_notify": "更新说明:{}喵~",
|
||
"new_version_2": "发现新版本{},请前往 {} 查看喵~",
|
||
"force_update_1": "由于rua我的人太多,这一次更新似乎是不可避免的更新喵,更新后再来rua我喵~",
|
||
"force_update_2": "你可以打开下载地址后关闭本窗口喵~",
|
||
"update_interrupted": "更新检查被中断喵~",
|
||
"update_fail": "更新检查失败喵~",
|
||
"force_require_update": "程序禁止运行,请重试或更换网络环境呜啊!!",
|
||
"update_passed": "更新检查帮你跳过了喵~",
|
||
"welcome_new_version": "升到最新, 神清气爽喵!正在为您自动迁移我的新小窝喵~...",
|
||
"new_version_ok": "迁移成功喵!",
|
||
"check_share": "检测到分享文件,正在导入喵~",
|
||
"select_setting": "请给我选一个运行设置喵!",
|
||
"select_keep_all": "延续上次启动所有配置喵@",
|
||
"select_keep_login": "保留登录信息重新配置喵#",
|
||
"select_new_boot": "全新启动喵$",
|
||
"select_tools": "进入账户实用工具喵^",
|
||
"select_tools_relogin": "进入账户实用工具(重新登录)喵&",
|
||
"select_reset": "恢复初始设置喵*",
|
||
"select_new_boot_msg": "全新启动喵$,但继承部分信息(若有)",
|
||
"select_keep_login_msg": "只沿用登录信息喵~",
|
||
"select_keep_all_msg": "使用上次的配置文件喵~",
|
||
"select_reset_msg": "此操作将会清除所有数据并恢复初始设置,不可恢复,是否继续喵?",
|
||
"select_reset_ok": "已清除所有数据并恢复初始设置喵~",
|
||
"select_reset_cancel": "取消恢复初始设置,请再次启动本程序喵~",
|
||
"time_sync_fail": "呜啊呜啊, 时间同步呜啊呜啊了,不检查时间了咪~",
|
||
"time_sync_delta": "当前时间偏移:{:.2f}秒,建议校准时间喵~",
|
||
"user": "用户",
|
||
"user_bigvip": "你是尊贵的大大大大会员咪~,距离到期还有{:.2f}天喵~",
|
||
"hunter_mode": "已启用猎手模式喵~",
|
||
"hunter_grade": "战绩:{}张喵~",
|
||
"login_failure": "登录失败打咩~",
|
||
"buyer_name": "请给我购票人姓名喵~:",
|
||
"id_type": "请选择证件类型喵~",
|
||
"id_idcard": "身份证",
|
||
"id_passport": "中华人民共和国护照",
|
||
"id_Hong_Kong": "港澳居民来往内地通行证", #Hong Kong-Macau laissez-passer
|
||
"id_Taiwan": "台湾居民来往大陆通行证", #Mainland travel permit for Taiwan residents
|
||
"in_id_serial_number": "请给我购票人证件号码喵~:",
|
||
"in_phone_number": "请给我购票人手机号码喵~:",
|
||
"join_success": "添加成功喵!",
|
||
"modify_ua": "请给我您要覆盖的UA:",
|
||
"modify_gaia_vtoken": "请给我您的gaia_vtoken喵~:",
|
||
"hunter_mode_on": "猎手模式已开启(归零)咪~",
|
||
"hunter_mode_off": "猎手模式已关闭咪~",
|
||
"share_mode": "分享模式已启动喵~",
|
||
"auto_quit": "呜啊~好困~自动退出中喵zzz……",
|
||
"pushplus_token": "请给我您的PushPlus Token(留空关闭)喵~:",
|
||
"pushplus_off": "PushPlus推送已关闭喵~",
|
||
"pushplus_on": "PushPlus推送已开启喵~",
|
||
"webhook": "请给我您的WebHook URL(留空关闭)喵~:",
|
||
"webhook_off": "WebHook推送已关闭喵~",
|
||
"webhook_on": "WebHook推送已开启喵~",
|
||
"input_your_phone": "请给我您的手机号码喵~:",
|
||
"save_your_phone": "手机号码已保存喵~",
|
||
"input_rrocr_key": "请给我RROCR KEY喵~:",
|
||
"select_tool" : "请选择您要使用的实用工具喵*",
|
||
"tool_add_buyer" : "喂我购票人>喵<",
|
||
"tool_modify_ua" : "覆盖默认UA咪~",
|
||
"tool_modify_gaia" : "覆盖gaia_vtoken=喵=",
|
||
"tool_hunter_mode" : "开启猎手模式(计数清零)喵#",
|
||
"tool_hunter_off" : "关闭猎手模式喵^",
|
||
"tool_share_mode" : "分享模式喵~",
|
||
"tool_pushplus" : "PushPlus推送咪~",
|
||
"tool_webhook" : "WebHook推送咪~",
|
||
"tool_phone_prefill": "预填绑定手机号咪&",
|
||
"tool_proxy_setting": "代理设置喵`",
|
||
"tool_capacha_mode" : "选择验证码模式喵!",
|
||
"back" : "返回",
|
||
"tool_not_supported": "暂不支持此功能咩~",
|
||
"wait_get_token": "等待到达开票时间以获取token喵~...",
|
||
"get_token_finish": "准备完毕, 获取token中喵~...",
|
||
"will_pay_bill": "即将开始下单喵~",
|
||
"network_timeout": "网络连接超时呜!",
|
||
|
||
"wind_control": "可能被业务风控\n该种业务风控请及时暂停,否则可能会引起更大问题喵~。",
|
||
"net_method": "你也可以尝试更换网络环境,如重启流量(飞行模式开关)重新拨号(重启光猫)等",
|
||
"res_3_returns": "请确认排除问题后按三下回车继续喵~",
|
||
"res_2_returns": "加油!还剩两下#喵#",
|
||
"res_1_return": "还有一下=喵=",
|
||
"no_found_screen": "未找到场次喵!",
|
||
"no_found_sku": "未找到票档呜!",
|
||
"may_wind_control": "可能被风控呜!",
|
||
"info_confirmed": "信息已确认喵@",
|
||
"info_discount": "检测到优惠活动咪~",
|
||
"info_no_ticket": "未开放购票或被风控,请检查配置问题,休息1s咪~",
|
||
"info_bill_ok": "成功准备订单喵!",
|
||
"info_bill_fail": "确认订单失败呜~",
|
||
"info_wind_control": "触发风控。",
|
||
|
||
"type_captcha": "要过验证码了喵... ",
|
||
"type_mobile": "要过手机验证码了喵...",
|
||
"type_sms": "要过短信验证码了喵...",
|
||
"unsupport_sms": "暂不支持短信验证,请参考高级用户指南手动填入风控信息喵~",
|
||
"type_text": "要过...文字验证码了喵...",
|
||
"unsupport_text": "暂不支持文字验证码验证,请参考高级用户指南手动填入风控信息喵~",
|
||
"unknown_wind": "未知风控类型",
|
||
"unsupport_captcha": "暂不支持该验证,请参考高级用户指南手动填入风控信息喵~",
|
||
"pause_60s": "暂停60s喵~",
|
||
"bill_serial": "订单号:",
|
||
"bill_pay_hint": "请在微信/支付宝/QQ中扫描以下二维码,完成支付喵~",
|
||
"bill_qr": "二维码内容:",
|
||
"bill_open": "或打开",
|
||
"bill_pay_ok": "完成支付喵~",
|
||
"bill_manual": "请手动完成支付喵~",
|
||
"bill_fail": "购票失败咩!",
|
||
"pay_ok": "订单支付成功,祝您游玩愉快喵!!!!!!!!!!!",
|
||
"bill_cancel": "订单已取消呜~",
|
||
"status_unknown": "当前状态像一片大雾一样未知喵~",
|
||
"quit_login": "已退出登录了喵!",
|
||
"logout_fail": "退出登录失败了咪~",
|
||
"wait_4_96s": "等待4.96秒",
|
||
"ticketless": "无票喵",
|
||
"ticket_unbuyable": "票种不可售咩",
|
||
"slowdown_5s": "慢一点(强制5秒)呜",
|
||
"bili_speed_limit": "前方拥挤, 抖起小电视了喵",
|
||
"tokenless": "不是,哥们,你token呢?", # "不是,哥们,你token呢?",
|
||
"bill_push_ok": "成功尝试下单!正在检测是否为假票咪",
|
||
"BHYG_notify": "猫娘通知 - 来自BHYG",
|
||
"rob_ok_paying": "抢~!!!票~!!!成~!!!功~!!!喵~!~!~!喵喵喵喵喵喵~喵~~喵~~!~~~!~~~~!,等待支付喵!!,订单号 ",
|
||
"notify_ok": "已发送通知,流水号 ",
|
||
"notify_fail": "通知发送失败,返回信息 ",
|
||
"unpaid_bill": "订单未支付,正在等待喵~",
|
||
"fake_ticket": "nmd假票,继续抢票去了喵@",
|
||
"rob_already_ok": "已经抢到了啊喂!",
|
||
"ticket_sto_less": "库存不足咪",
|
||
"unknown_error": "未知错误咩:",
|
||
"whitelist": "当前处于白名单模式喵~,你的机器不在白名单呜呜呜~",
|
||
"blacklist": "当前处于黑名单模式喵~,你的机器在黑名单呜呜呜~",
|
||
"version_not_allowed": "当前版本不允许使用,请更新到最新版本喵~",
|
||
"policy_error": "获取配置失败了喵~,正在重试……",
|
||
"policy_get_failed": "重试也失败了喵~,非法运行,请确认可以访问bhyg.bitf1a5h.eu.org,即将退出!",
|
||
}
|
||
}
|
||
|
||
def set_language(force_reload: bool):
|
||
global i18n, i18n_lang
|
||
import os
|
||
import inquirer
|
||
if not force_reload and os.path.exists("language"): #加载语言文件
|
||
with open("language", "r", encoding="utf-8") as f:
|
||
i18n_lang = f.read()
|
||
print("Software language:", i18n_lang)
|
||
f.close
|
||
else: #加载语言文件不存在时, 创建一个语言文件
|
||
i18n_lang = inquirer.prompt([
|
||
inquirer.List(
|
||
name="lang_select",
|
||
message="Please select language",
|
||
choices=i18n_tuple,
|
||
)]
|
||
)["lang_select"]
|
||
with open("language", "w", encoding="utf-8") as f:
|
||
f.write(i18n_lang)
|
||
f.close
|
||
|
||
def i18n_gt():
|
||
global i18n, i18n_lang
|
||
return i18n[i18n_lang] |