Локализует приложение на 10 языков + RTL для арабского и персидского

Добавляет zh-CN, fa, ar, tr, uk, be, vi, uz локали (81 ключ, идентичная
структура) к существующим en/ru; ToggleLanguge.tsx переделан из
бинарного ru/en тумблера в выпадающий список всех 10 языков.

TelegramWeb.tsx был полностью на захардкоженном русском несмотря на импорт
useTranslation — переведён на i18n-ключи. rtlLanguages.ts выносит список
RTL-языков в отдельный .ts-файл (именованный импорт из .js падал на
allowJs). App.tsx реактивно переключает document.dir/lang при смене языка.

Логические CSS-свойства (ps-/pe-/start-/end-/border-e) вместо физических
в badge/button/dialog/select и BurgerMenu — Flexbox иначе визуально
переворачивает детей под dir=rtl, ломая анимацию бургер-меню.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-08 22:52:20 +07:00
parent 5f6e06589c
commit da77c8d755
22 changed files with 832 additions and 66 deletions
+83
View File
@@ -0,0 +1,83 @@
{
"rx": "下载",
"tx": "上传",
"status_label": "状态",
"disconnected": "未连接",
"connecting": "连接中...",
"connected": "已连接",
"about_title": "Netrunner VPN",
"about_desc": "我们打造 Netrunner 不是普通的 VPN,而是一条让运营商只能看到普通网页流量的加密隧道。",
"proto_title": "专有协议",
"proto_desc": "TLS 伪装让你的连接对 DPI 系统不可见。",
"zk_title": "零知识",
"zk_desc": "我们不保留任何日志。我们的架构从技术上确保我们无法看到你传输的内容。",
"version_info": "版本 1.0.0-stable | 2026",
"footer_text": "用心打造,守护网络自由。",
"select_location_placeholder": "选择 VPN 节点",
"loading_servers": "正在加载服务器...",
"section_network": "网络",
"kill_switch": "网络切断开关",
"kill_switch_desc": "连接中断时阻止上网",
"stealth_mode": "隐身模式",
"stealth_mode_desc": "增强的 TLS 混淆",
"section_interface": "界面",
"reduce_motion": "减少动画",
"reduce_motion_desc": "节省系统资源",
"theme_toggle": "外观主题",
"language_toggle": "界面语言",
"home_label": "首页",
"settings": "设置",
"about_menu": "关于",
"excluded_domains": "排除的域名(用逗号分隔)",
"excluded_domains_placeholder": "youtube.com, netflix.com",
"excluded_apps_desc": "排除的应用(包名 / PID",
"excluded_apps": "排除的应用",
"select_apps": "选择应用",
"search_apps_placeholder": "按名称或包名搜索...",
"loading_apps": "正在获取应用列表...",
"no_apps_found": "未找到任何内容",
"tg_menu": "续费订阅",
"tg_title": "安全会话",
"tg_desc": "无法访问 Telegram 因而无法续费订阅?启动安全会话。这个内置客户端会强制将你的流量通过我们的 VPN 隧道传输。",
"tg_start_btn": "开始会话",
"tg_connecting": "正在建立安全连接...",
"usage_label": "已用流量",
"usage_unlimited": "无限制",
"login_button": "登录",
"login_title": "账户访问",
"login_tab_seed": "种子(Seed",
"login_tab_telegram": "Telegram",
"login_seed_current_label": "你当前的 Seed",
"login_seed_copy": "复制",
"login_seed_copied": "已复制",
"login_seed_no_seed": "此账户已绑定 Telegram,没有自己的 Seed。",
"login_seed_input_label": "使用已有 Seed 登录",
"login_seed_input_placeholder": "粘贴 Seed 短语",
"login_seed_submit": "登录",
"login_seed_invalid": "Seed 无效或不存在",
"login_telegram_desc": "在 Telegram 中打开 Netrunner 机器人,点击菜单中的“应用登录码”,然后在此输入获取到的验证码。",
"login_telegram_open_bot": "打开机器人",
"login_telegram_code_label": "机器人验证码",
"login_telegram_code_placeholder": "例如:aB3xQ9pL",
"login_telegram_submit": "登录",
"login_telegram_error": "验证码无效或已过期,请在机器人中重新获取",
"login_screen_title": "Netrunner VPN",
"login_screen_subtitle": "登录以连接网络",
"login_screen_continue_anon": "匿名继续",
"login_screen_or": "或",
"login_anon_error": "无法创建匿名访问,请重试",
"connect_locked_hint": "请先登录",
"tg_desktop_only_title": "仅限移动设备",
"tg_desktop_only_desc": "具有流量封装的安全会话需要启动原生 Telegram 应用。请在你的手机上打开此部分。",
"tg_allowlist_badge": "白名单",
"tg_scope_detail": "手机流量已在设备层面被阻断。只有<bold>Telegram 应用</bold>可以访问网络——关闭该消息应用会立即断开隧道。",
"tg_error_connect_failed": "无法建立连接。",
"tg_error_not_installed": "此设备未安装 Telegram。",
"tg_active_status": "运行中",
"tg_session_bound_label": "会话已绑定到应用",
"tg_active_desc": "Telegram 正在受保护模式下运行。如果你看到这段文字,说明你已最小化 Telegram,隧道即将断开。",
"tg_reset_btn": "重置连接",
"splash_tagline_1": "系统监视着所有人",
"splash_tagline_2": "除了你",
"dialog_close": "关闭"
}